一、感知机模型
感知机是二分类的线性分类模型。感知机对应于输入空间(即特征空间)中将实例划分为正负两类的分离超平面,属于判别模型。
定义:
假设输入空间是
X
⊆
R
n
\mathcal{X}\subseteq\bm R^n
X⊆Rn,输出空间是
Y
=
{
+
1
,
−
1
}
\mathcal{Y}=\{+1, -1\}
Y={+1,−1}。输入
x
∈
X
x\in\mathcal{X}
x∈X表示实例的特征向量,输出
y
∈
Y
y\in\mathcal Y
y∈Y,由输入空间到输出空间的如下函数
f
(
x
)
=
s
i
g
n
(
ω
⋅
x
+
b
)
(1)
f(x)=sign(\omega\cdot x + b)\tag1
f(x)=sign(ω⋅x+b)(1)
称为感知机。其中
ω
∈
R
n
\omega\in\bm R^n
ω∈Rn叫做权值或权值向量,
b
∈
R
b\in\bm R
b∈R叫做偏置,
ω
⋅
x
\omega\cdot x
ω⋅x表示内积。
感知机模型的假设空间是定义在特征空间中的所有线性分类模型,即函数集合 { f ∣ f ( x ) = ω ⋅ x + b } \{f|f(x)=\omega\cdot x + b\} {f∣f(x)=ω⋅x+b}
几何解释:
ω
⋅
x
+
b
=
0
\omega\cdot x + b=0
ω⋅x+b=0对应于特征空间
R
n
\bm R^n
Rn中的一个超平面
S
S
S,其中
ω
\omega
ω是超平面的法向量,
b
b
b是超平面的截距,这个超平面将特征空间划分为两个部分,从而达到分类的效果。
二、感知机学习策略
2.1 数据集的线性可分性
给定一个数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯ , ( x N , y N ) } T=\{(x_1, y_1), (x_2, y_2), \cdots,(x_N, y_N)\} T={(x1,y1),(x2,y2),⋯,(xN,yN)},其中 x i ∈ X = R n , y i ∈ { + 1 , − 1 } , i = 1 , 2 , ⋯ , N x_i\in\mathcal X=\bm R^n, y_i\in\{+1, -1\}, i=1,2,\cdots, N xi∈X=Rn,yi∈{+1,−1},i=1,2,⋯,N。如果存在某个超平面 S : ω ⋅ x + b = 0 S: \omega\cdot x + b=0 S:ω⋅x+b=0,能够将数据集的正实例点和负实例点完全正确的划分到超平面的两侧,即对所有 y i = + 1 y_i=+1 yi=+1的实例,有 ω ⋅ x + b > 0 \omega\cdot x + b>0 ω⋅x+b>0;对所有 y i = − 1 y_i=-1 yi=−1的实例,有 ω ⋅ x + b < 0 \omega\cdot x + b<0 ω⋅x+b<0,则称数据集 T T T线性可分,否则称线性不可分。
2.2 感知机学习策略
假设训练数据集是线性可分的,感知机学习的目标是求得一个能够将训练集正负实例点完全正确分开的分离超平面,即确定参数 ω \omega ω和 b b b,即定义损失函数并将损失函数极小化。
可选择损失函数为误分类点到超平面 S S S的总距离(如果选误分类点的总数,那么损失函数不是参数 ω \omega ω和 b b b的连续可导函数,不易优化)。
对于误分类的点的集合为
M
M
M,有数据点
(
x
i
,
y
i
)
∈
M
(x_i, y_i)\in M
(xi,yi)∈M,那么
−
y
i
(
ω
⋅
x
i
+
b
)
>
0
-y_i(\omega\cdot x_i + b)>0
−yi(ω⋅xi+b)>0总成立,所以数据点
(
x
i
,
y
i
)
(x_i, y_i)
(xi,yi)到超平面的距离为
−
1
∣
∣
ω
∣
∣
y
i
(
ω
⋅
x
i
+
b
)
-\frac{1}{||\omega||}y_i(\omega\cdot x_i + b)
−∣∣ω∣∣1yi(ω⋅xi+b),从而有所有误分类点到超平面的总距离为
−
1
∣
∣
ω
∣
∣
∑
x
i
∈
M
y
i
(
ω
⋅
x
i
+
b
)
(2)
-\frac{1}{||\omega||}\sum_{x_i\in M}y_i(\omega\cdot x_i + b)\tag2
−∣∣ω∣∣1xi∈M∑yi(ω⋅xi+b)(2)
所以损失函数可以定义为
L
(
ω
,
b
)
=
−
∑
x
i
∈
M
y
i
(
ω
⋅
x
i
+
b
)
(3)
L(\omega, b)=-\sum_{x_i\in M}y_i(\omega\cdot x_i + b)\tag3
L(ω,b)=−xi∈M∑yi(ω⋅xi+b)(3)
三、感知机学习算法
3.1 原始形式
(
3
)
(3)
(3)式给出了感知机的损失函数,可采用随机梯度下降法进行求解参数。经计算可知:
▽
ω
L
(
ω
,
b
)
=
−
∑
x
i
∈
M
y
i
x
i
(4)
\bigtriangledown_{\omega}L(\omega, b)=-\sum_{x_i\in M}y_ix_i\tag4
▽ωL(ω,b)=−xi∈M∑yixi(4)
▽
b
L
(
ω
,
b
)
=
−
∑
x
i
∈
M
y
i
(5)
\bigtriangledown_{b}L(\omega, b)=-\sum_{x_i\in M}y_i\tag5
▽bL(ω,b)=−xi∈M∑yi(5)
所以有如下算法:
- 选取初值 ω 0 , b 0 \omega_0, b_0 ω0,b0
- 在训练数据集中随机选取数据 ( x i , y i ) (x_i, y_i) (xi,yi)
- 如果 ( x i , y i ) (x_i, y_i) (xi,yi)为误分类点,即 y i ( ω ⋅ x i + b ) ≤ 0 y_i(\omega\cdot x_i+b)\le0 yi(ω⋅xi+b)≤0,那么 ω ⟵ ω + η y i x i (6) \omega\longleftarrow\omega+\eta y_ix_i\tag6 ω⟵ω+ηyixi(6) b ⟵ b + η y i (7) b\longleftarrow b+\eta y_i\tag7 b⟵b+ηyi(7)
- 转至 2 2 2,直至训练集中没有误分类点
直观上的解释就是:当一个实例点被误分类,即位于超平面的错误一侧时,调整 ω \omega ω和 b b b的值,从而调整超平面的位置,以减少误差分类点与超平面间的距离。
3.2 算法的收敛性
对于线性可分数据集,感知机学习算法原始形式收敛,即经过有限次的迭代可以得到一个将训练数据集完全正确划分的分离超平面。但感知机学习算法存在许多解,这些解即依赖于初值的选择,也依赖于误分类点的选择顺序。
3.3 对偶形式
如何理解感知机学习算法的对偶形式?
基本思想是将
ω
\omega
ω和
b
b
b表示成实例
x
i
x_i
xi和标记
y
i
y_i
yi的线性组合的形式,通过求解其系数而求得
ω
\omega
ω和
b
b
b。
由原始形式可知,对误分类点 ( x i , y i ) (x_i, y_i) (xi,yi),通过 ω ⟵ ω + η y i x i \omega\longleftarrow\omega+\eta y_ix_i ω⟵ω+ηyixi和 b ⟵ b + η y i b\longleftarrow b+\eta y_i b⟵b+ηyi逐步修改 ω \omega ω和 b b b,设修改了 n i n_i ni次,则 ω \omega ω和 b b b关于 ( x i , y i ) (x_i, y_i) (xi,yi)的增量分别是 α i y i x i \alpha_iy_ix_i αiyixi和 α i y i \alpha_iy_i αiyi,其中 α i = n i η \alpha_i=n_i\eta αi=niη。这样,最后 ω = ∑ j = 1 N α j y j x j (8) \omega=\sum\limits_{j=1}^N\alpha_jy_jx_j\tag8 ω=j=1∑Nαjyjxj(8) b = ∑ j = 1 N α j y j (9) b=\sum\limits_{j=1}^N\alpha_jy_j\tag9 b=j=1∑Nαjyj(9)
- 选取初值 α i = 0 , b = 0 , i = 1 , 2 ⋯ , N \alpha_i=0, b=0, i=1,2\cdots, N αi=0,b=0,i=1,2⋯,N
- 在训练数据集中随机选取数据 ( x i , y i ) (x_i, y_i) (xi,yi)
- 如果 ( 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\limits_{j=1}^N\alpha_jy_jx_j\cdot x_i+b)\le0 yi(j=1∑Nαjyjxj⋅xi+b)≤0,那么 α i ⟵ α i + η (10) \alpha_i\longleftarrow\alpha_i+\eta\tag{10} αi⟵αi+η(10) b ⟵ b + η y i (11) b\longleftarrow b+\eta y_i\tag{11} b⟵b+ηyi(11)
- 转至 2 2 2,直至训练集中没有误分类点
与原始形式一样,对偶形式也是收敛的,而且存在多个解。