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 也是一个数字了。


继续加油!:)

0
5
秦宝宝是我最爱的宝宝
回复
liuyubobobo
好的?
2020-09-24
共5条回复

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5893 学习 · 2455 问题

查看课程