梯度下降法-python代码

来源:互联网 发布:周末网络个人信托公司 编辑:程序博客网 时间:2024/05/16 18:28

一个通过迭代求解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)


原创粉丝点击