【机器学习】线性回归和线性分类器—基础

  • 回归
  • 线性分类
  • 逻辑回归的正则化
  • 逻辑回归的优缺点
  • 验证和学习曲线

最小二乘法

在开始学习线性模型之前,简要介绍一下线性回归,首先指定一个模型将因变量 y y y 和特征联系起来,对线性模型而言,依赖函数的形式如下:
y = w 0 + ∑ i = 1 m w i x i y = w_0 + \sum_{i=1}^m w_i x_i y=w0+i=1mwixi
如果为每项观测加上一个虚维度 x 0 = 1 x_0 = 1 x0=1(比如偏置),那么就可以把 w 0 w_0 w0 整合进求和项中,改写为一个略微紧凑的形式:
y = ∑ i = 0 m w i x i = w T x y = \sum_{i=0}^m w_i x_i = \textbf{w}^\text{T} \textbf{x} y=i=0mwixi=wTx
如果有一个特征观测矩阵,其中矩阵的行是数据集中的观测,那么需要在左边加上一列。由此,线性模型可以定义为:
y = Xw + ϵ \textbf y = \textbf X \textbf w + \epsilon y=Xw+ϵ
其中:

  • y ∈ R n \textbf y \in \mathbb{R}^n yRn:因变量(目标变量)。
  • w w w:模型的参数向量(在机器学习中,这些参数经常被称为权重)。
  • X \textbf X X:观测及其特征矩阵,大小为 n 行、m+1 列(包括左侧的虚列),其秩的大小为 rank ( X ) = m + 1 。 \text{rank}\left(\textbf X\right) = m + 1。 rank(X)=m+1
  • ϵ \epsilon ϵ :一个变量,用来表示随机、不可预测模型的错误。
  • 上述表达式亦可这样写:
    y i = ∑ j = 0 m w j X i j + ϵ i y_i = \sum_{j=0}^m w_j X_{ij} + \epsilon_i yi=j=0mwjXij+ϵi
    模型具有如下限制(否则它就不是线性回归了):
  • 随机误差的期望为零: ∀ i : E [ ϵ i ] = 0 \forall i: \mathbb{E}\left[\epsilon_i\right] = 0 i:E[ϵi]=0;
  • 随机误差具有相同的有限方差,这一性质称为等分散性: ∀ i : Var ( ϵ i ) = σ 2 < ∞ ; \forall i: \text{Var}\left(\epsilon_i\right) = \sigma^2 < \infty ; i:Var(ϵi)=σ2<;
  • 随机误差不相关: ∀ i ≠ j : Cov ( ϵ i , ϵ j ) = 0 \forall i \neq j: \text{Cov}\left(\epsilon_i, \epsilon_j\right) = 0 i=j:Cov(ϵi,ϵj)=0.

权重 w i w_i wi 的估计 w ^ i \widehat{w}_i w i 满足如下条件时,称其为线性:
其中对于 ∀   k   , \forall\ k\ ,  k  ω k i \omega_{ki} ωki 仅依赖于 X X X 中的样本。由于寻求最佳权重的解是一个线性估计,这一模型被称为线性回归。

