机器学习笔记之线性回归
已知数据集Data:
( x 1 , y 1 ) , ( x 2 , y 2 ) , ( x 3 , y 3 ) , … … , ( x N − 2 , y N − 2 ) , ( x N − 1 , y N − 1 ) , ( x N , y N ) (x_1,y_1),(x_2,y_2),(x_3,y_3),……,(x_{N-2},y_{N-2}),(x_{N-1},y_{N-1}),(x_N,y_N) (x1,y1),(x2,y2),(x3,y3),……,(xN−2,yN−2),(xN−1,yN−1),(xN,yN)
其中
x
i
∈
x_ i\in
xi∈
R
p
R^p
Rp,
y
i
∈
R
y_i\in R
yi∈R,
i
=
1
,
2
,
3
,
…
…
,
N
i=1,2,3,……,N
i=1,2,3,……,N
X
=
(
x
1
,
x
2
,
…
…
,
x
N
−
1
,
x
N
)
T
=
[
x
11
x
12
⋯
x
1
p
x
21
x
22
⋯
x
2
p
⋮
⋮
⋱
⋮
x
N
1
x
N
2
,
⋯
x
N
p
]
N
×
P
X=(x_1,x_2,……,x_{N-1},x_N)^T=\begin{bmatrix} x_{11}&x_{12} & \cdots & x_{1p}\\ x_{21}&x_{22} & \cdots & x_{2p}\\ \vdots & \vdots & \ddots & \vdots\\ x_{N1}&x_{N2}, & \cdots & x_{Np} \end{bmatrix}_{N{\times}P}
X=(x1,x2,……,xN−1,xN)T=⎣⎢⎢⎢⎡x11x21⋮xN1x12x22⋮xN2,⋯⋯⋱⋯x1px2p⋮xNp⎦⎥⎥⎥⎤N×P
Y= ( y 1 , y 2 , … … , y N − 1 , y N ) T (y_1,y_2,……,y_{N-1},y_N)^T (y1,y2,……,yN−1,yN)T
给定有
p
p
p个属性描述的输入
x
\textbf{x}
x=(
x
1
,
x
2
,
⋯
,
x
p
x_{1},x_2,\cdots,x_p
x1,x2,⋯,xp),其中
x
i
x_i
xi是
x
\textbf{x}
x在第
i
i
i个属性上的取值,线性模型(linear model)就是通过学习一个属性之间的线性组合来进行预测的函数,即
f
(
x
)
=
w
1
x
1
+
w
2
x
2
+
⋯
+
w
p
x
p
+
b
f(x)=w_1x_1+w_2x_2+\cdots+w_px_p+b
f(x)=w1x1+w2x2+⋯+wpxp+b
一般写成向量形式
f
(
x
)
=
w
T
x
+
b
f(x)=w^Tx+b
f(x)=wTx+b
其中
w
w
w是
p
p
p维的行向量,即
w
=
(
w
1
,
w
2
,
⋯
 
,
w
p
)
w=(w_1,w_2,\cdots,w_p)
w=(w1,w2,⋯,wp).线性回归的目的是使得
f
(
x
i
)
=
w
T
x
i
+
b
≃
真
实
值
y
i
f(x_i)=w^Tx_i+b\simeq真实值y_i
f(xi)=wTxi+b≃真实值yi
如何确定
w
T
和
b
w^T和b
wT和b的值呢?因此,就需要一个衡量预测值
f
(
x
i
)
f(x_i)
f(xi)和真实值
y
i
y_i
yi之间差异的函数。最常用的则是均方误差函数(通常叫做损失函数),即
图片来自于https://github.com/ws13685555932/machine_learning_derivation/blob/master/3%20%E7%BA%BF%E6%80%A7%E5%9B%9E%E5%BD%92.pdf
详见请点击此链接
(
w
∗
,
b
∗
)
=
arg
min
(
w
,
b
)
∑
i
=
1
N
(
w
T
x
i
−
y
i
)
2
(w^*,b^*)=\arg{\mathop{\min}\limits_{(w,b)}}\sum_{i=1}^N(w^Tx_i-y_i)^2
(w∗,b∗)=arg(w,b)mini=1∑N(wTxi−yi)2
几何意义:均方误差对应了欧几里得距离(欧氏距离)。求解方法使用最小二乘法(least square method)。在线性回归中,最小二乘法就是试图找到一条直线,使得所有样本到直线上的欧式距离之和最小。为了便于求解,可以将
b
b
b设为
0
0
0。下面是求解过程:
线性回归求解
L
(
w
)
=
∑
i
=
1
N
∥
w
T
x
i
−
y
i
∥
=
∑
i
=
1
N
(
w
T
x
i
−
y
i
)
2
=
(
w
T
x
1
−
y
1
,
w
T
x
2
−
y
2
,
⋯
 
,
w
T
x
N
y
N
)
(
w
T
x
1
−
y
1
w
T
x
2
−
y
2
,
⋮
w
T
x
N
−
y
N
)
=
(
(
w
T
x
1
,
w
T
x
2
,
⋯
 
,
w
T
x
N
)
−
(
y
1
,
y
2
,
⋯
 
,
y
N
)
)
(
w
T
x
1
−
y
1
w
T
x
2
−
y
2
⋮
w
T
x
N
−
y
N
)
=
w
T
(
(
x
1
,
x
2
,
⋯
 
,
x
N
)
−
(
y
1
,
y
2
,
⋯
 
,
y
N
)
)
⎵
W
T
X
T
−
Y
T
(
w
T
x
1
−
y
1
w
T
x
2
−
y
2
⋮
w
T
x
N
−
y
N
)
⎵
W
X
−
Y
\begin{aligned}L(w)&=\sum_{i=1}^N \|w^Tx_i-y_i\|=\sum_{i=1}^N (w^Tx_i-y_i)^2\\&=\begin{pmatrix}w^Tx_1-y_1,w^Tx_2-y_2,\cdots,w^Tx_Ny_N\end{pmatrix}\begin{pmatrix}w^Tx_1-y_1 \\ w^Tx_2-y_2, \\ \vdots\\w^Tx_N-y_N\end{pmatrix}\\&=\Biggl(\begin{pmatrix}w^Tx_1,w^Tx_2,\cdots,w^Tx_N\end{pmatrix}-\begin{pmatrix}y_1,y_2,\cdots,y_N\end{pmatrix}\Biggr)\begin{pmatrix}w^Tx_1-y_1\\w^Tx_2-y_2\\ \vdots\\w^Tx_N-y_N\end{pmatrix}\\&=\underbrace{w^T\Biggl(\begin{pmatrix}x_1,x_2,\cdots,x_N\end{pmatrix}-\begin{pmatrix}y_1,y_2,\cdots,y_N\end{pmatrix}\Biggr)}_{W^TX^T-Y^T} \underbrace{\begin{pmatrix}w^Tx_1-y_1\\w^Tx_2-y_2\\ \vdots\\w^Tx_N-y_N\end{pmatrix}}_{WX-Y} \end{aligned}
L(w)=i=1∑N∥wTxi−yi∥=i=1∑N(wTxi−yi)2=(wTx1−y1,wTx2−y2,⋯,wTxNyN)⎝⎜⎜⎜⎛wTx1−y1wTx2−y2,⋮wTxN−yN⎠⎟⎟⎟⎞=((wTx1,wTx2,⋯,wTxN)−(y1,y2,⋯,yN))⎝⎜⎜⎜⎛wTx1−y1wTx2−y2⋮wTxN−yN⎠⎟⎟⎟⎞=WTXT−YT
wT((x1,x2,⋯,xN)−(y1,y2,⋯,yN))WX−Y
⎝⎜⎜⎜⎛wTx1−y1wTx2−y2⋮wTxN−yN⎠⎟⎟⎟⎞
即:
L
(
W
)
=
(
W
T
X
T
−
Y
T
)
(
X
W
−
Y
)
L(W)=(W^TX^T-Y^T)(XW-Y)
L(W)=(WTXT−YT)(XW−Y)
展开可得:
L
(
W
)
=
W
T
X
T
X
W
−
W
T
X
T
Y
−
Y
T
X
W
+
Y
T
Y
L(W)=W^TX^TXW-W^TX^TY-Y^TXW+Y^TY
L(W)=WTXTXW−WTXTY−YTXW+YTY
因为
W
T
X
T
Y
W^TX^TY
WTXTY是对称矩阵,所以
L
(
W
)
=
W
T
X
T
X
W
−
2
W
T
X
T
Y
+
Y
T
Y
L(W)=W^TX^TXW-2W^TX^TY+Y^TY
L(W)=WTXTXW−2WTXTY+YTY
w ^ = arg min L ( W ) \hat{w}=\arg{\min}L(W) w^=argminL(W)
对 L ( w ) L(w) L(w)求关于 w w w的偏导得: ∂ L ( w ) ∂ w = 2 X T X W − 2 X T Y \frac{\partial{L(w)}}{\partial{w}}=2X^TXW-2X^TY ∂w∂L(w)=2XTXW−2XTY
令偏导的等于零,则$XTXW=XTY\Rightarrow W=(XTX){-1}X^TY $
其中 ( X T X ) − 1 (X^TX)^{-1} (XTX)−1是矩阵 ( X T X ) (X^TX) (XTX)的逆矩阵。然而,现实任务中 X T X X^TX XTX往往不是满秩矩阵。例如有时在许多任务中我们会遇到大量的变量,其数目超过样例数,导致 X X X的例数多于行数, X T X X^TX XTX显然不满秩,但此时可以求伪逆。此时可以求出多个,它们都能使均方差最小化。至于选哪一个作为输出,将由学习算法的归纳偏好决定,常见的做法是引入正则化项(regularization)。
从几何角度来解释:
p
p
p个属性可以理解为
p
p
p维子空间,
f
(
β
)
f(\beta)
f(β)是
y
y
y在
p
p
p维子空间的投影,在
p
p
p维子空间找一向量
β
\beta
β使得
f
(
β
)
f(\beta)
f(β)与
y
y
y的距离最小,则满足
y
−
f
(
w
)
y-f(w)
y−f(w)与
p
p
p维子空间的基向量垂直。即
图片来自于https://github.com/ws13685555932/machine_learning_derivation/blob/master/3%20%E7%BA%BF%E6%80%A7%E5%9B%9E%E5%BD%92.pdf
详见请点击此链接
f
(
w
)
=
w
T
x
=
x
T
β
f(w)=w^Tx=x^T\beta
f(w)=wTx=xTβ
X
T
(
Y
−
f
(
w
)
)
=
0
⇒
X
T
(
Y
−
X
β
)
=
0
⇒
X
T
Y
=
X
T
X
β
⇒
β
=
(
X
T
X
)
−
1
X
T
Y
\begin{aligned} X^T(Y-f(w))&=0\Rightarrow X^T(Y-X\beta)=0\Rightarrow X^TY=X^TX\beta\Rightarrow\beta=(X^TX)^{-1}X^TY \end{aligned}
XT(Y−f(w))=0⇒XT(Y−Xβ)=0⇒XTY=XTXβ⇒β=(XTX)−1XTY
从概率角度来解释:设数据集的噪声
ε
∼
N
(
0
,
σ
2
)
\varepsilon\sim N(0,\sigma^2)
ε∼N(0,σ2),
x
i
∈
R
p
x_i\in R^p
xi∈Rp,
y
i
∈
R
y_i\in R
yi∈R
y
=
f
(
w
)
+
ε
f
(
w
)
=
w
T
x
}
⇒
y
=
w
T
x
+
ε
⇒
y
∣
x
;
w
∼
(
w
T
x
,
σ
2
)
⇒
P
(
y
i
∣
x
i
;
w
)
=
1
2
π
σ
e
x
p
(
(
y
i
−
w
T
x
i
)
2
2
σ
2
)
\begin{aligned} \left.\begin{matrix}y=f(w)+\varepsilon\\ f(w)=w^Tx\end{matrix} \right \}&\Rightarrow y=w^Tx+\varepsilon \Rightarrow y|x;w\sim(w^Tx,\sigma^2)\\&\Rightarrow P(y_i|x_i;w)=\frac{1}{\sqrt{2\pi}\sigma}exp(\frac{(y_i-w^Tx_i)^2}{2 \sigma^2}) \end{aligned}
y=f(w)+εf(w)=wTx}⇒y=wTx+ε⇒y∣x;w∼(wTx,σ2)⇒P(yi∣xi;w)=2πσ1exp(2σ2(yi−wTxi)2)
使用最大似然估计法(
m
a
x
i
m
u
m
l
i
k
e
l
i
h
o
o
d
e
s
t
i
m
a
t
i
o
n
,
M
L
E
maximum\quad likelihood \quad estimation,MLE
maximumlikelihoodestimation,MLE) 求解,即:
L
(
w
)
=
log
P
(
Y
∣
X
;
w
)
=
log
∏
i
=
1
N
P
(
y
i
∣
x
i
;
w
)
=
∑
i
=
1
N
log
P
(
y
i
∣
x
i
;
w
)
=
∑
i
=
1
N
(
log
1
2
π
σ
+
log
e
x
p
(
−
(
y
i
−
w
T
x
i
)
2
2
σ
2
)
)
=
∑
i
=
1
N
(
log
1
2
π
σ
−
1
2
σ
2
(
y
i
−
w
T
x
i
)
2
)
\begin{aligned} L(w)&=\log P(Y|X;w)=\log \prod_{i=1}^NP(y_i|x_i;w)=\sum_{i=1}^N \log P(y_i|x_i;w)\\ &=\sum_{i=1}^N (\log \frac{1}{\sqrt{2\pi}\sigma}+\log exp(-\frac{(y_i-w^Tx_i)^2}{2\sigma^2}))\\ &=\sum_{i=1}^N(\log \frac{1}{\sqrt{2\pi}\sigma}-\frac{1}{2\sigma^2(y_i-w^Tx_i)^2}) \end{aligned}
L(w)=logP(Y∣X;w)=logi=1∏NP(yi∣xi;w)=i=1∑NlogP(yi∣xi;w)=i=1∑N(log2πσ1+logexp(−2σ2(yi−wTxi)2))=i=1∑N(log2πσ1−2σ2(yi−wTxi)21)
即求
w
^
=
arg
max
w
L
(
w
)
=
arg
max
w
(
−
1
2
σ
2
(
y
i
−
w
T
x
i
)
)
\hat{w}=\arg \max\limits_{w}L(w)=\arg \max \limits_{w}(\frac{-1}{2\sigma^2}(y_i-w^Tx_i))
w^=argwmaxL(w)=argwmax(2σ2−1(yi−wTxi))
⇒ w ^ = arg min w ( y i − w T x i ) 2 \Rightarrow \hat{w}=\arg \min \limits_{w}(y_i-w^Tx_i)^2 ⇒w^=argwmin(yi−wTxi)2 ⟺ \Longleftrightarrow ⟺损失函数 L ( w ) = ∑ i = 1 N ∥ w T x i − y i ∥ L(w)= \sum_{i=1}^N \|w^Tx_i-y_i \| L(w)=∑i=1N∥wTxi−yi∥
因此,最小二乘估计法等价于噪声服从正态分布的极大似然估计。LSE
⟺
\Longleftrightarrow
⟺ MLE
正则化:简单来说,当数据集(样本容量)很少时,最小均方差函数未必可以取得很好的效果,会产生所谓的过拟合现象(就是在训练数据上模型表现效果很好,但是测试数据上表现不好)。因此,为了防止这样的现象发生,常用的方法是有增加样本数据、特征选择(特征提取)如PCA、正则化。本次就介绍通过添加正则项来控制过拟合,在损失函数后面加上正则项,即:
L
(
w
)
=
∑
i
=
1
N
∥
w
T
−
y
i
∥
2
+
λ
p
(
w
)
L(w)=\sum_{i=1}^N\|w^T-y_i\|^2+\lambda p(w)
L(w)=i=1∑N∥wT−yi∥2+λp(w)
一般正则项形式如
λ
∣
w
i
∣
q
\lambda |w_i|^q
λ∣wi∣q,当
q
=
1
q=1
q=1时,被称为lasso,如果
λ
\lambda
λ足够大时,某些系数
w
i
w_i
wi会变成零,从而会产生一个稀疏(sparse)模型;当
q
=
2
q=2
q=2时,被称为岭回归(ridge regression),这样的好处是可以求出解析解,在神经网络中,这种方法叫做权值衰减(weight decay)。
因此,损失函数就转化为:
J
(
w
)
=
∑
i
=
1
N
∥
w
T
x
i
−
y
i
∥
2
+
λ
∥
w
∥
2
=
∑
i
=
1
N
∥
w
T
x
i
−
y
i
∥
+
λ
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)&=\sum_{i=1}^N\|w^Tx_i-y_i\|^2+\lambda \|w\|^2=\sum_{i=1}^N\|w^Tx_i-y_i\|+\lambda w^Tw\\&=(W^TX^T-Y^T)(XW-Y)+\lambda W^TW\\&=W^TX^TXW-2W^TX^TY+Y^TY+\lambda W^TW\\&=W^T(X^TX+\lambda I)W-2W^TX^TY+Y^TY \end{aligned}
J(w)=i=1∑N∥wTxi−yi∥2+λ∥w∥2=i=1∑N∥wTxi−yi∥+λwTw=(WTXT−YT)(XW−Y)+λWTW=WTXTXW−2WTXTY+YTY+λWTW=WT(XTX+λI)W−2WTXTY+YTY
W
^
=
arg
min
W
J
(
W
)
\hat W=\arg \min \limits_W J(W)
W^=argWminJ(W)
求导可得:
∂
J
(
W
)
∂
W
=
2
(
X
T
X
+
λ
I
)
W
−
2
X
T
Y
\frac{\partial J(W)}{\partial W}=2(X^TX+\lambda I)W-2X^TY
∂W∂J(W)=2(XTX+λI)W−2XTY
令上式等于零,
∂
J
(
W
)
∂
W
=
0
⇒
W
^
=
(
X
T
X
+
λ
I
)
−
1
X
T
Y
\frac{\partial J(W)}{\partial W}=0 \Rightarrow \hat{W}=(X^TX+\lambda I)^{-1}X^TY
∂W∂J(W)=0⇒W^=(XTX+λI)−1XTY
正则化的概率解释:数据落在模型的几率
图片来自于https://github.com/ws13685555932/machine_learning_derivation/blob/master/3%20%E7%BA%BF%E6%80%A7%E5%9B%9E%E5%BD%92.pdf
详见请点击此链接
贝叶斯角度:设
w
∼
N
(
0
,
σ
0
2
)
w \sim N(0,\sigma_0^2)
w∼N(0,σ02)即
P
(
w
)
=
1
2
π
σ
0
e
x
p
{
−
(
y
−
w
T
x
)
2
σ
2
}
P(w)=\frac{1}{\sqrt{2\pi}\sigma_0}exp\{-\frac{(y-w^Tx)}{2\sigma^2}\}
P(w)=2πσ01exp{−2σ2(y−wTx)},
P
(
y
∣
w
)
=
1
2
π
σ
e
x
p
{
−
y
−
w
T
x
2
σ
2
}
P(y|w)=\frac{1}{\sqrt{2\pi}\sigma}exp\{-\frac{y-w^Tx}{2\sigma^2}\}
P(y∣w)=2πσ1exp{−2σ2y−wTx}
∵
P
(
w
∣
y
)
=
P
(
y
∣
w
)
⋅
P
(
W
)
P
(
y
)
\because P(w|y)=\frac{P(y|w) \cdot P(W)}{P(y)}
∵P(w∣y)=P(y)P(y∣w)⋅P(W)
∴
\therefore
∴最大后验概率(
m
a
x
i
m
u
m
a
p
o
s
t
e
r
i
o
r
i
e
s
t
i
m
a
t
i
o
n
maximum\quad a \quad posteriori\quad estimation
maximumaposterioriestimation)MAP
w
^
=
arg
max
w
P
(
w
∣
y
)
=
arg
max
w
P
(
y
∣
w
)
⋅
P
(
w
)
=
arg
max
w
l
o
g
[
P
(
y
∣
w
)
⋅
P
(
w
)
]
=
arg
max
w
l
o
g
(
1
2
π
σ
⋅
1
2
π
σ
0
)
+
l
o
g
exp
{
−
(
y
−
w
T
x
)
2
2
σ
2
−
∥
w
∥
2
2
σ
2
}
⇒
arg
min
w
(
y
−
w
T
x
)
2
2
σ
2
+
∥
w
∥
2
2
σ
0
2
⇒
arg
min
w
(
y
−
w
T
x
)
2
+
σ
2
σ
0
2
∥
w
∥
2
\begin{aligned}\hat{w}&=\arg \max \limits_{w}P(w|y)=\arg \max \limits_{w}P(y|w)\cdot P(w)\\&=\arg \max \limits_{w}log[P(y|w)\cdot P(w)]\\&=\arg \max \limits_{w}log(\frac{1}{\sqrt{2\pi}\sigma} \cdot\frac{1}{\sqrt{2\pi}\sigma_0})+log \exp\{-\frac{(y-w^Tx)^2}{2\sigma^2}-\frac{\|w\|^2}{2\sigma^2}\}\\&\Rightarrow\arg \min \limits_w\frac{(y-w^Tx)^2}{2\sigma^2}+\frac{\|w\|^2}{2\sigma_0^2}\Rightarrow\arg \min \limits_w(y-w^Tx)^2+\frac{\sigma_2}{\sigma_0^2}\|w\|^2 \end{aligned}
w^=argwmaxP(w∣y)=argwmaxP(y∣w)⋅P(w)=argwmaxlog[P(y∣w)⋅P(w)]=argwmaxlog(2πσ1⋅2πσ01)+logexp{−2σ2(y−wTx)2−2σ2∥w∥2}⇒argwmin2σ2(y−wTx)2+2σ02∥w∥2⇒argwmin(y−wTx)2+σ02σ2∥w∥2
上式最终优化等价于
w
^
M
A
P
=
arg
min
w
∑
i
=
1
N
(
y
−
w
T
x
)
2
+
σ
2
σ
0
2
∥
w
∥
2
\hat{w}_{MAP}=\arg \min \limits_{w}\sum_{i=1}^N(y-w^Tx)^2+\frac{\sigma^2}{\sigma^2_0}\|w\|^2
w^MAP=argwmin∑i=1N(y−wTx)2+σ02σ2∥w∥2
与Ridge Regression J ( w ) = ∑ i = 1 N ( w T x i − y i ) 2 + λ w T w J(w)=\sum_{i=1}^N(w^Tx_i-y_i)^2+\lambda w^Tw J(w)=∑i=1N(wTxi−yi)2+λwTw比较可得, λ = σ 2 σ 0 2 \lambda=\frac{\sigma^2}{\sigma_0^2} λ=σ02σ2
因此可以得出最小二乘估计LSE ⟺ \Longleftrightarrow ⟺极大似然估计MLE(噪声为高斯分布),正则化最小二乘估计Regularized LSE ⟺ \Longleftrightarrow ⟺最大后验概率估价MAP