1.基本思想简介
2.一个简例
一个通过迭代求解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)
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)