機器學習總結 (機器學習實踐筆記)

weixin_34185560發表於2016-08-20

1.1:機器學習方法的類別


  1. 有監督學習
    有監督學習是機器學習中最常見的型別。它本質上是一種函式逼近。我們試圖將資料點對映為一個模糊函式。通過優化,我們希望依據訓練資料擬合出一個與未來資料取得最佳逼近效果的函式。該類方法之所以成為“有監督方法”,是因為它們需要接收一個訓練集或學習集
  2. 無監督學習
    無監督學習只分析資料,而不向某個Y對映。該類方法之所以稱為“無監督方法”,是因為它們並不知道輸出結果為何物,而是需要自己提供。
  3. 強化學習
    強化學習與有監督學習相似,但會對每一步生成一個“回報”。例如,好比一隻在迷宮中尋找乳酪的老鼠,它希望找到乳酪,但絕大多數時候它不會得到任何獎勵,除非最終找到乳酪
2422746-b376f5102ceaabf9.png
1.1

1.2:機器學習演算法矩陣


  • KNN
    有監督學習-基於例項的-一般說來,KNN適合度量基於距離的逼近;易受維數災難的影響-適於求解基於距離的問題

  • 樸素貝葉斯
    有監督學習-概率的-適用於那些輸入相互獨立的問題-適用於那些各類概率值為正的問題

  • SVM
    有監督學習-決策面-適用於兩類分類中具有明確界限的問題-適用於兩類分類問題

  • 神經網路
    有監督學習-非線性函式逼近-幾乎沒有約束偏置-適合二元輸入問題

  • (核)嶺迴歸
    有監督學習-迴歸-對所能解決的問題具有很低的約束偏置-適合用於連續變數

  • 隱馬爾科夫模型
    有監督/無監督-無後效性-適用於那些符合馬爾科夫假設的系統資訊-適用於時間序列資料和無記憶的資訊

  • 聚類
    無監督-聚類-無限制-適用於給定某種形式的距離(歐氏距離、馬氏距離或其他距離)時,資料本身具有分組形式

  • 過濾
    無監督-特徵變換-無限制-適用於資料中有大量變數需要過濾的場合

2422746-f5e7aa022ababb1c.png
1.2

1.3:利用上表可明確如何解決一個給定問題


例如,對於確定某人居住的社群這樣的問題,KNN便是一個很好的選擇,而樸素貝葉斯分類模型則絲毫派不上用場。

樸素貝葉斯分類模型可以確定情緒或其他型別的概率。

對於尋求兩類資料劃分邊界的問題,支援向量機演算法則非常適合,而且不易受維數災難的影響。因此,對於擁有大量特徵的文字問題,支援向量機通常都是很好的選擇。

神經網路可以求解從分類到自動駕駛這樣範圍很廣的問題。

核嶺迴歸則是向線性迴歸模型中新增了一種簡單的技巧,並且能夠找到曲線的均值。

隱馬爾科夫模型能夠追蹤樂譜,標註詞性,並適用於其它類似於系統的應用。

聚類演算法適合於那些不含明確輸出的資料分組問題。這類演算法對資料分析非常有幫助,也可用於構建資料庫或高效地儲存資料。

過濾方法非常適用於克服維數災難 。為將所提取到的畫素轉換為特徵,大量使用了該方法。

1.4 更關鍵的思想


學習演算法僅僅是一個開始。最重要的是,我們應當認識到,選擇什麼方法並不是最關鍵的,要嘗試解決的問題才是最重要的。
這正是我們使用交叉驗證、度量精度、查全率和準確率的原因。對每一個步驟進行檢查和測試,保證了我們至少在接近更優的答案。

  • 推薦書籍
  1. The Art and Science of Algorithms that Make Sense of Data (2012)
  2. Information Theory, Inference and Learning Algorithms (2003)
    視訊地址 下載地址 豆瓣9.2分
  3. Machine Learning (1997)
  4. Artificial Intelligence: A Modern Approach (2009)
  5. Programming Collective Intelligence Building Smart Web 2.0 Applications (2007) 即 集體智慧程式設計,豆瓣9.0分
  6. Reinforcement Learning: An Introduction (1998)
  7. Geoffrey E. Hinton 的講義
  8. Andrew Ng 的講義

相關文章