[机器学习]线性回归:最小二乘法

版权声明:转载请说明Zhonglihao原创 https://blog.csdn.net/xeonmm1/article/details/85727163
clc;clear all;close all;

% 构造超平面数据
% 系数定义 
a1 = 5;
a2 = 10;
a3 = 50;

% 记录线性回归的数据表
data_table = zeros(100*100,4);
k = 0;

for i = 1:1:100
    for j = 1:1:100
        % 超平面绘图 加上噪声
        z(i,j) = a1*i + a2*j + a3 + (100 * rand() - 50);
        
        % 训练数据
        k = k + 1;
        data_table(k,1) = i;
        data_table(k,2) = j;
        data_table(k,3) = 1;
        data_table(k,4) = z(i,j);
    end
end
surf(z);

% 利用最小二乘法进行线性拟合回归
mat         = data_table(:,1:3);
Y           = data_table(:,4);

mat_T_mat   = mat' * mat ;
mat_T_Y     = mat' * Y;

co_arr 	    = mat_T_mat \ mat_T_Y

猜你喜欢

转载自blog.csdn.net/xeonmm1/article/details/85727163