感知机算法

感知机是一个二分类的线性分类模型

假设输入空间(特征空间)是 X ⊆ R n \mathcal{X}\subseteq R^{n} XRn,输出空间是 Y = { + 1 , − 1 } \mathcal{Y}=\{+1,-1\} Y={+1,1},定义函数 f ( x ) f(x) f(x)输入到输出空间的映射:
f ( x ) = s i g n ( w ⋅ x + b ) f(x)=sign(w\cdot x+b) f(x)=sign(wx+b)
其中, w , b w,b w,b为模型参数, s i g n ( x ) = { 1 , x ≥ 0 − 1 , x < 0 sign(x)=\begin{cases}1,x\ge0\\ -1,x<0\end{cases} sign(x)={1,x01,x<0,属于判别模型

几何解释:
线性方程 w ⋅ x + b = 0 w\cdot x+b=0 wx+b=0对应特征空间 R n R^{n} Rn中的一个超平面 S S S、,其中 w w w表示超平面的法向量, b b b表示超平面的截距, S S S将特征空间划分为两部分,位于两部分的点分别为正、负样本

数据集的线性可分
给定数据集 T = { ( x 1 , y 1 ) , ⋯   , ( x N , y N ) } T=\{(x_{1},y_{1}),\cdots,(x_{N},y_{N})\} T={(x1,y1),,(xN,yN)},如果存在一个线性超平面 S S S w ⋅ x + b = 0 w\cdot x+b=0 wx+b=0能够将数据集的正负样本完全正确地划分到超平面的两侧,即
{ ∀ y i = 1 , w ⋅ x + b > 0 ∀ y i = − 1 , w ⋅ x + b < 0 \begin{cases}\forall y_{i}=1,w\cdot x+b>0\\\forall y_{i}=-1,w\cdot x+b<0 \end{cases} {yi=1,wx+b>0yi=1,wx+b<0
则称数据集 T T T是线性可分的,否则为线性不可分。

感知机的基本思想
假设数据集是线性可分的,在特征空间中求得能够将训练集正负样本完全正确分开的最优超平面 S S S

如何求解 S S S,即求解模型参数 w , b w,b w,b
定义(经验)损失函数,并最小化损失函数:
m i n w , b ∑ x i ∈ M L ( y i , f ( x i ) ) \underset{w,b}{min}\sum_{x_{i}\in M}L(y_{i},f(x_{i})) w,bminxiML(yi,f(xi))
M M M表示误分点集合
当正样本被误分时, y i = + 1 , w ⋅ x i + b < 0 y_{i}=+1,w\cdot x_{i}+b<0 yi=+1,wxi+b<0;
当负样本被误分时, y i = − 1 , w ⋅ x i + b > 0 y_{i}=-1,w\cdot x_{i}+b>0 yi=1,wxi+b>0;
则误分类样本点到超平面 S S S的距离为:
− y i ( w ⋅ x i + b ) ∥ w ∥ -y_{i}\frac{(w\cdot x_{i}+b)}{\Vert w\Vert} yiw(wxi+b),不考虑 1 ∥ w ∥ \frac{1}{\Vert w\Vert} w1时得到损失函数:
m i n w , b L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x i + b ) \underset{w,b}{min}L(w,b)=-\sum_{x_{i}\in M}y_{i}(w\cdot x_{i}+b) w,bminL(w,b)=xiMyi(wxi+b)
显然 L ( w , b ) L(w,b) L(w,b)非负,当样本分类正确时, L ( w , b ) = 0 L(w,b)=0 L(w,b)=0,当误分点越少,且离超平面越近,则损失函数越小, L L L w , b w,b w,b的连续可导函数。

感知机学习算法

采用随机梯度下降法对损失函数对优化,当误分点集合 M M M固定时,损失函数的梯度为:
∇ w L ( w , b ) = − ∑ x i ∈ M x i y i ∇ b L ( w , b ) = − ∑ x i ∈ M y i \nabla_{w}L(w,b)=-\sum_{x_{i}\in M}x_{i}y_{i}\\ \nabla_{b}L(w,b)=-\sum_{x_{i}\in M}y_{i} wL(w,b)=xiMxiyibL(w,b)=xiMyi
随机选择一个误分类点 ( x i , y i ) (x_{i},y_{i}) (xi,yi),对 w , b w,b w,b进行更新:
w ← w + η x i y i b ← b + η y i w\gets w+\eta x_{i}y_{i}\\ b\gets b+\eta y_{i} ww+ηxiyibb+ηyi
其中, η ( 0 < η ≤ 1 ) \eta(0<\eta\le1) η(0<η1)为步长(学习率)

原始形式:
input: w , b w,b w,b
model: 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)\le0 yi(wxi+b)0,则
    w ← w + η x i y i b ← b + η y i w\gets w+\eta x_{i}y_{i}\\ b\gets b+\eta y_{i} ww+ηxiyibb+ηyi

对偶形式

基本思想:将 w , b w,b w,b表示为 x i , y i x_{i},y_{i} xi,yi的线性组合形式,通过求解其系数二求得 w , b w,b w,b
通过误分类点 ( x i , y i ) (x_{i},y_{i}) (xi,yi),对 w , b w,b w,b进行更新:
w ← w + η x i y i b ← b + η y i w\gets w+\eta x_{i}y_{i}\\ b\gets b+\eta y_{i} ww+ηxiyibb+ηyi
逐步修改 w , b w,b w,b,修改 n n n次,则关于 ( x i , y i ) (x_{i},y_{i}) (xi,yi)的增量分别为 α i x i y i , α i y i \alpha_{i}x_{i}y_{i},\alpha_{i}y_{i} αixiyi,αiyi,其中 α i = n i η \alpha_{i}=n_{i}\eta αi=niη n i n_{i} ni表示点 ( x i , y i ) (x_{i},y_{i}) (xi,yi)被误分的次数,则最终学习到的 w , b w,b w,b分别为:
w = ∑ i = 1 N α i x i y i , b = ∑ i = 1 N α i y i w=\sum_{i=1}^{N}\alpha_{i}x_{i}y_{i}, b=\sum_{i=1}^{N}\alpha_{i}y_{i} w=i=1Nαixiyi,b=i=1Nαiyi
其中 α i ≥ 0 ,   ( i = 0 , 1 , ⋯   , N ) \alpha_{i}\ge0,\ (i=0,1,\cdots,N) αi0, (i=0,1,,N),当 η = 1 \eta=1 η=1时,表示第 i i i个实例点由于误分而进行更新的次数。 n i n_{i} ni越大,表明实例点更新次数越多,距离超平面越近,越难正确分类。
对偶形式如下
input: α , b \alpha, b α,b;
model: f ( x ) = s i g n ( ∑ i = 1 N α i x i y i ⋅ x + b ) f(x)=sign(\sum_{i=1}^{N} \alpha_{i}x_{i}y_{i}\cdot x+b) f(x)=sign(i=1Nαixiyix+b),其中 α = ( α 1 , ⋯   , α N ) T \alpha=(\alpha_{1},\cdots,\alpha_{N})^{T} α=(α1,,αN)T

  1. α ← 0 , b ← 0 \alpha\gets0,b\gets0 α0,b0
  2. 在训练数据集中选取数据 ( x i , y i ) (x_{i},y_{i}) (xi,yi)
  3. 如果 y i ( ∑ i = 1 N α i x i y i ⋅ x + b ) ≤ 0 y_{i}(\sum_{i=1}^{N} \alpha_{i}x_{i}y_{i}\cdot x+b)\le0 yi(i=1Nαixiyix+b)0,则
    α i ← α i + η b ← b + η y i \alpha_{i}\gets\alpha_{i}+\eta\\ b\gets b+\eta y_{i} αiαi+ηbb+ηyi

算法的收敛性:

对于线性可分数据集,感知机算法是收敛的。感知机算法在训练数据集上误分次数 k k k满足不等式
k ≤ ( R γ ) 2 k\le(\frac{R}{\gamma})^{2} k(γR)2
其中, γ ≥ 0 , R = m a x 1 ≤ i ≤ N ∥ x ^ i ∥ , x ^ = ( x T , 1 ) T ∈ R n + 1 \gamma\ge0,R=\underset{1\le i\le N}{max}\Vert \hat{x}_{i}\Vert,\hat{x}=(x^{T},1)^{T}\in R^{n+1} γ0,R=1iNmaxx^i,x^=(xT,1)TRn+1

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值