前言
感知机算法是一个比较古老的机器学习算法了,是Rosenblatt在1957年提出的,是神经网络和支持向量机的基础。感知机算法只能解决线性分类模型。
算法原理
1. 感知机算法的原始形式
感知机模型可以表示为:f(x)=sign(w*x+b)
其中w为权值,b为偏置,w * x表示内积,sign为符号函数。然后我们需要 建立误分类的损失函数,误分类点到超平面的总距离,损失函数是连续可导函数。损失函数表示为:
感知机算法的目标就是要最小化这个损失函数,使得误分类点个数为0,这也要求数据集是线性可分的。感知机算法的算法过程如下图所示:
这个算法过程中的梯度更新比较难理解,需要推导一下,过程如下(从南瓜书截图):
然后从李航的《统计学习方法》中可以知道,如果数据集是线性可分的,那么感知算法一定会收敛,并且误分类次数是有上界的,有兴趣可以取看一下这个不等式推导。
2.感知机算法的对偶形式

代码实现
这里拿出iri


2738

被折叠的 条评论
为什么被折叠?



