感知机(perceptron)是二类分类的线性分类模型,其输入为实例的特征向量,输出 为实例的类别,取+1和–1二值。感知机对应于输入空间(特征空间)中将实例划分为正 负两类的分离超平面,属于判别模型。感知机学习旨在求出将训练数据进行线性划分的分 离超平面,为此,导入基于误分类的损失函数,利用梯度下降法对损失函数进行极小化, 求得感知机模型。感知机学习算法具有简单而易于实现的优点,分为原始形式和对偶形 式。感知机预测是用学习得到的感知机模型对新的输入实例进行分类。感知机1957年由 Rosenblatt提出,是神经网络与支持向量机的基础。 本章首先介绍感知机模型;然后叙述感知机的学习策略,特别是损失函数;最后介绍 感知机学习算法,包括原始形式和对偶形式,并证明算法的收敛性。 2.1 感知机模型 定义2.1(感知机) 假设输入空间(特征空间)是x⊆R n,输出空间是 ={+1,-1}。 输入x∊x表示实例的特征向量,对应于输入空间(特征空间)的点;输出y∊ 表示实例的 类别。由输入空间到输出空间的如下函数
称为感知机。其中,w和b为感知机模型参数,w∊R n叫作权值(weight)或权值向量 (weight vector),b∊R叫作偏置(bias),w·x表示w和x的内积。sign是符号函数,即
感知机是一种线性分类模型,属于判别模型。感知机模型的假设空间是定义在特征空 间中的所有线性分类模型(linear classification model)或线性分类器(linear classifier),即 函数集合{f|f(x)=w·x+b}。 感知机有如下几何解释:线性方程
对应于特征空间R n中的一个超平面S,其中w是超平面的法向量,b是超平面的截距。这个 超平面将特征空间划分为两个部分。位于两部分的点(特征向量)分别被分为正、负两 类。因此,超平面S称为分离超平面(separating hyperplane)
感知机学习,由训练数据集(实例的特征向量及类别) 其中,xi∊x=R n,yi∊ ={+1,-1},i=1,2,…,N,求得感知机模型(2.1),即求得模型参数 w,b。感知机预测,通过学习得到的感知机模型,对于新的输入实例给出其对应的输出类 别。
定义:给定一个数据集 其中,,如果存在某个超平面S 能够将数据集的正实例点和负实例点完全正确地划分到超平面的两侧,即对所有yi=+1的 实例i,有w·xi+b>0,对所有yi=-1的实例i,有w·xi+b<0,则称数据集T为线性可分数据集 (linearly separable data set);否则,称数据集T线性不可分。
假设训练数据集是线性可分的,感知机学习的目标是求得一个能够将训练集正实例点 和负实例点完全正确分开的分离超平面。为了找出这样的超平面,即确定感知机模型参数 w,b,需要确定一个学习策略,即定义(经验)损失函数并将损失函数极小化。 损失函数的一个自然选择是误分类点的总数。但是,这样的损失函数不是参数w,b的 连续可导函数,不易优化。损失函数的另一个选择是误分类点到超平面S的总距离,这是 感知机所采用的。为此,首先写出输入空间R n中任一点x0到超平面S的距离:
这里,||w||是w的L2范数。 其次,对于误分类的数据(xi,yi)来说,
成立。因为当w·xi+b>0时,yi=-1,而当w·xi+b<0时,yi=+1。因此,误分类点xi到超平面 S的距离是
这样,假设超平面S的误分类点集合为M,那么所有误分类点到超平面S的总距离为
其中M为误分类点的集合。这个损失函数就是感知机学习的经验风险函数。 显然,损失函数L(w,b)是非负的。如果没有误分类点,损失函数值是0。而且,误分 类点越少,误分类点离超平面越近,损失函数值就越小。一个特定的样本点的损失函数: 在误分类时是参数w,b的线性函数,在正确分类时是0。因此,给定训练数据集T,损失函 数L(w,b)是w,b的连续可导函数。 感知机学习的策略是在假设空间中选取使损失函数式
最小的模型参数w,b,即 感知机模型。
表2.1 例2.1求解的迭代过程
这是在计算中误分类点先后取x1 ,x3 ,x3 ,x3 ,x1 ,x3 ,x3得到的分离超平面和感知机模型。如 果在计算中误分类点依次取x1 ,x3 ,x3 ,x3 ,x2 ,x3 ,x3 ,x3 ,x1 ,x3 ,x3,那么得到的分离超平面是 x 2(1)+x (2)-5=0。 可见,感知机学习算法由于采用不同的初值或选取不同的误分类点,解可以不同。
定理表明,误分类的次数k是有上界的,经过有限次搜索可以找到将训练数据完全正 确分开的分离超平面。也就是说,当训练数据集线性可分时,感知机学习算法原始形式迭 代是收敛的。但是例2.1说明,感知机学习算法存在许多解,这些解既依赖于初值的选 择,也依赖于迭代过程中误分类点的选择顺序。为了得到唯一的超平面,需要对分离超平 面增加约束条件。这就是第7章将要讲述的线性支持向量机的想法。当训练集线性不可分 时,感知机学习算法不收敛,迭代结果会发生震荡
对偶形式的基本想法是,将w和b表示为实例xi和标记yi的线性组合的形式,通过求解 其系数而求得w和b。不失一般性,在算法2.1中可假设初始值w0 ,b0均为0。对误分类点 (xi,yi)通过
逐步修改w,b,设修改n次,则w,b关于(xi,yi)的增量分别是aiyixi和aiyi,这里 。这 样,从学习过程不难看出,最后学习到的w,b可以分别表示为
例2.2 数据同例2.1,正样本点是x1=(3,3) T,x2=(4,3) T,负样本点是x3=(1,1) T,试用 感知机学习算法对偶形式求感知机模型。
解 按照算法2.2
最后附上 思维导图