python语法
来源:6-2 模拟实现梯度下降法

秦宝宝是我最爱的宝宝
2020-09-24
老师看下第二行为什么不能改成井号后面的代码:改了theta_his就只有一个元素,但是应该在循环里已经append了啊
def gradient_descent(theta,eta,epsilon=1e-8):
theta_his.append(theta) ## theta_his = theta
while True:
gradient = dJ(theta)
last_theta = theta
theta = theta - gradient * eta
theta_his.append(theta)
if (abs(J(theta) - J(last_theta)) < epsilon):
break
print(len(theta_his))
写回答
1回答
-
liuyubobobo
2020-09-24
theta_his.append(theta) 表示在 theta_his 后面添加一个 theta 元素,此时 theta_his 还是一个 list;
theta_his = theta 表示把 theta 赋值给 theta_his,如果 theta 是一个数字的话,这句话执行以后,theta_his 也是一个数字了。
继续加油!:)
052020-09-24
相似问题