在線學習和離線學習
一、簡介
在機器學習領域,可以將學習算法分為離線學習和在線學習兩種,需要根據數據選擇不同的線性可分和線性不可分的核函數。
二、離線學習
離線學習通常稱為批學習,是指對獨立的數據進行訓練,將訓練所得的模型用於預測任務中。將全部數據放入模型中進行計算,一旦出現需要變更的部分,就需要通過再訓練(retraining)的方式,如此一來將花費更長的時間,並且將全部數據全部存在服務器上非常占地方,對內存要求很高。離線學習的目標是根據訓練樣本構造一個分類器,使得真正訓練的錯誤最小化。
離線學習存在的問題:
1、 離線學習需要多次傳遞訓練數據,由於數據量的二次屍檢復雜度,導致處理效率太低;
2、離線學習需要分別在訓練集和驗證集上訓練和選擇,但在線學習不將訓練與選擇分離,不分割訓練數據;
3、在批量學習設置中,通常假設數據是根據獨立同分布設置的,但是在在線學習設置中,對訓練數據的假設是寬松的或幾乎沒有的。
離線學習優點:簡單
解決方案:定時重新批量學習,來適應環境的整體變換。
三、在線學習
在線學習也成為增量學習或適應性學習,是指對一定順序下接收數據,每接收一個數據模型就會對它進行預測並對當前模型進行更新,然后處理下一個數據。這對模型的選擇是一個完全不同的,更復雜的問題,需要混合假設更新和對每輪新到達示例的假設評估。換言之,只能訪問之前的數據來回答當前的問題。
在在線學習算法中,我們不假設訓練數據來自於某個概率分布或者隨機過程。當有個訓練實例x過來時,利用分類器對其進行分類。假設分類器輸出的類別標簽為l。那么當l不是實例x真正的類別標簽,也即分類出錯時,會產生一個罰值。分類器根據實例x的真正的類別標簽以及罰值對分類器參數進行相應地調整,以更好地預測新的實例。目標是,在整個預測過程中,實例的罰值和盡可能小。
在下算法對數據的要求更加寬松,因此是更實用的算法。同時,它也是更實用的訓練算法。例如,當我們區分一個郵件是否是緊急郵件時,在線算法顯得更加合適。
在線算法比離線算法難度更大。事實上,一個好的在線算法可以很容易轉換成一個同樣好的離線算法,反之則不然。最后還需要指出的是,在線算法有時候在設計和分析上比離線算法更加簡潔明了。
在線學習:
優點:及時反映新的數據環境變換
問題:新的數據會帶來不好的變化
解決方案:需要加強對數據的監控,比如異常檢測。
適用范圍:數據巨大、無法批量學習的環境。
致謝:
1、https://blog.csdn.net/weixin_42267615/article/details/102973252 在線學習和離線學習(詳細)
2、https://blog.csdn.net/hedan2013/article/details/78011600 在線學習和離線學習(概括)
3、https://blog.csdn.net/yushiyin1314/article/details/105602285 離線訓練和在線訓練模式
4、https://www.cnblogs.com/zhangkanghui/p/11241807.html 機器學習的經典算法與應用
5、https://www.cnblogs.com/daiyl0320/articles/3344796.html 在線算法和離線算法的概念