Highlights: Welcome back to our new Machine Learning series. In the previous post, we studied all about Linear Regression, Cost Functions and Gradient Descent. We also built a simple Linear Regression model using Python. In this tutorial post, we will learn how to make our Linear Regression model faster and more powerful. We will start by building a Linear Regression model using multiple features and then, enhance its performance using various techniques. And finally, we'll implement what we learn about Multiple Linear Regression models using a simple code in Python. In our previous post, we studied an example for predicting the price of a house given the size of the house. In that particular example, we worked with the original version of Linear Regression which utilized only a single feature \(x \), the size of the house, in order to predict \(y \), the price of the house.

One of the most important tasks in Machine Learning are the Classification tasks (a.k.a. Classification is used to make an accurate prediction of the class of entries in the test set (a dataset of which the entries have not been labelled yet) with the model which was constructed from a training set. You could think of classifying crime in the field of Pre-Policing, classifying patients in the Health sector, classifying houses in the Real-Estate sector. Another field in which classification is big, is Natural Lanuage Processing (NLP). This is the field of science with the goal to makes machines (computers) understand (written) human language.

A gradient simply measures the change in all weights with regard to the change in error. You can also think of a gradient as the slope of a function. The higher the gradient, the steeper the slope, and the faster a model can learn. But if the slope is zero, the model stops learning. In mathematical terms, a gradient is a partial derivative with respect to its inputs.

This is the 5th article of series "Coding Deep Learning for Beginners". You will be able to find here links to all articles, agenda, and general information about an estimated release date of next articles on the bottom of the 1st article. They are also available in my open source portfolio -- MyRoadToAI, along with some mini-projects, presentations, tutorials and links. In this article, I will explain the concept of training Machine Learning algorithms with Gradient Descent. Majority of supervised algorithms are taking advantage of it -- especially all Neural Networks.

Gradient descent is one of the most common machine learning algorithms used in neural networks [7], data science, optimization, and machine learning tasks. The gradient descent algorithm and its variants can be found in almost every machine learning model. Gradient descent is a popular optimization method of tuning the parameters in a machine learning model. Its goal is to apply optimization to find the least or minimal error value. It is mostly used to update the parameters of the model -- in this case, parameters refer to coefficients in regression and weights in a neural network.