最小二乘法

最小二乘法的公式,θ=X转置乘X,它的逆矩阵,再乘以X的转置乘y。

最小二乘法公式

最小二乘法怎么使用?又是如何推导出来的?

最小二乘法的使用和推导

最小二乘法是解决线性回归问题的常用方法。
线性回归用于研究自变量X与因变量Y之间的关系。

例如,设自变量X对应房子面积,Y是房子的价格,我们希望研究面积与价格之间的关系,就可以基于最小二乘法,构建出线性回归模型。

最小二线性回归模型

为了弄清楚最小二乘法算法,我们需要先了解线性回归,包括线性回归模型的定义和线性回归模型的代价函数两个内容。

线性回归模型

线性回归模型公式

设线性回归模型为hθ(x)
在该模型中:

  • θ是模型的参数
  • x是输入的自变量
  • n是x的维度

模型根据输入的X,给出预测值hθ(x)。

线性回归模型公式

在面积x与价格y这一问题中,令hθ(x)=θ1x+θ0,它代表价格的预测值。
最初参数θ1和θ0是未知的,我们希望通过算法,计算出一组θ1和θ0,使得模型hθ(x)能尽量的准确预测价格y。

线性回归公式预测价格

线性回归模型图像

将已知的8个样本数据,画在坐标系中。
接着画出3条直线,每条直线对应一组θ0和θ1。

这时可以观察到,直线3是最好的拟合这些样本的直线,其次是直线2,最后是直线1。

线性回归图像

那么,如何求出那个最好的直线的参数θ呢?
答案就是最小二乘法。

在这个公式中,X和y就是已知样本的面积和价格对应的矩阵。
将这些数据放到公式中进行计算,就得到了结果θ。

线性回归最优解

为了引出这个公式。
我们需要了解模型的代价函数。实际上,我们的目的是求线性回归模型hθ(x)中理想的参数θ。

到底哪组参数θ更好,需要定义一个算式去衡量。而这个衡量θ好坏的式子,被称为代价函数。

线性回归的代价函数

线性回归的代价函数,是基于均方误差定义的。
在公式中,m是数据个数,第i个数据的特征为x-i,真实值是y-i,预测值是hθ(xi)。
由于每个样本的横坐标x和纵坐标y都是已知的,所以在代价函数J(θ)中,未知数是直线方程的参数,截距θ0与斜率θ1。

代价函数公式

下面我们以一元线性回归来说明这个公式。

例如,表格中有3个样本,其中θ0+θ1*50这一列是预测值,280这一列是真实值。
将3个样本的预测值和真实值带入到J(θ)中,并将J(θ)展开,会得到一个关于θ0 和θ1 的二元函数。

这个函数的值越大,说明θ0和θ1就越不合适。
因此,我们要求出使得代价函数J(θ)取得最小值时,参数θ0和θ1的取值。

代价函数示例

有许多方法可以求出参数θ:

  • 基于迭代的梯度下降算法
  • 基于求导的数学方法
  • 最小二乘法

最小二乘法,就是基于矩阵微分推导出来的θ的求解公式。

最小二乘法的推导

在推导最小二乘法的公式时,需要将X、y和θ都看做是一个整体,进行矩阵的加、减、乘和求导运算。
在计算过程中,矩阵θ是未知数,矩阵X和y是已知的。

为了求出θ,需要求代价函数J(θ)关于矩阵θ的偏导数,然后令该偏导数等于0,进而求出矩阵θ的值。

最小二乘法求导公式

J(θ)表达式的简化

为了对J(θ)方程求解,需要对J(θ)的运算进行化简,然后对J(θ)求导。

  • 首先根据矩阵转置的公式

矩阵转置公式

  • 将转置运算化简到括号内
    得到y转置减θ转置乘X转置,然后再乘以y减X乘θ。

    转置运算化简

  • 将算式展开
    得到一个关于θ矩阵的多项式,一共有4项

    算式展开

我们可以对这四项,分别求关于θ矩阵的偏导数。

矩阵求导公式

关于矩阵的求导,需要依赖下面这3个公式。
在公式中,矩阵X是未知量,矩阵A是常数矩阵,也就是要求关于X的偏导数。

矩阵求导公式

在使用公式时,我们将待求导的算式与公式中的每一项进行对应。
这里要注意,使用公式时,需要严格的一项一项的对应使用,并且要避免对应的错误。

例如,在待求导的算式中,yTX、XTy、XTX,这三个矩阵的计算结果对应公式中的常数A,而θ矩阵对应公式中的未知量X。

矩阵求导公式对应

关于矩阵的求导、矩阵微分,我们不必深究这些矩阵求导的公式是如何推导出来的,只需要知道如何使用它们就可以了。

J(θ)进行求导和化简

根据这三个公式,对J(θ)偏导数中的4项分别进行求导和化简。

进行求导和化简进行求导和化简.png)

  • 第1项是对常数矩阵求导,结果直接是0。

    第一项求导

  • 第2项:
    需要根据公式1,其中y的转置乘X看做是矩阵A,θ矩阵看做公式中的X。
    得到的结果是A的转置,也就是矩阵X的转置乘y。

第二项求导

  • 第3项:
    根据公式2,将X的转置乘y看做A,结果是X的转置乘y。

第三项求导

  • 第4项:
    根据公式3,将X的转置乘X看做A,结果是2倍的X转置乘X再乘未知的矩阵θ。

第四项求导

求关于θ的矩阵方程

经过矩阵求导后,这四项结果相加的和是0,整理后得到方程,负2倍的X转置乘y加2倍的X转置乘X再乘矩阵θ。

解这个关于θ的方程,需要移项和化简。
这里要注意,在化简时,方程的两边,需要同时乘以,X转置乘X的逆矩阵,进而解出未知矩阵θ。

θ的矩阵方程

因此我们就通过解矩阵方程的方法,求出在代价函数J(θ)取得最小值时,参数矩阵θ的值,它是一个关于特征向量矩阵X和标签矩阵y的算式。

θ的矩阵方程注意事项

X转置乘X,需要是一个满秩矩阵。
其行列式的值det(X转置乘X)不等于0,这样才会有逆矩阵。

满秩矩阵