官术网_书友最值得收藏!

1.3 選擇正確的算法

前面我們了解了3類機器學習算法的異同。現在是時候回答這個問題了:如何根據具體需求選擇相應算法呢?

然而,這個問題沒有針對所有情形都普遍適用的答案,最好的答案可能是:看情況。對于不同情況都需要考慮哪些因素呢?需要考慮的主要因素來源于數據集,包括數據集的大小、質量高低以及數據間隱含的聯系。同時,也需要考慮任務的目的、算法是如何編寫的、有多長時間去訓練這些算法等。總之,沒有統一的標準,確定一個算法選取是否合理的唯一辦法就是通過使用一下試試效果。

不過,為了弄明白最適合需求的算法是什么,我們可以進行一些預備分析。通過分析數據集、現有的工具(算法)、任務目標(輸出結果)的基礎性質,我們能夠得到許多挑選算法的有用信息。

從分析數據集這個方法出發。我們可以從兩個不同的角度挑選算法——輸入和輸出。譯者注:這兩個角度雖然都屬于數據集的性質范圍,但不是同一層次上的問題。這里的“輸入”指的是算法接收的訓練數據集的性質,比如數據集中的樣本點是否都有對應的標簽。輸出是指對于給定算法的數據集(如訓練數據集)中的輸入值,對應的輸出值的性質,是連續、離散抑或是組成的簇(見下文)。

(1)根據算法的輸入進行挑選。

● 監督學習:接收的訓練數據集中樣本既有輸入值,也有對應的標簽。

● 無監督學習:接收的訓練數據集中沒有標簽集,我們希望得到數據集中樣本間的某種關系。

● 強化學習:接收的訓練數據是通過與外界進行互動迭代式積累的,我們希望在迭代、與環境交互中優化目標函數。

(2)根據輸出進行挑選。

● 回歸問題:輸出是連續數值。

● 分類問題:輸出是離散類型。

● 聚類問題:輸出結果是輸入樣本組成的一些簇。

圖1.9展示了基于已有的數據在挑選算法時可以參考的兩個角度。

圖1.9 預備分析

在了解了數據集的基本性質的基礎上,我們可以進一步根據已有算法分析哪些算法適合我們的輸入數據集,能夠給出想要的輸出結果,從而縮小目標算法的挑選范圍。

在了解了數據集和有了明確的算法范圍后,我們需要訓練這些算法,評估各個算法的表現。我們把選擇的算法應用到手頭的數據集上。接下來,通過一系列精心選擇的衡量算法表現的指標,我們能夠對這些算法的表現進行比較,最終選出最合適的算法。

主站蜘蛛池模板: 阿瓦提县| 怀远县| 涞源县| 应用必备| 望奎县| 义马市| 蓬安县| 运城市| 子长县| 永吉县| 报价| 东丰县| 绍兴县| 浮梁县| 赞皇县| SHOW| 侯马市| 博客| 玉龙| 岚皋县| 桃园县| 宁晋县| 潼关县| 龙州县| 抚顺县| 景宁| 平乐县| 朝阳市| 花莲县| 岳阳市| 奉节县| 闵行区| 额敏县| 湘乡市| 精河县| 喀喇沁旗| 化德县| 井陉县| 大足县| 库车县| 扎囊县|