刚开始学习吴恩达老师的机器学习,看了前面几章,想找下课后习题及时巩固下自己的学习效果,这是大佬的链接
吴恩达机器学习作业Python实现(一):线性回归
https://blog.csdn.net/Cowry5/article/details/80174130
在运行这个程序时,博主用的是matrix,因为之前我没接触过这个函数,只学过array,于是我就将源程序中的这几行改成了这种
#我写的
X = np.array(X.values)
y = np.array(y.values)
theta = np.array([0,0])
#源程序
#X = np.matrix(X.values)
#y = np.matrix(y.values)
#theta = np.matrix([0,0])
结果第一个初始代价函数的值运行结果就和博文中的不一样,数值大了一倍,然后我就开始检查错误,猜想可能是matrix和array这两个有区别,我就去试了一下。
果然这两个的运行结果不一样,又查了相关的资料,贴出大佬的链接,讲解的很详细:
https://blog.csdn.net/autoliuweijie/article/details/51967288
https://www.cnblogs.com/keye/p/11195428.html
总算明白了,于是将程序改成这样:
X = np.array(X.values)
y = np.array(y.values)
theta1 = np.array([[0,0]])
theta = np.asmatrix(theta1)
问题解决