相關術語
- 通常我們爲算法輸入大量已分類數據作爲算法的訓練集。
訓練集是用於訓練機器學習算法的數據樣本集合。
- 目標變量是機器學習算法的預測結果,在分類算法中目標變量的類型通常是標稱型的,而在迴歸算法中通常是連續型的。
- 訓練樣本集必須確定知道目標變量的值,以便機器學習算法可以發現特徵和目標變量之間的關係。
- 我們通常將分類問題中的目標變量成爲類別,並假定分類問題只存在有限個數的類別。
- 爲了測試機器學習算法的效果,通常使用兩套獨立的樣本集:訓練數據和測試數據。
機器學習的主要任務
- 主要任務是將實例數據劃分到合適的分類中。
- 另一項任務是迴歸,它主要用於預測數值型數據。
- 分類和回歸屬於監督學習,之所以稱之爲監督學習,是因爲這類算法必須知道預測什麼,即目標變量的分類信息。
- 與監督學習相對應的是無監督學習,此時數據沒有類別信息,也不會給定目標值。
- 在無監督學習中,將數據集合分成由類似的對象組成的多個類的過程被稱爲聚類,將尋找描述數據統計值的過程稱之爲密度估計。
用於執行分類、迴歸、聚類和密度估計的機器學習算法
監督學習:
算法 |
用途 |
k-近鄰算法 |
線性迴歸 |
樸素貝葉斯算法 |
局部加權線性迴歸 |
支持向量機 |
Ridge迴歸 |
決策樹 |
Lasso最小回歸係數統計 |
無監督學習:
算法 |
用途 |
k-均值 |
最大期望算法 |
DBSCAN |
Parzen窗設計 |
如何選擇合適的算法
- 首先考慮使用機器學習算法的目的。如果想要預測目標變量的值,則可以選擇監督學習算法。否則可以選擇無監督算法。
- 選擇監督學習算法之後需要進一步確定目標變量類型,如果目標變量是離散型,如紅、黃、黑等,則可以選擇分類算法。如果目標變量是連續型的數值,則需要選擇迴歸算法。
- 如果不想預測目標變量的值,則可以選擇無監督學習算法。進一步分析是否需要將數據劃分爲離散的組。如果這是唯一的需求,則使用聚類算法,如果還需要估計數據與每個分組的相似程度,則需要使用密度估計算法。
我們只能在一定程度上縮小算法的選擇範圍,一般並不存在最好的算法或者可以給出最好結果的算法,同時還要嘗試不同算法的執行效果。
開發機器學習應用程序的步驟
- 收集數據。
- 準備輸入數據。
- 分析輸入數據。(如果信任數據來源可以跳過)
- 訓練算法。(如果使用無監督學習算法,由於不存在目標變量值,故而不需要訓練算法)
- 測試算法。
- 使用算法。