總體思路:
-
各種類型的機器學習分類
- 按照輸出空間類型分Y
- 按照數據標記類型分yn
- 按照不同目標函數類型分f
- 按照不同的輸入空間類型分X
按照輸出空間類型Y,可以分為二元分類,多元分類,回歸分析以及結構化學習等,這個好理解,離散的是分類,連續的是回歸,到是結構化的學習接觸的相對較少,以后有空可以關注下。
按照數據標記分可以分為:
- 監督;
- 非監督;
- 半監督;
- 增強學習;
下面這張ppt很好的總結了這點:
這是圍繞標記yn的類型進行分類的,
監督和非監督很好理解,半監督和增強其實應用更加普遍,數據的標記大部分時候是需要人來做的,這個條件有時候很難滿足(經費不足),那么半監督就有比較好的應用了。用人的學習過程來理解,人按照課本去學習,是監督,如果沒有課本,按照自己發現的規律去解決問題,則是非監督,因為此,非監督學習的應用相對有限。有時候學習的事物特征到標記結果不是很好描述,例如搜索引擎的廣告系統,針對不同用戶信息以及query放什么廣告,放在什么位置,這需要增強學習去不斷的強化,讓用戶通過點擊率反饋機器學習系統使得其不斷優化,因為我們自己定義數據標記是很困難的,又例如機器學習開車。因此增強學習的關鍵在於反饋的存在。
按照不同的目標函數類型f,可以分為Batch,online以及active,課程中終於和人的學習過程做類比,其實和人一類比就很好理解了:
這三種學習類型分別可以類比為:填鴨式,老師教學以及主動問問題。
按照輸入X分的話,主要是三種:
這里需要提到的是,把原始輸入X轉化為可以真正作為機器學習的輸入的training examples的過程稱為 feature engineering,也就是從Raw data --> concrete data的過程。
回顧下我們在哪?
在回答何時可以用機器學習的時候,我確實需要知道機器學習有什么類型,其實這些類型正好是圍繞最后這張圖而來的,確定這些類型就是逐個確定機器學習算法各個要素應該選用哪種方法的過程,只有當每一個都確定了,我們才能知道這個問題是否可以用機器學習來解決(見下圖1,2,3,4):
總結:
目前用的最多的分類是按照yn去分,課程給了個詳細的分類,覺得很不錯,有了全局觀,后面就好易於理解了。
參考資料: