一、感知机适用问题以及它的输入,输出,求解方法
(1)感知机(perceptron)适用于二类分类问题(该分类问题是线性可分问题)
(2)感知机模型是线性分类模型
(3)感知机的几何解释,感知机对应的是一个超平面
(4)输入:实例的特征向量
(5)输出:实例的类别,取+1和-1二值
(6)求解方法(有监督学习):给定N个已知分类类别的实例;设置参数初始值,在损失函数上应用随机梯度下降算法,迭代k(有限)次更新参数;求得最终的参数。
(7)损失函数:
自然选择——误分类的实例数。该损失函数中不含有参数w,b,也就不可能是参数w,b的连续可导函数,更新参数w,b困难。
另一种选择——误分类点到超平面(由感知机对应)的总距离。该损失函数是w,b的连续可导函数,可用随机梯度下降法更新参数w,b。
为什么不考虑 ?
感知机的目的是找到一个可以将数据集完全正确分开的分离超平面,找到一个就可以(对于不同的参数初始化以及不同的选择的实例顺序,得到的结果会不同),感知机不要求找到最好的那个解。
我们再来看下完整的损失函数表达式,在随机梯度下降优化算法中,判断一个实例是否被当前的感知机错误分类,需要看的是损失函数是否<=0,如果是,则更新参数w,b。
如果不考虑 ,(1)并不会影响查看一个实例是否被错误分类的判断条件,随机梯度下降算法可以顺利进行。(2)在更新参数w的时候,会更加方便。(3)不考虑时,经过感知机算法的收敛性证明可以证明算法收敛可行。只是可能和使用作为损失函数时求得的解不一样,但是依然可以达到感知机的目的。
二、感知机求解的原始形式和对偶形式
(1)原始形式
感知机学习的基本算法
(2)对偶形式
感知机学习的另一种算法
三、感知机算法的收敛证明
也就是证明在有限次的迭代中,可以将线性可分的数据集完全分开,不会无限制的迭代。
也就是证明将线性可分的数据集完全分开所进行的迭代次数k有一个上界。
如果能找出这个上界存在,即可证明算法的收敛性。
证明如下:(码公式真的是hin辛苦啊~~~~~)