感知机学习模型总结

一、前述

感知机是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1二值,属于判别模型。感知机学习旨在求出将训练数据进行线性划分的分离超平面,为此,导入基于误分类的损失函数,利用随机梯度下降法对损失函数进行极小化,求得感知机模型。感知机学习算法分为原始形式和对偶形式。感知机是神经网络与支持向量机的基础。

二、感知机介绍
I.模型

感知机模型可以由以下传递函数进行描述:
f ( x ) = s i g n ( w ⋅ x + b ) f(x)=sign(w\cdot x+b) f(x)=sign(wx+b)
其中x∈X表示实例的特征向量,对应输入空间X的点;输出y∈Y表示实例的类别。由符号函数的特性,当 w ⋅ x + b = 0 w\cdot x+b=0 wx+b=0,为感知机模型的决策边界。

II.策略

对于误分类点 ( x i , y i ) (x_{i},y_{i}) (xi,yi)来说,其到超平面S的距离是:
− 1 ∥ w ∥ y i ( w ⋅ x i + b ) -\frac{1}{\parallel w\parallel }y_{i}(w\cdot x_{i}+b) w1yi(wxi+b)
于是,假设超平面S的误分类点集合为M,那么所有误分类点到超平面的总距离为: − 1 ∥ w ∥ ∑ x i ∈ M y i ( w ⋅ x i + b ) -\frac{1}{\parallel w\parallel }\sum_{x_{i}\in M}^{}y_{i}(w\cdot x_{i}+b) w1xiMyi(wxi+b),不考虑 1 ∥ w ∥ \frac{1}{\parallel w\parallel } w1,就得到了感知机的损失函数。给定训练数据集 T = { ( x 1 , y 1 ) , ( x 1 , y 1 ) , ⋅ ⋅ ⋅ , ( x N , y N ) } T=\left\{(x_{1},y_{1}),(x_{1},y_{1}),\cdot \cdot \cdot ,(x_{N},y_{N})\right\} T={(x1,y1),(x1,y1),,(xN,yN)}其中, x i ∈ χ = R n , y i ∈ γ = { + 1 , − 1 } , i = 1 , 2 , ⋅ ⋅ ⋅ , N x_{i}\in \chi = R^{n},y_{i}\in\gamma =\left \{ +1,-1 \right \},i=1,2,\cdot \cdot \cdot ,N xiχ=Rn,yiγ={+1,1},i=1,2,,N。感知机 f ( x ) = s i g n ( w ⋅ x + b ) f(x)=sign(w\cdot x+b) f(x)=sign(wx+b)学习的损失函数定义为: L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x i + b ) L(w,b)=-\sum_{x_{i}\in M}^{}y_{i}(w\cdot x_{i}+b) L(w,b)=xiMyi(wxi+b)
其中M为误分类点的集合。这个损失函数就是感知机学习的经验风险函数。
于是,感知机学习的策略是在假设空间中选取使损失函数式最小的模型参数 w , b w,b w,b,即感知机模型。

III.算法

由感知机学习的策略可知,感知机学习算法是由误分类驱动的,采用随机梯度下降法求解 min ⁡ w , b L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x i + b ) \min_{w,b}^{}L(w,b)=-\sum_{x_{i}\in M}^{}y_{i}(w\cdot x_{i}+b) w,bminL(w,b)=xiMyi(wxi+b)
感知机学习算法的原始形式描述:首先,任意选取一个超平面 w 0 , b 0 w_{0},b_{0} w0,b0,然后用梯度下降法不断地极小化目标函数。极小化过程是一次随机选取一个误分类点使其梯度下降。具体操作实现如下:
输入:训练数据集 T = { ( x 1 , y 1 ) , ( x 1 , y 1 ) , ⋅ ⋅ ⋅ , ( x N , y N ) } T=\left\{(x_{1},y_{1}),(x_{1},y_{1}),\cdot \cdot \cdot ,(x_{N},y_{N})\right\} T={(x1,y1),(x1,y1),,(xN,yN)},其中 x i ∈ χ = R n , y i ∈ γ = { + 1 , − 1 } , i = 1 , 2 , ⋅ ⋅ ⋅ , N x_{i}\in \chi = R^{n},y_{i}\in\gamma =\left \{ +1,-1 \right \},i=1,2,\cdot \cdot \cdot ,N xiχ=Rn,yiγ={+1,1},i=1,2,,N;学习率 η ( 0 < η ⩽ 1 ) ; \eta (0<\eta\leqslant 1); η(0<η1);
输出: w , b w,b w,b;感知机模型 f ( x ) = s i g n ( w ⋅ x + b ) f(x)=sign(w\cdot x+b) f(x)=sign(wx+b)
(1)选取初值 w 0 , b 0 w_{0},b_{0} w0,b0
(2)在训练集中选取数据 ( x i , y i ) (x_{i},y_{i}) (xi,yi)
(3)如果 y i ( w ⋅ x i + b ) ⩽ 0 y_{i}(w\cdot x_{i}+b)\leqslant0 yi(wxi+b)0
w ← w + η y i x i w\leftarrow w+\eta y_{i}x_{i} ww+ηyixi
b ← b + η y i b\leftarrow b+\eta y_{i} bb+ηyi
(4)转至(2),直至训练集中没有误分类点。
感知机学习算法原始形式的直观描述:当有一个实例点被误分类,则调整决策平面参数 w , b w,b w,b,使分离超平面向该误分类点的一侧移动,以减少该误分类点与超平面间的距离,直至超平面越过该误分类点使其被正确分类。

三、感知机学习算法原始形式及收敛证明

该证明的意义在于表明,感知机算法可经过有限次迭代得到一个将线性可分训练集完全正确划分的分离超平面及感知机模型。
为了便于叙述与推导,将偏置 b b b并入权重向量 w w w,记作 w ^ = ( w T , b ) T \widehat{w}=(w^{T},b)^{T} w =(wT,b)T,同样也将输入向量加以扩充,加进常数1,记作 x ^ = ( x T , 1 ) T \widehat{x}=(x^{T},1)^{T} x =(xT,1)T。这样, x ^ ∈ R n + 1 , w ^ ∈ R n + 1 \widehat{x}\in R^{n+1},\widehat{w}\in R^{n+1} x Rn+1,w Rn+1。显然, w ^ ⋅ x ^ = w ⋅ x + b \widehat{w}\cdot\widehat{x}=w\cdot x+b w x =wx+b
Novikoff定理:设训练数据集 T = { ( x 1 , y 1 ) , ( x 1 , y 1 ) , ⋅ ⋅ ⋅ , ( x N , y N ) } T=\left\{(x_{1},y_{1}),(x_{1},y_{1}),\cdot \cdot \cdot ,(x_{N},y_{N})\right\} T={(x1,y1),(x1,y1),,(xN,yN)}是线性可分的,其中 x i ∈ χ = R n , y i ∈ γ = { + 1 , − 1 } , i = 1 , 2 , ⋅ ⋅ ⋅ , N x_{i}\in \chi = R^{n},y_{i}\in\gamma =\left \{ +1,-1 \right \},i=1,2,\cdot \cdot \cdot ,N xiχ=Rn,yiγ={+1,1},i=1,2,,N,则
(1)存在满足条件 ∥ w ^ o p t ∥ = 1 \parallel\widehat{w}_{opt} \parallel=1 w opt=1的超平面 w ^ o p t ⋅ x ^ = w o p t ⋅ x + b o p t = 0 \widehat{w}_{opt}\cdot\widehat{x}=w_{opt}\cdot x+b_{opt}=0 w optx =woptx+bopt=0训练数据集完全正确分开(误分类表达式不适用!);且存在 γ > 0 \gamma> 0 γ>0,对所有 i = 1 , 2 , . . . , N i=1,2,...,N i=1,2,...,N y i ( w ^ o p t ⋅ x ^ i ) = y i ( w o p t ⋅ x i + b o p t ) ⩾ γ y_{i}(\widehat{w}_{opt}\cdot\widehat{x}_{i})=y_{i}(w_{opt}\cdot x_{i}+b_{opt})\geqslant\gamma yi(w optx i)=yi(woptxi+bopt)γ
(2)令 R = max ⁡ 1 ⩽ i ⩽ N ∥ x ^ i ∥ R=\max_{1 \leqslant i \leqslant N}^{}\parallel\widehat{x}_{i} \parallel R=1iNmaxx i,则感知机算法原始形式在训练数据集上的误分类次数 k k k满足不等式 k ⩽ ( R γ ) 2 k\leqslant (\frac{R}{\gamma})^{2} k(γR)2

