从感知机到线性回归,从线性回归到Logistic回归
1、感知机
感知机的直观解释为,使用超平面将特征空间中的一组实例分割开来。定义该超平面为: W T x + b = 0 W^Tx+b=0 WTx+b=0。数据标签取值: y i ∈ { + 1 , − 1 } y_i\in\{+1,-1\} yi∈{+1,−1}。
1.1、模型
该模型决策函数为:
(1)
f
(
x
)
=
s
i
g
n
(
W
T
x
+
b
)
f(x)=sign(W^Tx+b)\tag1
f(x)=sign(WTx+b)(1)
当
f
(
x
)
>
0
f(x)>0
f(x)>0 预测为正例,
f
(
x
)
<
0
f(x)<0
f(x)<0 预测为负例。
1.2、学习策略
对于模型误分类的样本:
(2)
−
y
i
(
W
T
x
+
b
)
>
0
-y_i(W^Tx+b)>0\tag2
−yi(WTx+b)>0(2)
误分类样本到分类超平面的距离为:
(3)
−
y
i
(
W
T
x
i
+
b
)
∣
∣
W
∣
∣
-\frac{y_i(W^Tx_i+b)}{||W||}\tag3
−∣∣W∣∣yi(WTxi+b)(3)
其中,
∣
∣
W
∣
∣
||W||
∣∣W∣∣ 为超平面法向量的
L
2
L_2
L2 范数。因此,不妨将其设为
1
1
1。
给定训练数据集
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)},在模型上发生误分类的样本子集为
M
M
M,则所有误分类样本到分类超平面的距离和为:
(4)
L
(
W
,
b
)
=
−
∑
x
i
∈
M
y
i
(
W
T
x
+
b
)
L(W,b)=-\sum\limits_{x_i\in M}y_i(W^Tx+b)\tag4
L(W,b)=−xi∈M∑yi(WTx+b)(4)
1.3、学习算法
显然,优化过程中,我们选择使
L
(
W
,
b
)
L(W,b)
L(W,b) 最小的模型作为最终模型。即选择
(
W
,
b
)
(W,b)
(W,b) 使得
L
m
i
n
(
W
,
b
)
=
−
∑
x
i
∈
M
y
i
(
W
T
x
+
b
)
L_{min}(W,b)=-\sum\limits_{x_i\in M}y_i(W^Tx+b)
Lmin(W,b)=−xi∈M∑yi(WTx+b)
已知损失函数
L
(
W
,
b
)
L(W,b)
L(W,b) 的梯度为:
(5)
∇
W
L
(
W
,
b
)
=
−
∑
x
i
∈
M
y
i
x
i
∇
b
L
(
W
,
b
)
=
−
∑
x
i
∈
M
y
i
\begin{aligned} \nabla_WL(W,b)&=-\sum\limits_{x_i\in M}y_ix_i\\ \nabla_bL(W,b)&=-\sum\limits_{x_i\in M}y_i \end{aligned} \tag5
∇WL(W,b)∇bL(W,b)=−xi∈M∑yixi=−xi∈M∑yi(5)
选择随机梯度下降(
S
G
D
SGD
SGD)的优化方法,每次从误分类集合
M
M
M 中选择一个样本
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi),更新
W
,
b
W,b
W,b 如下:
(6)
W
←
W
+
η
y
i
x
i
b
←
b
+
η
y
i
\begin{aligned} W&\leftarrow W+\eta y_ix_i\\ b&\leftarrow b+\eta y_i\tag6 \end{aligned}
Wb←W+ηyixi←b+ηyi(6)
综上,算法学习过程表示如下:
输入:数据集 T T T,学习率 η ( 0 < η ≤ 1 ) \eta(0<\eta\le1) η(0<η≤1)
1. 选取初始 W 0 , b 0 W_0,b_0 W0,b0
2. 在训练集中选取 ( x i , y i ) (x_i,y_i) (xi,yi)
3. 如果 y i ( W T x + b ) ≤ 0 y_i(W^Tx+b)\le0 yi(WTx+b)≤0:
W ← W + η y i x i b ← b + η y i \begin{aligned}W&\leftarrow W+\eta y_ix_i\\b&\leftarrow b+\eta y_i\end{aligned} Wb←W+ηyixi←b+ηyi
4. 不满足条件 3 则转到步骤 2
以上算法可以直观地解释为:当样本发生误分类时,调整 W , b W,b W,b 使分类超平面向误分类样本一侧移动,从而减小误分类样本与分类超平面之间的距离,直至超平面将该样本正确分类为止。
1.4、PLA 对偶形式
通过观察式
(
6
)
(6)
(6) 可知:每个误分类样本下,
W
W
W 每次更新的步长相同,当
W
,
b
W,b
W,b 均以
0
0
0 初始化时,可以得出:
(7)
W
=
∑
i
=
1
n
n
i
η
y
i
x
i
b
=
∑
i
=
1
n
n
i
η
y
i
\begin{aligned} W&=\sum\limits_{i=1}^{n}n_i\eta y_ix_i\\ b&=\sum\limits_{i=1}^{n}n_i\eta y_i \end{aligned}\tag7
Wb=i=1∑nniηyixi=i=1∑nniηyi(7)
令
α
i
=
n
i
η
\alpha_i=n_i\eta
αi=niη,可得:
(8)
W
=
∑
i
=
1
n
α
i
y
i
x
i
b
=
∑
i
=
1
n
α
i
y
i
\begin{aligned} W&=\sum\limits_{i=1}^{n}\alpha_i y_ix_i\\ b&=\sum\limits_{i=1}^{n}\alpha_i y_i \end{aligned}\tag8
Wb=i=1∑nαiyixi=i=1∑nαiyi(8)
故对偶算法为:
输入:数据集 T T T,学习率 η ( 0 < η ≤ 1 ) \eta(0<\eta\le1) η(0<η≤1)
1. α ← 0 , b ← 0 \alpha\leftarrow0, b\leftarrow0 α←0,b←0
2. 在训练集中选取 ( x i , y i ) (x_i,y_i) (xi,yi)
3. 如果 y i ( ∑ j = 1 n α j y j x j x i + b ) ≤ 0 y_i(\sum\limits_{j=1}^{n}\alpha_jy_jx_jx_i+b)\le0 yi(j=1∑nαjyjxjxi+b)≤0:
α i ← α i + η b ← b + η y i \begin{aligned}\alpha_i&\leftarrow \alpha_i+\eta\\b&\leftarrow b+\eta y_i\end{aligned} αib←αi+η←b+ηyi
4. 不满足条件 3 则转到步骤 2 直到样本 x i x_i xi 正确分类
注意:
- 该算法是一个 NP 难问题,实际应用中很难保证样本集是线性可分的,不满足线性可分的前提条件, P L A PLA PLA 算法不收敛。
- 满足线性可分的条件时,该算法必收敛,相关证明参考《统计学习方法—李航》
- 为了加快算法收敛,实际应用中通常使用线性回归的解( L R LR LR 具有解析解)来初始化模型。