網易公開課,第11課
和之前看到的batch learning算法不一樣,batch learning一定是先用訓練集進行訓練,然後才進行預測
但是online learning,不必要一定有訓練的過程,可以一邊預測的同時一邊訓練
這個其實很現實,系統上線前也許很難收集到資料,并且資料也許也是在不斷變化的
下面就用perceptron algorithm作為例子看看如何實作online learning的,
感覺器(perception)應該可以說是最為簡單的線性分類算法,
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5COzUzN1UTNwIDOxMjMyAzLchDM0EDMy8CXzUzNyEzMvw1ZvxmYvwVbvNmLn9GbiRXauNmLzV2Zh1Wavw1LcpDc0RHaiojIsJye.png)
可以看到,它可以說是簡化版的logistics回歸,因為logistics隻需要把階躍函數換成sigmoid函數即可
同時它也是svm的理論基礎
如何實作online learning,其實也很簡單,之前我們學過一個最優化算法,随機梯度下降,就很适合這個場景
因為這個算法,隻需要一個樣本點就可以進行優化
而這裡寫成這個形式,
看着更簡單,其實是一樣的
别看這個那麼簡單,但是可以證明即便是對于無限維向量x,這個算法的誤差總數(即在資料序列中預測錯多少個)也是有上屆的,并且和序列中的樣本個數或x維數都沒有explicit dependence。
本文章摘自部落格園,原文釋出日期: 2014-08-02