Andrew Ng机器学习公开课笔记 -- Online Learning

网易公开课,第11课
notes,http://cs229.stanford.edu/notes/cs229-notes6.pdf

 

和之前看到的batch learning算法不一样,batch learning一定是先用训练集进行训练,然后才进行预测

但是online learning,不必要一定有训练的过程,可以一边预测的同时一边训练

这个其实很现实,系统上线前也许很难收集到数据,并且数据也许也是在不断变化的

下面就用perceptron algorithm作为例子看看如何实现online learning的,

感知器(perception)应该可以说是最为简单的线性分类算法,

image

image

可以看到,它可以说是简化版的logistics回归,因为logistics只需要把阶跃函数换成sigmoid函数即可
同时它也是SVM的理论基础

如何实现online learning,其实也很简单,之前我们学过一个最优化算法,随机梯度下降,就很适合这个场景
因为这个算法,只需要一个样本点就可以进行优化

image

而这里写成这个形式,

image

看着更简单,其实是一样的

别看这个那么简单,但是可以证明即便是对于无限维向量x,这个算法的误差总数(即在数据序列中预测错多少个)也是有上届的,并且和序列中的样本个数或x维数都没有explicit dependence。

定理如下,更详细的解释和证明,参考在线学习(Online Learning)

image

posted on 2014-08-02 23:19  fxjwind  阅读(2451)  评论(0编辑  收藏  举报