感知机学习旨在求出将训练数据进行线性划分的分离超平面,因此导入误分类的损失函数,利用梯度下降法对损失函数进行极小化,求得感知机模型。
一、感知机模型
,其中w和b是感知机的参数,sign是符号函数:
即对应一个分离超平面S,完全线性可分的数据集会被S分为2类。
二、感知机的学习策略
损失函数:一个自然选择是误分类点的个数,但是其不是参数w,b的连续可导函数,不易优化。
另一种:误分类点到超平面S的总距离。空点任意一点到S的公式:,||w||是L2范数。
于是,感知机的损失函数:。
三、感知机的学习算法
使用随机梯度下降法最优化损失函数。
1.感知机学习算法的原始形式:
输入:训练数据集,学习率。
输出:w,b和感知机模型
步骤:1.选取初值
2.在训练集中选取数据
3.如果:
其中后面的变化值均是根据这一误分类点的损失函数对w和b求导而来
4.转至(2),直至训练集没有误分类点。
2.感知机学习算法的对偶形式
输入:训练数据集,学习率。
输出:,b和此时的感知机模型:,其中
对这个对偶形式感知机的直观理解:j遍历数据集所有的x,如果有误分类点,就对w和b进行一次参数梯度更新: ,某个点一共进行了次,才能使得它不会被误分类,然后w的累积变化值就是。并且初始值为0,其变化值就是最终值,b同理。
步骤:1.
2.在训练集中选取数据
3.如果,则
4.转至2,直到没有误分类数据。
注:对梯度变化的直观理解:使超平面S向使得xi能够正确分类的方向移动一个距离,使其能够趋向正确分类。
对的直观理解:对于误分类点的移动次数。
感知机由于采用不同的初值或选取不同的误分类点,得到的分离超平面可能不同。