A4.1 機器學習基礎
機器學習(Machine Learning, ML)是讓電腦從資料中自動找出規律,而不是由人寫死每一條規則的技術。本頁說明機器學習與傳統程式的差別、三大學習類型、訓練與測試流程、過擬合,以及機器學習需要的硬體與常見應用。
機器學習和傳統程式有什麼不同?
- 傳統程式:人寫規則 + 輸入資料 → 輸出答案。例如「如果信件含『中獎』就是垃圾信」。
- 機器學習:輸入資料 + 正確答案 → 電腦學出規則(模型)。例如給電腦一萬封已標記的信,讓它自己學會判斷垃圾信。
當規則太複雜、難以用人工寫出(例如辨識照片中的貓),或規則會隨時間改變時,機器學習特別有用。
人工智慧(Artificial Intelligence, AI)是讓機器表現出智慧行為的廣泛領域;機器學習是 AI 的一個分支;深度學習(deep learning) 又是使用多層神經網路的機器學習分支。
機器學習有哪幾種類型?
| 類型 | 資料 | 目標 | 例子 |
|---|---|---|---|
| 監督式學習(supervised learning) | 有標籤(label),也就是有正確答案 | 預測新資料的標籤 | 垃圾信分類、房價預測 |
| 非監督式學習(unsupervised learning) | 沒有標籤 | 找出資料中的結構或群組 | 顧客分群、異常偵測 |
| 強化學習(reinforcement learning) | 環境回饋的獎勵或懲罰 | 學出能最大化累積獎勵的策略 | 下棋 AI、機器人控制、自駕車 |
監督式學習又分兩種問題:
- 分類(classification):預測類別,例如「垃圾信/正常信」。
- 迴歸(regression):預測連續數值,例如明天的氣溫。
模型如何訓練與評估?
- 收集資料,並切分成 訓練集(training set)、驗證集(validation set) 與 測試集(test set),常見比例 70/15/15。
- 用訓練集 訓練模型,讓模型調整內部參數以減少錯誤。
- 用驗證集 調整超參數(hyperparameter),例如 k-NN 的 k 值。
- 用從未看過的測試集 評估 模型在新資料上的表現。
什麼是過擬合與欠擬合?
- 過擬合(overfitting):模型把訓練資料的雜訊也背起來,訓練準確率很高,遇到新資料卻表現差。像學生只背考古題答案。
- 欠擬合(underfitting):模型太簡單,連訓練資料的規律都抓不到。
改善過擬合的方法:增加訓練資料、簡化模型、正則化(regularisation)、交叉驗證(cross-validation)。
如何判斷分類模型好不好?
混淆矩陣(confusion matrix) 統計預測與實際的四種組合:
| 實際為正 | 實際為負 | |
|---|---|---|
| 預測為正 | TP(真陽性) | FP(偽陽性) |
| 預測為負 | FN(偽陰性) | TN(真陰性) |
- 準確率(accuracy) = (TP + TN) ÷ 全部
- 精確率(precision) = TP ÷ (TP + FP):預測為正的有多少是真的
- 召回率(recall) = TP ÷ (TP + FN):真的正例有多少被找出來
醫療篩檢重視召回率(不要漏掉病人),垃圾信過濾重視精確率(不要把重要信件誤判為垃圾信)。
機器學習需要什麼硬體?
訓練大型模型需要大量矩陣運算,常用:
- GPU:數千個核心平行運算(見 A1.1)。
- TPU(Tensor Processing Unit):Google 專為神經網路設計的晶片。
- 雲端運算:按需租用大量 GPU,不必自購昂貴硬體。
- 邊緣運算(edge computing):在手機、相機等裝置本地執行已訓練好的模型,降低延遲並保護隱私。
機器學習有哪些應用?
影像辨識、語音助理、推薦系統(影音平台、購物網站)、詐騙偵測、醫療影像判讀、機器翻譯、自駕車,以及能產生文字與圖片的 生成式 AI(generative AI)。
推薦影音
機器學習入門
簡述:StatQuest 用簡單的例子說明什麼是機器學習、訓練與測試資料為何要分開、以及模型如何被比較,對應本頁訓練與評估一節。
偏差與變異(過擬合的本質)
簡述:用圖形說明模型太簡單(高偏差)與太複雜(高變異)的差別,直觀理解過擬合與欠擬合。
混淆矩陣
簡述:說明混淆矩陣四個格子的意義,以及如何用它比較不同分類模型,對應本頁評估指標一節。
練習題
練習 1:辨認學習類型
判斷下列各屬於監督式、非監督式或強化學習:(a) 依過去房屋成交資料預測房價;(b) 把網站顧客依購買行為分成幾群;(c) 讓機器人透過嘗試學會走路。
參考答案
(a) 監督式學習(迴歸);(b) 非監督式學習(分群);(c) 強化學習。
練習 2:過擬合
一個模型在訓練集準確率 99%,在測試集只有 62%。發生了什麼?請提出兩種改善方法。
參考答案
過擬合:模型記住了訓練資料的細節與雜訊,無法推廣到新資料。改善:增加更多元的訓練資料、降低模型複雜度(例如限制決策樹深度)、使用交叉驗證或正則化。
練習 3:計算指標
某疾病篩檢模型測試 100 人:TP = 8、FN = 2、FP = 10、TN = 80。計算準確率、精確率與召回率。
參考答案
準確率 = (8 + 80) ÷ 100 = 88%;精確率 = 8 ÷ (8 + 10) ≈ 44%;召回率 = 8 ÷ (8 + 2) = 80%。
練習 4:為什麼要測試集?
為什麼不能用訓練資料來評估模型的最終表現?
參考答案
模型已經看過訓練資料,用它評估會高估表現,無法得知模型面對新資料時的真實能力。測試集必須是模型從未看過的資料。