Linear Regression
Simple Case
线性回归是一种简洁、优雅的方法,它最大的好处就是它有 closed form solution. 让我接下来推导如何得到闭式解。
Suppose we have a dataset
{
(
x
1
,
y
1
)
,
.
.
.
,
(
x
n
,
y
n
)
}
\{(x^1,y^1),...,(x^n,y^n)\}
{(x1,y1),...,(xn,yn)}, where
x
i
∈
R
d
x^i\in\mathbb{R}^d
xi∈Rd and
y
i
∈
R
y^i\in\mathbb{R}
yi∈R. 现在我们找一个线性方程
f
(
x
)
=
w
T
x
+
b
f(x)=w^Tx+b
f(x)=wTx+b 去拟合数据。
我们先讨论简单的情况 d=1, i.e.,
x
i
x^i
xi 是一个实数. 我们可以把函数写作
f
(
x
)
=
w
1
x
+
w
2
f(x)=w_1x+w_2
f(x)=w1x+w2.
我们只要找到
w
1
w_1
w1 and
w
2
w_2
w2 使得
argmin
w
1
,
w
2
1
2
∑
i
=
1
n
(
y
i
−
w
1
x
i
−
w
2
)
2
\underset{w_1,w_2}{\operatorname{argmin}} \frac{1}{2}\sum_{i=1}^n(y^i-w_1x^i-w_2)^2
w1,w2argmin21∑i=1n(yi−w1xi−w2)2.
用矩阵的语言表述
argmin w 1 , w 2 1 2 ∥ [ y 1 ⋮ y n ] − [ x 1 1 ⋮ ⋮ x n 1 ] ⋅ [ w 1 w 2 ] ∥ 2 2 \underset{w_1,w_2}{\operatorname{argmin}} \frac{1}{2} \left\| \begin{bmatrix} y^{1} \\ \vdots \\ y^{n} \end{bmatrix} - \begin{bmatrix} x^{1} & 1 \\ \vdots & \vdots \\ x^{n} & 1 \end{bmatrix} \cdot \begin{bmatrix} w_1 \\ w_2 \end{bmatrix} \right\|^2_2 w1,w2argmin21 y1⋮yn − x1⋮xn1⋮1 ⋅[w1w2] 22
让我们用数学语言表述上面的矩阵
X
T
,
Y
,
w
X^T, Y, w
XT,Y,w. (这里把中间的矩阵记为X转置只是一种人为规定的)
X
T
∈
R
n
×
2
X^T \in \mathbb{R}^{n\times 2}
XT∈Rn×2, Y
∈
R
n
\in \mathbb{R}^{n}
∈Rn, w
∈
R
2
\in \mathbb{R}^{2}
∈R2.
我们现在的问题转化成了
argmin
w
1
2
∥
Y
−
X
w
∥
2
2
\underset{w}{\operatorname{argmin}} \frac{1}{2}\|Y-Xw\|^2_2
wargmin21∥Y−Xw∥22.
要求解,我们只需对loss函数求对于
w
w
w的导数,令导数为0即可
L
=
1
2
(
Y
−
X
T
w
)
T
(
Y
−
X
T
w
)
=
1
2
(
Y
T
Y
−
Y
T
X
T
w
−
w
T
X
Y
+
w
T
X
T
X
w
)
∂
L
∂
w
=
1
2
(
0
−
X
Y
−
X
Y
+
2
X
X
T
w
)
=
0
w
=
(
X
X
T
)
−
1
X
Y
L = \frac{1}{2}(Y-X^Tw)^T(Y-X^Tw)= \frac{1}{2}(Y^TY-Y^TX^Tw-w^TXY +w^TX^TXw)\\ \frac{\partial L}{\partial w} = \frac{1}{2}(0-XY-XY+2XX^Tw) = 0 \\ w = (XX^T)^{-1}XY
L=21(Y−XTw)T(Y−XTw)=21(YTY−YTXTw−wTXY+wTXTXw)∂w∂L=21(0−XY−XY+2XXTw)=0w=(XXT)−1XY
General Case
我们现在讨论普遍的情况, 如higher order polynomial regression的问题。
主要,现在
x
i
x^i
xi 不是一个是实数了. Suppose we have a dataset
{
(
x
1
,
y
1
)
,
.
.
.
,
(
x
n
,
y
n
)
}
\{(x^1,y^1),...,(x^n,y^n)\}
{(x1,y1),...,(xn,yn)}, where
x
i
∈
R
d
x^i\in\mathbb{R}^d
xi∈Rd and
y
i
∈
R
y^i\in\mathbb{R}
yi∈R. 我们需要找到多项式函数
f
(
x
)
=
w
0
+
w
1
x
+
w
2
x
2
+
.
.
.
+
w
d
x
d
f(x)=w_0+w_1x+w_2x^2+...+w_dx^d
f(x)=w0+w1x+w2x2+...+wdxd 去拟合数据。
arg min
w
0
,
w
1
,
…
,
w
d
1
2
∥
[
y
(
1
)
⋮
y
(
N
)
]
−
[
(
x
(
1
)
)
d
⋯
x
(
1
)
1
⋮
⋱
⋮
⋮
(
x
(
N
)
)
d
⋯
x
(
N
)
1
]
⋅
[
w
d
⋮
w
1
w
0
]
∥
2
\text{arg min}_{w_0, w_1, \ldots, w_d} \frac{1}{2} \left\| \begin{bmatrix} y^{(1)} \\ \vdots \\ y^{(N)} \end{bmatrix} - \begin{bmatrix} (x^{(1)})^d & \cdots & x^{(1)} & 1 \\ \vdots & \ddots & \vdots & \vdots \\ (x^{(N)})^d & \cdots & x^{(N)} & 1 \end{bmatrix} \cdot \begin{bmatrix} w_d \\ \vdots \\ w_1 \\ w_0 \end{bmatrix} \right\|^2
arg minw0,w1,…,wd21
y(1)⋮y(N)
−
(x(1))d⋮(x(N))d⋯⋱⋯x(1)⋮x(N)1⋮1
⋅
wd⋮w1w0
2
相似的,X^T
∈
R
n
×
d
\in \mathbb{R}^{n\times d}
∈Rn×d, Y
∈
R
n
\in \mathbb{R}^{n}
∈Rn, w
∈
R
d
\in \mathbb{R}^{d}
∈Rd. 现在的问题也是
argmin
w
1
2
∥
Y
−
X
w
∥
2
2
\underset{w}{\operatorname{argmin}} \frac{1}{2}\|Y-Xw\|^2_2
wargmin21∥Y−Xw∥22.
求解方法也是一样的,我们只需对loss函数求对于
w
w
w的导数,令导数为0即可
w
=
(
X
X
T
)
−
1
X
Y
w = (XX^T)^{-1}XY
w=(XXT)−1XY
Regularization
在现实中,我们可能会遇到情况
n
<
d
+
1
n<d+1
n<d+1. (想象这种情况,矩阵X的行数n代表数据点个数,列数d代表feature维度,现在数据点比feature少,我们是不能得到唯一的结果的)
这样
X
X
T
XX^T
XXT 不是可逆的。 我们可以增加正则项来解决这个问题。
增加正则项后,目标函数变成了
argmin
w
1
2
∥
Y
−
X
w
∥
2
2
+
λ
2
∥
w
∥
2
2
\underset{w}{\operatorname{argmin}} \frac{1}{2}\|Y-Xw\|^2_2+\frac{\lambda}{2}\|w\|^2_2
wargmin21∥Y−Xw∥22+2λ∥w∥22. 现在的closed form solution 变成了
w
=
(
X
X
T
+
λ
I
)
−
1
X
Y
w = (XX^T+\lambda I)^{-1}XY
w=(XXT+λI)−1XY.
并且正则项还有能防止我们求出的参数过大的优点。