感知机模型
感知机由输入空间到输出空间的函数为:
其中,w和b为感知机模型参数,w∊Rn叫作权值(weight)或权值向量(weight vector),b∊R叫作偏置(bias),w·x表示w和x的内积。sign是符号函数。
感知机是一种线性分类模型,属于判别模型。感知机模型的假设空间是定义在特征空间中的所有线性分类模型(linear classification model)或线性分类器,即函数集合{f|f(x)=w·x+b}。
感知机的几何解释,线性方程 w·x+b=0 对应于特征空间的一个超平面S
该超平面将特征空间划分为两部分,称为分离超平面(二维时退化为直线)
感知机学习策略
数据集的线性可分性
如果存在某个超平面S能够将数据集的正实例点和负实例点完全正确地划分到超平面的两侧,则称数据集T为线性可分数据集 。
感知机学习策略
损失函数的一个自然选择是误分类点的总数。但是,这样的损失函数不是参数w,b的连续可导函数,不易优化。
损失函数的另一个选择是误分类点到超平面S的总距离,这是感知机所采用的:
误分类点xi到超平面S的距离:
感知机sign(w·x+b)学习的损失函数定义为:
其中M为误分类点的集合。该损失函数就是感知机学习的经验风险函数。
感知机学习的策略是在假设空间中选取使上述损失函数最小的模型参数 w,b,即感知机模型。
感知机学习算法
求解损失函数的最优化方法是随机梯度下降法。
原始形式
采用梯度下降法不断地极小化目标损失函数。极小化过程中不是一次使M中所有误分类点的梯度下降,而是一次随机选取一个误分类点使其梯度下降。
假设误分类点集合M是固定的,那么损失函数L(w,b)的梯度如下:
随机选取一个误分类点(xi,yi),对w,b进行更新:
式中η(0<η≤1)是步长,在统计学习中又称为学习率(learning rate)。这样,通过迭代可以期待损失函数 L(w,b) 不断减小,直到为0。
收敛性
对于线性可分数据集感知机学习算法,如果经过有限次迭代可以得到一个将训练数据集完全正确划分的分离超平面及感知机模型,那么该算法收敛。
若存在超平面可将训练数据集完全正确分开,由于对有限的 i=1,2, …,N,均有:
存在:
使得:
令 是第 k 个误分类实例之前的扩充权重向量,则第 k 个误分类实例的条件是:
w 和 b 的更新:
即:
下面推导两个不等式:
1.
由此递推可得:
2.
结合上述两个不等式可得:
于是:
其中
因此可以得出误分类的次数 k 是有上界的,经过有限次搜索可以找到将训练数据完全正确分开的分离超平面。也就是说,当训练数据集线性可分时,感知机学习算法原始形式迭代是收敛的。
感知机学习算法存在许多解,即存在很多超平面可将训练数据集完全正确分开,这些解既依赖于初值的选择,也依赖于迭代过程中误分类点的选择顺序。为了得到唯一的超平面,需要对分离超平面增加约束条件。详见第7章-支持向量机。
对偶形式
对偶形式的基本想法是,将 w 和 b 表示为实例 xi 和标记 yi 的线性组合的形式,通过求解其系数而求得 w 和 b。
假设初始值 w0, b0 均为 0,修改 n 次后,则 w,b 关于(xi,yi)的增量分别是aiyixi和aiyi,这里ai=niη
实例点(误分类点)更新次数越多,意味着它距离分离超平面越近,也就越难正确分类。换句话说,这样的实例对学习结果影响最大。
这样感知机模型则变为
如果是误分类点,即:
则:
对偶形式中训练实例仅以内积的形式出现。为了方便,可以预先将训练集中实例间的内积计算出来并以矩阵的形式存储,这个矩阵就是所谓的Gram矩阵(Gram matrix)