347 次浏览

最小二乘法

最小二乘法是机器学习最最基础的部分了,我们在线性拟合数据(回归)的时候,会用到此法。同时也在一些模型作为模型的优化指标,即均方误差MSE

投影

首先来扯一扯投影这个概念,对于线段之间的投影,如下图将向量b投影至向量a上,得到投影p,其关键就是向量b到投影p的线段是正交与向量a的,也即\(\)\(a \cdot e = a \cdot (b-p) = 0\)\(\),投影:\(\)\(p=\hat{x}a\)\(\)

\(\)\(a \cdot (b-\hat{x}a) = 0\)\(\)
\(\)\(\hat{x}=\frac{a^T b}{a^T a}\)\(\)
\(\)\(p = \hat{x}a = \frac{a^T b}{a^T a} a\)\(\)

向量b在向量a上的投影p

对于子空间上的投影:此时投影\(\)\(p\)\(\)是子空间的一个线性组合,即\(\)\(p = A\hat{x}\)\(\),其中向量\(\)\(b\)\(\)到投影\(\)\(p\)\(\)之间的线段是与子空间\(\)\(S\)\(\)正交的。

\(\)\(p=A\hat{x}\)\(\)
\(\)\(A^T e = A^T (b-p) = A^T (b – A\hat{x})=0\)\(\)
\(\)\(\hat{x} = (A^T A)^{-1}A^T b\)\(\)(\(\)\((A^T A)^{-1}A^T\)\(\)为伪逆
\(\)\(p = A\hat{x} = A(A^T A)^{-1}A^T b\)\(\)

向量b往子空间S上的投影p

最小二乘法估计

我们有样本\(\)\(A= (a_0, a_1, \ldots, a_n)^T\)\(\),以及样本对应的目标值\(\)\(B = (b_0, b_1, \ldots, b_n)^T\)\(\)。(其中小写变量都是列向量),所以进行拟合时,我们希望找到一个权重向量\(\)\(x\)\(\),将\(\)\(A\)\(\)线性组合至\(\)\(B\)\(\),也即,\(\)\(Ax=B\)\(\)

学过线性代数应该知道等式:\(\)\(Ax = B\)\(\),有解的条件就是矩阵\(\)\(A\)\(\)与增广矩阵\(\)\([A|B]\)\(\)的行秩是相等的。

对于拟合数据时,我们的等式\(\)\(Ax=B\)\(\)是无解的,因为给定的数据不可能全部在一条直线上,也就是我们找不到一个函数\(\)\(y^{\prime} = wx\)\(\),使得点\(\)\((a, b)\)\(\)全在函数\(\)\(y^{\prime}\)\(\)上。也即拟合存在偏差\(\)\(e = |y-y^{\prime}|\)\(\),所以我们的问题由找函数\(\)\(y^{\prime} = wx\)\(\)变成了找函数\(\)\(y^{\prime} = wx+e\)\(\)

这个偏差公式\(\)\(e = b – Ax\)\(\),结合前面提到的投影令\(\)\(p=Ax\)\(\),我们可以将\(\)\(b\)\(\)分成两部分,\(\)\(b=p+e\)\(\),\(\)\(Ax=p\)\(\)为可以解的部分(在A的列空间中),\(\)\(Ax=e\)\(\)为不可解的部分。

\(\)\(Ax = b = p + e\)\(\)
\(\)\(A\hat{x} = p\)\(\)
\(\)\(\hat{x}=(A^T A)^{-1}A^T b\)\(\)

我们的目标就是最小化误差\(\)\(e\)\(\),通过计算所有每个样本与拟合值的距离来判断拟合的好坏。

误差函数:\(\)\(E(x) = ||Ax-b||^2=||Ax-p||^2 + ||e||^2\)\(\)(\(\)\(Ax-p\)\(\)与\(\)\(e\)\(\)正交),为了使误差最小,我们需要使得\(\)\(x = \hat{x}\)\(\),也即使得\(\)\(||Ax-p||^2 = 0\)\(\),也就是取\(\)\(x=\hat{x}=(A^T A)^{-1}A^T b\)\(\)

\(\)\(x = \hat{x} = (A^T A)^{-1}A^T b\)\(\)的取值也可以通过,对误差函数进行求导获得,因为最小二乘法构造的是一个二次凸函数,容易获得其最优解。

结合投影的知识可以知道,最小二乘法所求的就是目标值与拟合值之间的最小距离,也即目标值投影到样本所构建子空间的投影值。

统计学习角度

我们在拟合数据的时候,数据之所以没有在一条直线上,这是因为数据具有随机性,符合一定的分布规律,且数据是噪声的。

我们假设数据的噪声是符合高斯分布的,也即\(\)\(\varepsilon \sim (0, \sigma ^2)\)\(\),由于\(\)\(y=wx+e\)\(\),那么b也服从高斯分布\(\)\(y|w, x \sim (wx, \sigma ^2)\)\(\)。

此时我们使用极大似然估计来进行参数w的估计

服从高斯分布\(\)\((\mu, \sigma ^2)\)\(\)的高斯概率密度函数:\(\)\(P(x)=\frac{1}{\sqrt{2 \pi} \sigma}e^{-\frac{(x-\mu)^2}{2\sigma ^2}}\)\(\)

\(\)\(L(w) = log P(y|w, x_i) = log \prod ^{n}_{i=0} P(y|w, x_i)=\sum ^{n}_{i=0}log{P(y|w, x_i)}\)\(\)
\(\)\(= \sum ^{n}_{i=0}(log \frac{1}{\sqrt{2 \pi}\sigma}-\frac{1}{2\sigma ^2}(y-wx)^2)\)\(\)

估计参数\(\)\(w\)\(\),我们可以忽略\(\)\(\sigma\)\(\)

\(\)\(\hat{w} = arg \max _w -(y-wx)^2 = arg \min _w (y-wx)^2\)\(\)

我们得到便得到了概率角度的最小二乘,同样上式也告诉我们当数据样本噪声符合高斯分布时,极大似然估计可以与最小二乘法互换解决问题。

此外参数w估计的估计有偏性,也是可以通过期望与方差去验证,若果想要更深入了解可以看看reference 2书中有详细的解释。

reference
1. Gilbert Strang. 《introduction to linear algebra》, 5th edition
2. 浙江大学. 《概率论与数理统计及其应用》
3. https://www.bilibili.com/video/av70839977/?p=9