目錄
- 簡介
-
- 離線學習
- 線上學習
-
- 線上學習算法的分類
- 線上學習算法的優化
- 對比
- 總結
- 參考文獻
簡介
機器學習領域中,可将機器學習算法分為線上學習和離線學習。需要根據資料選擇不同的線性可分和線性不可分的核函數。
離線學習
離線學習也通常稱為批學習,是指對獨立資料進行訓練,将訓練所得的模型用于預測任務中。将全部資料放入模型中進行計算,一旦出現需要變更的部分,隻能通過再訓練(retraining)的方式,這将花費更長的時間,并且将資料全部存在伺服器或者終端上非常占地方,對記憶體要求高。
正是由于這個問題,傳統的離線學習不能直接用于線上學習場景:
- 離線需要多次傳遞訓練資料,由于資料量的二次時間複雜度,導緻處理效率很低
- 離線需要分别在訓練集和驗證集上訓練和選擇,但線上學習不将訓練與選擇分離,不分割訓練資料
- 在批量學習設定中,通常假設資料是根據獨立同分布設定的,但是在線上學習設定中,對訓練資料的假設是寬松或幾乎沒有的。
離線學習的缺點:
1、 模型訓練過程低效
2、 訓練過程不易拓展于大資料場景。
3、 模型無法适應動态變化的環境
線上學習
線上學習也稱為增量學習或适應性學習,是指對一定順序下接收資料,每接收一個資料,模型會對它進行預測并對目前模型進行更新,然後處理下一個資料。這對模型的選擇是一個完全不同,更複雜的問題。需要混合假設更新和對每輪新到達示例的假設評估。換句話說,你隻能通路之前的資料,來回答目前的問題。
The main objective of online learning algorithms is to minimize the regret
線上學習算法的主要目标是使regret最小化
在網絡異常檢測中,網絡異常通常包括各種網絡故障、流量的異常表現和擁塞等,各種網絡攻擊層出不窮,資料是原資料中從未出現過的,是以要求新的線上學習方法能夠自動地偵測目前要鑒别的流資料是原來資料中存在的還是新生成的 。線上學習算法具有實作簡單、可拓展性強和算法性能優越等特點,适合用于海量資料處理。
線上學習算法的分類
根據模型是線性還是非線性模型,将線上學習算法分為兩大類,線上線性學習算法和基于核的線上學習算法。
線上線性學習算法 | 線上核學習算法 |
---|---|
感覺器算法 | 基于核的感覺器算法 |
稀疏線上學習算法 | 基于核的線上梯度下降算法 |
無 | 固定緩沖區的核線上學習算法 |
以上是針對單任務的線上學習問題,比如自然語言處理、生物基因序列以及圖檔視訊搜尋等适合使用多任務學習。多任務可利用多個任務之間的相關性避免模型欠拟合,進而提高算法的泛化能力。主要包括有:
- 基于多任務的線上學習算法
- 基于Group Lasso的線上學習算法
線上學習算法的優化
- 通過"損失函數+正則化向"的優化架構
- 還可以通過線上學習與深度學習相結合
對比
離線學習與線上學習對比的流程圖如下:
總結
線上學習與目前研究熱點深度學習有待更加深入有效的融合,線上學習的分布式實作有待進一步探索和研究,線上學習是否能與強化學習結合,有待進一步探索。
參考文獻
1.劉成昊.線上學習算法研究與應用.浙江大學博士學位論文,2017.
2.潘志松等.線上學習算法綜述,資料采集與處理,2016.
3.X.Zhang el.a survey on online kernal selection for online kernal learning,WIREs Data Mining Knowl Discov. 2018
4.機器學習中的線上學習與離線學習
5.線上學習與離線學習
6.Online Machine Learning - Introduction,overview and examples