2.1 感知机模型
形如
f
(
X
)
=
s
i
g
n
(
w
⋅
x
+
b
)
f(X)=sign(w\cdot x+b)
f(X)=sign(w⋅x+b)的函数称为感知机,其中w和b为感知机模型参数,w叫作权值,b叫作偏置,
w
⋅
x
w\cdot x
w⋅x表示w和x的内积。sigh是符号函数,即
sign
(
x
)
=
{
+
1
,
x
⩾
0
−
1
,
x
<
0
\operatorname{sign}(x)= \begin{cases}+1, & x \geqslant 0 \\ -1, & x<0\end{cases}
sign(x)={+1,−1,x⩾0x<0
感知机有如下几何解释:线性方程
w
⋅
x
+
b
=
0
w\cdot x+b=0
w⋅x+b=0对应于特征空间中的一个超平面S,其中w是超平面的方向量,b是超平面的截距。这个超平面将特征空间划分为两个部分。位于两部分的点分别称为正、负两类。因此,超平面S称为分离超平面,如下图所示。
2.2 感知机学习策略
首先空间中任一点
x
0
x_0
x0到超平面的S的距离为:
1
∥
w
∥
∣
w
⋅
x
0
+
b
∣
\frac{1}{\|w\|}\left|w \cdot x_{0}+b\right|
∥w∥1∣w⋅x0+b∣
这里,
∥
w
∥
\|w\|
∥w∥ 是
w
w
w 的
L
2
L_{2}
L2 范数。(不知道怎么得出来的可以点这里)
这样,假设超平面S的误分类点集合为M,那么所有误分类点到超平面S的总距离为
−
1
∣
∣
w
∣
∣
∑
x
i
∈
M
y
i
(
w
⋅
x
i
+
b
)
-\frac{1}{||w||}\sum_{x_i\in M}y_i(w\cdot x_i+b)
−∣∣w∣∣1xi∈M∑yi(w⋅xi+b)
不考虑前面的系数,就得到感知机学习的损失函数
L
(
w
,
b
)
=
−
∑
x
i
∈
M
y
i
(
w
⋅
x
i
+
b
)
L(w,b)=-\sum_{x_i\in M}y_i(w\cdot x_i+b)
L(w,b)=−xi∈M∑yi(w⋅xi+b)
其中M为误分类点的集合,并且损失函数就是感知机学习的经验风险函数。
2.3 感知机学习算法
2.3.1 感知机学习算法的原始形式
求参数w,b,使其为一下损失函数极小化问题的解
min
w
,
b
L
(
w
,
b
)
=
−
∑
x
i
∈
M
y
i
(
w
⋅
x
i
+
b
)
\min _{w, b} L(w, b)=-\sum_{x_{i} \in M} y_{i}\left(w \cdot x_{i}+b\right)
w,bminL(w,b)=−xi∈M∑yi(w⋅xi+b)
其中
M
M
M 为误分类点的集合。那么损失函数
L
(
w
,
b
)
L(w,b)
L(w,b)的梯度由以下式子给出
∇
w
L
(
w
,
b
)
=
−
∑
x
i
∈
M
y
i
x
i
∇
b
L
(
w
,
b
)
=
−
∑
x
i
∈
M
y
i
\begin{gathered} \nabla_{w} L(w, b)=-\sum_{x_{i} \in M} y_{i} x_{i} \\ \nabla_{b} L(w, b)=-\sum_{x_{i} \in M} y_{i} \end{gathered}
∇wL(w,b)=−xi∈M∑yixi∇bL(w,b)=−xi∈M∑yi
随机选取一个误分类点
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi),对w,b进行更新:
w
←
w
+
η
y
i
x
i
b
←
b
+
η
y
i
w\leftarrow w+\eta y_ix_i\\ b\leftarrow b+\eta y_i
w←w+ηyixib←b+ηyi
其中
η
\eta
η是步长,又可以叫为学习率(learing rate)。接下来看一个例子
2.3.2 算法的收敛性
为了便于叙述和推导,将偏置b并入权重向量w,记作 w ^ = ( w T , b ) T \hat{w}=(w^T,b)^T w^=(wT,b)T,同样也将输入向量加以扩充,加进常数1,记作 x ^ = ( x T , 1 ) T \hat{x}=(x^T,1)^T x^=(xT,1)T。显然, w ^ ⋅ x ^ = w ⋅ x + b \hat{w}\cdot \hat{x}=w\cdot x+b w^⋅x^=w⋅x+b
Novikoff定理( 1 ) 存在满足条件
∥
w
^
o
p
t
∥
=
1
\left\|\hat{w}_{\mathrm{opt}}\right\|=1
∥w^opt∥=1 的超平面
w
^
o
p
t
⋅
x
^
=
w
o
p
t
⋅
x
+
b
o
p
t
=
0
\hat{w}_{\mathrm{opt}} \cdot \hat{x}=w_{\mathrm{opt}} \cdot x+b_{\mathrm{opt}}=0
w^opt⋅x^=wopt⋅x+bopt=0 将训练数 据集完全正确分开; 且存在
γ
>
0
\gamma>0
γ>0, 对所有
i
=
1
,
2
,
⋯
,
N
i=1,2, \cdots, N
i=1,2,⋯,N
y
i
(
w
^
o
p
t
⋅
x
^
i
)
=
y
i
(
w
o
p
t
⋅
x
i
+
b
o
p
t
)
⩾
γ
y_{i}\left(\hat{w}_{\mathrm{opt}} \cdot \hat{x}_{i}\right)=y_{i}\left(w_{\mathrm{opt}} \cdot x_{i}+b_{\mathrm{opt}}\right) \geqslant \gamma
yi(w^opt⋅x^i)=yi(wopt⋅xi+bopt)⩾γ
( 2 ) 令
R
=
m
a
x
1
⩽
i
⩽
N
∥
x
^
i
∥
R=\underset{1\leqslant i\leqslant N}{max}\left\|\hat{x}_{i}\right\|
R=1⩽i⩽Nmax∥x^i∥, 则感知机算法
2.1
2.1
2.1 在训练数据集上的误分类次数
k
k
k 满足 不等式
k
⩽
(
R
γ
)
2
k \leqslant\left(\frac{R}{\gamma}\right)^{2}
k⩽(γR)2
证明 (1) 由于训练数据集是线性可分的, 按照定义
2.2
2.2
2.2, 存在超平面可将训练数 据集完全正确分开, 取此超平面为
w
^
o
p
t
⋅
x
^
=
w
o
p
t
⋅
x
+
b
o
p
t
=
0
\hat{w}_{\mathrm{opt}} \cdot \hat{x}=w_{\mathrm{opt}} \cdot x+b_{\mathrm{opt}}=0
w^opt⋅x^=wopt⋅x+bopt=0, 使
∥
w
^
o
p
t
∥
=
1
\left\|\hat{w}_{\mathrm{opt}}\right\|=1
∥w^opt∥=1 。由 于对有限的
i
=
1
,
2
,
⋯
,
N
i=1,2, \cdots, N
i=1,2,⋯,N, 均有
y
i
(
w
^
o
p
t
⋅
x
^
i
)
=
y
i
(
w
o
p
t
⋅
x
i
+
b
o
p
t
)
>
0
y_{i}\left(\hat{w}_{\mathrm{opt}} \cdot \hat{x}_{i}\right)=y_{i}\left(w_{\mathrm{opt}} \cdot x_{i}+b_{\mathrm{opt}}\right)>0
yi(w^opt⋅x^i)=yi(wopt⋅xi+bopt)>0
所以存在
γ
=
min
i
{
y
i
(
w
o
p
t
⋅
x
i
+
b
o
p
t
)
}
\gamma=\min _{i}\left\{y_{i}\left(w_{\mathrm{opt}} \cdot x_{i}+b_{\mathrm{opt}}\right)\right\}
γ=imin{yi(wopt⋅xi+bopt)}
使
y
i
(
w
^
o
p
t
⋅
x
^
i
)
=
y
i
(
w
o
p
t
⋅
x
i
+
b
o
p
t
)
⩾
γ
y_{i}\left(\hat{w}_{\mathrm{opt}} \cdot \hat{x}_{i}\right)=y_{i}\left(w_{\mathrm{opt}} \cdot x_{i}+b_{\mathrm{opt}}\right) \geqslant \gamma
yi(w^opt⋅x^i)=yi(wopt⋅xi+bopt)⩾γ
(2)第一个不等式
w
k
^
⋅
w
^
o
p
t
⩾
k
η
γ
\hat{w_k}\cdot \hat{w}_{opt}\geqslant k\eta \gamma
wk^⋅w^opt⩾kηγ书上给出的过程已经很详细了,这边就不证明了,主要是补充一下第二个不等式的证明。
∥
w
^
k
∥
2
=
∥
w
^
k
−
1
+
η
y
i
x
^
i
∥
2
=
∥
w
^
k
−
1
∥
2
+
2
η
y
i
w
^
k
−
1
∙
x
^
i
+
η
2
y
i
2
∥
x
^
i
∥
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{aligned} \left\|\hat{w}_{k}\right\|^{2} &=\left\|\hat{w}_{k-1}+\eta y_{i} \hat{x}_{i}\right\|^{2} \\ &=\left\|\hat{w}_{k-1}\right\|^{2}+2 \eta y_{i} \hat{w}_{k-1} \bullet \hat{x}_{i}+\eta^{2} y_{i}^{2}\left\|\hat{x}_{i}\right\|^{2} \\ &=\left\|\hat{w}_{k-1}\right\|^{2}+2 \eta y_{i} \hat{w}_{k-1} \bullet \hat{x}_{i}+\eta^{2}\left\|\hat{x}_{i}\right\|^{2} \\ & \leq\left\|\hat{w}_{k-1}\right\|^{2}+\eta^{2}\left\|\hat{x}_{i}\right\|^{2} \leq\left\|\hat{w}_{k-1}\right\|^{2}+\eta^{2} R^{2} \\ & \leq\left\|\hat{w}_{k-2}\right\|^{2}+2 \eta^{2} R^{2} \leq \cdots \leq k \eta^{2} R^{2} \end{aligned}
∥w^k∥2=∥w^k−1+ηyix^i∥2=∥w^k−1∥2+2ηyiw^k−1∙x^i+η2yi2∥x^i∥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类在开头就已经假设为误分类的因此
2
η
y
i
w
^
k
−
1
⋅
x
^
i
2\eta y_i \hat{w}_{k-1}\cdot \hat{x}_i
2ηyiw^k−1⋅x^i这一项是负的,所以不等式成立。结合两个不等式得到如下
k
η
γ
⩽
w
^
k
⋅
w
^
o
p
t
=
∥
w
^
k
∥
∥
w
^
o
p
t
∥
c
o
s
θ
⩽
∥
w
^
k
∥
∥
w
^
o
p
t
∥
⩽
k
η
R
k
2
γ
2
⩽
k
R
2
\begin{aligned} &k \eta \gamma \leqslant \hat{w}_{k} \cdot \hat{w}_{\mathrm{opt}} =\left\|\hat{w}_{k}\right\|\left\|\hat{w}_{\mathrm{opt}}\right\| cos\theta \leqslant\left\|\hat{w}_{k}\right\|\left\|\hat{w}_{\mathrm{opt}}\right\| \leqslant \sqrt{k} \eta R \\ &k^{2} \gamma^{2} \leqslant k R^{2} \end{aligned}
kηγ⩽w^k⋅w^opt=∥w^k∥∥w^opt∥cosθ⩽∥w^k∥∥w^opt∥⩽kηRk2γ2⩽kR2
于是
k
⩽
(
R
γ
)
2
k \leqslant\left(\frac{R}{\gamma}\right)^{2}
k⩽(γR)2
2.3.3 感知机学习算法的对偶形式
用Gram矩阵预先将训练集中实例间的内积计算出来并存储
看书上的例子2.2
习题
2.1
感知机是线性模型,不能表示复杂的函数,而异或是线性不可分的,因此感知机不能表示为异或。