再引入一项定义:当期望值等于估计参数的真实值时,权重估计被称为无偏(unbiased):
计算这些权重的方法之一是普通最小二乘法(OLS)。OLS 可以最小化因变量实际值和模型给出的预测值之间的均方误差:
L ( X , y , w ) = 1 2 n ∑ i = 1 n ( y i − w T x i ) 2 = 1 2 n ∥ y − Xw ∥ 2 2 = 1 2 n ( y − Xw ) T ( y − Xw ) \begin{array}{rcl}\mathcal{L}\left(\textbf X, \textbf{y}, \textbf{w} \right) &=& \frac{1}{2n} \sum_{i=1}^n \left(y_i - \textbf{w}^\text{T} \textbf{x}_i\right)^2 \\ &=& \frac{1}{2n} \left\| \textbf{y} - \textbf X \textbf{w} \right\|_2^2 \\ &=& \frac{1}{2n} \left(\textbf{y} - \textbf X \textbf{w}\right)^\text{T} \left(\textbf{y} - \textbf X \textbf{w}\right) \end{array} L(X,y,w)===2n1i=1n(yiwTxi)22n1yXw222n1(yXw)T(yXw)
为了解决这一优化问题,需要计算模型参数的导数。将导数设为零,然后求解关于 w \textbf w w 的等式,倘若不熟悉矩阵求导,可以参考下面的 4 个式子:
∂ ∂ X X T A = A \begin{array}{rcl} \frac{\partial}{\partial \textbf{X}} \textbf{X}^{\text{T}} \textbf{A} &=& \textbf{A} \end{array} XXTA=A
∂ ∂ X X T AX = ( A + A T ) X \begin{array}{rcl} \frac{\partial}{\partial \textbf{X}} \textbf{X}^{\text{T}} \textbf{A} \textbf{X} &=& \left(\textbf{A} + \textbf{A}^{\text{T}}\right)\textbf{X} \end{array} XXTAX=(A+AT)X
∂ ∂ A X T Ay = X T y \begin{array}{rcl}\frac{\partial}{\partial \textbf{A}} \textbf{X}^{\text{T}} \textbf{A} \textbf{y} &=& \textbf{X}^{\text{T}} \textbf{y} \end{array} AXTAy=XTy
∂ ∂ X A − 1 = − A − 1 ∂ A ∂ X A − 1 \begin{array}{rcl} \frac{\partial}{\partial \textbf{X}} \textbf{A}^{-1} &=& -\textbf{A}^{-1} \frac{\partial \textbf{A}}{\partial \textbf{X}} \textbf{A}^{-1} \end{array} XA1=A1XAA1
现在开始计算模型参数的导数:
∂ L ∂ w = ∂ ∂ w 1 2 n ( y T y − 2 y T Xw + w T X T Xw ) = 1 2 n ( − 2 X T y + 2 X T Xw ) \begin{array}{rcl} \frac{\partial \mathcal{L}}{\partial \textbf{w}} &=& \frac{\partial}{\partial \textbf{w}} \frac{1}{2n} \left( \textbf{y}^{\text{T}} \textbf{y} -2\textbf{y}^{\text{T}} \textbf{X} \textbf{w} + \textbf{w}^{\text{T}} \textbf{X}^{\text{T}} \textbf{X} \textbf{w}\right) \\ &=& \frac{1}{2n} \left(-2 \textbf{X}^{\text{T}} \textbf{y} + 2\textbf{X}^{\text{T}} \textbf{X} \textbf{w}\right) \end{array} wL==w2n1(yTy2yTXw+wTXTXw)2n1(2XTy+2XTXw)
∂ L ∂ w = 0 ⇔ 1 2 n ( − 2 X T y + 2 X T Xw ) = 0 ⇔ − X T y + X T Xw = 0 ⇔ X T Xw = X T y ⇔ w = ( X T X ) − 1 X T y \begin{array}{rcl} \frac{\partial \mathcal{L}}{\partial \textbf{w}} = 0 &\Leftrightarrow& \frac{1}{2n} \left(-2 \textbf{X}^{\text{T}} \textbf{y} + 2\textbf{X}^{\text{T}} \textbf{X} \textbf{w}\right) = 0 \\ &\Leftrightarrow& -\textbf{X}^{\text{T}} \textbf{y} + \textbf{X}^{\text{T}} \textbf{X} \textbf{w} = 0 \\ &\Leftrightarrow& \textbf{X}^{\text{T}} \textbf{X} \textbf{w} = \textbf{X}^{\text{T}} \textbf{y} \\ &\Leftrightarrow& \textbf{w} = \left(\textbf{X}^{\text{T}} \textbf{X}\right)^{-1} \textbf{X}^{\text{T}} \textbf{y} \end{array} wL=02n1(2XTy+2XTXw)=0XTy+XTXw=0XTXw=XTyw=(XTX)1XTy
基于上述的定义和条件,可以说,根据高斯-马尔可夫定理,模型参数的 OLS 估计是所有线性无偏估计中最优的,即通过 OLS 估计可以获得最低的方差。
有人可能会问,为何选择最小化均方误差而不是其他指标?因为若不选择最小化均方误差,那么就不满足高斯-马尔可夫定理的条件,得到的估计将不再是最佳的线性无偏估计。
最大似然估计是解决线性回归问题一种常用方法,下面介绍它的概念。

最大似然估计

首先举一个简单的例子,我们想做一个试验判定人们是否记得简单的甲醇化学式 C H 3 O H CH_3OH CH3OH。首先调查了 400 人,发现只有 117 个人记得甲醇的化学式。那么,直接将 117 400 ≈ 29 % \frac{117}{400} \approx 29\% 40011729% 作为估计下一个受访者知道甲醇化学式的概率是较为合理的。这个直观的估计就是一个最大似然估计。为什么会这么估计呢?回忆下伯努利分布的定义:如果一个随机变量只有两个值(1 和 0,相应的概率为 θ \theta θ 1 − θ 1 - \theta 1θ),那么该随机变量满足伯努利分布,遵循以下概率分布函数:
p ( θ , x ) = θ x ( 1 − θ ) ( 1 − x ) , x ∈ { 0 , 1 } p\left(\theta, x\right) = \theta^x \left(1 - \theta\right)^{\left(1 - x\right)}, x \in \left\{0, 1\right\} p(θ,x)=θx(1θ)(1x),x{0,1}
这一分布正是我们所需要的,分布参数 θ \theta θ 就是「某个人知道甲醇化学式」的概率估计。在 400 个独立试验中,试验的结果记为 x = ( x 1 , x 2 , … , x 400 ) \textbf{x} = \left(x_1, x_2, \ldots, x_{400}\right) x=(x1,x2,,x400)。写下数据的似然,即观测的可能性,比如正好观测到 117 个随机变量 x = 1 x = 1 x=1 和 283 个随机变量 x = 0 x = 0 x=0 的可能性:
p ( x ; θ ) = ∏ i = 1 400 θ x i ( 1 − θ ) ( 1 − x i ) = θ 117 ( 1 − θ ) 283 p(\textbf{x}; \theta) = \prod_{i=1}^{400} \theta^{x_i} \left(1 - \theta\right)^{\left(1 - x_i\right)} = \theta^{117} \left(1 - \theta\right)^{283} p(x;θ)=i=1400θxi(1θ)(1xi)=θ117(1θ)283
接着,将最大化这一 θ \theta θ 的表达式。一般而言,为了简化计算,并不最大化似然 p ( x ; θ ) p(\textbf{x}; \theta) p(x;θ),转而最大化其对数(这种变换不影响最终答案):
log ⁡ p ( x ; θ ) = log ⁡ ∏ i = 1 400 θ x i ( 1 − θ ) ( 1 − x i ) = \log p(\textbf{x}; \theta) = \log \prod_{i=1}^{400} \theta^{x_i} \left(1 - \theta\right)^{\left(1 - x_i\right)} = logp(x;θ)=logi=1400θxi(1θ)(1xi)=
= log ⁡ θ 117 ( 1 − θ ) 283 = 117 log ⁡ θ + 283 log ⁡ ( 1 − θ ) = \log \theta^{117} \left(1 - \theta\right)^{283} = 117 \log \theta + 283 \log \left(1 - \theta\right) =logθ117(1θ)283=117logθ+283log(1θ)
为了找到最大化上式的 θ \theta θ 值,将上式对 θ \theta θ 求导,并令其为零,求解所得等式:
∂ log ⁡ p ( x ; θ ) ∂ θ = ∂ ∂ θ ( 117 log ⁡ θ + 283 log ⁡ ( 1 − θ ) ) = 117 θ − 283 1 − θ ; \frac{\partial \log p(\textbf{x}; \theta)}{\partial \theta} = \frac{\partial}{\partial \theta} \left(117 \log \theta + 283 \log \left(1 - \theta\right)\right) = \frac{117}{\theta} - \frac{283}{1 - \theta}; θlogp(x;θ)=θ(117logθ+283log(1θ))=θ1171θ283;
由上可知,我们的直观估计正好是最大似然估计。现在将这一推理过程应用到线性回归问题上,尝试找出均方误差背后的道理。为此,需要从概率论的角度来看线性回归。我们的模型和之前是一样的:
y = Xw + ϵ \textbf y = \textbf X \textbf w + \epsilon y=Xw+ϵ
不过,现在假定随机误差符合均值为零的 正态分布
ϵ i ∼ N ( 0 , σ 2 ) \epsilon_i \sim \mathcal{N}\left(0, \sigma^2\right) ϵiN(0,σ2)
据此改写模型:
y i = ∑ j = 1 m w j X i j + ϵ i ∼ ∑ j = 1 m w j X i j + N ( 0 , σ 2 ) p ( y i ∣ X ; w ) = N ( ∑ j = 1 m w j X i j , σ 2 ) \begin{array}{rcl} y_i &=& \sum_{j=1}^m w_j X_{ij} + \epsilon_i \\ &\sim& \sum_{j=1}^m w_j X_{ij} + \mathcal{N}\left(0, \sigma^2\right) \\ p\left(y_i \mid \textbf X; \textbf{w}\right) &=& \mathcal{N}\left(\sum_{j=1}^m w_j X_{ij}, \sigma^2\right) \end{array} yip(yiX;w)==j=1mwjXij+ϵij=1mwjXij+N(0,σ2)N(j=1mwjXij,σ2)
由于样本是独立抽取的(误差不相关是高斯-马尔可夫定理的条件之一),数据的似然看起来会是密度函数 p ( y i ) p\left(y_i\right) p(yi) 的积。转化为对数形式:
log ⁡ p ( y ∣ X ; w ) = log ⁡ ∏ i = 1 n N ( ∑ j = 1 m w j X i j , σ 2 ) = ∑ i = 1 n log ⁡ N ( ∑ j = 1 m w j X i j , σ 2 ) = − n 2 log ⁡ 2 π σ 2 − 1 2 σ 2 ∑ i = 1 n ( y i − w T x i ) 2 \begin{array}{rcl} \log p\left(\textbf{y}\mid \textbf X; \textbf{w}\right) &=& \log \prod_{i=1}^n \mathcal{N}\left(\sum_{j=1}^m w_j X_{ij}, \sigma^2\right) \\ &=& \sum_{i=1}^n \log \mathcal{N}\left(\sum_{j=1}^m w_j X_{ij}, \sigma^2\right) \\ &=& -\frac{n}{2}\log 2\pi\sigma^2 -\frac{1}{2\sigma^2} \sum_{i=1}^n \left(y_i - \textbf{w}^\text{T} \textbf{x}_i\right)^2 \end{array} logp(yX;w)===logi=1nN(j=1mwjXij,σ2)i=1nlogN(j=1mwjXij,σ2)2nlog2πσ22σ21i=1n(yiwTxi)2
想要找到最大似然假设,即需要最大化表达式 p ( y ∣ X ; w ) p\left(\textbf{y} \mid \textbf X; \textbf{w}\right) p(yX;w) 以得到 w ML \textbf{w}_{\text{ML}} wML,这和最大化其对数是一回事。注意,当针对某个参数最大化函数时,可以丢弃所有不依赖这一参数的变量:
w ML = arg ⁡ max ⁡ w p ( y ∣ X ; w ) = arg ⁡ max ⁡ w log ⁡ p ( y ∣ X ; w ) = arg ⁡ max ⁡ w − n 2 log ⁡ 2 π σ 2 − 1 2 σ 2 ∑ i = 1 n ( y i − w T x i ) 2 = arg ⁡ max ⁡ w − 1 2 σ 2 ∑ i = 1 n ( y i − w T x i ) 2 = arg ⁡ min ⁡ w L ( X , y , w ) \begin{array}{rcl} \textbf{w}_{\text{ML}} &=& \arg \max_{\textbf w} p\left(\textbf{y}\mid \textbf X; \textbf{w}\right) = \arg \max_{\textbf w} \log p\left(\textbf{y}\mid \textbf X; \textbf{w}\right)\\ &=& \arg \max_{\textbf w} -\frac{n}{2}\log 2\pi\sigma^2 -\frac{1}{2\sigma^2} \sum_{i=1}^n \left(y_i - \textbf{w}^{\text{T}} \textbf{x}_i\right)^2 \\ &=& \arg \max_{\textbf w} -\frac{1}{2\sigma^2} \sum_{i=1}^n \left(y_i - \textbf{w}^{\text{T}} \textbf{x}_i\right)^2 \\ &=& \arg \min_{\textbf w} \mathcal{L}\left(\textbf X, \textbf{y}, \textbf{w} \right) \end{array} wML====argmaxwp(yX;w)=argmaxwlogp(yX;w)argmaxw2nlog2πσ22σ21i=1n(yiwTxi)2argmaxw2σ21i=1n(yiwTxi)2argminwL(X,y,w)
所以,当测量误差服从正态(高斯)分布的情况下, 最小二乘法等价于极大似然估计。

