李航 统计学习 感知机 阅读笔记

感知机学习笔记

感知机模型

感知机是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1二值。感知机将输入空间划分为正负两个超平面。
由输入空间到输出空间的函数为: f ( x ) = s i g n ( w · x + b )

s i g n 是符号函数

s i g n ( x ) = { + 1 , x 0 1 , x < 0

其假设空间定义: { f | f ( x ) = w · x + b }

线性方程: w · x + b = 0 为特征空间 R n 的一个超平面 S w 是超平面的一个法向量。 b 是超平面的截距。
超平面 S 被称为分离超平面(seperating hyperplane)。

感知机学习策略

数据集的线性可分性

给定一个数据集:

T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) }

其中, x i X = R n , y i Y = { + 1 , 1 } , i = 1 , 2 , . . . , N ,如果存在超平面 S

w · x + b = 0

能够将数据集的正实例和负实例点完全正确地划分在平面的两侧,则称数据集 T 为线性可分数据集(linearly seperable data set)。

感知学习策略

追求损失函数极小化。
由点到平面距离公式:

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

得到误分类点到平面的距离:

1 | | w | | y i | w · x i + b |

损失函数

在不考虑常数项下,模型的损失函数为:

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

其中 M 为误分类点的集合。显然,损失函数 L ( w , b ) 是非负的,如果没有误分类点,损失函数值为0.

感知机学习算法

求损失函数极小值的问题,求参数 w , b

感知机学习算法的原始形式

感知机学习算法是误分类驱动的,具体采用随机梯度下降法(stochastic gradient descent).首先选取一个超平面 w 0 b 0 ,然后用梯度下降法不断地极小化目标函数 ( 1 )
假设误分类点的集合 M 是固定的,那么损失函数 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
(2)

式中 η ( 0 < η 1 ) 是步长,统计学习中又称为学习率(learing rate)。这样,通过迭代,可以期待损失函数 L ( w , b ) 不断减小,直到为0.

算法的收敛性

对于线性可分数据集,感知机算法原始形式收敛。

感知机学习算法的对偶形式

基本思想:将 w b 表示为实例 x i 和标记 y i 的线性组合形式。通过求解系数而求得 w b .

由梯度函数 ( 2 ) ,假设初值 w 0 = 0 , b 0 = 0 α i = n i η i ,最后学到的w,b可以表示为

w = i = 1 N α i y i x i

b = i = 1 N α i y i

感知机模型:

f ( x ) = s i g n ( j = 1 N α i y i x i · x + b )

α 0 , b 0 开始,选取数据集 ( y i , x i ) ,如果 y i ( j = 1 N α i y i x i · x + b ) 0 ,则

α i α i + η

b b + η y i

直到没有误分类数据。

对偶形式中训练实例仅以内积的形式出现.为了方便,可以预先将训练集中实例间的内积计算出来并以矩阵的形式存储,这个矩阵就是所谓的Gram矩阵(Gram matrix)

G = [ x i · y i ] N × N

与原始形式一样,感知机学习算法的对偶形式迭代是收敛的,存在多个解。

猜你喜欢

转载自blog.csdn.net/canwhut/article/details/81750791