- 感知机学习的三要素:二分类的线性分类模型、误分类点到超平面的距离的最小化、基于随机梯度下降法的对损失函数的最优化
一、感知机模型(分类方法)
- 感知机是二分类的线性分类模型,属于判别模型。分为两种: 原始形式和对偶形式
- 假设空间:函数集合 { f ∣ f ( x ) = w ⋅ x + b } \{f|f(x)=w\cdot x+b\} {f∣f(x)=w⋅x+b}
- 通过训练数据集,即输入实例的特征向量和类别,求解模型参数 w 、 b w、b w、b
- 对于新的输入实例,输出其对应的类别,取值+1或-1
二、感知机学习策略
- 学习的目标:求得一个能够将训练数据集中正负实例点完全正确分开的超平面,即确定感知机模型参数 w 、 b w、b w、b
- 学习策略:经验损失函数最小化
- 损失函数的选择:误分类点到超平面的总距离
- 感知机 s i g n ( w ⋅ x + b ) sign(w\cdot x+b) sign(w⋅x+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 M M为误分类点的集合。
三、感知机学习算法
- 输入:训练数据集 T = { ( x 1 , y 1 ) , ⋯ , ( x N , y N ) } T=\{(x_1,y_1),\cdots,(x_N,y_N)\} T={(x1,y1),⋯,(xN,yN)},其中 x i ∈ X = R n x_i\in\mathcal{X}=\pmb{R}^n xi∈X=RRRn, y i ∈ Y = { + 1 , − 1 } y_i\in\mathcal{Y}=\{+1,-1\} yi∈Y={+1,−1}, i = 1 , 2 , ⋯ , N i=1,2,\cdots,N i=1,2,⋯,N;学习率 η ( 0 ≤ η ≤ 1 ) \eta(0\le\eta\le1) η(0≤η≤1)
- 输出:
w
,
b
w,b
w,b;感知机模型
f
(
x
)
=
s
i
g
n
(
w
⋅
x
+
b
)
f(x)=sign(w\cdot x+b)
f(x)=sign(w⋅x+b)
- (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 ⋅ x i + b ) ≤ 0 y_i(w\cdot x_i+b)\le0 yi(w⋅xi+b)≤0,则 w ← w + η y i x i w\leftarrow w+\eta y_ix_i w←w+ηyixi b ← b + η y i b\leftarrow b+\eta y_i b←b+ηyi
- (4) 转至(2),直至训练集中没有误分类点
四、感知机学习算法的对偶形式
- 基本思想:将 w w w、 b b b表示为实例 x i x _i xi和标记 y i y _i yi的线性组合的形式,通过求解其系数求得 w w w、 b b b
- 算法:
- 输入:训练线性可分的数据集 T = { ( x 1 , y 1 ) , ⋯ , ( x N , y N ) } T=\{(x_1,y_1),\cdots,(x_N,y_N)\} T={(x1,y1),⋯,(xN,yN)},其中 x i ∈ R n x_i\in\pmb{R}^n xi∈RRRn, x i ∈ Y = { + 1 , − 1 } x_i\in\mathcal{Y}=\{+1,-1\} xi∈Y={+1,−1}, i = 1 , 2 , ⋯ , N i=1,2,\cdots,N i=1,2,⋯,N;学习率 η ( 0 < η ≤ 1 ) \eta(0<\eta\le1) η(0<η≤1)
- 输出:
α
,
b
\alpha,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=1Nαjyjxj⋅x+b),其中
α
=
(
α
1
,
⋯
,
α
N
)
T
\alpha=(\alpha_1,\cdots,\alpha_N)^T
α=(α1,⋯,αN)T
- (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_{j=1}^N\alpha_jy_jx_j\cdot x_i+b)\le0 yi(∑j=1Nαjyjxj⋅xi+b)≤0,则 α j ← α i + η \alpha_j\leftarrow \alpha_i+\eta αj←αi+η b ← b + η y i b\leftarrow b+\eta y_i b←b+ηyi
- (4) 转至(2),直至训练集中没有误分类点
- 训练集中实例间的内积计算出来并以矩阵的形式存储,即
G
r
a
m
Gram
Gram矩阵:
G
=
[
x
i
⋅
x
j
]
N
×
N
G=[x_i\cdot x_j]_{N\times N}
G=[xi⋅xj]N×N
参考:《统计学习方法》李航著