感知机学习笔记
感知机模型
感知机是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1二值。感知机将输入空间划分为正负两个超平面。
由输入空间到输出空间的函数为: f(x)=sign(w⋅x+b)f(x)=sign(w·x+b)
signsign是符号函数
其假设空间定义: {f|f(x)=w⋅x+b}{f|f(x)=w·x+b}
线性方程: w⋅x+b=0w·x+b=0 为特征空间RnRn的一个超平面SS。ww是超平面的一个法向量。是超平面的截距。
超平面SS被称为分离超平面(seperating hyperplane)。
感知机学习策略
数据集的线性可分性
给定一个数据集:
其中,xi∈X=Rn,yi∈Y={+1,−1},i=1,2,...,Nxi∈X=Rn,yi∈Y={+1,−1},i=1,2,...,N,如果存在超平面SS
能够将数据集的正实例和负实例点完全正确地划分在平面的两侧,则称数据集TT为线性可分数据集(linearly seperable data set)。
感知学习策略
追求损失函数极小化。
由点到平面距离公式:
得到误分类点到平面的距离:
损失函数
在不考虑常数项下,模型的损失函数为:
其中MM为误分类点的集合。显然,损失函数是非负的,如果没有误分类点,损失函数值为0.
感知机学习算法
求损失函数极小值的问题,求参数w,bw,b。
感知机学习算法的原始形式
感知机学习算法是误分类驱动的,具体采用随机梯度下降法(stochastic gradient descent).首先选取一个超平面w0b0w0b0,然后用梯度下降法不断地极小化目标函数(1)(1)
假设误分类点的集合MM是固定的,那么损失函数的梯度由公式
给出。
随机给出一个误分类点(xi,yi)(xi,yi),对w,bw,b进行更新:
式中η(0<η≤1)η(0<η≤1)是步长,统计学习中又称为学习率(learing rate)。这样,通过迭代,可以期待损失函数L(w,b)L(w,b)不断减小,直到为0.
算法的收敛性
对于线性可分数据集,感知机算法原始形式收敛。
感知机学习算法的对偶形式
基本思想:将ww和表示为实例xixi和标记yiyi的线性组合形式。通过求解系数而求得ww和.
由梯度函数(2)(2),假设初值w0=0,b0=0w0=0,b0=0,αi=niηiαi=niηi,最后学到的w,b可以表示为
感知机模型:
由α←0,b←0α←0,b←0开始,选取数据集(yi,xi)(yi,xi),如果 yi(∑Nj=1αiyixi⋅x+b)≤0yi(∑j=1Nαiyixi·x+b)≤0 ,则
直到没有误分类数据。
对偶形式中训练实例仅以内积的形式出现.为了方便,可以预先将训练集中实例间的内积计算出来并以矩阵的形式存储,这个矩阵就是所谓的Gram矩阵(Gram matrix)
与原始形式一样,感知机学习算法的对偶形式迭代是收敛的,存在多个解。