您的位置:首页 > 编程语言 > Python开发

梯度下降法-python代码

2011-10-30 12:56 183 查看
一个通过迭代求解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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: