第2章 感知机
- (
模型
)感知机
(perceptron)是一种线性分类模型,属于判别模型,感知机模型的假设空间是定义在特征空间中的所有线性分类模型(linear classification model)或线性分类器(linear classifier),即函数集合 {f|f(x)=wx+b} { f | f ( x ) = w x + b } - 感知机学习的目标是求得一个能够将训练集正实例点和负实例点完全正确分开的分离超平面。
- (
策略
)损失函数的一种选择是误分类点数,但是这样损失函数不是参数w,b的连续可导函数,不易优化。另一种选择是误分类点到超平面S的总距离。最后损失函数定义为:
L(w,b)=−∑xi∈Myi(w⋅xi+b) L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x i + b ) - (
算法
)感知机学习算法具体采用随机梯度下降法
(stochastic gradient descent),每次迭代随机选取一个误分类点进行梯度下降 感知机学习算法的原始形式
输入:训练数据集 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)选取初值 w0,b0 w 0 , b 0
(2)在训练集中选取数据 (xi,yi) ( x i , y i )
(3)如果 yi(w⋅xi+b)≤0 y i ( w ⋅ x i + b ) ≤ 0
w←w+ηyixib←b+ηyi w ← w + η y i x i b ← b + η y i
(4)转至(2),直至训练集中没有误分类点- 当训练集线性不可分时,感知机学习算法不收敛,迭代结果会发生震荡
- 感知机学习算法的对偶形式中训练实例仅以内积的形式出现。可预先计算各个实例间的内积并以矩阵形式存储。即
Gram矩阵
(Gram matrix)
G=[xi⋅xj]N×N G = [ x i ⋅ x j ] N × N 感知机学习算法的对偶形式
输入:训练数据集 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 ;感知机模型 f(x)=sign(∑j=1Nαjyjxj⋅x+b),α=(α1,α2,...,αN)T f ( x ) = s i g n ( ∑ j = 1 N α j y j x j ⋅ x + b ) , α = ( α 1 , α 2 , . . . , α N ) T
(1) α←0,b←0 α ← 0 , b ← 0
(2)在训练集中选取数据 (xi,yi) ( x i , y i )
(3)如果 yi(∑j=1Nαjyjxj⋅xi+b)≤0 y i ( ∑ j = 1 N α j y j x j ⋅ x i + b ) ≤ 0
αi←αi+ηb←b+ηyi α i ← α i + η b ← b + η y i
(4)转至(2),直至训练集中没有误分类点