0% found this document useful (0 votes)
191 views5 pages

Gradient Descent

1. Gradient descent is an algorithm used to estimate the parameters in a hypothesis function by minimizing a cost function. 2. It works by taking steps in the direction of the steepest descent down the cost function, with the step size determined by the learning rate. 3. At each iteration, the parameters are updated simultaneously by moving in the negative direction of the partial derivative of the cost function with respect to each parameter. This process is repeated until convergence at the minimum value.

Uploaded by

mirza
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
Download as docx, pdf, or txt
0% found this document useful (0 votes)
191 views5 pages

Gradient Descent

1. Gradient descent is an algorithm used to estimate the parameters in a hypothesis function by minimizing a cost function. 2. It works by taking steps in the direction of the steepest descent down the cost function, with the step size determined by the learning rate. 3. At each iteration, the parameters are updated simultaneously by moving in the negative direction of the partial derivative of the cost function with respect to each parameter. This process is repeated until convergence at the minimum value.

Uploaded by

mirza
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1/ 5

1 Gradient Descent

So we have our hypothesis function and we have a way of measuring how well it fits into the data.
Now we need to estimate the parameters in the hypothesis function. That's where gradient descent
comes in.

Imagine that we graph our hypothesis function based on its fields \theta_0θ0 and \theta_1θ1
(actually we are graphing the cost function as a function of the parameter estimates). We are not
graphing x and y itself, but the parameter range of our hypothesis function and the cost resulting
from selecting a particular set of parameters.

We put \theta_0θ0 on the x axis and \theta_1θ1 on the y axis, with the cost function on the vertical z
axis. The points on our graph will be the result of the cost function using our hypothesis with those
specific theta parameters. The graph below depicts such a setup.

We will know that we have succeeded when our cost function is at the very bottom of the pits in our
graph, i.e. when its value is the minimum. The red arrows show the minimum points in the graph.

The way we do this is by taking the derivative (the tangential line to a function) of our cost function.
The slope of the tangent is the derivative at that point and it will give us a direction to move towards.
We make steps down the cost function in the direction with the steepest descent. The size of each
step is determined by the parameter α, which is called the learning rate.

For example, the distance between each 'star' in the graph above represents a step determined by
our parameter α. A smaller α would result in a smaller step and a larger α results in a larger step.
The direction in which the step is taken is determined by the partial derivative
of J(\theta_0,\theta_1)J(θ0,θ1). Depending on where one starts on the graph, one could end up at
different points. The image above shows us two different starting points that end up in two different
places.

The gradient descent algorithm is:

repeat until convergence:

θj:=θj−α∂∂θjJ(θ0,θ1)
where

j=0,1 represents the feature index number.

At each iteration j, one should simultaneously update the parameters \theta_1,


\theta_2,...,\theta_nθ1,θ2,...,θn. Updating a specific parameter prior to calculating another one on
the j^{(th)}j(th) iteration would yield to a wrong implementation.

2 Gradient Descent Intuition


In this video we explored the scenario where we used one parameter \theta_1θ1 and plotted its cost
function to implement a gradient descent. Our formula for a single parameter was :

Repeat until convergence:

\theta_1:=\theta_1-\alpha \frac{d}{d\theta_1} J(\theta_1)θ1:=θ1−αdθ1dJ(θ1)

Regardless of the slope's sign for \frac{d}{d\theta_1} J(\theta_1)dθ1dJ(θ1), \theta_1θ1 eventually


converges to its minimum value. The following graph shows that when the slope is negative, the
value of \theta_1θ1 increases and when it is positive, the value of \theta_1θ1 decreases.
On a side note, we should adjust our parameter \alphaα to ensure that the gradient descent
algorithm converges in a reasonable time. Failure to converge or too much time to obtain the
minimum value imply that our step size is wrong.
How does gradient descent converge with a fixed step size \alphaα?
The intuition behind the convergence is that \frac{d}{d\theta_1} J(\theta_1)dθ1dJ(θ1) approaches
0 as we approach the bottom of our convex function. At the minimum, the derivative will always be 0
and thus we get:

\theta_1:=\theta_1-\alpha * 0θ1:=θ1−α∗0

When specifically applied to the case of linear regression, a new form of the gradient descent
equation can be derived. We can substitute our actual cost function and our actual hypothesis
function and modify the equation to :

repeat until convergence: {θ0:=θ1:=}θ0−α1m∑i=1m(hθ(xi)−yi)θ1−α1m∑i=1m((hθ(xi)−yi)xi)


where m is the size of the training set, \theta_0θ0 a constant that will be changing simultaneously
with \theta_1θ1 and x_{i}, y_{i}xi,yiare values of the given training set (data).

Note that we have separated out the two cases for \theta_jθj into separate equations for \theta_0θ0
and \theta_1θ1; and that for \theta_1θ1 we are multiplying x_{i}xi at the end due to the derivative.
The following is a derivation of ∂∂θjJ(θ) for a single example :
The point of all this is that if we start with a guess for our hypothesis and then repeatedly apply these
gradient descent equations, our hypothesis will become more and more accurate.

So, this is simply gradient descent on the original cost function J. This method looks at every
example in the entire training set on every step, and is called batch gradient descent. Note that,
while gradient descent can be susceptible to local minima in general, the optimization problem we
have posed here for linear regression has only one global, and no other local, optima; thus gradient
descent always converges (assuming the learning rate α is not too large) to the global minimum.
Indeed, J is a convex quadratic function. Here is an example of gradient descent as it is run to
minimize a quadratic function.

The ellipses shown above are the contours of a quadratic function. Also shown is the trajectory
taken by gradient descent, which was initialized at (48,30). The x’s in the figure (joined by straight
lines) mark the successive values of θ that gradient descent went through as it converged to its
minimum.

You might also like