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

1.4 構建機器學習模型的流程

我們已經了解了挑選算法的標準和步驟,現在應該學習如何構建機器學習模型了。構建一個機器學習模型的流程可以分為以下幾步,讀者應該重視這一流程。譯者注:在下面的步驟中,除了構建機器學習模型的部分(主要是步驟4和步驟5),對數據集的預處理、執行結果的評估和模型改進同樣至關重要。

(1)收集數據。毫無疑問,一切都源自數據譯者注:切記,在機器學習領域,數據集質量的高低直接決定結果的好壞。,問題在于如何獲取如此多的數據。實踐中,獲取這些數據可能需要經過冗長的步驟,例如有的數據是通過一系列實地測量得到的,有的是通過一對一的面談得到的。無論如何,在收集數據的過程中,一定要注意選取合適的形式保存記錄(如數據庫),以利于接下來的分析。

如果沒有特別需求,互聯網上現存的大量公開數據就夠用了,如加州大學爾灣分校機器學習數據集(UCI Machine Learning Repository)這一非常大的機器學習數據集,這使我們可以節省收集數據的精力和時間。

圖1.10展示了構建機器學習模型的步驟。

圖1.10 構建機器學習模型的流程

(2)準備數據。在收集數據后,我們需要對原始數據進行一些處理。例如,很可能為了使數據集對于模型可用,調整數據集的數據格式。模型可能要求數據格式為整型、字符型或其他特殊格式譯者注:數據去量綱化等。。接下來我們會專門介紹這些技巧,其中預處理數據一般要比收集數據簡單。譯者注:一般而言,有固定的模式可循。

(3)觀察數據。至此,我們需要對數據集進行觀察,例如確保數據可用(大致準確、沒有大量的缺失值)。各種類型的圖表可以輔助觀察。我們能夠辨別樣本間所包含的模式、聯系以及是否存在一些奇異值。繪制出不同維度的圖表同樣有助于觀察數據。譯者注:步驟5、步驟6、步驟7并不是經典方法。理論上應該分為訓練、驗證和測試這3個步驟。原書中步驟6和步驟7的解釋幾乎混淆了,因此對步驟5、步驟6、步驟7進行了適當調整,把書中的訓練、測試和驗證對應改成了訓練、驗證和測試,然后進行了翻譯。

(4)訓練(train)算法。現在,我們真正開始介紹如何構建機器學習模型。在這一步中,我們需要對模型譯者注:目標函數、限制條件。進行定義和訓練譯者注:采取某種優化算法對模型參數在訓練數據集中進行求解。,以使模型能夠逐漸從訓練數據集中抽取信息。我們將在后面的章節具體闡述這些概念。需要指出的是,訓練階段僅存在于監督學習中,對于非監督學習而言,是不存在訓練階段的。因為在非監督學習的輸入數據中沒有標簽,所以無從訓練。

(5)驗證(validate)算法。在這一步驟中,我們使用上一步訓練得到的模型進行驗證譯者注:應用在外部的、新添加的、模型沒有見過的數據集上。在機器學習領域中,這一步的數據集特指驗證集。,看模型是否真正有效。驗證目標是評估訓練得到的模型在多大程度上逼近了真實系統譯者注:從概率角度而言,是指數據的真實分布。。對于監督學習,有樣本標簽來幫助我們衡量結果。對于非監督學習,可能需要借助其他指標來衡量。無論屬于哪種情況,如果模型沒有達到預期效果,那么將返回步驟4,更改、重新訓練新模型,并執行步驟5。

(6)測試(test)算法。在這一步驟中,我們將模型應用到真實數據集譯者注:在機器學習領域中特指這一步的數據集為測試集。上,以此評估整個算法流程的逼近效果。

(7)評估和改進模型:至此,我們驗證了模型確實有效,同時了解了模型的表現。現在需要更新我們對模型、問題的理解,并嘗試基于已有信息作進一步改進。

主站蜘蛛池模板: 池州市| 达拉特旗| 平邑县| 土默特左旗| 通城县| 县级市| 丰都县| 琼海市| 连江县| 壶关县| 威远县| 抚州市| 台南县| 嘉鱼县| 循化| 孝义市| 金寨县| 嘉义市| 江北区| 偏关县| 东兰县| 吉木萨尔县| 鹤峰县| 维西| 兴城市| 夏津县| 巴中市| 和田市| 乌拉特中旗| 慈利县| 开平市| 黎川县| 监利县| 唐河县| 临沂市| 宁津县| 肥城市| 开江县| 平果县| 安远县| 卫辉市|