简单易学的机器学习算法——线性回归(2)

时间:2022-05-04
本文章向大家介绍简单易学的机器学习算法——线性回归(2),主要内容包括一、基本线性回归模型的抽象、二、广义逆、三、线性回归的求解、四、实验、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

一、基本线性回归模型的抽象

    在基本的线性回归中(可见简单易学的机器学习算法——线性回归(1)),对于一个线性回归为题,我们得到一个线性方程组:

在上一篇中我们是构建平方误差函数使得误差函数取得最小值得方法求得回归系数

换种思考,对于这样的一个线性方程组的求解我们有其他的方式,这里我们提到了广义逆。

二、广义逆

三、线性回归的求解

    对于上面的线性方程组

,利用Moore-Penrose广义逆,我们可以求得回归系数为:

四、实验

    我们同样采用简单易学的机器学习算法——线性回归(1)中的实验数据,我们得到以下的实验结果:

原始数据

最佳拟合直线

MATLAB实验源码

主函数

%% load Data
A = load('ex0.txt');

X = A(:,1:2);%读取x
Y = A(:,3);

ws = pinvRegres(X,Y);

%% plot the regression function
x = 0:1;
y = ws(1,:)+ws(2,:)*x;
hold on
xlabel x;
ylabel y;
plot(X(:,2),Y(:,1),'.');
plot(x,y);
hold off

求线性回归系数

function [ ws ] = pinvRegres( X, Y )
    [m,n] = size(X);
    ws = zeros(m,1);
    ws = pinv(X)*Y;
end

实验数据下载