每日一句
房子不是你想买想买就能买。
基础介绍
线性回归算法是处理回归问题的常用方法,下面就线性回归算法来做一个简单的模型。通过走势模拟房子售价。
通过数据样本的基本绘图,可以知道某个现象是不是一个线性的分布过程,并且按一次线性方程分布。
那么就可以用下面的方法实现。
科普时间
线性回归模型,其核心思想为代价函数以及平方差函数:
假设函数:
目标函数:
过学习算法找到一个局部最优解,使得代价函数的值最小。
使用梯度下降的算法寻找局部最优解的公式:
回归结果
得到最优解后,我们就可以得到我们想要的假设函数来拟合我们的数据样本。
从图上可以知道,利用线性回归存在一定偏差。
因为这部完全算是一个线性问题,包含很多政策、经济原理。
我们但是通过这个走势可以让我们明白涨是一个趋势,下一步进行非线性探索。
代码
y=[727672797291734973817450760478588053 8271 8477 8659];
theta1=0;%一次系数
theta0=0;%常系数
v=0.00001;%步长
[row,col]=size(x);%theta初始化 初值选取对结果影响也很大,特别是theta2的选取
theta1 = mean(y)/mean(x)
theta0 = y(1)-theta1*x(1)
while1
temp1=0;
temp0=0;
fori=1:col
temp1 = temp1 + ((y(i) - (theta1*x(i) + theta0)) * x(i));
temp0=temp0+((y(i)-(theta1*x(i)+theta0))*1);
end
old_theta1=theta1;
old_theta0=theta0;
theta1 = theta1+ v*temp1;
theta0 =theta0 + v*temp0;
temp1=0;
temp0=0;
%误差
e =((old_theta1-theta1)^2+(old_theta0-theta0)^2);
ife
f=theta1*x+theta0;
plot(x,y,'r+',x,f)
break;
end
end
领取专属 10元无门槛券
私享最新 技术干货