网易公开课,第11课
notes,http://cs229.stanford.edu/notes/cs229-notes6.pdf
和之前看到的batch learning算法不一样,batch learning一定是先用训练集进行训练,然后才进行预测
但是online learning,不必要一定有训练的过程,可以一边预测的同时一边训练
这个其实很现实,系统上线前也许很难收集到数据,并且数据也许也是在不断变化的
下面就用perceptron algorithm作为例子看看如何实现online learning的,
感知器(perception)应该可以说是最为简单的线性分类算法,
可以看到,它可以说是简化版的logistics回归,因为logistics只需要把阶跃函数换成sigmoid函数即可
同时它也是SVM的理论基础
如何实现online learning,其实也很简单,之前我们学过一个最优化算法,随机梯度下降,就很适合这个场景
因为这个算法,只需要一个样本点就可以进行优化
而这里写成这个形式,
看着更简单,其实是一样的
别看这个那么简单,但是可以证明即便是对于无限维向量x,这个算法的误差总数(即在数据序列中预测错多少个)也是有上届的,并且和序列中的样本个数或x维数都没有explicit dependence。
定理如下,更详细的解释和证明,参考在线学习(Online Learning)
本文章摘自博客园,原文发布日期: 2014-08-02