Chuyển đến nội dung chính

第 1 課:什麼是機器學習?如何學習而不被淹沒

將人工智慧/機器學習/深度學習與現實生活中的例子進行比較。引入端到端工作流程和實踐導向的機器學習學習思維。

🧠 人工智慧與機器學習 — 第 0 課 第 1 課:什麼是機器學習?如何學習而不被淹沒

機器學習:從基礎到高級

第 0 部分:新手入門(第 0 週)

亞洲開發網

簡介

如果你是機器學習新手,最難的往往不是程式碼,而是感覺一切都太廣泛:模型、資料、指標、訓練/測試,然後加入人工智慧、深度學習、法學碩士。本文的使命是做一件非常明確的事情:創建一個整體地圖,讓您了解自己在學習什麼、學習的目的以及學習的順序,這樣您就不會不知所措。

課程目標

  • 區分人工智慧、機器學習、深度學習和資料科學
  • 直觀地了解端到端的機器學習流程
  • 知道哪些問題應該使用機器學習來解決,哪些問題不需要機器學習

1.什麼是機器學習?

機器學習是電腦從資料中學習規則的一種方式,而不是我們手動編寫所有規則。

例如:

  • 垃圾郵件問題:我們沒有編寫數百條規則,例如“如果有一個詞是空閒的,那麼它就是垃圾郵件”,而是為模型提供數千封標記為垃圾郵件/非垃圾郵件的電子郵件,以便它可以自行學習模式。
  • 房價預測問題:模型學習面積、地點、房間數量、房屋年齡和售價之間的關係。

重要的一點:機器學習不像人類那樣「智能」。只有數據夠好、目標夠明確,它才善於發現統計規律。

2. 區分容易混淆的概念

概念簡短意義範例
人工智慧最廣泛的概念:讓機器表現得像智慧聊天機器人、人工智慧遊戲
機器學習從資料中學習的人工智慧分支流失預測、詐欺偵測
深度學習ML 使用多層神經網路影像辨識、語音辨識
資料科學挖掘資料以獲得洞察力和決策支援儀表板、群組分析

快速記憶法:

  • 人工智慧是「大盒子」。
  • ML 是一種流行的人工智慧方式。
  • 深度學習是機器學習中的一組技巧。
  • 資料科學與機器學習並不完全相同,但它使用機器學習作為強大的工具。

3. 端對端機器學習管道

真正的機器學習專案通常遵循以下流程:

  1. 識別業務問題。
  2. 將業務問題轉化為預測問題。
  3. 收集和理解數據。
  4. 選擇評估指標。
  5. 建立基線。
  6. 比基線更好地訓練模型。
  7. 檢查錯誤並解釋結果。
  8. 將模型投入使用。
  9. 監控漂移並在需要時重新訓練。

流失問題範例:

  • 業務問題:哪些客戶即將離開服務?
  • 機器學習公式:預測客戶在未來 30 天內取消預訂的機率。
  • 輸入特徵:登入次數、支援票數、服務套餐、使用時間。
  • 輸出:流失機率或流失/無流失標籤。

4. 什麼時候該使用 ML,什麼時候不該使用?

機器學習適用於以下情況:

  • 有足夠的歷史數據。
  • 學習有明確的輸出。
  • 困難的規則寫在硬規則中。
  • 如果預測優於目前預測,則具有實用價值。

在以下情況下不應使用機器學習:

  • 問題只需要一些固定的規則即可解決。
  • 沒有資料或資料太髒。
  • 衡量模型的方法沒有正確/錯誤。
  • 實施機器學習的成本高於效益。

沒有機器學習的範例:

  • 根據固定法律計算增值稅。
  • 自動為發票號碼。
  • 檢查欄位是否為空。

5. ML 問題的基本類型

回歸

預測一個實數。

例如:

  • 房價
  • 下週收入
  • 溫度

分類

預測一個標籤。

例如:

  • 垃圾郵件/無垃圾郵件
  • 流失/無流失
  • 作弊/不作弊

聚類

沒有內建標籤,模型本身會將資料分組。

例如:

  • 客戶區隔
  • 根據購買行為將產品分組

異常檢測

發現異常情況。

例如:

  • 異常交易
  • 設備產生錯誤訊號

6. 什麼是基準以及為什麼需要它?

基準是最簡單的比較模型或策略。

例如:

  • 使用訓練集的平均價格預測房價。
  • 預測所有客戶「不會流失」。

如果新模型沒有超過基線,那麼該項目就沒有價值。新手經常會犯這樣的錯誤:直接跳入 XGBoost 或神經網絡,而不知道複雜模型是否真的能改進任何東西。

7. 一個非常簡短的 scikit-learn 範例

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score

X, y = load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=42
)

model = LogisticRegression(max_iter=300)
model.fit(X_train, y_train)

pred = model.predict(X_test)
print("Accuracy:", accuracy_score(y_test, pred))

這段程式碼中重要的不是記住每個函數,而是理解結構:

  • 有數據 X, y
  • 單獨的訓練/測試
  • 將模型安裝到火車上
  • 測試評估

它是大多數機器學習工作流程的支柱。

8.新手應該按照什麼順序學習?

系列的合理順序是:

1.了解大局。 2. 了解如何使用 Pandas 操作資料。 3.快速製作第一個模型。 4. 儘早學習指標和過度擬合。 5. 然後進入管道、調整和生產。

如果你向後學習,例如在理解基線之前就開始調整,你將很容易「死記硬背地從筆記本上學習」。

練習練習

  1. 用自己的話寫出人工智慧、機器學習和深度學習的差異。
  2. 選擇工作或生活中的 3 個問題,並分類它們是回歸、分類、聚類或不應該使用 ML。
  3. 找到一個可以使用基於規則而不是 ML 更好地解決的範例問題。

常見錯誤

  • 在了解業務問題之前先學習演算法。
  • 使用機器學習來解決過於簡單的問題。
  • 只關心模型,忽略數據和指標。

完成標準

  • 用日常語言解釋什麼是 ML
  • 區分 4 種基本類型的問題
  • 概括地描述端到端 ML 工作流程