说了这么多,那么Normal Equation到底是什么呢?试想,我们一个特征就要求一次导,100个特征难道要循环求导么?这样计算开销会不会太大了,这里Normal Equation是一个矩阵公式,一次性求完导数,它的推导主要与数学有关,这里就不细究了。 我们的目标就是求使J达到最小值的
特别注意:如果矩阵不能取反,则可能有多余特征,或者实例过少特征过多
Octave 关于Octave在网上应该有很多教程或是说它专门的Wiki,当然个人觉得做作业是很好地锻炼方法,这里就不介绍Octave有什么函数要怎么使用了,而且课堂要求也说不希望学生不经过思考就直接获得源码。
这里只以课堂中出现的关于计算cost function的代码为例,其实matlab相关的代码量都不大,只要学会基本语法就可以自己编程了。
function J = computeCost(X, y, theta)m = length(y);J = 0;m = size(X,1);hypothesis = X * theta;squaresub = (hypothesis - y).^2;J = 1/(2*m)*sum(squaresub);新闻热点
疑难解答