第一篇:最小二乘法

最小二乘法

  最小二乘法,可以理解为最小平方和,即误差的最小平方和,在线性回归中,$误差=真实值-预测值$。最小二乘法的核心思想就是——通过最小化误差的平方和,使得拟合对象无限接近目标对象,最小二乘法一般解决线性问题。

最小二乘法——代数法

  假设线性回归的假设函数为
$$
\begin{align}
h_\omega(x_0,x_1,\cdots,x_n) & = \omega_0x_0+\omega_1x_1+\cdots+\omega_nxn \
& = \sum
{i=0}^n \omega_ix_i
\end{align}
$$
其中$n-1$是特征数。如果针对所有的$\omega_i\quad(i=1,2,\cdots,n)$而言,假设函数是非线性的,但是针对某一个$\omega_i$的话,由于变量只剩下一个$\omega_i$,假设函数就是线性的,既可以使用最小二乘法求解。

  通过线性回归的假设函数既可以得到目标函数为
$$
\begin{align}
J(\omega_0,\omega_1,\cdots,\omegan) & = \sum{j=1}^m (h\omega(x^{(j)})-y^{(j)})^2 \
& = \sum
{j=1}^m(\sum_{i=0}^n \omega_ix_i^{(j)} – y^{(j)})^2
\end{align}
$$
其中$m$为样本数。

  利用目标函数分别对$\omegai$求偏导,并且令导数为0,即
$$
\sum
{j=1}^m \sum_{i=0}^n (\omega_ix_i^{(j)} – y^{(j)})x_i^{(j)} = 0
$$
  通过求解上式,可以得到$n+1$元一次方程组,通过求解这个方程组就可以的得到所有的$\omega_i$。

最小二乘法——矩阵法

[rml_readmore]:
  最小二乘法矩阵法比代数法简单不少。我们把代数法中线性回归的假设函数可以写成
$$
h
\omega(X) = X\omega
$$
其中$h_\omega(X)$是$m1$维的向量,$X$是$mn$维的矩阵,$\omega$是$n*1$维的向量,$m$为样本数,$n$为特征数。

  通过上述矩阵形式的假设函数可以得到矩阵形式的目标函数为
$$
J(\omega)={\frac{1}{2}}(X\omega-Y)^T(X\omega-Y)
$$
其中${\frac{1}{2}}$只是为了方便计算。

  目标函数对$\omega$求导取0,可以得
$$
\nabla_\omega{J(\omega)} = X^T(X\omega-Y) =0
$$
  上述求偏导使用了矩阵求导链式法则和两个矩阵求导的公式
$$
\begin{align}
& \nabla_X(X^TX) = 2X \
& \nablaXf(AX+B) = A^T\nabla{AX+B}f
\end{align}
$$
  通过对上述式子整理可得
$$
\begin{align}
& X^TX\omega=X^TX\quad{两边同时乘}(X^TX)^{-1} \
& \omega = (X^TX)^{-1}X^TY
\end{align}
$$
  通过上述的化简可以直接对向量$\omega$求导,而不需要对$\omega$中的每一个元素求偏导。

最小二乘法优缺点

优点

  1. 简洁高效,比梯度下降法方便

缺点

  1. 最小二乘法需要计算$X^TX$的逆矩阵,可能$X^TX$没有逆矩阵(一般需要考虑使用其他的优化算法,或者重新处理数据让$X^TX$有逆矩阵)
  2. 当特征数$n$非常大的时候,$X^TX$的计算量非常大(使用随机梯度下降法或使用降维算法降低特征维度)
  3. 最小二乘法只有拟合函数为线性的时候才可以使用(想办法通过某些机巧让拟合函数转化为线性的)
上一篇
下一篇
Copyright © 2022 Egon的技术星球 egonlin.com 版权所有 帮助IT小伙伴学到真正的技术