PLA
感知机是一个二分类器,输入为特征空间,输出表示所属类别。
感知机表示的将输入空间的实例划分为两类的超平面。
感知机学习模型
假设输入空间是X⊆Rn,其中特征向量x∈X;输出空间是Y={+1,−1},输出y∈Y。那么感知机模型可以表示为:
f(x)=sign(w⋅x+b)(1)
其中,w,b为感知机的模型参数。感知机模型时一种线性分类器,属于判别模型。
感知机模型的几何解释:线性方程w⋅x+b=0对应于特征空间Rn中的一个超平面S,其中
感知机学习策略
数据集的线性可分性:如果存在一个超平面,可以将数据集中的实例完美的分开,使得不同类型的实例分属超平面的两侧,那么称该数据集线性可分。
对于线性可分的数据集,感知机模型寻找的这样的一个超平面可以将数据集完美的分开。而该超平面由参数
损失函数可以很自然的选择误分实例的总个数,但因为不利于优化(不是参数的可导函数),所以并不推荐。因此换为误分实例到超平面的距离:
d=1||w|||w⋅x+b|=−1||w||y|w⋅x+b|,||⋅||表示L2范数(2)
如果不考虑1||w||,对于给定的训练数据集:T={(x1,y1),(x2,y2),⋯,(xm,ym)},其中xi∈X,y∈Y,i=1,2,⋯,m,那么可以感知机学习的损失函数(经验风险函数)定义为: L(w,b)=−∑y^i(wxi+b)⋅I{yi≠y^i}=∑yi(wxi+b)⋅I{yi≠y^i}(3)
感知机学习算法
感知机学习问题就是在假设空间(模型空间)内寻找合适的模型,模型的选择策略根据经验风险的大小。那么问题就转化为最小化经验风险的优化问题。最优化的方法有很多种,可以使用批梯度下降或者随机梯度下降,此处讨论使用随机梯度下降法(SGD)。该 无约束优化问题可以描述成:
minw,bL(w,b)=∑i=1myi(wxi+b)⋅I{yi≠y^i}(4)
那么分别对参数w,b求导为:
⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪∂L∂w=∑i=1mxiyi⋅I{yi≠y^i}(5)∂L∂b=∑i=1myi⋅I{yi≠y^i}
那么根据批梯度下降优化,可以得到参数的更新公式为:
⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪w:=w+∑i=1mxiyi⋅I{yi≠y^i}(6)b:=b+∑i=1myi⋅I{yi≠y^i}
随机梯度下降优化是一个一个样本进行优化,每次参数更新时只是用一个样本,不像批梯度下降中每次更新需要遍历所有的样本。随机梯度下降的参数更新公式为:
⎧⎩⎨⎪⎪w:=w+ηxiyi其中,yi≠y^i(7)b:=b+ηyi
感知机的对偶形式
Reference:
[1] 《统计学习方法》,李航.