梯度下降法-python代码

一个通过迭代求解convex function最小值的方法: Gradient descent(梯度下降法)

http://en.wikipedia.org/wiki/Gradient_descent

这里给出一个python的代码:

The gradient descent algorithm is applied to find a local minimum of the function f(x)=x4-3x3+2 , with derivative f'(x)=4x3-9x2. Here is an implementation in the Python programming language.

#  From calculation, we expect that the local minimum occurs at x=9/4

xOld 
=  0
xNew 
=   6   #  The algorithm starts at x=6
eps  =   0.01   #  step size
precision  =   0.00001

def  f_prime(x):
return   4   *  x ** 3   -   9   *  x ** 2

while  abs(xNew  -  xOld)  >  precision:
xOld 
=  xNew
xNew 
=  xOld  -  eps  *  f_prime(xNew)
print ( " Local minimum occurs at  " , xNew)


你可能感兴趣的:(Algorithm,function,python)