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