梯度下降法代码实现
写了函数 f ( x ) = x 2 + 2 x f(x)=x^{2}+2x f(x)=x2+2x的梯度下降算法的代码,复制运行即可,有什么好的想法都可以发给我。感激不尽
import time
# 梯度下降
def gdsingle(x, a):
#初始点
Xformer = x
#梯度
gradient = 2 * Xformer + 2
#步长因子
alpha = a
Xlatter = Xformer - alpha * gradient
return Xlatter
def gd(x,a,tim):
Xformer = x
alpha = a
t = tim
i = 0
for i in range(t):
c = i + 1
Xformer = gdsingle(Xformer, alpha)
print('第' + str(c) +'次迭代:' + str(Xformer))
time.sleep(0.1)
if __name__ == '__main__':
print('随便输入初始点横坐标:')
x = int(input())
print('输入步长因子:')
a = float(input())
print('输入迭代次数:')
t = int(input())
gd(x,a,t)
exit()