在線學習和離線學習


在線學習和離線學習

一、簡介

  在機器學習領域,可以將學習算法分為離線學習和在線學習兩種,需要根據數據選擇不同的線性可分和線性不可分的核函數。

二、離線學習

  離線學習通常稱為批學習,是指對獨立的數據進行訓練,將訓練所得的模型用於預測任務中。將全部數據放入模型中進行計算,一旦出現需要變更的部分,就需要通過再訓練(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  在線算法和離線算法的概念

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM