本文主要参考李航《统计学习方法》第二章感知机。
感知机(perceptron)是一个二分类的线性分类模型,输入为实例的特征向量,输出为实例的类别,取值为+1或-1。感知机模型是神经网络和SVM的基础。
注:下面用到的xi为行向量, ω为列向量
原始感知机
感知机的模型为:
其中,ω称为权值(weight),b称为偏置(bias)。
损失函数为:
对于误分类样本点(xi, yi),损失函数为:L(ω,b ) = -yi ( xi · ω + b ),对其求ω和b的导数为:
故,只要找出误分类点(xi , yi)通过 ω += yi · xiT和 b += yi,即可实现损失函数的减小。
算法的思路为:
对权重ω,偏置b进行初始化
通过循环语句从训练样本中找出误分类点,若不存在误分类点,模型训练完成
通过误分类点更新 ω 和 b,跳转到第2步
以《统计学习方法》上的一个例子进行编码:对训练集( (3,3), 1),( (4,3), 1),( (1,1), 1) 训练感知机。
(未完待续)
参考链接:https://www.jianshu.com/p/674516c73d6a