本文主要介绍了两块内容:(1)感知机模型;(2)一种感知机优化算法。

感知机(Perceptron)模型介绍

1h(x)=sign((i=1nwixi)threshold)公式1:h(x)=sign((\sum_{i=1}^{n}w_ix_i)-threshold)
其中(x1,x2,...,xn)(x_1,x_2,...,x_n)代表nn维特征,(w1,w2,...,wn,threshold)(w_1,w_2,...,w_n, threshold)代表感知机模型的参数。
为了简化计算,我们将阈值thresholdthreshold当做w0w_0 ,引入一个x0=1x_0=-1的特征与w0w_0相乘,这样h(x)h(x)公式就可做如下变换:
2h(x)=sign((i=1nwixi)threshold)=sign(i=0nwixi)=sign(wx)公式2:h(x)=sign((\sum_{i=1}^{n}w_ix_i)-threshold) =sign(\sum_{i=0}^{n}w_ix_i)=sign(\boldsymbol w^\top\boldsymbol x)

几何解释

(i=1nwixi)threshold=0(\sum_{i=1}^{n}w_ix_i)-threshold=0是一个超平面,其中(w1,w2,...,wn)(w_1,w_2,...,w_n)是该超平面的法向量,threshold-threshold是超平面的截距。

优化算法(Perceptron Learning Algorithm, PLA)

理想情况下,我们的目标是找到一个超平面将空间中的正负类完全分开。
我们采取的优化策略思想为逐点修正。首先在平面上随意取一条直线,看看哪些点分类错误。然后开始对第一个错误点就行修正,即变换直线的位置,使这个错误点变成分类正确的点。接着,再对第二个、第三个等所有的错误分类点就行直线纠正,直到所有的点都完全分类正确了,就得到了最好的直线。
具体更新法则如下图:
机器学习基石——感知机
这个更新法则其实可以这么理解:
假设超平面为:wx+b=0\boldsymbol w^\top \boldsymbol x+b=0
首先空间中任意一个xrx_r点到超平面s的距离:wxr+b/w|\boldsymbol w^\top \boldsymbol x_r+b|/||\boldsymbol w||
误分类点xix_i到s的距离:yi(wxi+b)/w-y_i*(\boldsymbol w^\top \boldsymbol x_i+b)/||\boldsymbol w||
那么感知机的损失函数为:L(w,b)=yi(wxi+b)/wL(w, b) = -\sum y_i(\boldsymbol w^\top \boldsymbol x_i+b)/||\boldsymbol w||,其中(xi,yi)(x_i,y_i)是误分类点。
不考虑系数w||\boldsymbol w||可得到损失函数:L(w,b)=yi(wxi+b)L(w, b) = -\sum y_i(\boldsymbol w^\top \boldsymbol x_i+b),其中(xi,yi)(x_i,y_i)是误分类点。
(为什么可以忽略系数w||\boldsymbol w||:因为感知机只要正确分类,loss即可为0,加不加w||\boldsymbol w||对最终结果没有影响)
利用梯度下降法更新参数:
首先求损失函数对w\boldsymbol wbb的梯度:
L(w,b)/w=yixi\partial L(\boldsymbol w,b)/ \partial \boldsymbol w= -\sum y_ix_i
L(w,b)/b=yi\partial L(\boldsymbol w,b)/ \partial b= -\sum y_i
更新w\boldsymbol wbb
w=w+ηyixiw = w + η\sum y_ix_i
b=b+ηyib = b + η\sum y_i
这个与上述更新法则已经很接近了
那么实际的更新法则比上面讲的要笨一点,它没有统揽全局的本事,是通过一个一个看错误数据来优化参数的。
1)选取初始参数w0w_0,b0b_0
2)从误分类点中随机选取一组:(xi,yi)(x_i,y_i)
3)更新w=w+ηyixiw = w + ηy_ix_ib=b+ηyib = b + ηy_i
4)再挑选误分类点,再更新,直到没有误分类点。

非线性可分情况

首先初始化权重,并计算出错分点的个数。
然后对错误点进行修正,更新参数,更新方法与线性可分情况下的一致,并计算更新参数后模型的错分点个数,与之前错分点个数比较,取错分点个数较小的参数。
之后,再经过n次迭代,不断比较当前错分点个数与之前最少的错分点个数,选择错分点较小的参数值保存。
直到迭代次数完成后,选取错分点个数最少的参数。

理想情况感知机收敛证明

机器学习基石——感知机
机器学习基石——感知机
机器学习基石——感知机
以上可以得出随着T变大,wf\boldsymbol w_f与模型参数向量内积更大;并且wf\boldsymbol w_f与模型参数向量夹角更小;说明模型参数向量与wf\boldsymbol w_f越来越接近。
而且,PLA最终会停下来(因为T有上界),实现对线性可分的数据集完全分类。

相关文章: