前言
在线性回归方法的推导中,实际上有两种角度,一种是从概率,即似然函数最大角度得出;另一种则是从损失函数最小出发,同样可以得到结果。
我们将线性回归问题阐述如下:
- 输入:数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\{(x_1, y_1), (x_2, y_2), ..., (x_N, y_N)\} T={(x1,y1),(x2,y2),...,(xN,yN)}
- 输出: w , b w, b w,b;线性回归模型 y = w ⋅ x + b y=w\cdot x+b y=w⋅x+b
我们将从如下两个角度,推导出同样的目标函数,从而说明两种角度的等价性。
1. 似然函数最大
假设线性回归结果与实际值之间的误差 ϵ \epsilon ϵ 服从参数为 ( μ = 0 , σ 2 ) (\mu=0, \sigma^2) (μ=0,σ2) 的正态分布,即 ϵ = y − ( w ⋅ x + b ) ∼ 1 2 π σ e − ϵ 2 2 σ 2 \epsilon=y-(w\cdot x+b)\sim \frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{\epsilon^2}{2\sigma^2}} ϵ=y−(w⋅x+b)∼2πσ1e−2σ2ϵ2
因此,给定 x i x_i xi,结果为 y i y_i yi 的概率为 P ( y i ∣ x i , w , b ) = 1 2 π σ e − ( y i − ( w ⋅ x i + b ) ) 2 2 σ 2 P(y_i|x_i, w, b)=\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{\left(y_i-(w\cdot x_i+b)\right)^2}{2\sigma^2}} P(yi∣xi,w,b)=2πσ1e−2σ2(yi−(w⋅xi+b))2
此时,对数似然函数为
L
(
w
,
b
)
=
l
o
g
Π
i
=
1
N
P
(
y
i
∣
x
i
,
w
,
b
)
=
∑
i
=
1
N
l
o
g
P
(
y
i
∣
x
i
,
w
,
b
)
=
−
∑
i
=
1
N
(
l
o
g
(
2
π
σ
)
−
l
o
g
(
2
σ
2
)
+
(
y
i
−
(
w
⋅
x
i
+
b
)
)
2
)
\begin{array}{lll} L(w, b)&=&log\Pi_{i=1}^NP(y_i|x_i, w, b)\\ &=& \sum\limits_{i=1}^NlogP(y_i|x_i, w, b)\\ &=&-\sum\limits_{i=1}^N\left(log(\sqrt{2\pi}\sigma)-log(2\sigma^2)+\left(y_i-(w\cdot x_i+b)\right)^2\right) \end{array}
L(w,b)===logΠi=1NP(yi∣xi,w,b)i=1∑NlogP(yi∣xi,w,b)−i=1∑N(log(2πσ)−log(2σ2)+(yi−(w⋅xi+b))2)
由于
σ
\sigma
σ 与
w
,
b
w, b
w,b 无关,因此,
max
w
,
b
L
(
w
,
b
)
=
max
w
,
b
−
∑
i
=
1
N
(
l
o
g
(
2
π
σ
)
−
l
o
g
(
2
σ
2
)
+
(
y
i
−
(
w
⋅
x
i
+
b
)
)
2
)
=
min
w
,
b
(
y
i
−
(
w
⋅
x
i
+
b
)
)
2
\begin{array}{lll} \max\limits_{w, b}L(w, b)&=&\max\limits_{w, b}-\sum\limits_{i=1}^N\left(log(\sqrt{2\pi}\sigma)-log(2\sigma^2)+\left(y_i-(w\cdot x_i+b)\right)^2\right)\\ &=& \min\limits_{w, b}\left(y_i-(w\cdot x_i+b)\right)^2 \end{array}
w,bmaxL(w,b)==w,bmax−i=1∑N(log(2πσ)−log(2σ2)+(yi−(w⋅xi+b))2)w,bmin(yi−(w⋅xi+b))2
从上面可知,当我们想要最大化似然函数的时候,实际上是最小化误差的平方项。
2. 损失函数最小
假设损失函数为平方函数,即
L
(
y
i
,
f
(
x
i
)
)
=
(
y
i
−
f
(
x
i
)
)
2
L(y_i, f(x_i))=(y_i-f(x_i))^2
L(yi,f(xi))=(yi−f(xi))2
自然的,给定数据集
T
T
T,损失函数为
min
w
,
b
L
(
w
,
b
)
=
∑
i
=
1
N
(
y
i
−
(
w
⋅
x
i
+
b
)
)
2
\min\limits_{w, b}L(w, b)=\sum\limits_{i=1}^N(y_i-(w\cdot x_i+b))^2
w,bminL(w,b)=i=1∑N(yi−(w⋅xi+b))2
显然,对比目标函数,可以见到最大化似然函数和最小化损失函数,实际上是等价的。
3. 梯度下降
综上,我们有线性回归的目标函数为
min
w
,
b
L
(
w
,
b
)
=
∑
i
=
1
N
(
y
i
−
(
w
⋅
x
i
+
b
)
)
2
\min\limits_{w, b}L(w, b)=\sum\limits_{i=1}^N(y_i-(w\cdot x_i+b))^2
w,bminL(w,b)=i=1∑N(yi−(w⋅xi+b))2
分别对
w
w
w 和
b
b
b 求导,我们有
∂
L
(
w
,
b
)
∂
w
=
−
2
∑
i
=
1
N
(
y
i
−
(
w
⋅
x
i
+
b
)
)
x
i
\frac{\partial L(w, b)}{\partial w}=-2\sum_{i=1}^N(y_i-(w\cdot x_i+b))x_i
∂w∂L(w,b)=−2i=1∑N(yi−(w⋅xi+b))xi
∂ L ( w , b ) ∂ b = − 2 ∑ i = 1 N ( y i − ( w ⋅ x i + b ) ) \frac{\partial L(w, b)}{\partial b}=-2\sum_{i=1}^N(y_i-(w\cdot x_i+b)) ∂b∂L(w,b)=−2i=1∑N(yi−(w⋅xi+b))
我们有三种更新 ( w , b ) (w, b) (w,b) 的策略,分别是 随机梯度下降、批量梯度下降和小批量梯度下降。
- 批量梯度下降:由于每次更新都考虑了所有样本点,所以速度慢,但容易获得最优解 w ← w + 2 ∑ i = 1 N ( y i − ( w ⋅ x i + b ) ) x i w\leftarrow w+2\sum_{i=1}^N(y_i-(w\cdot x_i+b))x_i w←w+2i=1∑N(yi−(w⋅xi+b))xi b ← b + 2 ∑ i = 1 N ( y i − ( w ⋅ x i + b ) ) b\leftarrow b+2\sum_{i=1}^N(y_i-(w\cdot x_i+b)) b←b+2i=1∑N(yi−(w⋅xi+b))
- 随机梯度下降:每次更新只考虑一个样本点,所以迭代速度快,但并不一定能在给定迭代次数内找到最优解 w ← w + α ( y i − ( w ⋅ x i + b ) ) x i w\leftarrow w+\alpha(y_i-(w\cdot x_i+b))x_i w←w+α(yi−(w⋅xi+b))xi b ← b + α ( y i − ( w ⋅ x i + b ) ) b\leftarrow b+\alpha(y_i-(w\cdot x_i+b)) b←b+α(yi−(w⋅xi+b))
- 小批量梯度下降:平衡上述两种方法的优缺点,选取其中一部分样本点更新 w ← w + α ∑ i = k l ( y i − ( w ⋅ x i + b ) ) x i w\leftarrow w+\alpha\sum_{i=k}^{l}(y_i-(w\cdot x_i+b))x_i w←w+αi=k∑l(yi−(w⋅xi+b))xi b ← b + α ∑ i = k l ( y i − ( w ⋅ x i + b ) ) b\leftarrow b+\alpha\sum_{i=k}^l(y_i-(w\cdot x_i+b)) b←b+αi=k∑l(yi−(w⋅xi+b))