zoukankan      html  css  js  c++  java
  • 多变量线性回归 matlab

    %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-')
    

      运行结果:

    朝闻道
  • 相关阅读:
    JQuery
    Ubuntu18.04
    Ubuntu18.04
    Ubuntu18.04
    Ubuntu18.04
    Cordova
    Android
    Android
    Delphi
    postgresql之 drop & delete & truncate
  • 原文地址:https://www.cnblogs.com/wander-clouds/p/8831563.html
Copyright © 2011-2022 走看看