機器學習開篇

相關術語

  1. 通常我們爲算法輸入大量已分類數據作爲算法的訓練集。
    訓練集是用於訓練機器學習算法的數據樣本集合。
  2. 目標變量是機器學習算法的預測結果,在分類算法中目標變量的類型通常是標稱型的,而在迴歸算法中通常是連續型的。
  3. 訓練樣本集必須確定知道目標變量的值,以便機器學習算法可以發現特徵和目標變量之間的關係。
  4. 我們通常將分類問題中的目標變量成爲類別,並假定分類問題只存在有限個數的類別。
  5. 爲了測試機器學習算法的效果,通常使用兩套獨立的樣本集:訓練數據和測試數據。

機器學習的主要任務

  1. 主要任務是將實例數據劃分到合適的分類中。
  2. 另一項任務是迴歸,它主要用於預測數值型數據。
  3. 分類和回歸屬於監督學習,之所以稱之爲監督學習,是因爲這類算法必須知道預測什麼,即目標變量的分類信息。
  4. 與監督學習相對應的是無監督學習,此時數據沒有類別信息,也不會給定目標值。
  5. 在無監督學習中,將數據集合分成由類似的對象組成的多個類的過程被稱爲聚類,將尋找描述數據統計值的過程稱之爲密度估計。

用於執行分類、迴歸、聚類和密度估計的機器學習算法

監督學習:


算法 用途
k-近鄰算法 線性迴歸
樸素貝葉斯算法 局部加權線性迴歸
支持向量機 Ridge迴歸
決策樹 Lasso最小回歸係數統計

無監督學習:


算法 用途
k-均值 最大期望算法
DBSCAN Parzen窗設計

如何選擇合適的算法

  1. 首先考慮使用機器學習算法的目的。如果想要預測目標變量的值,則可以選擇監督學習算法。否則可以選擇無監督算法。
  2. 選擇監督學習算法之後需要進一步確定目標變量類型,如果目標變量是離散型,如紅、黃、黑等,則可以選擇分類算法。如果目標變量是連續型的數值,則需要選擇迴歸算法。
  3. 如果不想預測目標變量的值,則可以選擇無監督學習算法。進一步分析是否需要將數據劃分爲離散的組。如果這是唯一的需求,則使用聚類算法,如果還需要估計數據與每個分組的相似程度,則需要使用密度估計算法。
Created with Raphaël 2.1.2開始想要預測目標變量的值?監督學習目標變量是否爲離散型(1/2/3,是/否)(相對應的是連續型的數值)?分類算法結束迴歸算法無監督學習需要將數據劃分爲離散的組是否是唯一需求?聚類算法密度估計算法yesnoyesnoyesno

我們只能在一定程度上縮小算法的選擇範圍,一般並不存在最好的算法或者可以給出最好結果的算法,同時還要嘗試不同算法的執行效果。

開發機器學習應用程序的步驟

  1. 收集數據。
  2. 準備輸入數據。
  3. 分析輸入數據。(如果信任數據來源可以跳過)
  4. 訓練算法。(如果使用無監督學習算法,由於不存在目標變量值,故而不需要訓練算法)
  5. 測試算法。
  6. 使用算法。
發佈了493 篇原創文章 · 獲贊 252 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章