最小二乘法,它怎么用,又是如何推出来的

大家好,今天我们要讨论的主题是,最小二乘法的使用和推导。

最小二乘法的公式,θ=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(θ)表达式的化简
为了对该矩阵方程求解,需要对矩阵的运算进行化简,然后对矩阵求导。首先根据矩阵转置的公式,将转置运算化简到括号内,得到y转置减θ转置乘X转置,然后再乘以y减X乘θ。

将这个算式展开,会得到一个关于θ矩阵的多项式,一共有4项。我们可以对这四项,分别求关于θ矩阵的偏导数。
矩阵的求导公式
关于矩阵的求导,需要依赖下面这3个公式:

在公式中,矩阵X是未知量,矩阵A是常数矩阵,也就是要求关于X的偏导数。
在使用公式时,我们将待求导的算式与公式中的每一项进行对应。这里要注意,使用公式时,需要严格的一项一项的对应使用,并且要避免对应的错误。
例如,在待求导的算式中,yTX、XTy、XTX,这三个矩阵的计算结果对应公式中的常数A,而θ矩阵对应公式中的未知量X。
关于矩阵的求导、矩阵微分,我们不必深究这些矩阵求导的公式是如何推导出来的,只需要知道如何使用它们就可以了。
对J(θ)进行求导和化简
根据这三个公式,对J(θ)偏导数中的4项分别进行求导和化简:

第1项是对常数矩阵求导,结果直接是0。
而第2、3、4项,需要将未知量矩阵θ,看做是公式中的矩阵X,已知的矩阵看做是公式中的A。
具体来说,化简第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的算式。这个结果可以直接使用,非常的方便。
另外要说明的是,需要是一个满秩矩阵,其行列式的值det()不等于0,这样才会有逆矩阵。
那么到这里,最小二乘法的使用和推导就讲完了,感谢大家的观看,我们下节课再会。