首页 > 其他 > 详细

多变量线性回归 matlab

时间:2018-04-25 23:33:58      阅读:147      评论:0      收藏:0      [点我收藏+]
%multivariate_linear_regression

data=load(‘data.txt‘);
x=data(:,1:2);
y=data(:,3);
m=length(x(:,1));
x=[ones(m,1),x];
sigma=std(x);
mu=mean(x);
x(:,2)=(x(:,2)-mu(2))./sigma(2);
x(:,3)=(x(:,3)-mu(3))./sigma(3);
theta=zeros(size(x(1,:)))‘;
alpha=0.18;
j=zeros(50,1);%迭代次数
for num=1:50
    j(num)=(x*theta-y)‘*(x*theta-y)/(m*2);
    theta=theta-((x*theta-y)‘*x)‘*alpha/m/2;
end
%代价函数绘制
subplot(2,1,1)
plot(0:49,j(1:50),‘g-‘)
xlabel(‘number of interations‘)
ylabel(‘cost j‘)
%预测
subplot(2,1,2)
realx=[1,4.1,3.04];
tempx=realx;
realx(2)=(realx(2)-mu(2))./sigma(2);
realx(3)=(realx(3)-mu(3))./sigma(3);
pre_y=realx*theta
stem3(data(:,1),data(:,2),data(:,3),‘fill‘,‘b-.*‘);
hold on
stem3(tempx(2),tempx(3),pre_y,‘filled‘,‘r-‘)

  运行结果:

技术分享图片

 

多变量线性回归 matlab

原文:https://www.cnblogs.com/wander-clouds/p/8831563.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!