看了NG的机器学习coursera上的斯坦福课,觉得讲的还是很不错的(coursera机器学习课程)。
然后自己做了课后的作业(第一次的作业,需要用matlab实现linear regression,具体还请参见视频)。在线性回归的算法中,比较重要的就是权值更新,也就是theta的更新。如图中的算法
自己一开始编程的时候是在做两层嵌套循环的,但是做了之后发现,自己并没有考虑同时更新这点,所以最后编写函数会出现偏差。后来修正了算法之后,问题得到了解决,也算是自己学习的一点体会,现在与大家分享。
function [theta, J_history] = gradientDescent(X, y, theta, alpha, num_iters)
%GRADIENTDESCENT Performs gradient descent to learn theta
% theta = GRADIENTDESENT(X, y, theta, alpha, num_iters) upd