偏置-方差分解

下面讨论线性回归预测的误差性质(可以推广到机器学习算法上),上文提到:

  • 目标变量的真值 y y y 是确定性函数 f ( x ) f\left(\textbf{x}\right) f(x) 和随机误差 ϵ \epsilon ϵ 之和: y = f ( x ) + ϵ y = f\left(\textbf{x}\right) + \epsilon y=f(x)+ϵ
  • 误差符合均值为零、方差一致的正态分布: ϵ ∼ N ( 0 , σ 2 ) \epsilon \sim \mathcal{N}\left(0, \sigma^2\right) ϵN(0,σ2)
  • 目标变量的真值亦为正态分布: y ∼ N ( f ( x ) , σ 2 ) y \sim \mathcal{N}\left(f\left(\textbf{x}\right), \sigma^2\right) yN(f(x),σ2)
  • 试图使用一个协变量线性函数逼近一个未知的确定性函数 f ( x ) f\left(\textbf{x}\right) f(x),这一协变量线性函数是函数空间中估计函数 f f f 的一点,即均值和方差的随机变量。

因此,点 x \textbf{x} x 的误差可分解为: Err ( x ) = E [ ( y − f ^ ( x ) ) 2 ] = E [ y 2 ] + E [ ( f ^ ( x ) ) 2 ] − 2 E [ y f ^ ( x ) ] = E [ y 2 ] + E [ f ^ 2 ] − 2 E [ y f ^ ] \begin{array}{rcl} \text{Err}\left(\textbf{x}\right) &=& \mathbb{E}\left[\left(y - \widehat{f}\left(\textbf{x}\right)\right)^2\right] \\ &=& \mathbb{E}\left[y^2\right] + \mathbb{E}\left[\left(\widehat{f}\left(\textbf{x}\right)\right)^2\right] - 2\mathbb{E}\left[y\widehat{f}\left(\textbf{x}\right)\right] \\ &=& \mathbb{E}\left[y^2\right] + \mathbb{E}\left[\widehat{f}^2\right] - 2\mathbb{E}\left[y\widehat{f}\right] \\ \end{array} Err(x)===E[(yf (x))2]E[y2]+E[(f (x))2]2E[yf (x)]E[y2]+E[f 2]2E[yf ]
为了简洁,省略函数的参数,分别考虑每个变量。根据公式 Var ( z ) = E [ z 2 ] − E [ z ] 2 \text{Var}\left(z\right) = \mathbb{E}\left[z^2\right] - \mathbb{E}\left[z\right]^2 Var(z)=E[z2]E[z]2 可以分解前两项为:
E [ y 2 ] = Var ( y ) + E [ y ] 2 = σ 2 + f 2 E [ f ^ 2 ] = Var ( f ^ ) + E [ f ^ ] 2 \begin{array}{rcl} \mathbb{E}\left[y^2\right] &=& \text{Var}\left(y\right) + \mathbb{E}\left[y\right]^2 = \sigma^2 + f^2\\ \mathbb{E}\left[\widehat{f}^2\right] &=& \text{Var}\left(\widehat{f}\right) + \mathbb{E}\left[\widehat{f}\right]^2 \\ \end{array} E[y2]E[f 2]==Var(y)+E[y]2=σ2+f2Var(f )+E[f ]2
注意:
Var ( y ) = E [ ( y − E [ y ] ) 2 ] = E [ ( y − f ) 2 ] = E [ ( f + ϵ − f ) 2 ] = E [ ϵ 2 ] = σ 2 \begin{array}{rcl} \text{Var}\left(y\right) &=& \mathbb{E}\left[\left(y - \mathbb{E}\left[y\right]\right)^2\right] \\ &=& \mathbb{E}\left[\left(y - f\right)^2\right] \\ &=& \mathbb{E}\left[\left(f + \epsilon - f\right)^2\right] \\ &=& \mathbb{E}\left[\epsilon^2\right] = \sigma^2 \end{array} Var(y)====E[(yE[y])2]E[(yf)2]E[(f+ϵf)2]E[ϵ2]=σ2
E [ y ] = E [ f + ϵ ] = E [ f ] + E [ ϵ ] = f \mathbb{E}[y] = \mathbb{E}[f + \epsilon] = \mathbb{E}[f] + \mathbb{E}[\epsilon] = f E[y]=E[f+ϵ]=E[f]+E[ϵ]=f
接着处理和的最后一项。由于误差和目标变量相互独立,所以可以将它们分离,写为:
E [ y f ^ ] = E [ ( f + ϵ ) f ^ ] = E [ f f ^ ] + E [ ϵ f ^ ] = f E [ f ^ ] + E [ ϵ ] E [ f ^ ] = f E [ f ^ ] \begin{array}{rcl} \mathbb{E}\left[y\widehat{f}\right] &=& \mathbb{E}\left[\left(f + \epsilon\right)\widehat{f}\right] \\ &=& \mathbb{E}\left[f\widehat{f}\right] + \mathbb{E}\left[\epsilon\widehat{f}\right] \\ &=& f\mathbb{E}\left[\widehat{f}\right] + \mathbb{E}\left[\epsilon\right] \mathbb{E}\left[\widehat{f}\right] = f\mathbb{E}\left[\widehat{f}\right] \end{array} E[yf ]===E[(f+ϵ)f ]E[ff ]+E[ϵf ]fE[f ]+E[ϵ]E[f ]=fE[f ]
最后,将上述公式合并为:
Err ( x ) = E [ ( y − f ^ ( x ) ) 2 ] = σ 2 + f 2 + Var ( f ^ ) + E [ f ^ ] 2 − 2 f E [ f ^ ] = ( f − E [ f ^ ] ) 2 + Var ( f ^ ) + σ 2 = Bias ( f ^ ) 2 + Var ( f ^ ) + σ 2 \begin{array}{rcl} \text{Err}\left(\textbf{x}\right) &=& \mathbb{E}\left[\left(y - \widehat{f}\left(\textbf{x}\right)\right)^2\right] \\ &=& \sigma^2 + f^2 + \text{Var}\left(\widehat{f}\right) + \mathbb{E}\left[\widehat{f}\right]^2 - 2f\mathbb{E}\left[\widehat{f}\right] \\ &=& \left(f - \mathbb{E}\left[\widehat{f}\right]\right)^2 + \text{Var}\left(\widehat{f}\right) + \sigma^2 \\ &=& \text{Bias}\left(\widehat{f}\right)^2 + \text{Var}\left(\widehat{f}\right) + \sigma^2 \end{array} Err(x)====E[(yf (x))2]σ2+f2+Var(f )+E[f ]22fE[f ](fE[f ])2+Var(f )+σ2Bias(f )2+Var(f )+σ2
由此,从上等式可知,任何线性模型的预测误差由三部分组成:

  • 偏差(bias): Bias ( f ^ ) \text{Bias}\left(\widehat{f}\right) Bias(f ) 度量了学习算法的期望输出与真实结果的偏离程度, 刻画了算法的拟合能力,偏差偏高表示预测函数与真实结果差异很大。
  • 方差(variance): Var ( f ^ ) \text{Var}\left(\widehat{f}\right) Var(f ) 代表「同样大小的不同的训练数据集训练出的模型」与「这些模型的期望输出值」之间的差异。训练集变化导致性能变化,方差偏高表示模型很不稳定。
  • 不可消除的误差(irremovable error): σ 2 \sigma^2 σ2 刻画了当前任务任何算法所能达到的期望泛化误差的下界,即刻画了问题本身的难度。
    尽管无法消除 σ 2 \sigma^2 σ2,但我们可以影响前两项。理想情况下,希望同时消除偏差和方差(见下图中左上),但是在实践中,常常需要在偏置和不稳定(高方差)间寻找平衡。

    一般而言,当模型的计算量增加时(例如,自由参数的数量增加了),估计的方差(分散程度)也会增加,但偏置会下降,这可能会导致过拟合现象。另一方面,如果模型的计算量太少(例如,自由参数过低),这可能会导致欠拟合现象。
    在这里插入图片描述
    高斯-马尔可夫定理表明:在线性模型参数估计问题中,OLS 估计是最佳的线性无偏估计。这意味着,如果存在任何无偏线性模型 g,可以确信 V a r ( f ^ ) ≤ V a r ( g ) Var\left(\widehat{f}\right) \leq Var\left(g\right) Var(f )Var(g)

