@cleardusk
2015-11-13T09:03:21.000000Z
字数 587
阅读 1553
GjzCVCode
算法部分
# coding:utf-8'''Gradient desent algo, take F(x) = x^4-3x^3+2 for example'''def F(x):return x**4 - 3 * x**3 + 2def f_derivative(x):return 4 * x**3 - 9 * x**2passdef gd(x_new=None):'''x_new is the guess number'''# parametergamma = 0.01 # step sizeprecision = 0.00001x_old = 0# iterationwhile abs(x_new - x_old) > precision:x_old = x_newx_new = x_old - gamma * f_derivative(x_old)return x_newpassif __name__ == '__main__':x = gd(2)print 'Local minum occurs at', x
测试部分
from gd import *def test():x_guess = 6x = gd(x_guess)print 'guess x:', x_guessprint 'x:', xprint 'function value:', F(x)print 'derivative value:', f_derivative(x)if __name__ == '__main__':test()