抄书整理笔记:第二章感知机

本文介绍了感知机这一经典的二类分类线性模型,详细解析了感知机模型的定义及几何解释,并阐述了感知机的学习策略,包括损失函数定义与最小化的方法。此外,还深入探讨了感知机学习算法的原始形式与对偶形式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

感知机

  感知机是二类分类的线性分类模型,输入为实例的特征向量,输出为实例的类别,取+1和-1二值。

1、感知机模型

定义2.1(感知机)假设输入空间(特征空间)是XRnX⊆Rn,输出空间是YY ={+1,1}={+1,−1}. 输入xXx∈X表示实例的特征向量,对应于输入空间(特征空间)的点;输出yYy∈Y表示实例的类别。由输入空间到输出空间的如下函数:

f(x)=sign(wx+b)(1)(1)f(x)=sign(w⋅x+b)

称为感知机。其中wRnw∈Rn叫做权值或权值向量,bRb∈R叫做偏置,wxw⋅x表示wwb的内积。signsign是符号函数。
  感知机是一种线性分类模型,属于判别模型。它的假设空间是定义在特征空间中的所有线性分类模型。它有如下几何解释:线性方程
wx+b=0(2)(2)w⋅x+b=0

它对应于特征空间RnRn中的一个超平面SS,其中w是超平面的法向量,bb是超平面的截距,该超平面把特征空间分为两个部分,对应于输出空间的两个类别所在的空间。因此感知机的学习即是求模型参数wbb。通过学习得到的感知机模型,可以对新的输入实例给出对应的输出类别。

2、感知机学习策略

数据集的线性可分性

定义2.2(数据集的线性可分性)给定一个数据集

T={(x1,y1),(x2,y2),...,(xN,yN)}
其中xiX=Rnxi∈X=RnyiYyi∈Y ={+1,1}={+1,−1}i=1,2,...,Ni=1,2,...,N,如果存在某个超平面SS能够将数据集的正实例点和负实例点完全正确地划分到超平面的两侧,则称数据集T为线性可分数据集,否则为线性不可分。

感知机学习策略

  假设训练集线性可分,感知机学习的目标是找到能完全正确分开的超平面,我们需要确定一个学习策略来确定模型参数w,bw,b,那么我们要定义损失函数并将其最小化。
  感知机损失函数的选择:误分类点到超平面SS的总距离
定义:输入空间Rn中任一点x0x0到超平面SS的距离d

d=1w|wx0+b|d=1‖w‖|w⋅x0+b|

公式推导:
设点x0x0在平面SS上的投影为x1,则有wx1+b=0,wx1=bw⋅x1+b=0,w⋅x1=−b
由于向量x0x1x0x1→SS平面上的法向量w平行,则有
|wx0x1|=|w||x0x1|=(w1)2+...+(wN)2d=wd|w⋅x0x1→|=|w||x0x1→|=(w1)2+...+(wN)2d=‖w‖d
wx0x1=w(x0x1)=wx0wx1=wx0(b)=wx0+bw⋅x0x1→=w⋅(x0→−x1→)=w⋅x0−w⋅x1=w⋅x0−(−b)=w⋅x0+b
所以wd=|wx0x1=|wx0+b|‖w‖d=|w⋅x0x1→=|w⋅x0+b|
d=1w|wx0+b|d=1‖w‖|w⋅x0+b|

因为对于误分类的数据(xi,yi)(xi,yi)来说yi(wxi+b)>0−yi(w⋅xi+b)>0成立,因此,误分类点xixi到超平面SS的距离是1wyi(wx0+b)。这样,假设超平面SS的误分类点集合为M,那么所有误分类点到超平面SS的总距离为1wxiMyi(wx0+b),不考虑1w−1‖w‖,则感知机sign(wx+b)sign(w⋅x+b)学习的损失函数定义为:

L(w,b)=xiMyi(wx0+b)(3)(3)L(w,b)=−∑xi∈Myi(w⋅x0+b)

损失函数L(w,b)L(w,b)是非负的,误分类点越少,损失函数值就越小,且损失函数是w,bw,b的连续可导函数。

  感知机学习的策略是在假设空间中选取损失函数式(3)最小的模型参数w,bw,b,即感知机模型。

3、感知机学习算法

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

  感知机学习算法实际上就是参数w,bw,b使其为以下损失函数极小化问题的解:

minw,bL(w,b)=xiMyi(wx0+b)(4)(4)minw,bL(w,b)=−∑xi∈Myi(w⋅x0+b)

  算法具体采用随机梯度下降法。首先任取一超平面w0,b0w0,b0,然后用梯度下降法不断地极小化目标函数(4).具体梯度下降如下:
  假设误分类点集合MM是固定的,那么损失函数L(w,b)的梯度由
wL(w,b)=xiMyixi∇wL(w,b)=−∑xi∈Myixi