线性回归的正则化

低偏置和低方差往往是不可兼得的,所以在一些情形下,会为了稳定性(降低模型的方差)而导致模型的偏置 Var ( f ^ ) \text{Var}\left(\widehat{f}\right) Var(f ) 提高。高斯-马尔可夫定理成立的条件之一就是矩阵 X \textbf{X} X 是满秩的,否则 OLS 的解 w = ( X T X ) − 1 X T y \textbf{w} = \left(\textbf{X}^\text{T} \textbf{X}\right)^{-1} \textbf{X}^\text{T} \textbf{y} w=(XTX)1XTy 就不存在,因为逆矩阵 ( X T X ) − 1 \left(\textbf{X}^\text{T} \textbf{X}\right)^{-1} (XTX)1 不存在,此时矩阵 X T X \textbf{X}^\text{T} \textbf{X} XTX 被称为奇异矩阵或退化矩阵。这类问题被称为病态问题,必须加以矫正,也就是说,矩阵 X T X \textbf{X}^\text{T} \textbf{X} XTX 需要变成非奇异矩阵(这正是这一过程叫做正则化的原因)。
我们常常能在这类数据中观察到所谓的多重共线性:两个或更多特征高度相关,也就是矩阵 X \textbf{X} X 的列之间存在类似线性依赖的关系(又不完全是线性依赖)。例如,在「基于特征预测房价」这一问题中,属性「含阳台的面积」和「不含阳台的面积」会有一个接近线性依赖的关系。数学上,包含这类数据的矩阵 X T X \textbf{X}^\text{T} \textbf{X} XTX 被称为可逆矩阵,但由于多重共线性,一些本征值(特征值)会接近零。在 X T X \textbf{X}^\text{T} \textbf{X} XTX 的逆矩阵中,因为其本征值为 1 λ i \frac{1}{\lambda_i} λi1,所以有些本征值会变得特别大。本征值这种巨大的数值波动会导致模型参数估计的不稳定,即在训练数据中加入一组新的观测会导致完全不同的解。为了解决上述问题,有一种正则化的方法称为吉洪诺夫(Tikhonov)正则化,大致上是在均方误差中加上一个新变量:
L ( X , y , w ) = 1 2 n ∥ y − Xw ∥ 2 2 + ∥ Γ w ∥ 2 \begin{array}{rcl} \mathcal{L}\left(\textbf{X}, \textbf{y}, \textbf{w} \right) &=& \frac{1}{2n} \left\| \textbf{y} - \textbf{X} \textbf{w} \right\|_2^2 + \left\| \Gamma \textbf{w}\right\|^2\end{array} L(X,y,w)=2n1yXw22+Γw2
吉洪诺夫矩阵常常表达为单位矩阵乘上一个系数: Γ = λ 2 E \Gamma = \frac{\lambda}{2} E Γ=2λE。在这一情形下,最小化均方误差问题变为一个 L2 正则化问题。若对新的损失函数求导,设所得函数为零,据 w \textbf{w} w 重整等式,便得到了这一问题的解:
w = ( X T X + λ E ) − 1 X T y \begin{array}{rcl} \textbf{w} &=& \left(\textbf{X}^{\text{T}} \textbf{X} + \lambda \textbf{E}\right)^{-1} \textbf{X}^{\text{T}} \textbf{y} \end{array} w=(XTX+λE)1XTy
这类回归被称为岭回归(ridge regression)。岭为对角矩阵,在 X T X \textbf{X}^\text{T} \textbf{X} XTX 矩阵上加上这一对角矩阵,以确保能得到一个正则矩阵。
在这里插入图片描述
这样的解降低了方差,但增加了偏置,因为参数的正则向量也被最小化了,这导致解朝零移动。在下图中,OLS 解为白色虚线的交点,蓝点表示岭回归的不同解。可以看到,通过增加正则化参数 λ \lambda λ,使解朝零移动。
在这里插入图片描述
以上知识是关于线性回归的数学概念和公式推导,具体线性分类实现下节给出。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值