线性分类模型--感知机(perceptron)

线性分类模型--感知机(perceptron)

1. 引言-分类问题

    分类是监督学习的一个核心问题,在监督学习中,当输出变量Y取有限个离散值时,预测问题便成为分类问题,基本概念可以参考《机器学习方法概论1》。监督学习从数据中学习一个分类模型或分类决策函数,称为分类器(classifier)。分类器对新的输入进行输出的预测(prediction),称为分类(classification),可能的输出称为(class),分类的类别为多个时,称为多类分类问题,主要研究的都为二分类问题[1]。许多机器学习方法都是可以用来解分类问题,比如:感知机、朴素贝叶斯、支持向量机、决策树、逻辑回归、AdaBoost、神经网络等等。下面就着重介绍最简单的感知机是怎么来解决二分类问题的,要知道,神经网络和支持向量机都是在感知机上扩展的,或者说感知机是神经网络和支持向量机的基础,所以把感知机弄清楚对于其它算法的理解还是挺有必要的。注意:感知机是一种线性分类模型,就是说数据必须是线性可分的(虽然实际中很难达到要求,但是可以通过一些方法将数据集变为线性可分),属于判别模型( Discriminative Model )对于判别模型与生成模型的概念可以参考《生成模型(Generative)与判别模型(Discriminative)》。

2. 感知机 

2.1 感知机的定义

   假设输入X在n维特征空间中,输出Y的取值为{ +1,1 },假设小写的x表示一个实例的特征向量,对应于输入特征空间中的点,函数值f(x)表示输出实例的类别,把由输入特征空间到输出空间的如下函数f(x)称为感知机:
               
其中w和b为感知机的参数,由于x是n维的,w.x是内积,w当然也是n维的,和输入特征空间的维数相对应,把w经常称为权值向量(weight vector)或权值(weight),w.x是内积得到的是一个实数值,b当然就是一个实数值了,不然向量和一个数怎么相加呢,通常把b叫作偏置(bias)。sign是符号函数,对应于两个类别值+1,1。
                      

2.2 感知机的几何解释

   感知机的几何解释就是一个n维的线性方程

                                   
对应于n维特征空间中的一个超平面(2维的空间中上述线性方程就是一条直线,3维的空间中就是一个平面),其中w是超平面的法向量b是超平面的截距这里对于截距的理解我觉得只是一个形象的说法,并不能对应于直线方程或者平面方程中看待的截距值一样,我们知道截距是一个实数值,非距离,有正有负,直线的截距也有纵截距和横截距之分,把x变为一个2维的,线性方程就是一条直线,得出的b肯定不是横截距值或者纵截距值,截距值应该还跟w的值有关即x前的系数值有关,这里不知道大家是怎么理解的。至于w是法向量,这个不难理解,因为我们知道平面标准方程中的三个未知数的系数所组成的向量就是法向量 设向量(A,B,C)是一个过点(x0,y0,z0)的一个法向量,则它与平面上的所有向量均垂直,平面上的向量均可表示为:(x-x0,y-y0,z-z0),因为向量(A,B,C)与向量(x-x0,y-y0,z-z0)垂直,所以其数量积为0,即:A(x-x0)+B(y-y0)+C(z-z0)=0整理得:Ax+By+Cz+D=0, 可见,标准方程中,三个未知数的系数所组成的向量(A,B,C),就是平面的一个法向量。

2.3 感知机定义的目标函数(经验损失函数)

            假设训练数据集是线性可分的,感知机学习的目标是能够求得一个能够将训练集正实例点和负实例点完全正确分开的分离超平面,也就是能够求解出正确的w和b的值。我们知道在监督学习问题中是将预测值f(x)真实值Y的不一致或者错误程度定义了一个损失函数,通过最小化损失函数求解f(x)的参数,参考《机器学习方法概论1》。这里对于二分类的感知机而言,我们从它的几何意义去理解,而且我觉得只要大家抓住这个几何意义理解后面的内容会非常容易。感知机的损失函数就是误分类的点到超平面的总距离
首先,我们知道对于线性方程(2.3)而言,n维输入特征空间中的一点x0到超平面的距离为:
                                                                                                                     

对于误分类的样本来说:
假设有M个误分类点,因此误分类点到超平面的距离总和是:
不考虑前面的求w的L2范数值 ,就得到了二分类感知机的损失函数
显然,误分类点越少,且误分类点离超平面越近,损失函数值就越小,那么怎样求解使这个函数最小值的w和b呢。

2.4 求解使损失函数最小的w和b

      上述的求解使损失函数最小的w和b就是一个最优化问题,求解的方法就是随机梯度下降法(stochastic gradient descent)。梯度下降法要是讲的话也有很多的内容,详见《梯度下降法求解感知机模型》。


[1] 李航,《统计学习方法》,第1章,1.8节

你可能感兴趣的:(机器学习)