ML学习笔记第二周(三):编程作业

1 关键代码

warmUpExercise.m(热身练习)

A=eye(5);

plotData.m(绘图)

plot(x, y,'rx','MarkerSize',10); 
xlabel('Profit in $10,000s'); 
ylabel('Population of City in 10,000s'); 

computeCost.m(计算代价函数)

h=X*theta;
J=1/(2*m)*sum((h-y).^2);

computeCostMulti.m(计算代价函数-附加项)

h=X*theta;
J=1/(2*m)*sum((h-y).^2);

featureNormalize.m(数据归一化)

%设置根据数据归一化公式
%X_norm=(x-μi)/si     
mu=mean(X_norm,1);
sigma=std(X_norm);
X_norm=(X-mu)./sigma;

normalEqn.m(正规方程)

theta=pinv(X'*X)*X'*y;

gradientDescent.m(梯度下降)

%梯度下降theta同步更新
h=X*theta;
theta=theta-alpha*(1/m)*X'*(h-y);

gradientDescentMulti.m(梯度下降-附加项)

h=X*theta;
theta=theta-alpha*(1/m)*X'*(h-y);

2 执行结果

2.1 ex1

ML学习笔记第二周(三):编程作业

2.2 ex1_multi

3 参考资料

1、机器学习 - Linear Regression with One Variable | Coursera