簡介
如果你是機器學習新手,最難的往往不是程式碼,而是感覺一切都太廣泛:模型、資料、指標、訓練/測試,然後加入人工智慧、深度學習、法學碩士。本文的使命是做一件非常明確的事情:創建一個整體地圖,讓您了解自己在學習什麼、學習的目的以及學習的順序,這樣您就不會不知所措。
課程目標
- 區分人工智慧、機器學習、深度學習和資料科學
- 直觀地了解端到端的機器學習流程
- 知道哪些問題應該使用機器學習來解決,哪些問題不需要機器學習
1.什麼是機器學習?
機器學習是電腦從資料中學習規則的一種方式,而不是我們手動編寫所有規則。
例如:
- 垃圾郵件問題:我們沒有編寫數百條規則,例如“如果有一個詞是空閒的,那麼它就是垃圾郵件”,而是為模型提供數千封標記為垃圾郵件/非垃圾郵件的電子郵件,以便它可以自行學習模式。
- 房價預測問題:模型學習面積、地點、房間數量、房屋年齡和售價之間的關係。
重要的一點:機器學習不像人類那樣「智能」。只有數據夠好、目標夠明確,它才善於發現統計規律。
2. 區分容易混淆的概念
| 概念 | 簡短意義 | 範例 |
|---|---|---|
| 人工智慧 | 最廣泛的概念:讓機器表現得像智慧 | 聊天機器人、人工智慧遊戲 |
| 機器學習 | 從資料中學習的人工智慧分支 | 流失預測、詐欺偵測 |
| 深度學習 | ML 使用多層神經網路 | 影像辨識、語音辨識 |
| 資料科學 | 挖掘資料以獲得洞察力和決策支援 | 儀表板、群組分析 |
快速記憶法:
- 人工智慧是「大盒子」。
- ML 是一種流行的人工智慧方式。
- 深度學習是機器學習中的一組技巧。
- 資料科學與機器學習並不完全相同,但它使用機器學習作為強大的工具。
3. 端對端機器學習管道
真正的機器學習專案通常遵循以下流程:
- 識別業務問題。
- 將業務問題轉化為預測問題。
- 收集和理解數據。
- 選擇評估指標。
- 建立基線。
- 比基線更好地訓練模型。
- 檢查錯誤並解釋結果。
- 將模型投入使用。
- 監控漂移並在需要時重新訓練。
流失問題範例:
- 業務問題:哪些客戶即將離開服務?
- 機器學習公式:預測客戶在未來 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. 然後進入管道、調整和生產。
如果你向後學習,例如在理解基線之前就開始調整,你將很容易「死記硬背地從筆記本上學習」。
練習練習
- 用自己的話寫出人工智慧、機器學習和深度學習的差異。
- 選擇工作或生活中的 3 個問題,並分類它們是回歸、分類、聚類或不應該使用 ML。
- 找到一個可以使用基於規則而不是 ML 更好地解決的範例問題。
常見錯誤
- 在了解業務問題之前先學習演算法。
- 使用機器學習來解決過於簡單的問題。
- 只關心模型,忽略數據和指標。
完成標準
- 用日常語言解釋什麼是 ML
- 區分 4 種基本類型的問題
- 概括地描述端到端 ML 工作流程