我们先来了解下最小二乘的思想。**简单的来说,最小二乘的思想就是要使得观测点和估计点的距离的平方和达到最小。**这里的二乘指的是用平方来度量观测点与估计点之间的远近,最小则指的是参数的估计值要保证各个观测点与估计点之间的距离的平方和达到最小。
一元线性回归
假设我们的模型只有一维数据时,模型就是一条直线 f ( x ) = a x + b f(x)=ax+b f(x)=ax+b,我们有 m m m条训练数据,训练损失函数为误差平方和的平均数:
L ( a , b ) = 1 m ∑ i = 1 m [ ( a x i + b ) − y i ] 2 L(a,b) = \frac{1}{m}\sum_{i=1}^{m}[(ax_i + b)-y_i]^2 L(a,b)=m1i=1∑m[(axi+b)−yi]2
可以对a和b分别求导,导数为0时,损失函数最小。
∂ ∂ a L ( a , b ) = 2 m ∑ i = 1 m x i ( a x i + b − y i ) = 2 m ( a ∑ i = 1 m x i 2 − ∑ i = 1 m ( y i − b ) x i ) \begin{aligned} \frac{\partial}{\partial a}L(a,b) =&\frac{2}{m}\sum_{i=1}^m x_i(ax_i + b -y_i) \\ =& \frac{2}{m}(a\sum_{i=1}^m x_i^2 - \sum_{i=1}^m(y_i-b)x_i) \end{aligned} ∂a∂L(a,b)==m2i=1∑mxi(axi+b−yi)m2(ai=1∑mxi2−i=1∑m(yi−b)xi)
∂ ∂ b L ( a , b ) = 2 m ∑ i = 1 m a x i + b − y i = 2 m ( m b − ∑ i = 1 m ( y i − a x i ) ) \begin{aligned} \frac{\partial}{\partial b} L(a,b) =& \frac{2}{m}\sum_{i=1}^m ax_i + b - y_i \\ =& \frac{2}{m}(mb - \sum_{i=1}^m(y_i - ax_i)) \end{aligned} ∂b∂L(a,b)==m2i=1∑maxi+b−yim2(mb−i=1∑m(yi−axi))
上面两个公式是损失函数 L L L对 a a a和 b b b进行求偏导。当导数为0时,可以求得损失函数的最小值,即:
{ ∂ ∂ a L ( a , b ) = 0 ⇒ 2 m ( a ∑ i = 1 m x i 2 − ∑ i = 1 m ( y i − b ) x i ) = 0 ∂ ∂ b L ( a , b ) = 0 ⇒ 2 m ( m b − ∑ i = 1 m ( y i − a x i ) ) = 0 \begin{cases} &\frac{\partial}{\partial a}L(a,b) = 0 \rArr \frac{2}{m}(a\sum_{i=1}^m x_i^2 - \sum_{i=1}^m(y_i-b)x_i) = 0 \\ &\frac{\partial}{\partial b}L(a,b)=0 \rArr \frac{2}{m}(mb - \sum_{i=1}^m(y_i - ax_i)) = 0 \end{cases} {
∂a∂L(a,b)=0⇒m2(a∑i=1mxi2−∑i=1m(yi−b)xi)=0∂b∂L(a,b)=0⇒