You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ML-For-Beginners/translations/hk/1-Introduction/4-techniques-of-ML/README.md

10 KiB

機器學習技術

建立、使用及維護機器學習模型及其所使用的數據的過程,與許多其他開發工作流程有很大的不同。在本課中,我們將解釋這個過程,並概述您需要了解的主要技術。您將:

  • 理解機器學習背後的高層次流程。
  • 探索基本概念,例如「模型」、「預測」和「訓練數據」。

課前測驗

機器學習入門 - 機器學習技術

🎥 點擊上方圖片觀看本課的短片。

簡介

從高層次來看創建機器學習ML流程的技術包括以下幾個步驟

  1. 確定問題。大多數機器學習流程始於提出一個無法通過簡單的條件程序或基於規則的引擎回答的問題。這些問題通常圍繞基於數據集合的預測。
  2. 收集和準備數據。為了回答您的問題,您需要數據。數據的質量以及有時候的數量將決定您能多好地回答最初的問題。可視化數據是此階段的重要部分。此階段還包括將數據分為訓練組和測試組以建立模型。
  3. 選擇訓練方法。根據您的問題和數據的性質,您需要選擇如何訓練模型以最好地反映您的數據並對其進行準確的預測。這是機器學習流程中需要特定專業知識且通常需要大量實驗的部分。
  4. 訓練模型。使用您的訓練數據,您將使用各種算法訓練模型以識別數據中的模式。模型可能利用內部權重,這些權重可以調整以優先考慮某些數據部分以建立更好的模型。
  5. 評估模型。使用從收集的數據集中從未見過的數據(測試數據)來查看模型的表現。
  6. 參數調整。根據模型的表現,您可以使用不同的參數或變量重新進行過程,這些參數或變量控制用於訓練模型的算法的行為。
  7. 預測。使用新的輸入測試模型的準確性。

提出問題

電腦特別擅長發現數據中的隱藏模式。這種能力對於研究人員來說非常有用,因為他們對某個領域有一些問題,而這些問題無法輕易通過創建基於條件的規則引擎來回答。例如,針對精算任務,數據科學家可能能夠構建手工製作的規則來分析吸煙者與非吸煙者的死亡率。

然而,當許多其他變量被納入考量時,機器學習模型可能更有效地根據過去的健康歷史預測未來的死亡率。一個更令人愉快的例子可能是根據包括緯度、經度、氣候變化、靠近海洋、噴流模式等數據,為某地四月的天氣進行預測。

這份簡報提供了使用機器學習進行天氣分析的歷史視角。

建模前的任務

在開始建立模型之前,您需要完成幾項任務。為了測試您的問題並根據模型的預測形成假設,您需要識別並配置幾個元素。

數據

為了能夠以任何確定性回答您的問題,您需要足夠數量且類型正確的數據。在這個階段,您需要完成以下兩件事:

  • 收集數據。記住上一課中關於數據分析公平性的內容,謹慎收集您的數據。注意數據的來源、可能存在的固有偏差,並記錄其來源。
  • 準備數據。數據準備過程包括多個步驟。如果數據來自不同來源,您可能需要整理並標準化它。您可以通過各種方法提高數據的質量和數量,例如將字符串轉換為數字(如我們在聚類中所做的)。您可能還會基於原始數據生成新數據(如我們在分類中所做的)。您可以清理和編輯數據(如我們在Web App課程之前所做的)。最後,根據您的訓練技術,您可能還需要隨機化並打亂數據。

在收集和處理數據後,花點時間看看它的形狀是否能幫助您解決預期的問題。可能數據在您的任務中表現不佳,正如我們在聚類課程中發現的那樣!

特徵和目標

特徵是數據的一個可測量屬性。在許多數據集中,它通常以列標題的形式表達,例如「日期」、「大小」或「顏色」。您的特徵變量,通常在代碼中表示為X,代表用於訓練模型的輸入變量。

目標是您試圖預測的事物。目標通常在代碼中表示為y,代表您試圖向數據提出的問題的答案:在十二月,哪種顏色的南瓜最便宜?在舊金山,哪些街區的房地產價格最好?有時目標也被稱為標籤屬性。

選擇您的特徵變量