以下证明过程:
(1)由于训练数据集是线性可分的,因此存在超平面可使训练数据集完全正确分开,取超平面 w ^ o p t ⋅ x ^ = w o p t ⋅ x + b o p t = 0 \widehat{w}_{opt}\cdot\widehat{x}=w_{opt}\cdot x+b_{opt}=0 w optx =woptx+bopt=0,使 ∥ w ^ o p t ∥ = 1 \parallel\widehat{w}_{opt} \parallel=1 w opt=1。由于是有限的训练集,因此是可数的样本集,因此均有 y i ( w ^ o p t ⋅ x ^ i ) = y i ( w o p t ⋅ x i + b o p t ) > 0 y_{i}(\widehat{w}_{opt}\cdot\widehat{x}_{i})=y_{i}(w_{opt}\cdot x_{i}+b_{opt})>0 yi(w optx i)=yi(woptxi+bopt)>0所以存在 γ = min ⁡ i { y i ( w o p t ⋅ x i + b o p t ) } \gamma=\min_{i}^{}\left \{y_{i}(w_{opt}\cdot x_{i}+b_{opt}) \right \} γ=mini{yi(woptxi+bopt)}使得 y i ( w ^ o p t ⋅ x ^ i ) = y i ( w o p t ⋅ x i + b o p t ) ⩾ γ y_{i}(\widehat{w}_{opt}\cdot\widehat{x}_{i})=y_{i}(w_{opt}\cdot x_{i}+b_{opt})\geqslant\gamma yi(w optx i)=yi(woptxi+bopt)γ
(2)假设感知机算法从 w ^ 0 = 0 \widehat{w}_{0}=0 w 0=0开始,如果实例被误分类,则更新权重。令 w ^ k − 1 \widehat{w}_{k-1} w k1是第 k k k个误分类实例之前的扩充权重向量,即 w ^ k − 1 = ( w k − 1 T , b k − 1 ) T \widehat{w}_{k-1}=(w_{k-1}^{T},b_{k-1})^{T} w k1=(wk1T,bk1)T则第 k k k个误分类实例的条件是 y i ( w ^ k − 1 ⋅ x ^ i ) = y i ( w k − 1 ⋅ x i + b k − 1 ) ⩽ 0 y_{i}(\widehat{w}_{k-1}\cdot\widehat{x}_{i})=y_{i}(w_{k-1}\cdot x_{i}+b_{k-1})\leqslant0 yi(w k1x i)=yi(wk1xi+bk1)0
( x i , y i ) (x_{i},y_{i}) (xi,yi)是被 w ^ k − 1 = ( w k − 1 T , b k − 1 ) T \widehat{w}_{k-1}=(w_{k-1}^{T},b_{k-1})^{T} w k1=(wk1T,bk1)T误分类的数据,则按照学习率与梯度下降方向更新步长得 w ^ k = w ^ k − 1 + η y i x ^ i \widehat{w}_{k}=\widehat{w}_{k-1}+\eta y_{i}\widehat{x}_{i} w k=w k1+ηyix i
先推导以下两个不等式: w ^ k ⋅ w ^ o p t ⩾ k η γ ① \widehat{w}_{k}\cdot\widehat{w}_{opt}\geqslant k\eta\gamma① w kw optkηγ ∥ w ^ k ∥ 2 ⩽ k η 2 R 2 ② \left \| \widehat{w}_{k} \right \|^{2}\leqslant k\eta^{2}R^{2}② w k2kη2R2
首先证明①:
根据更新步长后的新决策边界有: w ^ k ⋅ w ^ o p t = w ^ k − 1 ⋅ w ^ o p t + η y i w ^ o p t ⋅ x ^ i ⩾ w ^ k − 1 ⋅ w ^ o p t + η γ \widehat{w}_{k}\cdot\widehat{w}_{opt}=\widehat{w}_{k-1}\cdot\widehat{w}_{opt}+\eta y_{i}\widehat{w}_{opt}\cdot\widehat{x}_{i}\geqslant \widehat{w}_{k-1}\cdot\widehat{w}_{opt}+\eta\gamma w kw opt=w k1w opt+ηyiw optx iw k1w opt+ηγ
根据上式继续递推得: w ^ k ⋅ w ^ o p t ⩾ w ^ k − 1 ⋅ w ^ o p t + η γ ⩾ w ^ k − 2 ⋅ w ^ o p t + 2 η γ ⩾ ⋯ ⩾ k η γ \widehat{w}_{k}\cdot\widehat{w}_{opt}\geqslant\widehat{w}_{k-1}\cdot\widehat{w}_{opt}+\eta\gamma\geqslant\widehat{w}_{k-2}\cdot\widehat{w}_{opt}+2\eta\gamma\geqslant\cdots\geqslant k\eta\gamma w kw optw k1w opt+ηγw k2w opt+2ηγkηγ
接着证明②:
根据更新步长后的新决策边界又有:
∥ w ^ k ∥ 2 = ∥ w ^ k − 1 ∥ 2 + 2 η y i w ^ k − 1 ⋅ x ^ i + η 2 ∥ x ^ i ∥ 2 \left \| \widehat{w}_{k} \right \|^{2}=\left \| \widehat{w}_{k-1} \right \|^{2}+2\eta y_{i}\widehat{w}_{k-1}\cdot\widehat{x}_{i}+\eta^{2}\left \| \widehat{x}_{i} \right \|^{2} w k2=w k12+2ηyiw k1x i+η2x i2
⩽ ∥ w ^ k − 1 ∥ 2 + η 2 ∥ x ^ i ∥ 2 \leqslant\left \| \widehat{w}_{k-1} \right \|^{2}+\eta^{2}\left \| \widehat{x}_{i} \right \|^{2} w k12+η2x i2
⩽ ∥ w ^ k − 1 ∥ 2 + η 2 R 2 \leqslant\left \| \widehat{w}_{k-1} \right \|^{2}+\eta^{2}R^{2} w k12+η2R2
⩽ ∥ w ^ k − 2 ∥ 2 + 2 η 2 R 2 \leqslant\left \| \widehat{w}_{k-2} \right \|^{2}+2\eta^{2}R^{2} w k22+2η2R2
⩽ ⋯ ⩽ k η 2 R 2 \leqslant\cdots\leqslant k\eta^{2}R^{2} kη2R2
不等式①②证毕。由两式联立可得: k η γ ⩽ w ^ k ⋅ w ^ o p t ⩽ ∥ w ^ k ∥ ∥ w ^ o p t ∥ ⩽ k η R k\eta\gamma\leqslant\widehat{w}_{k}\cdot\widehat{w}_{opt}\leqslant\left\|\widehat{w}_{k}\right\|\left\|\widehat{w}_{opt}\right\|\leqslant \sqrt{k}\eta R kηγw kw optw kw optk ηR,于是有 k ⩽ ( R γ ) 2 k\leqslant(\frac{R}{\gamma})^{2} k(γR)2,到此,定理(2)证明完毕。
整个过程证明了,对于线性可分的训练数据集,误分类的次数k是由上界的,即经过有限次搜索可以找到将训练数据完全正确分开的分离超平面,感知机学习算法原始形式迭代是收敛的。但过程会存在多解的情况,针对多解情况下的讨论,增加约束条件后,为后面将要讲述的线性支持向量机奠定了模型基础。当训练集线性不可分时,感知机学习算法不收敛,迭代结果会发生震荡。

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

