- 前言
在之前,先后结合视频与讲义对吴恩达老师斯坦福CS229的机器学习内容进行了回顾,梳理了一遍觉得收获颇丰。接下来结合李航老师的统计学习方法一书,对于书中算法进行学习,加深自己的理解。
统计学习方法一书,主要对于比较常用且经典的监督学习算法进行了介绍。在统计学习方法的第一章中,介绍了一些基础知识,虽然没有在这里写出来,但是仍然很有阅读的价值,这些内容对于更好的理解学习的流程有着不小的帮助。
接下来从书中的第二章--感知机(perceptron)出发,和之前相仿,记下学习的笔记与自己的思考。注意在此书中的符号记法与之前存在一些出入,应结合具体场景理解符号的正确意义。
目录
1 背景与模型
感知机算法1957年由Rosenblatt提出,是神经网络算法与支持向量机的基础,因此在接下来会看到一些相似的地方。感知机作为解决二分类问题而被提出。感知机的思想在于,首先解决的二分类问题的数据集线性可分,感知机在于寻找到一个线性的超平面C,将样本集进行分割,使得位于样本集两侧的样本均属于同一类别,即不存在着错分的情况。
在样本集线性可分的前提下,假设输入空间 ,输出空间 ,即正样本为1,负样本为-1。那么可构建感知机模型如下所示:
其中,有
因此,有上述模型可得, 即为感知机需要寻找的超平面C,而 则为决策依据:位于超平面或之上的样本为正样本,反之即为负样本。由模型出发,不难得到以下结论:对于任意样本和其标记 ,若将其正确分类,可得 ;若错误分类,则 ,即 (确保理解,这在接下来会用到)。
有了模型,接下来便是定义损失函数了。一个明显的思路便是利用分错的比例作为损失,但是这样的话会使得权重w与偏置b的更新不可导。因此在感知机里面采用分错的样本到分割的超平面的距离来建立损失。对于样本空间任意一点 ,其到分割超平面的距离为:
其中, 表示w的L2范数。因此对于每一个分类错误的样本 ,注意这里下标 i 表示第 i 个样本,这与之前的笔记中的表述有一些区别。其与分割超平面的距离为:
假设 M 表示分类错误的样本集合,那么成本函数可由下定义:
有了模型与成本函数,接下来便是采取什么策略进行训练,从而得到w与b的值了。在感知机中,采用随机梯度下降(SGD)的方式进行训练。 当然批梯度下降也是可以的,只不过速度比较慢而已。设学习率为 ,则每次训练更新形式如下:
当迭代收敛后,如下图所示,可以寻找到一个决策面将正负样本分开。在统计学习方法中,符号表示与我们之前讲义中的表示有一些差别,要注意差别。例如下图中的 表示的则是特征空间的第1个维度与第2个维度。
可以发现,感知机作为经典且基础的算法,想比较而言并没有那么复杂。但是,由上图所示(、 为正样本;为负样本),我们可以发现当一组样本集合是线性可分时,其实超平面的选取可以有无穷多个,也就是说感知机得到的超平面是不稳定的,当选取不同的初始条件以及参数时(学习率等),得到的超平面的结果是不一样的。
2 算法的收敛性
在第一节中提到,为了使权重w和偏置b的求解可行,感知机的损失函数由分类错误的样本距离分割平面的距离来定义。若样本集线性可分,那么由感知机算法可得到最后的成本函数应该为0。那么怎么保证能够在有限次数的迭代过程使算法收敛呢?接下来将对之进行证明,即证明对于线性可分的集合,感知机能够在有限次数迭代下收敛。为了叙述方便,将偏置b并入权重w,记作 ,同样也将样本向量进行扩充 。
由此,先证明不等式(1)。
存在满足条件 的超平面 将训练集完全正确分开,且存在 ,对于所有的样本
- 证明:
由于样本集线性可分,所有当然存在一个超平面 将其样本正确分离,同时,我们可以调整 ,从而使得。又因为样本被正确分类,对于每个样本,由上一节的结论可得:
因此当然存在
使得
在不等式(1)的基础上,证明不等式(2),即证明在有限此迭代下,感知机算法使迭代收敛。
设 ,k为迭代次数,则存在以下不等式:
- 证明:
由权重w和偏置b的更新公式:
可得:
接下来,证明两个不等式(2.1)与(2.2)。
- 不等式(2.1):
不难得到:
由上式递推,得到不等式(2.1):
- 不等式(2.2)
将 展开,递推不难得到以下式子:
由此,不等式(2.2)得证。
结合不等式(2.1)与不等式(2.2),可得:
即
由此不等式(2)得证。因此可以得出结论,在样本集线性可分的基础之上,在迭代有限次数下,感知机算法能够通过迭代的方式得到正确分割样本集的超平面。
3 对偶形式
最后,介绍感知机算法的对偶形式。对偶形式的基本想法是,将权重w和偏置b表示为x和y的线性组合的形式,通过求解其系数从而达到求解w和b的目的。
对于每一个误分类的样本点 ,可以通过以下方式在每次迭代中进行w和b的更新:
假设总共修改n次,设w和b每次关于误分类的样本点 的修改增量分别为 和 ,这里(即表示每个样本在整个迭代工程中的修改次数, 为学习率)。那么归结到整个的学习过程,最后得到的w和b可如下表示:
因此,就将对于w和b的求解转化为对于 的求解了。
4 小结
感知机算法作为一个基础且经典的算法,为神经网络的建立和支持向量机都提供了基础。在应用感知机算法时应注意,其应用范围为线性可分的二分类情况。理解感知机算法为接下来其他算法的学习提供了基础。