在线性回归介绍中提到了用于线性回归求解拟合方程参数 W \mathcal W W的一种工具——最小二乘法,本节将介绍使用最小二乘法求解线性回归任务中的问题,并介绍岭回归(Ridge Regression)。
最小二乘法是求解线性回归拟合方程参数 W \mathcal W W的一种常用工具。假设数据集合 D a t a Data Data表示如下:
D a t a = { ( x ( i ) , y ( i ) ) ∣ i = 1 , 2 , ⋯ , N } Data = \{(x^{(i)},y^{(i)})|_{i=1,2,\cdots,N}\} Data={(x(i),y(i))∣i=1,2,⋯,N}
令数据集合 D a t a Data Data的拟合方程为 F ( W ) = W T x ( i ) , F(\mathcal W)=\mathcal W^{T}x^{(i)}, F(W)=WTx(i),那么最小二乘法的表示结果如下:
L ( W ) = ∑ i = 1 N ∣ ∣ W T x ( i ) − y ( i ) ∣ ∣ 2 \mathcal L(\mathcal W) = \sum_{i=1}^N ||\mathcal W^{T}x^{(i)} - y^{(i)}||^2 L(W)=i=1∑N∣∣WTx(i)−y(i)∣∣2
求解最优模型参数 W ^ \hat {\mathcal W} W^的一般形式表示如下:
W ^ = ( X T X ) − 1 X T Y \hat {\mathcal W} = (\mathcal X^{T}\mathcal X)^{-1}\mathcal X^{T}\mathcal Y W^=(XTX)−1XTY
其中, X , Y \mathcal X,\mathcal Y X,Y分别是自变量、因变量的集合:
X = ( x ( 1 ) , x ( 2 ) , ⋯ , x ( N ) ) T = ( x 1 ( 1 ) , x 2 ( 1 ) , ⋯ , x p ( 1 ) x 1 ( 2 ) , x 2 ( 2 ) , ⋯ , x p ( 2 ) ⋮ x 1 ( N ) , x 2 ( N ) , ⋯ , x p ( N ) ) N × p , Y = ( y ( 1 ) y ( 2 ) ⋮ y ( N ) ) N × 1 \mathcal X = (x^{(1)},x^{(2)},\cdots,x^{(N)})^{T} = \begin{pmatrix}x_1^{(1)},x_2^{(1)},\cdots,x_p^{(1)} \\ x_1^{(2)},x_2^{(2)},\cdots,x_p^{(2)} \\ \vdots \\ x_1^{(N)},x_2^{(N)},\cdots,x_p^{(N)}\end{pmatrix}_{N \times p},\mathcal Y = \begin{pmatrix}y^{(1)} \\ y^{(2)} \\ \vdots \\ y^{(N)}\end{pmatrix}_{N \times 1} X=(x(1),x(2),⋯,x(N))T=⎝ ⎛x1(1),x2(1),⋯,xp(1)x1(2),x2(2),⋯,xp(2)⋮x1(N),x2(N),⋯,xp(N)⎠ ⎞N×p,Y=⎝ ⎛y(1)y(2)⋮y(N)⎠ ⎞N×1
观察 W ^ \hat{\mathcal W} W^的一般式,由于 X \mathcal X X是一个 N × p N \times p N×p的矩阵,因此 X T X \mathcal X^{T}\mathcal X XTX毫无疑问是一个 N × N N \times N N×N的实对称矩阵。
通常情况下,样本数量 N N N远远大于样本维度 p p p,这样才能尽可能地保证有限的特征空间中分布着大量样本。从而使 X T X \mathcal X^{T}\mathcal X XTX矩阵结果的特征值大概率不等于0,从而使得 X T X \mathcal X^{T}\mathcal X XTX是可逆的,最终顺利求解最优参数 W ^ \hat {\mathcal W} W^。
但真实情况可能存在样本维度 p p p远远大于样本数量 N N N。可以想象一下,在极大的特征空间分布着少量样本,这必然会使特征空间内部样本分布非常稀疏。
p > > N p >> N p>>N产生的样本分布稀疏 会出现哪些具体问题?
上面介绍了产生过拟合现象的核心原因是特征空间内部样本分布稀疏,针对该问题,有3种常用方式:
既然样本分布稀疏,最直观的思路就是增加数据。随着训练数据的增加,会使模型参数 W \mathcal W W学习过程中更加稳定,逐渐逼近最优模型参数 W ^ \hat{\mathcal W} W^。
虽然这种方式是最直观的,但是它的弊端也是显而易见的:
降维(特征选择、特征提取):我们对于样本空间内部数据的期望分布趋向于样本均匀地、遵循某种规律地分布在特征空间中。如果增加数据远远无法满足特征空间的需要,另一个思路是 剔除掉无关/对标签影响较小的特征信息。
该部分在后续介绍‘降维’中详细介绍。
正则化:正则化本质是对拟合方程中模型参数 W \mathcal W W的一种约束。为什么要加这种约束?增加这种约束是如何优化过拟合现象的?
重新观察最小二乘法,最优模型参数 W ^ \hat{\mathcal W} W^满足的条件是让 L ( W ) \mathcal L(\mathcal W) L(W)取到最小值:
L ( W ) = ∑ i = 1 N ∣ ∣ W T x ( i ) − y ( i ) ∣ ∣ 2 W ^ = arg min W L ( W ) \mathcal L(\mathcal W) = \sum_{i=1}^N||\mathcal W^{T}x^{(i)} - y^{(i)}||^2 \\ \hat {\mathcal W} = \mathop{\arg\min}\limits_{\mathcal W} \mathcal L(\mathcal W) L(W)=i=1∑N∣∣WTx(i)−y(i)∣∣2W^=WargminL(W)
我们发现可能存在一种情况:满足上述条件的 W ^ \hat{\mathcal W} W^可能不止一个。即可能存在若干个最优参数 W ^ ( 1 ) , W ^ ( 2 ) , ⋯ , W ^ ( k ) \hat{\mathcal W}^{(1)},\hat{\mathcal W}^{(2)},\cdots,\hat{\mathcal W}^{(k)} W^(1),W^(2),⋯,W^(k)均可以使 L ( W ) \mathcal L(\mathcal W) L(W)达到最小:
L ( W ^ ( 1 ) ) = L ( W ^ ( 2 ) ) = ⋯ = L ( W ^ ( k ) ) = arg min W L ( W ) \mathcal L(\hat{\mathcal W}^{(1)}) = \mathcal L(\hat { \mathcal W}^{(2)}) = \cdots = \mathcal L(\hat {\mathcal W}^{(k)}) = \mathop{\arg\min}\limits_{\mathcal W}\mathcal L(\mathcal W) L(W^(1))=L(W^(2))=⋯=L(W^(k))=WargminL(W)
为什么会出现这种情况?原因也很直观:数据是有随机性的、存在噪声的。在上一节提到过,如果数据不存在任何噪声,均完美遵循概率模型的规律,那么最优参数自然只有唯一一个,但这样的数据没有实际意义。
回到上式,既然 k k k个模型参数 W ^ ( i ) ( i = 1 , 2 , ⋯ , k ) \hat {\mathcal W}^{(i)}(i=1,2,\cdots,k) W^(i)(i=1,2,⋯,k)都能使 L ( W ) \mathcal L(\mathcal W) L(W)达到最小,是不是它们都是最优模型呢?
自然不是。这些模型参数使 L ( W ) \mathcal L(\mathcal W) L(W)达到最小所带来的影响是:基于 W ^ ( i ) ( i = 1 , 2 , ⋯ , k ) \hat {\mathcal W}^{(i)}(i=1,2,\cdots,k) W^(i)(i=1,2,⋯,k)构建的拟合方程充其量在数据集合 D a t a = { ( x ( i ) , y ( i ) ) ∣ i = 1 , 2 , ⋯ , N } Data=\{(x^{(i)},y^{(i)})\mid _{i=1,2,\cdots,N}\} Data={(x(i),y(i))∣i=1,2,⋯,N}中能够达到不错的效果。但如果数据集合外的样本使用拟合模型进行预测,那么 W ^ \hat {\mathcal W} W^的大小必然会影响到判断结果。
并且集合外的样本自身同样存在噪声,如果某一最优参数 W ^ ( j ) \hat {\mathcal W}^{(j)} W^(j)是个 数值较大的参数,在使用拟合方程 W ^ ( j ) x \hat{\mathcal W}^{(j)}x W^(j)x预测过程中 势必会扩大噪声信息。
接下来的思路就很朴素了:从上述集合中找出一款参数较小的结果构建拟合方程。但这种做法势必会增加算法的复杂度;
不能一个一个随机试下去,找出一个最小的,时间复杂度太高了;并且它不是迭代过程,能不能试出结果小的纯凭运气~
干脆设计一个规则:干脆人工划定模型参数 W \mathcal W W的取值范围, W \mathcal W W只能在某一范围内取值,这样就可以缓解 W \mathcal W W数值过大的情况出现。
我们常见的正则化方法是 L 1 , L 2 L_1,L_2 L1,L2正则化。其本质思路是通过 L 1 , L 2 L_1,L_2 L1,L2范数约束模型参数的取值范围。 L 1 , L 2 L_1,L_2 L1,L2范数公式表示如下:
∣ ∣ W ∣ ∣ 1 = ∣ w 1 ∣ + ∣ w 2 ∣ + ⋯ + ∣ w k ∣ ∣ ∣ W ∣ ∣ 2 = ∣ w 1 ∣ 2 + ∣ w 2 ∣ 2 + ⋯ + ∣ w k ∣ 2 \begin{aligned} ||\mathcal W||_1 & = |w_1| +|w_2| + \cdots + |w_k| \\ ||\mathcal W||_2 & = \sqrt{|w_1|^2 + |w_2|^2 + \cdots + |w_k|^2} \end{aligned} ∣∣W∣∣1∣∣W∣∣2=∣w1∣+∣w2∣+⋯+∣wk∣=∣w1∣2+∣w2∣2+⋯+∣wk∣2
其中, w i ( i = 1 , 2 , ⋯ , k ) w_i(i=1,2,\cdots,k) wi(i=1,2,⋯,k)表示模型参数 W \mathcal W W各个维度结果。实际上,并不只包含这两种正则化,例如 L p L_p Lp正则化:
∣ ∣ W ∣ ∣ p = ∣ w 1 ∣ p + ∣ w 2 ∣ p + ⋯ + ∣ w k ∣ p p ( p > 0 ) ||\mathcal W||_p = \sqrt[p]{|w_1|^p + |w_2|^p + \cdots + |w_k|^p}(p>0) ∣∣W∣∣p=p∣w1∣p+∣w2∣p+⋯+∣wk∣p(p>0)
我们发现, L 1 , L 2 L_1,L_2 L1,L2范数就是 L p L_p Lp正则化中 p = 1 , 2 p=1,2 p=1,2的情况。以模型参数 W \mathcal W W 是2维向量示例:
该部分在后续单独介绍正则化时详细介绍。
正则化框架本质上仍然和最小二乘法一样,都是求解模型参数的工具,甚至是辅助工具。
正则化框架具体公式表示如下:
arg min W [ L ( W ) + λ P ( W ) ] \mathop{\arg\min}\limits_{\mathcal W}\left[\mathcal L(\mathcal W) + \lambda P(\mathcal W)\right] Wargmin[L(W)+λP(W)]
其中, L ( W ) \mathcal L(\mathcal W) L(W)表示损失函数(loss function), P ( W ) P(\mathcal W) P(W)表示惩罚项(penalty)。在线性回归中,常用的基于最小二乘法的正则化框架有如下两种:
arg min W [ ∑ i = 1 N ∣ ∣ W T x ( i ) − y ( i ) ∣ ∣ 2 + λ ∣ ∣ W ∣ ∣ 1 ] arg min W [ ∑ i = 1 N ∣ ∣ W T x ( i ) − y ( i ) ∣ ∣ 2 + λ ∣ ∣ W ∣ ∣ 2 2 ] \mathop{\arg\min}\limits_{\mathcal W}\left[\sum_{i=1}^N ||\mathcal W^{T}x^{(i)} - y^{(i)}||^2 + \lambda ||\mathcal W||_1\right] \\ \mathop{\arg\min}\limits_{\mathcal W}\left[\sum_{i=1}^N||\mathcal W^{T}x^{(i)} - y^{(i)}||^2 + \lambda||\mathcal W||_2^2\right] Wargmin[i=1∑N∣∣WTx(i)−y(i)∣∣2+λ∣∣W∣∣1]Wargmin[i=1∑N∣∣WTx(i)−y(i)∣∣2+λ∣∣W∣∣22]
称第一种为 L a s s o Lasso Lasso回归;它使用的是 L 1 L_1 L1范数( P ( W ) = ∣ ∣ W ∣ ∣ 1 P(\mathcal W)=||\mathcal W||_1 P(W)=∣∣W∣∣1);
称第二种为 R i d g e R e g r e s s i o n Ridge Regression RidgeRegression,也称岭回归;它使用的是 L 2 L_2 L2范数( P ( W ) = ∣ ∣ W ∣ ∣ 2 2 = W T W P(\mathcal W)=||\mathcal W||_2^2 = \mathcal W^{T}\mathcal W P(W)=∣∣W∣∣22=WTW);
根号sqrt()是一个单调递增函数,并且和
W \mathcal W W无关,因此在使用正则化时,更多时候使用
∣ ∣ W ∣ ∣ 2 2 = W T W ||\mathcal W||_2^2=\mathcal W^{T}\mathcal W ∣∣W∣∣22=WTW而不是
∣ ∣ W ∣ ∣ 2 = W T W ||\mathcal W||_2 = \sqrt{\mathcal W^{T}\mathcal W} ∣∣W∣∣2=WTW
本节将最小二乘法替换为 岭回归-最小二乘法的正则化框架,观察模型最优参数 W ^ \hat {\mathcal W} W^和之前的差别。
基于岭回归-最小二乘法的正则化框架表示如下:
L ( W ) = ∑ i = 1 N ∣ ∣ W T x ( i ) − y ( i ) ∣ ∣ 2 + λ ∣ ∣ W ∣ ∣ 2 2 \mathcal L(\mathcal W) = \sum_{i=1}^N||\mathcal W^{T}x^{(i)} - y^{(i)}||^2 + \lambda||\mathcal W||_2^2 L(W)=i=1∑N∣∣WTx(i)−y(i)∣∣2+λ∣∣W∣∣22
将第一项写为矩阵乘法 的格式,同时将 ∣ ∣ W ∣ ∣ 2 2 ||\mathcal W||_2^2 ∣∣W∣∣22写成 W T W \mathcal W^{T}\mathcal W WTW格式:
∣ ∣ W ∣ ∣ 2 2 = ∣ w 1 ∣ 2 + ∣ w 2 ∣ 2 + ⋯ + ∣ w p ∣ 2 = ( w 1 , w 2 , ⋯ , w p ) ( w 1 w 2 ⋮ w p ) = W T W L ( W ) = ( W T X T − Y T ) ( X W − Y ) + λ W T W \begin{aligned} ||\mathcal W||_2^2 & = |w_1|^2 + |w_2|^2 + \cdots + |w_p|^2 = (w_1,w_2,\cdots,w_p)\begin{pmatrix}w_1 \\ w_2 \\ \vdots \\ w_p\end{pmatrix} = \mathcal W^{T}\mathcal W \\ \mathcal L(\mathcal W) & = (\mathcal W^{T}\mathcal X^{T} - \mathcal Y^{T})(\mathcal X\mathcal W - \mathcal Y) + \lambda \mathcal W^{T}\mathcal W \end{aligned} ∣∣W∣∣22L(W)=∣w1∣2+∣w2∣2+⋯+∣wp∣2=(w1,w2,⋯,wp)⎝ ⎛w1w2⋮wp⎠ ⎞=WTW=(WTXT−YT)(XW−Y)+λWTW
将上式展开(推导过程详见传送门):
W T X T X W − 2 W T X T Y + Y T Y + λ W T W \mathcal W^{T}\mathcal X^{T}\mathcal X\mathcal W - 2\mathcal W^{T}\mathcal X^{T}\mathcal Y + \mathcal Y^{T}\mathcal Y + \lambda\mathcal W^{T}\mathcal W WTXTXW−2WTXTY+YTY+λWTW
将含 W T W \mathcal W^{T}\mathcal W WTW项合并(其中 I \mathcal I I表示 单位矩阵):
W T ( X T X + λ I ) W − 2 W T X T Y + Y T Y \mathcal W^{T}(\mathcal X^{T}\mathcal X + \lambda\mathcal I)\mathcal W - 2\mathcal W^{T}\mathcal X^{T}\mathcal Y + \mathcal Y^{T}\mathcal Y WT(XTX+λI)W−2WTXTY+YTY
目标依然是求解 W ^ = arg min W L ( W ) \hat {\mathcal W} = \mathop{\arg\min}\limits_{\mathcal W} \mathcal L(\mathcal W) W^=WargminL(W),因此对 W \mathcal W W求导:
Y \mathcal Y Y中不含
W \mathcal W W,因此视为常数。
∂ L ( W ) ∂ W = 2 ( X T X + λ I ) W − 2 X T Y \frac{\partial \mathcal L(\mathcal W)}{\partial \mathcal W} = 2(\mathcal X^{T}\mathcal X + \lambda \mathcal I)\mathcal W - 2\mathcal X^{T}\mathcal Y ∂W∂L(W)=2(XTX+λI)W−2XTY
令 ∂ L ( W ) ∂ W ≜ 0 \frac{\partial \mathcal L(\mathcal W)}{\partial \mathcal W} \triangleq 0 ∂W∂L(W)≜0,则有:
W ^ = ( X T X + λ I ) − 1 X T Y \hat {\mathcal W} = (\mathcal X^{T}\mathcal X + \lambda \mathcal I)^{-1}\mathcal X^{T}\mathcal Y W^=(XTX+λI)−1XTY
由于 X T X \mathcal X^{T}\mathcal X XTX是实对称矩阵,因此将 X T X \mathcal X^{T}\mathcal X XTX进行特征值分解后,对角线的元素就是该矩阵的特征值==:
X T X = Q Λ Q T \mathcal X^T \mathcal X = \mathcal Q\Lambda\mathcal Q^T XTX=QΛQT
其中 Q \mathcal Q Q是 p × p p \times p p×p的正交矩阵,其每一列都是 X T X \mathcal X^T \mathcal X XTX的特征向量。并且存在如下性质:
Q Q T = I \mathcal Q \mathcal Q^T = \mathcal I QQT=I
将 λ I \lambda \mathcal I λI进行如下变换:
中间多乘了一个‘单位向量’,并不能影响其结果。
λ I = λ ⋅ Q Q T = λ ⋅ Q ⋅ I ⋅ Q T = Q ( λ I ) Q T \begin{aligned} \lambda \mathcal I & = \lambda \cdot \mathcal Q \mathcal Q^T \\ & = \lambda \cdot \mathcal Q \mathcal \cdot \mathcal I \cdot \mathcal Q^T \\ & = \mathcal Q (\lambda\mathcal I) \mathcal Q^T \end{aligned} λI=λ⋅QQT=λ⋅Q⋅I⋅QT=Q(λI)QT
将 λ I \lambda\mathcal I λI展开结果代入原式中:
由于
Q \mathcal Q Q是正交矩阵,因而有
Q T = Q − 1 , ( Q T ) − 1 = ( Q T ) T = Q \mathcal Q^T = \mathcal Q^{-1},(\mathcal Q^T)^{-1} = (\mathcal Q^T)^T = \mathcal Q QT=Q−1,(QT)−1=(QT)T=Q。
W ^ = ( X T X + λ I ) − 1 X T Y = [ Q Λ Q T + Q ( λ I ) Q T ] − 1 X T Y = [ Q ( Λ + λ I ) Q T ] − 1 X T Y = ( Q T ) − 1 ( Λ + λ I ) Q − 1 X T Y = Q ( Λ + λ I ) − 1 Q T X T Y \begin{aligned} \hat {\mathcal W} & = (\mathcal X^T \mathcal X + \lambda \mathcal I)^{-1} \mathcal X^T \mathcal Y \\ & = \left[\mathcal Q \Lambda \mathcal Q^T + \mathcal Q(\lambda \mathcal I) \mathcal Q^T\right]^{-1} \mathcal X^T \mathcal Y \\ & = \left[\mathcal Q (\Lambda + \lambda \mathcal I) \mathcal Q^T\right]^{-1} \mathcal X^{T}\mathcal Y \\ & = (\mathcal Q^T)^{-1} (\Lambda + \lambda \mathcal I) \mathcal Q^{-1} \mathcal X^T\mathcal Y \\ & = \mathcal Q (\Lambda + \lambda \mathcal I)^{-1} \mathcal Q^T \mathcal X^T \mathcal Y \end{aligned} W^=(XTX+λI)−1XTY=[QΛQT+Q(λI)QT]−1XTY=[Q(Λ+λI)QT]−1XTY=(QT)−1(Λ+λI)Q−1XTY=Q(Λ+λI)−1QTXTY
再次对比未加正则化的最小二乘法中最优参数 W ^ \hat {\mathcal W} W^:
这里将
( X T X ) − 1 X T Y (\mathcal X^T\mathcal X)^{-1} \mathcal X^T\mathcal Y (XTX)−1XTY也转化成‘特征值分解的形式’
:
W ^ = ( X T X ) − 1 X T Y = ( Q Λ Q T ) − 1 X T Y = Q Λ − 1 Q T X T Y W ^ = { Q Λ − 1 Q T X T Y Q ( Λ + λ I ) − 1 Q T X T Y \begin{aligned} \hat {\mathcal W} & = (\mathcal X^T\mathcal X)^{-1} \mathcal X^T\mathcal Y \\ & = (\mathcal Q\Lambda \mathcal Q^T)^{-1} \mathcal X^T\mathcal Y \\ & = \mathcal Q \Lambda^{-1}\mathcal Q^{T} \mathcal X^T\mathcal Y \\ \hat {\mathcal W} & = \begin{cases} \mathcal Q \Lambda^{-1}\mathcal Q^{T} \mathcal X^T\mathcal Y \\ \mathcal Q (\Lambda + \lambda \mathcal I)^{-1} \mathcal Q^T \mathcal X^T \mathcal Y \end{cases} \end{aligned} W^W^=(XTX)−1XTY=(QΛQT)−1XTY=QΛ−1QTXTY={QΛ−1QTXTYQ(Λ+λI)−1QTXTY
实际上两者在对角阵部分中各元素只差一个 λ \lambda λ。这个 λ \lambda λ有什么作用?
重新观察 X T X \mathcal X^T\mathcal X XTX,虽然它是实对称矩阵,但不一定是正定矩阵,即该矩阵的特征值不一定均大于0。如果存在特征值等于0,则 X T X \mathcal X^T \mathcal X XTX不是满秩矩阵,从而无法求解矩阵的逆 Λ − 1 \Lambda^{-1} Λ−1。
但如果特征值各元素加入一个恒大于0的 λ \lambda λ,那么能保证对角阵上的元素均大于0恒成立。即矩阵 ( Λ + λ I ) − 1 (\Lambda + \lambda \mathcal I)^{-1} (Λ+λI)−1是可逆的。从而 X T X \mathcal X^T\mathcal X XTX的逆矩阵必然存在。
这种做法完全解决了最小二乘法的弊端,从而对最优结果进行约束。
相关参考:
机器学习-白板推导系列(三)-线性回归
特征分解-百度百科
王木头学科学——从权重衰减角度理解正则化
正交矩阵-百度百科