🎓 特徵選擇與特徵提取 如何在建立模型時選擇變量?您可能需要通過特徵選擇或特徵提取的過程來選擇最合適的變量以構建性能最佳的模型。然而,它們並不完全相同:「特徵提取通過原始特徵的函數創建新特徵,而特徵選擇則返回特徵的子集。」(來源

可視化您的數據

數據科學家工具包中的一個重要方面是使用一些優秀的庫如Seaborn或MatPlotLib來可視化數據的能力。以可視化方式表示數據可能幫助您發現可以利用的隱藏相關性。您的可視化還可能幫助您發現偏差或數據不平衡正如我們在分類中所發現的那樣)。

分割您的數據集

在訓練之前,您需要將數據集分為兩個或更多不等大小的部分,這些部分仍然能很好地代表數據。

  • 訓練。數據集的這部分用於訓練模型。這部分通常佔原始數據集的大部分。
  • 測試。測試數據集是獨立的數據組,通常從原始數據中獲得,用於確認已建立模型的性能。
  • 驗證。驗證集是一個較小的獨立數據組,用於調整模型的超參數或架構以改進模型。根據數據的大小和您提出的問題,您可能不需要建立這第三組(正如我們在時間序列預測中所提到的)。

建立模型

使用您的訓練數據,您的目標是使用各種算法建立一個模型,或數據的統計表示來訓練它。訓練模型使其接觸數據並能對其發現的模式進行假設、驗證並接受或拒絕。

決定訓練方法

根據您的問題和數據的性質,您將選擇一種方法來訓練它。瀏覽Scikit-learn的文檔——我們在本課程中使用它——您可以探索許多訓練模型的方法。根據您的經驗,您可能需要嘗試幾種不同的方法來建立最佳模型。您可能會經歷一個過程,數據科學家通過向模型提供未見過的數據來評估其性能,檢查準確性、偏差及其他降低質量的問題,並選擇最適合當前任務的訓練方法。

訓練模型

有了您的訓練數據,您就可以「擬合」它來創建模型。您會注意到,在許多機器學習庫中,您會看到代碼model.fit——此時您將特徵變量作為值數組(通常是X)以及目標變量(通常是y)送入。

評估模型

一旦訓練過程完成訓練大型模型可能需要多次迭代或「epoch」您將能夠使用測試數據評估模型的質量以衡量其性能。這些數據是模型之前未分析過的原始數據的子集。您可以打印出關於模型質量的指標表。

🎓 模型擬合

在機器學習的背景下,模型擬合指的是模型的底層函數在分析其不熟悉的數據時的準確性。

🎓 欠擬合過擬合是常見問題,會降低模型的質量,因為模型要麼擬合得不夠好,要麼擬合得太好。這會導致模型的預測要麼過於貼合,要麼過於偏離其訓練數據。過擬合模型因為過於熟悉數據的細節和噪音而對訓練數據預測得太好。欠擬合模型則不準確,因為它既無法準確分析其訓練數據,也無法準確分析其未見過的數據。

過擬合模型

信息圖由Jen Looper提供

參數調整

完成初步訓練後,觀察模型的質量並考慮通過調整其「超參數」來改進它。閱讀更多相關過程文檔

預測

這是您可以使用全新數據測試模型準確性的時刻。在「應用」機器學習的設置中,當您構建網頁資產以在生產環境中使用模型時,這個過程可能涉及收集用戶輸入(例如按下按鈕)以設置變量並將其發送到模型進行推斷或評估。

在這些課程中,您將學習如何使用這些步驟來準備、建立、測試、評估和預測——作為數據科學家的所有手勢以及更多,隨著您在成為「全棧」機器學習工程師的旅程中不斷進步。


🚀挑戰

繪製一個反映機器學習從業者步驟的流程圖。您認為自己目前處於流程的哪個位置?您預測在哪裡會遇到困難?哪些部分對您來說似乎很容易?

課後測驗

回顧與自學

在線搜索數據科學家討論其日常工作的訪談。這裡有一個例子

作業

訪問一位數據科學家


免責聲明
本文件已使用人工智能翻譯服務 Co-op Translator 進行翻譯。儘管我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。