bL(w,b)=xiMyi∇bL(w,b)=−∑xi∈Myi

给出。
  随机选取一个误分类点(xi,yi)(xi,yi),对w,bw,b进行更新:
ww+ηyixi(5)(5)w←w+ηyixi

bb+ηyi(6)(6)b←b+ηyi

式中η(0<η1)η(0<η≤1)是步长,又称为学习率。这样通过迭代可以期待损失函数不断减小直至为0。
算法2.1(感知机学习算法的原始形式)
输入:训练集T={(x1,y1),(x2,y2),...,(xN,yN)}T={(x1,y1),(x2,y2),...,(xN,yN)},其中xiX=Rnxi∈X=RnyiYyi∈Y ={+1,1}={+1,−1}i=1,2,...,Ni=1,2,...,N;学习率η(0<η1)η(0<η≤1)
输出:w,bw,b;感知机模型f(x)=sign(wx+b).f(x)=sign(w⋅x+b).
(1)选取初值w0,b0w0,b0
(2)在训练集中选取数据(xi,yi)(xi,yi)
(3)如果yi(wxi+b)0yi(w⋅xi+b)≤0
ww+ηyixiw←w+ηyixi

bb+ηyib←b+ηyi

(4)转至(2),直至训练集中没有误分类点。

算法的收敛性

  为了便于推导,将偏置bb并入权重向量w,记做w^=(wT,b)Tw^=(wT,b)T,同样也将输入向量加以扩充,加进常数1,记做x^=(xT,1)Tx^=(xT,1)T。这样x^Rn+1,w^Rn+1x^∈Rn+1,w^∈Rn+1。显然w^x^=wx+bw^⋅x^=w⋅x+b
定理2.1(Novikoff)设训练集T={(x1,y1),(x2,y2),...,(xN,yN)}T={(x1,y1),(x2,y2),...,(xN,yN)}是线性可分的,其中xiX=Rnxi∈X=RnyiYyi∈Y ={+1,1}={+1,−1}i=1,2,...,Ni=1,2,...,N,则
(1)存在满足条件w^opt=1‖w^opt‖=1的超平面w^optx^=woptx+bopt=0w^opt⋅x^=wopt⋅x+bopt=0将训练集完全正确分开;且存在γ>0γ>0,对所有i=1,2,...,Ni=1,2,...,N

yi(w^optx^i)=yi(woptx+i+bopt)γ(7)(7)yi(w^opt⋅x^i)=yi(wopt⋅x+i+bopt)≥γ

(2)令R=max1iNx^iR=max1≤i≤N‖x^i‖,则感知机算法2.1在训练集上的误分类次数kk满足不等式
(8)k(Rγ)2

定理表明,误分类次数kk是有上界的。另外,感知机学习算法存在许多解,这些解与初值的选择有关。当训练集线性不可分时,感知机学习算法不收敛,迭代结果会发生震荡。

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

  对偶形式的基本想法是,将wbb表示为实例xi和标记yiyi的线性组合的形式,通过求解其系数而求得w,bw,b。不失一般性,在算法2.1中可假设初始值w0,b0w0,b0均为0,对误分类点(xi,yi)(xi,yi)通过ww+ηyixiw←w+ηyixibb+ηyib←b+ηyi逐步修改w,bw,b。设修改nn次后,则w,b关于(xi,yi)(xi,yi)的增量分别是αiyixiαiyixiαiyiαiyi,这里αi=niηαi=niη。这样从学习过程不难看出,最后学习到的w,bw,b可以分别表示为

w=i=1Nαiyixi(9)(9)w=∑i=1Nαiyixi

b=i=1Nαiyi(10)(10)b=∑i=1Nαiyi

η=1η=1时,表示第ii个实例点由于误分而进行更新的次数。
算法2.2(感知机学习算法的对偶形式)
输入:线性可分的训练集T={(x1,y1),(x2,y2),...,(xN,yN)},其中xiRnxi∈Rnyi{+1,1}yi∈{+1,−1}i=1,2,...,Ni=1,2,...,N;学习率η(0<η1)η(0<η≤1)
输出:α,bα,b;感知机模型f(x)=sign(Nj=1αjyjxjx+b)f(x)=sign(∑j=1Nαjyjxj⋅x+b)
其中α=(α1,α2,...,αN)Tα=(α1,α2,...,αN)T
(1)α0,b0α←0,b←0
(2)在训练集中选取数据(xi,yi)(xi,yi)
(3)如果yi(Nj=1αjyjxjx+b)0yi(∑j=1Nαjyjxj⋅x+b)≤0
αiαi+ηαi←αi+η

bb+ηyib←b+ηyi

(4)转至(2)中直到没有误分类数据。

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

G=[xixj]N×NG=[xi⋅xj]N×N

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值