机器学习入门:线性回归及梯度下降对原理做了详细的说明
本文主要记录实现时的代码
1.实验数据
采用随机的方式,生成(X,Y)数据对
k=10;
x=zeros(k,1);
y=zeros(k,1);
for i=1:k
x(i,1)=30+i*5;
y(i,1)=(8+rand)*x(i,1);
end
plot(x,y,'.r');
2.theta0,theta1,J函数
当theta0=0时
x=[1 2 3];
y=[1 2 3];
k=5;
c1=zeros(1,k);
Jf=zeros(1,k);
for i=1:k
c1(1,i)=(i-1)*0.5;
end
for i=1:k
for j=1:3
Jf(1,i)=Jf(1,i)+(c1(1,i)*x(1,j)-y(1,j))^2;
end
Jf(1,i)=Jf(1,i)/6;
end
plot(c1,Jf);
function