假设数据集为: D = ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯ , ( x N , y N ) \mathcal{D}={(x_1, y_1),(x_2, y_2),\cdots,(x_N, y_{N})} D=(x1,y1),(x2,y2),⋯,(xN,yN) 后面我们记: X = ( x 1 , x 2 , ⋯ , x N ) T = ( x 1 T x 2 T ⋮ x p T ) = ( x 11 x 21 … x 1 p x 21 x 22 … x 2 p ⋮ ⋮ ⋮ ⋮ x p 1 x p 2 … x p p ) N ∗ p , Y = ( y 1 , y 2 , ⋯ , y N ) T = ( y 1 y 2 ⋮ y p ) N ∗ 1 X=(x_1,x_2,\cdots,x_N)^T=\left(\begin{array}{c}x_{1}^T \\ x_{2}^T\\ \vdots \\ x_{p}^T\end{array}\right)=\left(\begin{array}{c}x_{11} x_{21} \dots x_{1p}\\ x_{21} x_{22} \dots x_{2p}\\ \vdots \quad \vdots \quad \vdots \quad \vdots \\ x_{p1} x_{p2} \dots x_{pp} \end{array}\right)_{N*p},\\ Y=(y_1,y_2,\cdots,y_N)^T= \left(\begin{array}{c}y_{1} \\ y_{2}\\ \vdots \\ y_{p}\end{array}\right)_{N*1} X=(x1,x2,⋯,xN)T=⎝⎜⎜⎜⎛x1Tx2T⋮xpT⎠⎟⎟⎟⎞=⎝⎜⎜⎜⎛x11x21…x1px21x22…x2p⋮⋮⋮⋮xp1xp2…xpp⎠⎟⎟⎟⎞N∗p,Y=(y1,y2,⋯,yN)T=⎝⎜⎜⎜⎛y1y2⋮yp⎠⎟⎟⎟⎞N∗1 线性回归假设: f ( w ) = w T x f(w)=w^Tx f(w)=wTx
1 最小二乘法及其几何意义
对这个问题,采用二范数定义的平方误差来定义损失函数:
L
(
w
)
=
∑
i
=
1
N
∣
∣
w
T
x
i
−
y
i
∣
∣
2
2
L(w)=\sum\limits_{i=1}^N||w^Tx_i-y_i||^2_2
L(w)=i=1∑N∣∣wTxi−yi∣∣22 展开得到:
L
(
w
)
=
(
w
T
x
1
−
y
1
,
⋯
,
w
T
x
N
−
y
N
)
⋅
(
w
T
x
1
−
y
1
,
⋯
,
w
T
x
N
−
y
N
)
T
=
(
(
w
T
x
1
,
⋯
,
w
T
x
N
)
−
(
y
1
,
⋯
,
y
N
)
)
⋅
(
w
T
x
1
−
y
1
,
⋯
,
w
T
x
N
−
y
N
)
T
=
(
w
T
X
T
−
Y
T
)
⋅
(
X
w
−
Y
)
=
w
T
X
T
X
w
−
Y
T
X
w
−
w
T
X
T
Y
+
Y
T
Y
=
w
T
X
T
X
w
−
2
w
T
X
T
Y
+
Y
T
Y
\begin{aligned} L(w) &=\left(w^{T} x_{1}-y_{1}, \cdots, w^{T} x_{N}-y_{N}\right) \cdot\left(w^{T} x_{1}-y_{1}, \cdots, w^{T} x_{N}-y_{N}\right)^{T} \\ &=(\left(w^{T} x_{1}, \cdots, w^{T} x_{N})-(y_{1}, \cdots,y_{N}\right)) \cdot\left(w^{T} x_{1}-y_{1}, \cdots, w^{T} x_{N}-y_{N}\right)^{T} \\ &=\left(w^{T} X^{T}-Y^{T}\right) \cdot(X w-Y)=w^{T} X^{T} X w-Y^{T} X w-w^{T} X^{T} Y+Y^{T} Y \\ &=w^{T} X^{T} X w-2 w^{T} X^{T} Y+Y^{T} Y \end{aligned}
L(w)=(wTx1−y1,⋯,wTxN−yN)⋅(wTx1−y1,⋯,wTxN−yN)T=((wTx1,⋯,wTxN)−(y1,⋯,yN))⋅(wTx1−y1,⋯,wTxN−yN)T=(wTXT−YT)⋅(Xw−Y)=wTXTXw−YTXw−wTXTY+YTY=wTXTXw−2wTXTY+YTY最小化这个值的
w
^
=
argmin
w
L
(
w
)
⟶
∂
∂
w
L
(
w
)
=
0
⟶
2
X
T
X
w
^
−
2
X
T
Y
=
0
⟶
w
^
=
(
X
T
X
)
−
1
X
T
Y
=
X
+
Y
\begin{aligned} \hat{w}=\underset{w}{\operatorname{argmin}} L(w) & \longrightarrow \frac{\partial}{\partial w} L(w)=0 \\ & \longrightarrow 2 X^{T} X \hat{w}-2 X^{T} Y=0 \\ & \longrightarrow \hat{w}=\left(X^{T} X\right)^{-1} X^{T} Y=X^{+} Y \end{aligned}
w^=wargminL(w)⟶∂w∂L(w)=0⟶2XTXw^−2XTY=0⟶w^=(XTX)−1XTY=X+Y 这个式子中
(
X
T
X
)
−
1
X
T
(X^TX)^{-1}X^T
(XTX)−1XT 又被称为伪逆。对于行满秩或者列满秩的
X
X
X,可以直接求解,但是对于非满秩的样本集合,需要使用奇异值分解(SVD)的方法,对
X
X
X 求奇异值分解,得到
X
=
U
Σ
V
T
X=U\Sigma V^T
X=UΣVT 于是:
X
+
=
V
Σ
−
1
U
T
X^+=V\Sigma^{-1}U^T
X+=VΣ−1UT
在几何上,最小二乘法相当于模型(这里就是直线)和试验值的距离的平方求和(从N个样本的角度来看),假设我们的试验样本张成一个
p
p
p 维空间(满秩的情况):
X
=
S
p
a
n
(
x
1
,
⋯
,
x
N
)
X=Span(x_1,\cdots,x_N)
X=Span(x1,⋯,xN),而模型可以写成
f
(
w
)
=
X
β
f(w)=X\beta
f(w)=Xβ,也就是
x
1
,
⋯
,
x
N
x_1,\cdots,x_N
x1,⋯,xN 的某种组合,而最小二乘法就是说希望
Y
Y
Y 和这个模型距离越小越好。当距离为0时,所有的点都会在直线上面,对应在p维空间,就是向量Y在此平面上;但是,实际情况是点不可能均在直线上,对应的是,向量Y不会在此平面上,因此,
Y
−
X
β
Y-X\beta
Y−Xβ就是平面的法向量,于是它们的差应该与这个张成的空间垂直:
X
T
⋅
(
Y
−
X
β
)
=
0
⟶
β
=
(
X
T
X
)
−
1
X
T
Y
X^T\cdot(Y-X\beta)=0\longrightarrow\beta=(X^TX)^{-1}X^TY
XT⋅(Y−Xβ)=0⟶β=(XTX)−1XTY
2 概率角度:噪声为高斯分布的 MLE
最小二乘法(LSF)<==>MLE(噪声是高斯分布)
对于一维的情况,记
y
=
w
T
x
+
ϵ
,
ϵ
∼
N
(
0
,
σ
2
)
y=w^Tx+\epsilon,\epsilon\sim\mathcal{N}(0,\sigma^2)
y=wTx+ϵ,ϵ∼N(0,σ2),那么
y
∼
N
(
w
T
x
,
σ
2
)
y\sim\mathcal{N}(w^Tx,\sigma^2)
y∼N(wTx,σ2)
L
(
w
)
=
log
p
(
Y
∣
X
,
w
)
=
log
∏
i
=
1
N
p
(
y
i
∣
x
i
,
w
)
=
∑
i
=
1
N
log
(
1
2
π
σ
e
−
(
y
i
−
w
T
x
i
)
2
2
σ
2
)
\begin{aligned} L(w)=\log p(Y | X, w) &=\log \prod_{i=1}^{N} p\left(y_{i} | x_{i}, w\right) \\ &=\sum_{i=1}^{N} \log \left(\frac{1}{\sqrt{2 \pi \sigma}} e^{-\frac{\left(y_{i}-w^{T} x_{i}\right)^{2}}{2 \sigma^{2}}}\right) \end{aligned}
L(w)=logp(Y∣X,w)=logi=1∏Np(yi∣xi,w)=i=1∑Nlog(2πσ1e−2σ2(yi−wTxi)2)
argmax
w
L
(
w
)
=
argmin
w
∑
i
=
1
N
(
y
i
−
w
T
x
i
)
2
\underset{w}{\operatorname{argmax}} L(w)=\underset{w}{\operatorname{argmin}} \sum_{i=1^{N}}\left(y_{i}-w^{T} x_{i}\right)^{2}
wargmaxL(w)=wargmini=1N∑(yi−wTxi)2这个表达式和最小二乘估计得到的结果一样,所以最小二乘法隐藏噪声是高斯分布。
3 正则化
损失函数:
L
(
w
)
=
∑
i
=
1
N
∣
∣
w
T
x
i
−
y
i
∣
∣
2
2
L(w)=\sum\limits_{i=1}^N||w^Tx_i-y_i||^2_2
L(w)=i=1∑N∣∣wTxi−yi∣∣22
得到解析解:
w
^
=
(
X
T
X
)
−
1
X
T
Y
\hat{w}=\left(X^{T} X\right)^{-1} X^{T} Y
w^=(XTX)−1XTY
X
N
∗
p
X_{N*p}
XN∗p,
N
N
N个样本,
p
p
p个特征,正常情况下,需要
N
>
>
p
N>>p
N>>p
在实际应用时,如果样本容量不远远大于样本的特征维度,在数据角度看就是,
X
T
X
X^{T} X
XTX会不可逆,不可以直接得到解析解;在结果上看,很可能造成过拟合,对这种情况,我们有下面三个解决方式:
- 加数据
- 特征选择或降低特征维度如 PCA 算法。
- 正则化
正则化一般是在损失函数(如上面介绍的最小二乘损失)上加入正则化项(表示模型的复杂度对模型的惩罚),下面我们介绍一般情况下的两种正则化框架。 L 1 : argmin w L ( w ) + λ ∥ w ∥ 1 , λ > 0 L 2 : argmin w L ( w ) + λ ∥ w ∥ 2 2 , λ > 0 \begin{array}{l} L 1: \underset{w}{\operatorname{argmin}} L(w)+\lambda\|w\|_{1}, \lambda>0 \\ L 2: \underset{w}{\operatorname{argmin}} L(w)+\lambda\|w\|_{2}^{2}, \lambda>0 \end{array} L1:wargminL(w)+λ∥w∥1,λ>0L2:wargminL(w)+λ∥w∥22,λ>0下面对最小二乘误差分别分析这两者的区别。
3.1 L1 Lasso
L1正则化可以引起稀疏解。
从最小化损失的角度看,由于 L1 项求导在0附近的左右导数都不是0,因此更容易取到0解。
从另一个方面看,L1 正则化相当于: a r g m i n w L ( w ) s . t . ∣ ∣ w ∣ ∣ 1 < C \mathop{argmin}\limits_wL(w)\\ s.t. ||w||_1\lt C wargminL(w)s.t.∣∣w∣∣1<C 我们已经看到平方误差损失函数在 w w w 空间是一个椭球,因此上式求解就是椭球和 ∣ ∣ w ∣ ∣ 1 = C ||w||_1=C ∣∣w∣∣1=C的切点,因此更容易相切在坐标轴上。
3.2 L2 Ridge(岭回归)或权值衰减(频率角度来看)
令 J ( w ) = L ( w ) + λ ∥ w ∥ 2 2 = ∑ i = 1 N ∣ ∣ w T x i − y i ∣ ∣ 2 2 + λ w T w = ( w T X T − Y T ) ( X w − Y ) + λ w T w = w T X T X w − 2 w T X T Y + Y T Y + λ w T w = w T ( X T X + λ I ) w − 2 w T X T Y + Y T Y \begin{aligned} J(w)=L(w)+\lambda\|w\|_{2}^{2} &=\sum\limits_{i=1}^N||w^Tx_i-y_i||^2_2+\lambda w^{T} w\\ &=(w^{T} X^{T}-Y^{T})(Xw-Y)+\lambda w^{T} w \\ &=w^{T} X^{T}Xw-2w^TX^TY+Y^TY+\lambda w^{T} w \\ &=w^{T}( X^{T}X+\lambda I)w-2w^TX^TY+Y^TY \end{aligned} J(w)=L(w)+λ∥w∥22=i=1∑N∣∣wTxi−yi∣∣22+λwTw=(wTXT−YT)(Xw−Y)+λwTw=wTXTXw−2wTXTY+YTY+λwTw=wT(XTX+λI)w−2wTXTY+YTY
w
^
=
argmin
w
L
(
w
)
+
λ
w
T
w
⟶
∂
∂
w
L
(
w
)
+
2
λ
w
=
0
⟶
2
X
T
X
w
^
−
2
X
T
Y
+
2
λ
w
^
=
0
⟶
w
^
=
(
X
T
X
+
λ
I
)
−
1
X
T
Y
\begin{aligned} \hat{w}=\underset{w}{\operatorname{argmin}} L(w)+\lambda w^{T} w & \longrightarrow \frac{\partial}{\partial w} L(w)+2 \lambda w=0 \\ & \longrightarrow 2 X^{T} X \hat{w}-2 X^{T} Y+2 \lambda \hat{w}=0 \\ & \longrightarrow \hat{w}=\left(X^{T} X+\lambda \mathbb{I}\right)^{-1} X^{T} Y \end{aligned}
w^=wargminL(w)+λwTw⟶∂w∂L(w)+2λw=0⟶2XTXw^−2XTY+2λw^=0⟶w^=(XTX+λI)−1XTY
X
T
X
X^TX
XTX最少是一个半正定矩阵(定理:若A是n阶实对称矩阵,则A是半正定的。
X
T
X
X^TX
XTX是p*p的实矩阵,同时也是可逆的,
(
X
T
X
)
T
=
X
T
(
X
T
)
T
=
X
T
X
(X^TX)^T=X^T(X^T)^T=X^TX
(XTX)T=XT(XT)T=XTX,所以是对称阵,因此
X
T
X
X^TX
XTX一定是半正定的,但不一定正定,因此
X
T
X
X^TX
XTX的逆可能不存在。注意:半正定矩阵与正定矩阵相加一定正定,所以
X
T
X
+
λ
I
一
定
可
逆
X^{T} X+\lambda \mathbb{I}一定可逆
XTX+λI一定可逆)
可以看到,这个正则化参数和前面的 MAP 结果不谋而合。利用2范数进行正则化不仅可以是模型选择
w
w
w 较小的参数,同时也避免
X
T
X
X^TX
XTX不可逆的问题。
4 贝叶斯角度:权重先验也为高斯分布的 MAP
y
=
w
T
x
+
ϵ
,
ϵ
∼
N
(
0
,
σ
2
)
y=w^Tx+\epsilon,\epsilon\sim\mathcal{N}(0,\sigma^2)
y=wTx+ϵ,ϵ∼N(0,σ2),则
y
∣
x
;
w
∼
N
(
w
T
x
,
σ
2
)
y|x;w\sim\mathcal{N}(w^Tx,\sigma^2)
y∣x;w∼N(wTx,σ2)
从贝叶斯角度,取先验分布
w
∼
N
(
0
,
σ
0
2
)
w\sim\mathcal{N}(0,\sigma_{0}^2)
w∼N(0,σ02)。于是:
w
^
=
arg
max
w
p
(
w
∣
Y
)
=
arg
max
w
p
(
Y
∣
w
)
p
(
w
)
=
arg
max
w
log
p
(
Y
∣
w
)
p
(
w
)
=
arg
max
w
(
log
p
(
Y
∣
w
)
+
log
p
(
w
)
)
=
arg
min
w
[
(
y
−
w
T
x
)
2
+
σ
2
σ
0
2
w
T
w
]
\begin{aligned} \hat{w}=\arg \max _{w} p(w | Y) &=\arg \max _{w} p(Y | w) p(w) \\ &=\arg \max _{w} \log p(Y | w) p(w) \\ &=\arg \max _{w} (\log p(Y | w)+\log p(w)) \\ &=\arg \min _{w}\left[\left(y-w^{T} x\right)^{2}+\frac{\sigma^{2}}{\sigma_{0}^{2}} w^{T} w\right] \end{aligned}
w^=argwmaxp(w∣Y)=argwmaxp(Y∣w)p(w)=argwmaxlogp(Y∣w)p(w)=argwmax(logp(Y∣w)+logp(w))=argwmin[(y−wTx)2+σ02σ2wTw] 这里省略了
X
X
X,
p
(
Y
)
p(Y)
p(Y)和
w
w
w 没有关系,同时也利用了上面高斯分布的 MLE的结果。
我们将会看到,超参数 σ 0 \sigma_0 σ0的存在和下面会介绍的 Ridge 正则项可以对应,同样的如果将先验分布取为 Laplace 分布,那么就会得到和 L1 正则类似的结果。
5 小结
线性回归模型是最简单的模型,但是麻雀虽小,五脏俱全,在这里,我们利用最小二乘误差得到了闭式解。同时也发现,在噪声为高斯分布的时候,MLE 的解等价于最小二乘误差,而增加了正则项后,最小二乘误差加上 L2 正则项等价于高斯噪声先验下的 MAP解,加上 L1 正则项后,等价于 Laplace 噪声先验。
传统的机器学习方法或多或少都有线性回归模型的影子:
- 线性模型往往不能很好地拟合数据,因此有三种方案克服这一劣势:
- 对特征的维数进行变换,例如多项式回归模型就是在线性特征的基础上加入高次项。
- 在线性方程后面加入一个非线性变换,即引入一个非线性的激活函数,典型的有线性分类模型如感知机。
- 对于一致的线性系数,我们进行多次变换,这样同一个特征不仅仅被单个系数影响,例如多层感知机(深度前馈网络)。
- 线性回归在整个样本空间都是线性的,我们修改这个限制,在不同区域引入不同的线性或非线性,例如线性样条回归和决策树模型。
- 线性回归中使用了所有的样本,但是对数据预先进行加工学习的效果可能更好(所谓的维数灾难,高维度数据更难学习),例如 PCA 算法和流形学习。