- MATLAB機器學習
- (意)朱塞佩·恰布羅
- 768字
- 2020-05-21 10:46:53
1.3 選擇正確的算法
前面我們了解了3類機器學習算法的異同。現在是時候回答這個問題了:如何根據具體需求選擇相應算法呢?
然而,這個問題沒有針對所有情形都普遍適用的答案,最好的答案可能是:看情況。對于不同情況都需要考慮哪些因素呢?需要考慮的主要因素來源于數據集,包括數據集的大小、質量高低以及數據間隱含的聯系。同時,也需要考慮任務的目的、算法是如何編寫的、有多長時間去訓練這些算法等。總之,沒有統一的標準,確定一個算法選取是否合理的唯一辦法就是通過使用一下試試效果。
不過,為了弄明白最適合需求的算法是什么,我們可以進行一些預備分析。通過分析數據集、現有的工具(算法)、任務目標(輸出結果)的基礎性質,我們能夠得到許多挑選算法的有用信息。
從分析數據集這個方法出發。我們可以從兩個不同的角度挑選算法——輸入和輸出。
(1)根據算法的輸入進行挑選。
● 監督學習:接收的訓練數據集中樣本既有輸入值,也有對應的標簽。
● 無監督學習:接收的訓練數據集中沒有標簽集,我們希望得到數據集中樣本間的某種關系。
● 強化學習:接收的訓練數據是通過與外界進行互動迭代式積累的,我們希望在迭代、與環境交互中優化目標函數。
(2)根據輸出進行挑選。
● 回歸問題:輸出是連續數值。
● 分類問題:輸出是離散類型。
● 聚類問題:輸出結果是輸入樣本組成的一些簇。
圖1.9展示了基于已有的數據在挑選算法時可以參考的兩個角度。

圖1.9 預備分析
在了解了數據集的基本性質的基礎上,我們可以進一步根據已有算法分析哪些算法適合我們的輸入數據集,能夠給出想要的輸出結果,從而縮小目標算法的挑選范圍。
在了解了數據集和有了明確的算法范圍后,我們需要訓練這些算法,評估各個算法的表現。我們把選擇的算法應用到手頭的數據集上。接下來,通過一系列精心選擇的衡量算法表現的指標,我們能夠對這些算法的表現進行比較,最終選出最合適的算法。
- Introduction to DevOps with Kubernetes
- PowerShell 3.0 Advanced Administration Handbook
- Getting Started with Clickteam Fusion
- 人工免疫算法改進及其應用
- Mobile DevOps
- 計算機網絡技術實訓
- 計算機網絡原理與技術
- 網絡化分布式系統預測控制
- Statistics for Data Science
- 電氣控制及Micro800 PLC程序設計
- 新一代人工智能與語音識別
- MySQL Management and Administration with Navicat
- 深度學習之模型優化:核心算法與案例實踐
- 暗戰強人:黑客及反黑客工具快速精通
- Hands-On Artificial Intelligence for Beginners