感知机(Peceptron)是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和−1二值。感知机将对应于输入空间(特征空间)中将实例划分为正负的分离超平面,属于判别模型。
1. 定义
假设输入空间(特征空间)是X⊆Rn,输出空间是Y={+1,−1}。输入x∈X表示实例的特征向量,对应于输入空间(特征空间)的点;输出y∈Y表示实例的类别。由输入空间到输出空间的如下函数:
f(x)=sign(w⋅x+b) 称为感知机。其中,w和b为感知模型参数,w∈Rn叫做权值(weight)或权值向量(weight vector),b∈R 叫做偏置,w⋅x表示向量w和向量x的内积。sign是符号函数,即
sign(x)={+1−1if x>=0if x<0 感知机是一种线性分类模型,属于判别模型。
感知模型的假设空间是定义在特征空间中的所有线性分类模型(linear classification model)或线性分类器(linear classifier),即函数集合{f∣f(x)=w⋅x+b}。
2.几何解释
线性方程w⋅x+b=0对应于特征空间Rn中的一个超平面S,其中w是超平面的法向量,b是超平面的截距。这个超平面将特征空间划分为两部分。位于两部分的点(特征向量)分别被分为正负两类,因此,超平面S称为分离超平面(separating hyperplane),如图所示。
其中超平面上的任意两个向量,比如为x(i),x(j)满足方程(这里用上标表示不同的向量,下标用来表示向量中的分量,跟原书不同)
w⋅x(i)=−b
w⋅x(j)=−b
则w⋅(x(i)−x(j))=0,也就是超平面上任意两个向量相减构成的向量与w的内积为0,则互相垂直。对于超平面来讲w的方向并不重要,只需要垂直于超平面即可。
满足w⋅x+b>0的的向量x位于超平面跟w的方向一致的一面,满足w⋅x+b<0的向量x位于超平面跟w方向相反的一面。因为取超平面上任意一个向量假设为x(1),则超平面外的任何一向量x(0)满足w⋅(x(0)−x(1))>0,则说明这两向量相减构成的向量跟w的夹角小于90度,反之小于0,则夹角大于90度。
超平面外的任意一个点x(0)到超平面S的距离为
∣∣w∣∣∣w⋅x(0)+b∣ 其中∣∣w∣∣是w的L2范数,也就是欧式距离∣∣w∣∣=w12+w22+...+wn2.
3. 感知机的学习策略
为了确定感知机模型参数w和b,需要确定一个学习策略,即定义(经验 )损失函数并将损失函数最小化。
损失函数的一个自然选择是误分类点的总数,但是这样的损失函数不是参数w和b的连续可导函数,不易优化。另外一种选择是所有误分类点到超平面的总距离。其次,对于误分类点的数据(x(i),y(i))来说,满足−y(i)(w⋅x(i)+b)>0,因为当w⋅x(i)+b>0时,y(i)=−1,而当−y(i)(w⋅x(i)+b)<0时,y(i)=1。因此误分类点x(i)到超平面S的距离是
−y(i)∣∣w∣∣w⋅x(i)+b 这样,假设所有超平面S的误分类点结合为M,那么所有误分类点到超平面S的总距离为
−∣∣w∣∣1x(i)∈M∑y(i)(w⋅x(i)i+b) 不考虑∣∣w∣∣1,则我们得到感知机的损失函数:−x(i)∈M∑y(i)(w⋅x(i)+b)。(这里个人理解为任意一个超平面的法向量w都可以经过缩放成为单位向量)
给定训练数据集合T={(x(1),y(1)),(x(2),y(2)),...,(x(m),y(m))},其中x(i)∈X=Rn,y(i)∈Y={+1,−1},i=1,2,...,m。感知学习机sign(w⋅x+b)的损失函数定义为
L(w,b)=−x(i)∈M∑y(i)(w⋅x(i)+b) 这个损失函数就是感知学习机的经验风险函数。它是w,b的连续可导函数。显然它是非负函数。如果没有误分类点,则损失函数为0,而且误分类点越少,误分类点离超平面越近,损失函数越小。
参考文献:
统计学习方法,李航
http://blog.csdn.net/wangxin1982314/article/details/73529499