感知机学习笔记
感知机模型
感知机是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1二值。感知机将输入空间划分为正负两个超平面。
由输入空间到输出空间的函数为:
f(x)=sign(w⋅x+b)
f
(
x
)
=
s
i
g
n
(
w
·
x
+
b
)
sign s i g n 是符号函数
其假设空间定义: {f|f(x)=w⋅x+b} { f | f ( x ) = w · x + b }
线性方程:
w⋅x+b=0
w
·
x
+
b
=
0
为特征空间
Rn
R
n
的一个超平面
S
S
。
w
w
是超平面的一个法向量。是超平面的截距。
超平面
S
S
被称为分离超平面(seperating hyperplane)。
感知机学习策略
数据集的线性可分性
给定一个数据集:
其中, 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 S
能够将数据集的正实例和负实例点完全正确地划分在平面的两侧,则称数据集 T T 为线性可分数据集(linearly seperable data set)。
感知学习策略
追求损失函数极小化。
由点到平面距离公式:
得到误分类点到平面的距离:
损失函数
在不考虑常数项下,模型的损失函数为:
其中 M M 为误分类点的集合。显然,损失函数是非负的,如果没有误分类点,损失函数值为0.
感知机学习算法
求损失函数极小值的问题,求参数 w,b w , b 。
感知机学习算法的原始形式
感知机学习算法是误分类驱动的,具体采用随机梯度下降法(stochastic gradient descent).首先选取一个超平面
w0b0
w
0
b
0
,然后用梯度下降法不断地极小化目标函数
(1)
(
1
)
假设误分类点的集合
M
M
是固定的,那么损失函数的梯度由公式
给出。
随机给出一个误分类点 (xi,yi) ( x i , y i ) ,对 w,b w , b 进行更新:
式中 η(0<η≤1) η ( 0 < η ≤ 1 ) 是步长,统计学习中又称为学习率(learing rate)。这样,通过迭代,可以期待损失函数 L(w,b) L ( w , b ) 不断减小,直到为0.
算法的收敛性
对于线性可分数据集,感知机算法原始形式收敛。
感知机学习算法的对偶形式
基本思想:将 w w 和表示为实例 xi x i 和标记 yi y i 的线性组合形式。通过求解系数而求得 w w 和.
由梯度函数 (2) ( 2 ) ,假设初值 w0=0,b0=0 w 0 = 0 , b 0 = 0 , αi=niηi α i = n i η i ,最后学到的w,b可以表示为
感知机模型:
由 α←0,b←0 α ← 0 , b ← 0 开始,选取数据集 (yi,xi) ( y i , x i ) ,如果 yi(∑Nj=1αiyixi⋅x+b)≤0 y i ( ∑ j = 1 N α i y i x i · x + b ) ≤ 0 ,则
直到没有误分类数据。
对偶形式中训练实例仅以内积的形式出现.为了方便,可以预先将训练集中实例间的内积计算出来并以矩阵的形式存储,这个矩阵就是所谓的Gram矩阵(Gram matrix)
与原始形式一样,感知机学习算法的对偶形式迭代是收敛的,存在多个解。