第二章 感知机
2.1 感知机模型
感知机算法在输入空间内找到一个超平面
S
S
S:
w
⋅
x
+
b
=
w
^
⋅
x
^
=
0
w\cdot x+b=\hat w\cdot\hat x=0
w⋅x+b=w^⋅x^=0
由函数:
f
(
x
)
=
s
i
g
n
(
w
^
⋅
x
^
)
f(x)=sign(\hat w\cdot\hat x)
f(x)=sign(w^⋅x^)
给出样本的标签。其中
w
^
=
(
w
,
b
)
\hat w=(w, b)
w^=(w,b),
b
^
=
(
x
,
1
)
\hat b = (x,1)
b^=(x,1)。
2.2 感知机学习策略
感知机的损失函数由误分类点到超平面
S
S
S的距离给出。空间内任意一点
x
0
x_0
x0到超平面
S
S
S的距离可以由以下公式给出:
1
∣
∣
w
∣
∣
∣
w
⋅
x
0
+
b
∣
\frac{1}{||w||}|w\cdot x_0+b|
∣∣w∣∣1∣w⋅x0+b∣
显然可得,对于任意误分类样本
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi)有:
−
y
i
(
w
⋅
x
i
+
b
)
>
0
-y_i(w\cdot x_i+b)>0
−yi(w⋅xi+b)>0
那么对于感知机模型,其误分类点集合为
M
M
M,所有误分类点到超平面的距离的和为:
−
1
∣
∣
w
∣
∣
∑
x
i
∈
M
y
i
(
w
^
⋅
b
^
i
)
-\frac{1}{||w||}\sum_{x_i\in M}y_i(\hat w\cdot \hat b_i )
−∣∣w∣∣1xi∈M∑yi(w^⋅b^i)
省略
1
∣
∣
w
∣
∣
\frac{1}{||w||}
∣∣w∣∣1,得到感知机的损失函数:
L
(
w
,
b
)
=
−
∑
x
i
∈
M
y
i
(
w
^
⋅
x
^
i
)
L(w,b)=-\sum_{x_i\in M}y_i(\hat w \cdot \hat x_i)
L(w,b)=−xi∈M∑yi(w^⋅x^i)
损失函数的物理意义为各个误分类点到超平面的距离一定比例之和。
2.3 感知机学习算法
损失函数相对于权值和偏置的梯度(偏导数)为:
∇
w
L
(
w
,
b
)
=
−
∑
x
i
∈
M
y
i
x
i
∇
b
L
(
w
,
b
)
=
−
∑
x
i
∈
M
y
i
\begin{matrix} \nabla_wL(w,b)=-\sum_{x_i\in M}y_ix_i\\ \nabla_bL(w,b)=-\sum_{x_i\in M}y_i \end{matrix}
∇wL(w,b)=−∑xi∈Myixi∇bL(w,b)=−∑xi∈Myi
使用SGD对感知机进行优化,随机选取一个误分类
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi),对
w
,
b
w,b
w,b进行优化:
w
←
w
+
η
y
i
x
i
b
←
b
+
η
y
i
\begin{matrix} w\leftarrow w+\eta y_ix_i\\ b\leftarrow b+\eta y_i \end{matrix}
w←w+ηyixib←b+ηyi
感知机算法的性质:
非负性:
假设数据集完全线性可分,那么一定有:
y
i
(
w
^
o
p
t
⋅
x
i
)
≥
γ
y_i(\hat w_{opt}\cdot x_i)\geq\gamma
yi(w^opt⋅xi)≥γ
即任意点到超平面的距离为正。
有限性:
令
R
=
max
1
≤
i
≤
N
∣
∣
x
^
i
∣
∣
R=\max_{1\leq i\leq N}||\hat x_i||
R=max1≤i≤N∣∣x^i∣∣,则感知机算法(从
w
^
=
0
\hat w=0
w^=0出开始)在训练数据集上的误分类次数
k
k
k满足:
k
≤
(
R
γ
)
2
k\leq\left(\frac{R}{\gamma}\right)^2
k≤(γR)2
假设对第
k
k
k个误分类点更新权重为:
w
^
k
=
w
^
k
−
1
+
η
y
i
x
^
i
\hat w_k=\hat w_{k-1}+\eta y_i\hat x_i
w^k=w^k−1+ηyix^i
那么:
w
^
k
⋅
w
^
o
p
t
=
w
^
k
−
1
⋅
w
^
o
p
t
+
η
y
i
w
^
o
p
t
x
^
i
≥
w
^
k
−
1
⋅
w
^
o
p
t
+
η
γ
≥
w
^
k
−
2
⋅
w
^
o
p
t
+
2
η
γ
≥
k
η
γ
\begin{matrix} \hat w_k\cdot \hat w_{opt}&=&\hat w_{k-1}\cdot \hat w_{opt}+\eta y_i\hat w_{opt}\hat x_i\\ &\geq&\hat w_{k-1}\cdot \hat w_{opt}+\eta \gamma\\ &\geq&\hat w_{k-2}\cdot \hat w_{opt}+2\eta \gamma\\ &\geq&k\eta \gamma\\ \end{matrix}
w^k⋅w^opt=≥≥≥w^k−1⋅w^opt+ηyiw^optx^iw^k−1⋅w^opt+ηγw^k−2⋅w^opt+2ηγkηγ
将
w
^
k
=
w
^
k
−
1
+
η
y
i
x
^
i
\hat w_k=\hat w_{k-1}+\eta y_i\hat x_i
w^k=w^k−1+ηyix^i变形:
∣
∣
w
^
k
∣
∣
2
=
∣
∣
w
^
k
−
1
∣
∣
2
+
2
η
y
i
w
^
k
−
1
⋅
x
^
i
+
η
2
∣
∣
x
^
i
∣
∣
2
≤
∣
∣
w
^
k
−
1
∣
∣
2
+
η
2
∣
∣
x
^
i
∣
∣
2
≤
∣
∣
w
^
k
−
1
∣
∣
2
+
η
2
R
2
≤
∣
∣
w
^
k
−
2
∣
∣
2
+
2
η
2
R
2
≤
⋯
≤
k
η
2
R
2
\begin{matrix} ||\hat w_k||^2&=&||\hat w_{k-1}||^2+2\eta y_i\hat w_{k-1}\cdot\hat x_i+\eta^2||\hat x_i||^2\\ &\leq&||\hat w_{k-1}||^2+\eta^2||\hat x_i||^2\\ &\leq&||\hat w_{k-1}||^2+\eta^2R^2\\ &\leq&||\hat w_{k-2}||^2+2\eta^2R^2\leq\cdots\\ &\leq&k\eta^2R^2 \end{matrix}
∣∣w^k∣∣2=≤≤≤≤∣∣w^k−1∣∣2+2ηyiw^k−1⋅x^i+η2∣∣x^i∣∣2∣∣w^k−1∣∣2+η2∣∣x^i∣∣2∣∣w^k−1∣∣2+η2R2∣∣w^k−2∣∣2+2η2R2≤⋯kη2R2
得到:
k
η
γ
≤
w
^
k
⋅
w
^
o
p
t
≤
∣
∣
w
^
k
∣
∣
∣
∣
w
^
o
p
t
∣
∣
k\eta\gamma\leq\hat w_k\cdot \hat w_{opt}\leq||\hat w_k||\ ||\hat w_{opt}||
kηγ≤w^k⋅w^opt≤∣∣w^k∣∣ ∣∣w^opt∣∣
显然可使向量
w
^
o
p
t
\hat w_{opt}
w^opt满足
∣
∣
w
^
o
p
t
∣
∣
=
1
||\hat w_{opt}||=1
∣∣w^opt∣∣=1,有:
h
η
γ
≤
k
η
R
k
2
γ
2
≤
k
R
2
h\eta\gamma\leq\sqrt k\eta R\\ k^2\gamma^2\leq kR_2
hηγ≤kηRk2γ2≤kR2
得证:
k
≤
(
R
γ
)
2
k\leq\left(\frac{R}{\gamma}\right)^2
k≤(γR)2
对偶形式:对偶形式的基本想法是,将
w
w
w和
b
b
b表示为实例
x
i
x_i
xi和标记
y
i
y_i
yi的线性组合的形式,通过求解其系数而求得
w
w
w和
b
b
b。
令感知机模型为:
f
(
x
)
=
s
i
g
n
(
∑
j
=
1
N
α
j
y
j
x
j
⋅
x
+
b
)
f(x)=sign(\sum_{j=1}^N\alpha_jy_jx_j\cdot x+b)
f(x)=sign(j=1∑Nαjyjxj⋅x+b)
其中
α
=
(
α
1
,
α
2
,
⋯
 
,
α
N
)
T
\alpha=(\alpha_1, \alpha_2,\cdots, \alpha_N)^T
α=(α1,α2,⋯,αN)T.
-
α ← 0 , b ← 0 \alpha\leftarrow0, b\leftarrow0 α←0,b←0
-
在训练集中选取数据 ( x i , y i ) (x_i,y_i) (xi,yi)
-
如果 y i ( ∑ j = 1 N α j y j x j ⋅ x i + b ) ≥ 0 y_i(\sum_{j=1}^N\alpha_jy_jx_j\cdot x_i+b)\geq 0 yi(∑j=1Nαjyjxj⋅xi+b)≥0:
α i ← α i + η b ← b + η y i \alpha_i\leftarrow \alpha_i+\eta\\ b\leftarrow b+\eta y_i αi←αi+ηb←b+ηyi -
转至2直至无误分类数据。
最后得到的系数为:
w
=
∑
i
=
1
N
α
i
y
i
x
i
b
=
∑
i
=
1
N
α
i
y
i
w=\sum_{i=1}^N\alpha_iy_ix_i\\ b=\sum_{i=1}^N\alpha_iy_i
w=i=1∑Nαiyixib=i=1∑Nαiyi
个人觉得感知机的对偶形式并没有提出什么新颖的东西。首先更新过程和原始形式几乎完全一样,并不能直接通过矩阵计算求得最后的权值;其次并没有抛弃掉权值向量 w w w和 b b b,只不过使用了 α \alpha α向量用以间接计算感知机模型的权值。