第二章 感知机
由第一章已知,统计学习方法的三要素:模型、策略、算法。所以感知机的学习就从这三个方面展开。
1、感知机是什么?
感知机能将统一种类进行二类划分,所以是一种二类线性分类模型。
首先,感知机的对象是同一种类,比如男生女生都是人,所以感知机将其划分为男女两类;对于同一平面的所有点,感知机就是一条将其划分为两类的直线;对应于三维或更高维空间,感知机就是一个超平面,将其所在空间一分为二。因此其是线性的分类模型;其次,感知机只有将同一种类划分为两类的能力,因此其是二类分类模型。
综上,感知机是一种二类线性分类模型,属于判别模型。
2、感知机模型
假设输入空间(特征空间)是
X⊆Rn
Χ
⊆
R
n
输出空间是
Y=+1,−1.
Y
=
+
1
,
−
1
.
输入
x⊆X
x
⊆
Χ
表示实例的特征向量,对应于输入空间(特征空间)的点,输出
y⊆Y
y
⊆
Y
表示实例的类别。由输入空间到输出空间的如下函数:
称为感知机。其中,w和b为感知机模型参数, w⊆Rn w ⊆ R n 叫作权值或者权值向量, b⊆R b ⊆ R 叫作偏置,w·x表示w和x的内积。
3、感知机学习策略
- 1)数据集对象线性可分
前面说到了,感知机只具有对同一种类的对象进行二分类的能力。因此,待分类或判别对象必须具有线性可分性,即满足:对于给定的一个数据集
T=(x1,y1),(x2,y2),⋅⋅⋅,(xN,yN),
T
=
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
⋅
⋅
⋅
,
(
x
N
,
y
N
)
,
其中,
xi⊆X=Rn,yi⊆Y=+1,−1,i=1,2,⋅⋅⋅,N,
x
i
⊆
X
=
R
n
,
y
i
⊆
Y
=
+
1
,
−
1
,
i
=
1
,
2
,
⋅
⋅
⋅
,
N
,
存在某个超平面S
能够将数据集的正实例点和负实例点完全正确地划分到超平面的两侧,即对所有 yi=+1 y i = + 1 的实例i,有 w⋅xi+b>0 w ⋅ x i + b > 0 ,对所有 yi=−1的实例i,有w⋅xi+b<0。 y i = − 1 的 实 例 i , 有 w ⋅ x i + b < 0 。
- 2)求解输入空间任意点到超平面距离
回顾一下,二维平面点
(x0,y0)
(
x
0
,
y
0
)
到直线l:Ax+By+C=0的距离计算式:
同理可知,输入空间
Rn
R
n
中任意一点
x0
x
0
到超平面S的距离:
此处, ||w||是w的L2范数。 | | w | | 是 w 的 L 2 范 数 。
其次,对于误分类的数据来说
(xi,yi)
(
x
i
,
y
i
)
来说,
−yi(w⋅xi+b)>0
−
y
i
(
w
⋅
x
i
+
b
)
>
0
成立。因为当
(w⋅xi+b)>0时,yi=−1,而当(w⋅xi+b)<0时,yi=+1。因此,误分类点xi
(
w
⋅
x
i
+
b
)
>
0
时
,
y
i
=
−
1
,
而
当
(
w
⋅
x
i
+
b
)
<
0
时
,
y
i
=
+
1
。
因
此
,
误
分
类
点
x
i
到超平面S的距离是
这样,假设超平面S的误分类点集合为M,那么所有误分类点到超平面S的总距离为
![](https://i-blog.csdnimg.cn/blog_migrate/a9762900b96e25cc49814bf59d17f83a.png)
不考虑 1/|(|w|)|, 1 / | ( | w | ) | , 就得到感知学习的损失函数
- 3)损失函数极小化
给定训练数据集 T=(x1,y1),(x2,y2),⋅⋅⋅,(xN,yN), T = ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋅ ⋅ ⋅ , ( x N , y N ) , 其中, xi⊆X=Rn,yi⊆Y=+1,−1,i=1,2,⋅⋅⋅,N x i ⊆ X = R n , y i ⊆ Y = + 1 , − 1 , i = 1 , 2 , ⋅ ⋅ ⋅ , N 。感知机 sign(wxi+b) s i g n ( w x i + b ) 学习的损失函数定义为
损失函数 L(w,b) L ( w , b ) 是 w,b w , b 的连续可导函数,在假设空间中选取使函数式最小的模型参数 w,b, w , b , 即感知机模型。
4、感知机学习算法
1)感知机学习算法的原始形式 ——梯度下降法极小化目标函数
- 输入:训练数据集 T=(x1,y1),(x2,y2),⋅⋅⋅,(xN,yN), T = ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋅ ⋅ ⋅ , ( x N , y N ) , 其中, xi⊆X=Rn,yi⊆Y=+1,−1,i=1,2,⋅⋅⋅,N; x i ⊆ X = R n , y i ⊆ Y = + 1 , − 1 , i = 1 , 2 , ⋅ ⋅ ⋅ , N ; 学习率 η(0<η≤1); η ( 0 < η ≤ 1 ) ;
输出: w,b; w , b ; 感知机模型 f(x)=sign(w⋅x+b) f ( x ) = s i g n ( w · x + b )
(1)选取初值 w,b w , b
- (2)在训练集中选取数据 (xi,yi) ( x i , y i )
- (3)如果 yi(w⋅xi+b)≤0 y i ( w ⋅ x i + b ) ≤ 0
- (4)转至(2),直至训练集中没有误分类点。
对于线性可分数据集感知机学习算法原始形式收敛,即经过有限次迭代可以得到一个将训练数据集完全正确划分的分离超平面及感知机。
2)感知机学习算法的对偶形式
输入:训练数据集 T=(x1,y1),(x2,y2),⋅⋅⋅,(xN,yN), T = ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋅ ⋅ ⋅ , ( x N , y N ) , 其中, xi⊆X=Rn,yi⊆Y=+1,−1,i=1,2,⋅⋅⋅,N; x i ⊆ X = R n , y i ⊆ Y = + 1 , − 1 , i = 1 , 2 , ⋅ ⋅ ⋅ , N ; 学习率 η(0<η≤1); η ( 0 < η ≤ 1 ) ;
输出: α,b; α , b ; 感知机模型
其中 α=[(α1,α2,⋅⋅⋅,αN)]T α = [ ( α 1 , α 2 , ⋅ ⋅ ⋅ , α N ) ] T(1) α←0,b←0 α ← 0 , b ← 0
- (2)在训练集中选取数据 (xi,yi) ( x i , y i )
- (3)如果αi←αi+η α i ← α i + η
b←b+ηyi b ← b + η y i - (4)转至(2),直至训练集中没有误分类点。
与原始形式一样,感知机学习算法的对偶形式迭代是收敛的,存在多个解。