感知机(perceptron)是二分类的线性分类模型,属于判别模型
2.1 感知机模型
f(x)=sign(wx+b)
sign是符号函数
感知机的解释:线性方程 wx + b = 0 对应于特征向量
Rn
中的一个超平面,w(法向量) 和 b(截距) 这些参数确定这个超平面——分离超平面,这个超平面将特征空间划分为两个部分。
2.2 感知机学习的策略
2.2.1 数据集线性可分性(前提)
2.2.2 学习策略
感知机采用的损失函数是误分类点到超平面的总距离。
d=1||w|||wx0+b|
对于误分类点
−yi(wi+b)>0
误分类点到超平面的距离是
−1||w||yi(wi+b)
所有误分类点到超平面距离
−1||w||∑xi∈Myi(wi+b)
不考虑
−1||w||
,感知机学习的损失函数为
L(w,b)=−∑xi∈Myi(wixi+b)
2.3 感知机学习算法(原始形式和对偶形式)
2.3.1 原始形式
对损失函数进行最优化
minL(w,b)=−∑xi∈Myi(wixi+b)
使用随机梯度下降
∇wL(w,b)=−∑xi∈Myixi
∇bL(w,b)=−∑xi∈Myi
参数更新
w←w+ηyixi
b←b+ηyi
η
为学习率。
2.3.2 对偶形式
实际上,可以从原始形式看出,参数更新的过程就是对
wb
修改的过程,设需要修改
n
次,则
wb
的增量分别为
aiyixi
和
aiyi
,这里
ai=niηi
即
w=w+∑i=1Naiyixi
b=b+∑i=1Naiyi
对偶算法的过程:
对每个数据实例
(xi,yi)
,如果
yi(∑Nj=1ajyjxj⋅xi+b)≤0
ai←ai+η
b←b+ηyi
其中
xj⋅xi
,可以预先计算用Gram矩阵存储,也可以使用核方法代替,使之成为高维可分的核感知机。