第二章 感知机

第二章 感知机

感知机是二类分类的线性分类模型,输入为特征向量,输出为实例的类别,感知机对应于输入空间(特征空间)中将
实例划分为正负两类的超平面

2.1感知机模型

假设输入空间(特征空间)是 x R n ,输出空间为 y = + 1 , 1 ,由输入空间到输出空间的如下函数:

f ( x ) = s i g n ( w x + b )

称为感知机,其中 w b 为感知机模型参数 w R n 叫做权值或者权向量, b R 叫做偏置,
w x 表示 w x 的内积 s i g n 是符号函数:
s i g n ( x ) = { + 1 , x 0 1 , x < 0

感知机的解释:
线性方程 w x + b = 0 对应于特征空间 R n 中的一个超平面 S ,其中 w 为超平面的法向量,
b | | w | | 为原点到超平面的距离,这个超平面将特征空间划分成两个部分

2.2感知机学习策略

2.2.1

数据集为线性可分数据集

2.2.2

选择损失函数为误分类点到超平面 S 的总距离,特征空间中任意一点 x 0 到超平面 S 的距离:

1 | | w | | | w x 0 + b |

这里的 | | w | | w L 2 范数

对于误分类的数据 ( x i , y i ) 来说:

y i ( w x i + b ) > 0

成立,那么误分类点 x i 到超平面 S 的距离:
1 | | w | | y i ( w x i + b )

假设超平面 S 的误分类点集合为 M ,那么所有误分类点到超平面的总距离:
1 | | w | | x i M y i ( w x i + b )

不考虑 1 | | w | | 得到在给定数据集:
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , , ( x N , y N ) }

其中 x i R n , y i { + 1 , 1 } , i = 1 , 2 , , N 感知机的损失函数为:
L ( w , b ) = x i M y i ( w x i + b )

2.3感知机学习算法

求解感知机参数也就是损失函数极小化的问题:

min w , b L ( w , b ) = x i M y i ( w x i + b )

采用随机梯度下降算法,首先任意选取一个超平面 w 0 , b 0 ,然后梯度下降法不断极小化目标函数
损失函数 L ( w , b ) 的梯度为:
w L ( w , b ) = x i M y i x i

b L ( w , b ) = x i M y i

随机选取一个误分类点 ( x i , y i ) w , b 进行更新:
w w + η y i x i

b b + η y i

其中 η 为学习速率

算法流程

输入:训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , , ( x N , y N ) } 其中 x i R n , y i { + 1 , 1 } , i = 1 , 2 , , N ;学习率 η ( 0 < η 1 )
输出: w , b ;感知机模型 f ( x ) = s i g n ( w x + b )
(1)选取初值 w 0 , b 0
(2)在训练集中选取数据 ( x i , y i )
(3)如果 y i ( w x i + b ) 0

w w + η y i x i

b b + η y i

(4)跳转至(2)直至训练集中没有误分类点

猜你喜欢

转载自blog.csdn.net/dh653667765/article/details/80905286