第2章 感知机
感知机1957年由Rosenblatt提出,是神经网络与支持向量机的基础。
2.1 感知机模型
感知机是二分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1二值,其属于判别模型。表示如下:
f ( x ) = s i g n ( w ⋅ x + b ) (2.1) f(x)=sign(w\cdot x+b)\tag{2.1} f(x)=sign(w⋅x+b)(2.1)
其中 w ∈ R n w\in R^n w∈Rn表示权值或权值参数;和 b ∈ R b\in R b∈R表示偏置,均为为感知机参数。 x ∈ X x\in \mathcal{X} x∈X( X ⊆ R n \mathcal{X}\subseteq R^n X⊆Rn为输入空间); y ∈ Y y\in \mathcal{Y} y∈Y( Y = { + 1 , − 1 } \mathcal{Y}=\{+1,-1\} Y={+1,−1}为输出空间)表示实例的类比。 s i g n ( . ) sign(.) sign(.)为符号函数。
2.2 感知机学习策略
2.2.1 数据集的线性可分性
对于给定的数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\} T={(x1,y1),(x2,y2),...,(xN,yN)},其中 x i ∈ X , y i ∈ ( Y ) x_i\in\mathcal{X},y_i\in\mathcal(Y) xi∈X,yi∈(Y),如果存在某个超平面S: w ⋅ x + b = 0 w\cdot x+b=0 w⋅x+b=0能够将数据集的正实例点和负实例点完全正确地划分到超平面的两侧,即对第 i i i个实例 x i x_i xi,当 w ⋅ x i + b > 0 w\cdot x_i+b>0 w⋅xi+b>0时, y i = + 1 y_i=+1 yi=+1,反之 y i = − 1 y_i=-1 yi=−1,则称为数据集 T T T为线性可分数据集,否则为线性不可分。
2.2.2 感知机学习策略
给定一个数据集
T
T
T,假定其线性可分,则需要确定一个学习策略,即定义损失函数并将损失函数极小化,来找到
w
w
w和
b
b
b,确定分类超平面S。
而损失函数有一般选择误分类点到超平面S的总距离,由于以误分类点的个数的损失函数不是参数
w
w
w和
b
b
b的连续可导函数,不易优化。
输入空间
R
n
R^n
Rn中任一点
x
x
x到超平面S的距离是:
d = 1 ∣ ∣ w ∣ ∣ 2 ∣ w ⋅ x + b ∣ d = \frac{1}{||w||_2}|w\cdot x+b| d=∣∣w∣∣21∣w⋅x+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
故误分类点
x
i
x_i
xi到超平面S的距离是:
d i = − 1 ∣ ∣ w ∣ ∣ 2 y i ( w ⋅ x i + b ) d_i = -\frac{1}{||w||_2}y_i(w\cdot x_i+b) di=−∣∣w∣∣21yi(w⋅xi+b)
那么对于误分类点集M,其中多有点到S的总距离为:
D M = − 1 ∣ ∣ w ∣ ∣ 2 ∑ x i ∈ M y i ( w ⋅ x i + b ) D_M = -\frac{1}{||w||_2}\sum_{x_i\in M}y_i(w\cdot x_i+b) DM=−∣∣w∣∣21xi∈M∑yi(w⋅xi+b)
因为对所有的距离都有
1
∣
∣
w
∣
∣
\frac{1}{||w||}
∣∣w∣∣1,出于计算的简单(自认为),对于损失函数略去
1
∣
∣
w
∣
∣
\frac{1}{||w||}
∣∣w∣∣1。
综上,对于给定的数据集
T
T
T,其损失函数可定义为:
L
(
w
,
b
)
=
−
∑
x
i
∈
M
y
i
(
w
⋅
x
i
+
b
)
(2.2)
L(w,b) = -\sum_{x_i\in M}y_i(w\cdot x_i+b)\tag{2.2}
L(w,b)=−xi∈M∑yi(w⋅xi+b)(2.2)
M为误分类点集。此损失函数即为感知机学习的经验风险函数。
显然,
L
(
w
,
b
)
L(w,b)
L(w,b)函数是大于等于0的函数,当误分类时,
L
(
w
,
b
)
L(w,b)
L(w,b)是参数
w
,
b
w,b
w,b的线性函数,且大于0,正确分类时其值等于0。而感知器学习的策略就是在假设空间中选取使损失函数(2.2)最小的参数
w
,
b
w,b
w,b,即感知机模型。
2.3感知机学习算法
2.3.1 感知机学习算法的原始形式
感知机学习算法是对给定的数据集 T T T,损失函数的最优化问题,即求参数 w , b w,b w,b,使其为损失函数 L ( w , b ) L(w,b) L(w,b)的极小值,在原始形式中采用随机梯度下降法,如下:
min w , b L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x i + b ) (2.3) \min_{w,b}L(w,b)=-\sum_{x_i\in M}y_i(w\cdot x_i+b)\tag{2.3} w,bminL(w,b)=−xi∈M∑yi(w⋅xi+b)(2.3)
算法过程为:
输入:数据集
T
T
T,学习率为
η
(
0
<
η
≤
1
)
\eta(0<\eta\leq 1)
η(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
+
b
)
≤
0
y_i(w\cdot x+b)\leq0
yi(w⋅x+b)≤0,
w
←
w
+
η
y
i
w
i
b
←
b
+
η
y
i
\begin{aligned} &w\gets w+\eta y_iw_i\\ &b\gets b+\eta y_i \end{aligned}
w←w+ηyiwib←b+ηyi
(4)转至(2),直至训练集中没有误分类点
2.3.2 感知机学习算法的对偶形式
对偶形式的基本想法是,将
w
,
b
w,b
w,b表示为实例
x
i
x_i
xi和标记
y
i
y_i
yi的线性组合的形式,通过求解其系数而求得
w
w
w和
b
b
b。
算法过程为:
输入:数据集
T
T
T,学习率为
η
(
0
<
η
≤
1
)
\eta(0<\eta\leq 1)
η(0<η≤1);
输出:
α
,
b
\alpha,b
α,b;感知机模型为KaTeX parse error: Expected group after '_' at position 15: f(x)=sign(\sum_̲\limits{x_i\in …,其中
α
=
(
α
1
,
α
2
,
.
.
.
,
α
N
)
T
\alpha=(\alpha_1,\alpha_2,...,\alpha_N)^T
α=(α1,α2,...,αN)T。
(1)
α
←
0
,
b
←
0
\alpha\gets0,b\gets0
α←0,b←0;
(2)在训练集中选取数据
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi);
(3)如果KaTeX parse error: Expected group after '_' at position 14: y_i\left(\sum_̲\limits{x_i\in …,则:
α
←
α
i
+
η
b
←
b
+
η
y
i
\begin{aligned} &\alpha\gets \alpha_i+\eta\\ &b\gets b+\eta y_i \end{aligned}
α←αi+ηb←b+ηyi
(4)转至(2)直到没有误分类数据。
关于
α
\alpha
α的解释如下:
对于感知机模型的损失函数(2.2),假设初始化值
w
0
w_0
w0和
b
0
b_0
b0均为0,则对误分类点
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi)通过式子
w
←
w
+
η
y
i
w
i
b
←
b
+
η
y
i
\begin{aligned} &w\gets w+\eta y_iw_i\\ &b\gets b+\eta y_i \end{aligned}
w←w+ηyiwib←b+ηyi
逐步修改
w
,
b
w,b
w,b,设修改n次,则
w
,
b
w,b
w,b关于
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi)的增量分别是
n
i
η
y
i
x
i
n_i \eta y_i x_i
niηyixi和
n
i
η
y
i
n_i \eta y_i
niηyi,故设
α
i
=
n
i
η
\alpha_i=n_i \eta
αi=niη,则从学习过程不难看出,最后学习到的
w
,
b
w,b
w,b可以分别表示为:
w
=
∑
i
=
1
N
α
i
y
i
x
i
b
=
∑
i
=
1
N
α
i
y
i
\begin{aligned} &w=\sum_{i=1}^{N}\alpha_iy_ix_i\\ &b=\sum_{i=1}^{N}\alpha_iy_i \end{aligned}
w=i=1∑Nαiyixib=i=1∑Nαiyi
此处,
α
i
≥
0
,
i
=
1
,
2
,
.
.
.
,
N
\alpha_i\ge0,\ \ i=1,2,...,N
αi≥0, i=1,2,...,N,当
η
=
1
\eta=1
η=1时表示第
i
i
i个实例点犹豫误分类而进行更新的次数。实例点更新次数越多,意味着他距离超平面S越近,也就越难分类。
参考:
《统计学习方法》(第二版)
持续更新中……