与感知机学习算法的原始形式不一样的是,感知机学习算法对偶形式下把感知机模型看作是实例 x i x_{i} xi和标记 y i y_{i} yi的线性组合形式。通过更新各个实例点下在误分类情况下的更新次数和标记结果,直到所有实例点都被模型正确分类。以下是感知机学习算法的对偶形式,
输入:线性可分的数据集 T = { ( x 1 , y 1 ) , ( x 1 , y 1 ) , ⋅ ⋅ ⋅ , ( x N , y N ) } T=\left\{(x_{1},y_{1}),(x_{1},y_{1}),\cdot \cdot \cdot ,(x_{N},y_{N})\right\} T={(x1,y1),(x1,y1),,(xN,yN)},其中 x i ∈ R n , y i ∈ { + 1 , − 1 } , i = 1 , 2 , ⋅ ⋅ ⋅ , N x_{i}\in R^{n},y_{i}\in\left \{ +1,-1 \right \},i=1,2,\cdot \cdot \cdot ,N xiRn,yi{+1,1},i=1,2,,N;学习率 η ( 0 < η ⩽ 1 ) ; \eta (0<\eta\leqslant 1); η(0<η1);
输出: α , b \alpha,b α,b;感知机模型 f ( x ) = s i g n ( ∑ j = 1 N α j y j x j ⋅ x + b ) f(x)=sign(\sum_{j=1}^{N}\alpha_{j}y_{j}x_{j}\cdot x+b) f(x)=sign(j=1Nαjyjxjx+b),其中 α = ( α 1 , α 2 , ⋯   , α N ) T \alpha=(\alpha_{1},\alpha_{2},\cdots,\alpha_{N})^{T} α=(α1,α2,,αN)T
(1) α ← 0 , b ← 0 \alpha\leftarrow0,b\leftarrow0 α0,b0
(2)在训练集中选取数据 ( x i , y i ) (x_{i},y_{i}) (xi,yi)
(3)如果 y i ( ∑ j = 1 N α j y j x j ⋅ x i + b ) ⩽ 0 y_{i}(\sum_{j=1}^{N}\alpha_{j}y_{j}x_{j}\cdot x_{i}+b)\leqslant0 yi(j=1Nαjyjxjxi+b)0
α i ← α i + η \alpha_{i}\leftarrow\alpha_{i}+\eta αiαi+η
b ← b + η y i b\leftarrow b+\eta y_{i} bb+ηyi
(4)转至(2)直到没有误分类数据。

五、总结

通过感知机学习不难发现,感知机适用于二类分类问题;模型特点是分离超平面;属于判别类型;学习策略(学习的损失函数)是极小化误分点到超平面距离;学习算法是随机梯度下降法。

参考文献

[1]李航.统计学习方法(第2版)[M].北京:清华大学出版社,2019.11.

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值