機器學習(深度學習)為什么需要訓練,訓練出來的模型具體又是什么?


 很多新手在初學機器學習/深度學習中,會產生這樣的疑問?為什么要訓練模型,模型是什么,如何訓練......

 本人剛開始接觸時也產生過類似地疑問,現在為大家排解這些疑問。

1、機器學習中大概有如下步驟: 

  • 確定模型----訓練模型----使用模型。
  • 模型簡單說可以理解為函數
  • 確定模型是說自己認為這些數據的特征符合哪個函數。
  • 訓練模型就是用已有的數據,通過一些方法(最優化或者其他方法)確定函數的參數,參數確定后的函數就是訓練的結果,使用模型就是把新的數據代入函數求值。

 通俗來講:

  你可以把機器想象成一個小孩子,你帶小孩去公園。公園里有很多人在遛狗。
  簡單起見,咱們先考慮二元分類問題。你告訴小孩這個動物是狗,那個也是狗。但突然一只貓跑過來,你告訴他,這個不是狗。久而久之,小孩就會產生認知模式。這個學習過程,
就叫“training”。所形成的認知模式,就是”model“。
  訓練之后。這時,再跑過來一個動物時,你問小孩,這個是狗吧?他會回答,是/否。這個就叫,predict。
  一個模型中,有很多參數。有些參數,可以通過訓練獲得,比如logistic模型中的權重。但有些參數,通過訓練無法獲得,被稱為”Hyperparameter (超參數)“,比如學習率等。這需要靠經驗,過着grid search的方法去尋找。
  上面這個例子,是有人告訴小孩,樣本的正確分類,這叫監督學習。
  還有無督管學習,比如小孩自發性對動物的相似性進行辨識和分類。

2、如何訓練模型?

  首先得定義一個損失函數,加入輸入樣本,根據前向傳播得到預測試。跟真實樣本比較,得到損失值,接着采用反向傳播,更新權值(參數),來回不斷地迭代,直到損失函數很小,准確率達到理想值即可。這時的參數就是模型需要的參數。即構建了理想的模型。

 


免責聲明!

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



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