在学习理论的最后一节我们会介绍一个与之前不同的机器学习模型。在前面的内容里我们讨论了太多批量学习的情形,即先在给定训练集上学习,将学习后的假设在另一个测试集上评估其表现。而在本节中,我们将关注在线学习这一情形,算法一边学习一边对输入进行预测。
在这种情景下,我们给学习算法一个有顺序的输入样本序列(x(1),y(1)),(x(2),y(2)),…,(x(m),y(m))。当碰到输入x(1)后,它就开始预测y(1)的值。当它结束预测后,我们就将y(1)的真实值反馈给它(它根据反馈值进行学习)。紧接着我们就将x(2),然后它继续做出预测并接收反馈,依次循环直至(x(m),y(m))。在线学习的情形中,我们对整个学习过程中算法出错的总次数感兴趣,因为它反映这种算法的效果。
我们会对感知器算法在在线学习中的犯错数给出一个上界。为了使后面的推到更简单,我们定义输出的类标签y∈{−1,1},权重θ∈Rn+1,通过下列公式进行预测:
且:
当给定一个训练样本(x,y)后,感知器学习法这样更新权重:如果hθ(x)=y,不做任何改变;否则:
下面我们给出关于错误数上界的定理,需要注意的是,经此定理可知错误数的上界和样本数m以及输入维数
定理(Block, 1962,and Novikoff, 1962) 对于给定训练集序列(x(1),y(1)),(x(2),y(2)),…,(x(m),y(m)),若输入的二范数满足∥x(i)∥≤D对于所有i成立,且存在单位向量u(∥u∥2=1)使得y(i)⋅(uTx(i))≥γ对所有样本均成立。那么感知器算法在这一序列中犯错的总数不会超过(D/γ)2。
证明如下,若θ(k)是算法第k次犯错时的权重值。那么θ(1)=0⃗ (权重是从零开始的)且第k次犯错时的样本为(x(i),y(i)),则有:
另外由感知器学习法的性质可知θ(k+1)=θ(k)+y(i)x(i),我们可推得:
依次递推下去,可得:
考察θ(k+1)的2范数有:
其中第三步的小于推导使用了方程(2),我们将上式进一步递推则有:
将不等式(3)和(5)结合起来可推得:
在第二步不等式的推导中使用了单位向量的性质(ϕ表示z和u之间的夹角,有zTu=∥z∥⋅∥u∥cosϕ≤∥z∥⋅∥u∥)。最后可推得我们的结论k≤(D/γ)2。
本文探讨了在线学习的概念及其实现方式,并深入分析了感知器算法在在线学习中的应用。给出了感知器算法错误数的一个上界,并通过数学推导详细解释了这个上界是如何得出的。

1373

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



