思路
感知器对应于输入空间中将实例划分为正负两类的分离超平面,属于判别模型,感知机学习旨在求出将训练数据进行线性划分的分离超平面。为此,导入基于误分类的损失函数,利用梯度下降法对损失函数进行极小化,求的感知机模型。感知机学习算法简单易实现,具有原始形式和对偶形式。
感知机
感知机是根据输入实例的特征向量
x
x
x对其进行二分类的线性分类模型:
f
(
x
)
=
s
i
g
n
(
w
∗
x
+
b
)
f(x)=sign(w*x+b)
f(x)=sign(w∗x+b)感知器模型对应于输入空间(特征空间)中的分离超平面
w
∗
x
+
b
=
0
w*x+b=0
w∗x+b=0
感知机学习策略
感知器的学习策略是极小化损失函数:
min
w
,
b
L
(
w
,
b
)
=
−
∑
x
j
⊆
M
y
i
(
w
∗
x
i
+
b
)
\min_{w,b}L(w,b)=-\sum_{x_j\subseteq M}y_i(w*x_i+b)
w,bminL(w,b)=−xj⊆M∑yi(w∗xi+b)
损失函数对应于误分类点到分类超平面的总距离。
感知机学习算法
感知机学习算法是基于随机梯度下降法的对损失函数的最优化算法,有原始形式和对偶形式。原始算法中,首先任意选取一个超平面,然后用梯度下降法不断极小化目标函数,在这个过程中一次随机选取一个误分类点使其梯度下降。
感知机的原始形式
原始形式和对偶形式的区别就是损失函数的梯度不同。
感知器模型:
f
(
x
)
=
s
i
g
n
(
w
∗
x
+
b
)
f(x)=sign(w*x+b)
f(x)=sign(w∗x+b)
损失函数的梯度:
▽
w
L
(
w
,
b
)
=
−
∑
x
j
⊆
M
y
i
∗
x
i
\bigtriangledown _wL(w,b)=-\sum_{x_j\subseteq M}y_i*x_i
▽wL(w,b)=−xj⊆M∑yi∗xi
▽
b
L
(
w
,
b
)
=
−
∑
x
j
⊆
M
y
i
\bigtriangledown _bL(w,b)=-\sum_{x_j\subseteq M}y_i
▽bL(w,b)=−xj⊆M∑yi
w,b更新方式:
w
←
w
+
η
y
i
x
i
w\gets w+\eta y_ix_i
w←w+ηyixi
b
←
b
+
η
y
i
b\gets b+\eta y_i
b←b+ηyi
感知机的对偶形式
对偶形式的基本思想是将w和b表示为实例xi和标记yi的线性组合的形式,通过求解系数而得到w和b.
感知机模型:
f
(
x
)
=
s
i
g
n
(
∑
j
=
1
N
α
i
y
i
x
i
∗
x
+
b
)
f(x)=sign(\sum_{j=1}^{N} \alpha _iy_ix_i*x+b)
f(x)=sign(j=1∑Nαiyixi∗x+b)
学习到的w,b:
w
=
∑
i
=
1
N
α
i
y
i
x
i
w=\sum_{i=1}^{N}\alpha _iy_ix_i
w=i=1∑Nαiyixi
b
=
∑
i
=
1
N
α
i
y
i
b=\sum_{i=1}^{N}\alpha _iy_i
b=i=1∑Nαiyi
更新方式:
α
i
←
α
i
+
η
\alpha _i\gets \alpha _i+\eta
αi←αi+η
b
←
b
+
η
y
i
b\gets b+\eta y_i
b←b+ηyi
收敛性
当训练数据集线性可分时,感知器学习算法是收敛的。感知机算法在训练集上的误分类次数k满足不等式:
k
≤
(
R
γ
)
2
k\le (\frac{R}{\gamma } )^{2}
k≤(γR)2
当训练数据集线性可分时,感知机学习算法存在无穷多个解,其解由于不同的初值或不同的迭代顺序而可能有所不同。