L113︱機器學習全景圖:從演算法圖鑑、訓練優化到 MLOps 維運
字數 6257閱讀時間≈ 16 分鐘

type
status
date
slug
summary
tags
category
icon
password
前言
這篇文章是我在準備「iPAS AI 規劃師初級」時留下的筆記。
在 L112 中,我們已經完成了資料的收集、清洗與隱私合規,確保手上的素材是乾淨可用的。
但我發現,很多人(包括我自己)在剛接觸 AI 時,最容易迷失在各種演算法的英文縮寫裡。AI 不是魔法,它是統計學與算力暴力美學的結合。 若要真正理解 AI,不必先懂微積分,但要懂它「如何從錯誤中學習」。
我按照官方學習指引科目一(L113)的架構將內容重組,進行了一些必要的刪減,並加入了一些圖解與輔助說明,希望能讓準備考試的人可以快速建立架構,也讓第一次接觸 AI 的人能在短時間抓到全貌。
📝 更新日誌 (Changelog)
2025.12.19|
v2.0 - 全文優化:重組段落並優化文字結構,提升易讀性。
機器學習到底是在「學」什麼?
其實就跟人類學習一樣。想像你在教貓咪把混亂的毛線球分類整理好,這個「從混亂到有序」的過程,就是機器學習。

第一部分:建模前的最後準備
AI 不是超級聰明嗎?為什麼資料科學家還要花 80% 的時間在幫它「洗菜切肉」(資料前處理)?
因為 AI 就像大胃王,給它什麼就吃什麼。如果餵的是垃圾(Garbage In),它吐出來的一定也是垃圾(Garbage Out)。沒有好食材,米其林主廚也救不了這道菜。
1. 資料探索與分析 (EDA)
目的:在還沒跑模型前,先用統計圖表「看」出資料的長相與壞壞的地方。

圖表工具 | 用途與考點 |
直方圖 (Histogram) | 看 資料分佈 (Distribution)。判斷是否有偏態,決定是否需做對數轉換 (Log Transform)。 |
散佈圖 (Scatter Plot) | 看 兩變數關係。是不是線性的?有沒有 離群值 (Outliers)? |
箱型圖 (Box Plot) | 抓 異常值。超過「上下四分位距 (IQR)」的就是異常點。 |
熱力圖 (Heatmap) | 看 相關性 (Correlation)。如果兩個特徵顏色太深 (相關性太高),可能有 多重共線性 問題,要刪掉一個。 |
特徵欄位不是越多越好嗎?為什麼要注意相關性太高的欄位?
這就是 「多重共線性 (Multicollinearity)」。就像同時記錄「體重(公斤)」和「體重(磅)」,這兩個欄位其實在講同一件事。在 EDA 階段,我們要先觀察出這些「重複資訊」,後續建模時才好處理。
2. 偏誤偵測 (Bias Detection)
AI 會不會歧視人類?
很遺憾,會。如果它的教科書(訓練資料)本身就充滿了人類社會的偏見,AI 學出來當然也會帶有有色眼鏡。

- 樣本偏誤 (Sampling Bias):取樣不均。例:訓練資料 90% 是男性,導致模型認不出女性。
- 標籤偏誤 (Label Bias):標註者本身有偏見。
- 特徵偏誤 (Feature Bias):用了敏感特徵(如種族、郵遞區號)。
發現資料有偏見怎麼辦?難道要把辛苦收集的資料丟掉重來?
當然不用。這就是 「資料去偏 (Debiasing)」 的技術主場。就像營養師調整菜單一樣,我們可以透過 遮蔽敏感特徵 或 調整樣本權重 等技術手段來修正,而不必炸掉廚房。
3. 資料分割 (Data Splitting)
既然資料這麼珍貴,為什麼不全部梭哈拿去訓練,讓模型學越多越好?
因為我們不希望模型只是「死背答案」。為了確認它真的學會了邏輯,我們必須像學校老師一樣,故意把一部分的考卷(測試集)藏起來,等它讀完書再來考它,這樣才準。

目的:驗證模型是否具有 泛化能力 (Generalization),而非單純記憶訓練資料。我們不能讓學生(模型)看著答案卷(測試集)考試。
- 訓練集 (Training Set, 70-80%):課本。用來調整權重 (Weights)。
- 驗證集 (Validation Set, 10-15%):模擬考。用來調整 超參數 (Hyperparameters)、選模型。
- 測試集 (Test Set, 10-15%):大考。完全沒看過的資料,用來做最終評估。
交叉驗證 (Cross Validation):
- K-Fold:把資料切 K 份,輪流當驗證集。
- 優點:資料少時特別好用,能避免模型「剛好」只對某區段資料熟練。
第二部分:演算法完全圖鑑
然現在都有強大的 ChatGPT (Transformer) 了,為什麼我們還要學那些幾十年前的「線性回歸」或「決策樹」?
這就像殺雞焉用牛刀。如果你只是要預測飲料店明天的銷量,用核子彈級的深度學習模型,不僅浪費算力,還會讓你完全看不懂它為什麼這樣預測(缺乏可解釋性)。世界的問題形狀各不相同,我們需要不同的工具。

🟢 監督式學習 (Supervised)

1. 線性與邏輯家族:從預測數值到分類
- 線性回歸 (Linear Regression)
- 核心原理:這是最直觀的統計方法,尋找一條最佳擬合直線來預測連續數值。
- ⚠️ 關鍵限制:僅能處理 線性關係,對 離群值 極為敏感,容易被異常點拉偏。
- 💡 實例:預測房價、預測氣溫、預測產品銷售量。
- 邏輯回歸 (Logistic Regression)
- 為什麼需要它?:當我們不想預測具體數字(如房價),而是想預測「是或否」(如會不會買房)時,直線就不管用了。我們需要將輸出壓縮到 0 與 1 之間。
- 核心原理:透過 Sigmoid 函數將輸出壓縮至 0~1 之間,代表 機率。主要用於 二元分類。
- ⚠️ 關鍵概念:雖然名稱含「回歸」,但本質是用於 二元分類 任務。
- 💡 實例:判斷郵件是否為垃圾信、客戶是否違約、腫瘤是良性或惡性。
- Lasso / Ridge 回歸
- 核心原理:為了避免模型太鑽牛角尖(過擬合),我們在損失函數中加入 正則化 (Regularization) 項,給模型一點「懲罰」。
- ⚠️ 特性比較:→
- Lasso (L1):傾向將係數壓縮至 0 → 具備 特徵選擇 功能。
- Ridge (L2):傾向將係數變小但不為 0 → 著重於 防止過擬合。
2. 決策樹與隨機森林:從規則到民主投票
AI 如果不套公式,還能怎麼做決定?
就像我們畫流程圖一樣:一個問題接一個問題問下去(決策樹)。如果怕一個人想不周全,那就找一群人來投票(隨機森林)。

- 決策樹 (Decision Tree)
- 核心原理:樹狀決策結構 (If-Then)。透過資訊增益 (Information Gain) 或 Gini 係數決定分割點。
- ✅ 優點:直觀易懂、可視化清楚、能處理數值與類別資料
- ⚠️ 缺點:
- 決策樹在訓練時會不斷切割資料,直到幾乎每個葉節點只剩少量樣本,導致「記太多細節」。
- 結果就是:在訓練資料上準確率超高,但面對新資料時表現變差(泛化能力差)。
- 💡 優化:需進行 剪枝 (Pruning) 或限制深度。
- 實例:銀行貸款審核(年薪 > 100萬?→ 有房產?→ 核准)。
- 隨機森林 (Random Forest)
- 為什麼需要它?:單一棵樹容易犯錯(過擬合),但如果種一片森林,讓每棵樹都發表意見,結果就會穩定很多。這就是 Bagging 的智慧。
- 核心原理:Bagging 技術。建立多棵決策樹,透過 投票 (Voting) 決定最終結果。
- 隨機抽樣(Bootstrap Sampling):每棵樹用不同的樣本子集訓練。
- 隨機特徵選擇(Random Feature Selection):每次分割時只看部分特徵,避免樹之間過於相似。
- ⚠️ 關鍵特性:模型龐大、預測速度較慢。但穩定性高,抗雜訊能力強,不需繁瑣的特徵工程。
- 💡 實例:信用評分、欺詐檢測。
3. 距離與機率家族:尋找鄰居與畫出界線
當數據全部混在一起,要怎麼把它們切開?
兩種思路:要在中間畫一條最寬的馬路來分隔(SVM),不然就是看它住在誰隔壁(KNN)。

- KNN (K-Nearest Neighbors, 最近鄰演算法)
- 核心原理:「物以類聚」。給定一筆新資料,它會去找「訓練集中與它最接近的 K 個資料點」,再根據這些鄰居的標籤來預測新資料的類別。
- K 值過小 → 易受雜訊干擾 (過擬合)。
- K 值過大 → 邊界模糊 (欠擬合)。
- 限制:計算成本隨資料量線性增長。
⚠️ 關鍵參數 (K):
💡 實例:簡易推薦系統(找出跟你看過一樣電影的 K 個人,看他們還喜歡什麼)。
- 樸素貝葉斯 (Naive Bayes)
- 核心原理:基於「貝氏定理」的機率分類,假設特徵彼此獨立,依各特徵出現機率來預測最可能的類別。
- ⚠️ 關鍵特性:雖然獨立假設過於理想化,但在 文本分類 (如垃圾郵件、情感分析) 表現優異且運算極快。
- 💡 實例:垃圾郵件過濾(出現 "中獎" 且 "免費" 的機率)、新聞分類。
- SVM (支持向量機)
- 核心原理:尋找能將類別區分開且 邊界 (Margin) 最大化 的超平面。
- 直觀理解:想像有兩群人正在爭吵,你想在他們中間拉一條警戒線。最好的線不是隨便畫一條,而是要讓雙方離那條線盡量遠一點,這樣最安全。
- 這條線就是「最優超平面(Optimal Hyperplane)」,而離這條線最近的那些點,就叫做「支援向量(Support Vectors)」,因為正是它們決定了這條界線的位置。
- ⚠️ 關鍵技巧:Kernel Trick (核技巧)。將資料映射至高維空間以解決 非線性 分類問題。
- 💡 實例:手寫數字辨識 (MNIST)、生物特徵分類。
4. 類神經網路 (Neural Networks)
如果我的資料特徵很難定義(例如怎麼形容貓的長相),根本沒有「欄位」怎麼辦?
當傳統演算法無能為力,無法用簡單的數學公式描述時,我們就需要模仿大腦的神經網路結構了。它會像大腦一樣,從線條、形狀到輪廓,層層拆解影像的特徵。

- CNN (卷積神經網路)
- 適用場景:影像辨識、電腦視覺。
- ⚠️ 關鍵結構:卷積層 (提取特徵) + 池化層 (降維/保留特徵)。
- 💡 實例:FaceID 人臉解鎖、自動駕駛路標辨識、醫療 X 光片判讀。
- RNN / LSTM (遞迴神經網路)
- 適用場景:序列資料 (文字、語音、時間序列)。
- ⚠️ 關鍵結構:具備記憶能力。LSTM 透過閘門機制解決了傳統 RNN 的 梯度消失 問題,適合長序列。
- 💡 實例:語音輸入法、股市趨勢預測。
- Transformer
- 適用場景:NLP 自然語言處理 (BERT/GPT)。
- ⚠️ 關鍵技術:自注意力機制 (Self-Attention)。它不再像 RNN 逐字閱讀,而是能一次看完整句,捕捉長距離依賴關係,是現代大型語言模型的基石。
- 💡 實例:Google 翻譯、ChatGPT、Copilot 程式碼生成。
🔵 非監督式學習 (Unsupervised)
如果連標準答案都沒有,電腦還能學東西嗎?
可以。它會發揮「物以類聚」的本能,把長得像的東西擺在一起,這就是分群。
- K-Means 分群
- 核心原理:以距離為基準,將資料分為 K 個群。需預先指定 K 值。
- ⚠️ 關鍵限制:需預先指定 K 值、對離群值敏感、僅適合球狀分佈。
- 💡 實例:會員分級(金卡/銀卡/普卡)、T恤尺寸制定(S/M/L)。
- DBSCAN 分群
- 核心原理:基於密度的分群。不需指定群數,能識別並排除 雜訊 (Noise)。
- 💡 實例:信用卡盜刷偵測(刷卡地點密度異常)、地理軌跡分析。
- PCA (主成分分析)
- 核心原理:透過線性投影,找出資料變異量最大的方向。
- ⚠️ 關鍵用途:降維 (Feature Reduction)。把複雜的高維資料壓縮,只保留最重要的特徵,以便運算或視覺化。
- Apriori (關聯規則)
- 核心原理:挖掘頻繁項目集 (Frequent Itemsets)。
- ⚠️ 關鍵指標:
- Support (支持度):出現頻率。
- Confidence (信賴度):條件機率 (買A則買B)。
- Lift (提升度):相關性強度 (Lift > 1 表示正相關)。
- 💡 實例:超市購物籃分析(啤酒與尿布)、電商「買這商品的人也買了...」。
🟣 強化學習 (Reinforcement Learning)
怎麼教機器人像生物一樣學走路?
這就像是在教寵物或訓練小孩,摔倒就扣分,走穩就給糖吃(獎勵)。讓它為了想吃糖,自己去試出走路的方法。

- 核心原理:
- 學習過程是通過試錯 (Trial-and-Error) 進行的,智能體根據行動後獲得的獎勵(或懲罰)來調整其策略 (Policy),即在特定狀態 (State) 下選擇何種行動的規則。
- 智能體 (Agent) 在環境中亂試。
- 做對了給 Reward (獎勵),做錯了給懲罰。
- 目標是最大化長期的累積獎勵。
- ⚠️ 探索與利用 (Exploration vs. Exploitation):
- 探索:試試新招,雖然可能會輸,但也可能發現新大陸。
- 利用:用這招既然會贏,就一直用這招,穩拿分數。
- 如何在兩者間取得平衡,是強化學習的難題。
- 💡 實例:AlphaGo 圍棋、機器人學走路、自動駕駛決策。
- 常見演算法:
- Q-Learning:用表格 (Q-Table) 記錄「狀態 × 行動」的價值,查表找最佳解。
- Deep Q-Network (DQN):用 類神經網路 取代 Q-Table,能處理複雜畫面 (如玩 Atari 遊戲)。
第三部分:模型訓練與優化策略 (Training & Optimization)
我們沒有寫下任何一行
if-else 的規則,電腦到底是憑什麼學會認出貓咪的?它的學習過程其實跟人類小孩一模一樣:不斷地「猜測」、被「打分數」、然後「修正」。
注意:本節內容(反向傳播、優化器、Epoch)主要描述 類神經網路 (Deep Learning) 的訓練機制。

1. 內層循環:模型訓練流程 (The Training Loop)
模型是怎麼變聰明的?
只要五個步驟:猜題 → 算分 → 檢討 → 改正 → 重複再練。

此過程在固定的超參數設定下,透過多次迭代 (Epochs) 更新模型權重,以最小化損失函數。
步驟 | 名稱 | 做什麼 | 說明 |
1 | 前向傳播
(Forward Propagation) | 將輸入資料傳入模型,經過層層神經元運算,輸出預測值。 | 寫考卷。將資料輸入模型,算出一個預測結果。 |
2 | 計算損失
(Loss Calculation) | 比對預測值與真實答案,算出誤差(例如 MSE、Cross Entropy)。 | 打分數。比對預測結果與標準答案,算出差距 (Loss)。 |
3 | 反向傳播 (Backpropagation) | 算出每個權重對誤差的影響(梯度)。 | 檢討錯題。找出是哪個環節(權重)導致了錯誤,算出每個權重該負的責任(梯度)。 |
4 | 梯度下降
(Gradient Descent) | 實際執行權重的加減,讓模型下次預測更準。 | 訂正觀念。根據梯度,實際去調整權重,讓下次預測更準。 |
5 | 重複多輪
(Epochs) | 多次重複 1~4 步,直到模型收斂。 | 題海戰術。重複上述步驟成千上萬次,直到分數不再進步。 |
2. 外層循環:超參數調整 (Hyperparameter Tuning)
既然模型會自己學「參數」,那人類工程師要幹嘛?
人類要負責設定「超參數」。這就像老師雖然不能幫學生考試,但要負責制定「讀書計畫」(例如要讀幾遍、讀多快),這些就是超參數。

有些參數是模型自己學不到的(例如:一次要讀幾本書、學習速度要多快),這些稱為 超參數 (Hyperparameters),需要人類工程師來設定與調整。
步驟 | 名稱 | 做什麼 | 舉例 |
1 | 設定超參數 (Hyperparameter Setting) | 人工指定無法被訓練的參數(如結構、學習率)。 | 設定學習率 0.01、Batch Size 32、層數 5 層。 |
2 | 執行訓練 (Execute Training) | 使用設定好的參數,跑完上面的「內層循環」。 | 開始跑 50 個 Epochs,觀察 Loss 下降。 |
3 | 驗證評估 (Validation) | 用沒看過的「驗證集」考試,看模型是否過擬合。 | 訓練集 99分,驗證集只有 70分 → 過擬合。 |
4 | 調整超參數 (Hyperparameter Tuning) | 根據驗證結果修改設定,重新開始。 | 降低學習率,增加 Dropout 層。 |
5 | 重複流程 (Iterate) | 不斷嘗試不同組合,直到找到最佳解。 | 使用 Grid Search 自動跑 100 組設定。 |
🔁 重複整個流程:不斷迭代直到找到在驗證集上表現最好的超參數組合。
3. 關鍵元件:損失函數 (Loss Function)
模型只是一堆數學公式,它怎麼知道自己現在是「做對」還是「做錯」?
這就需要一個嚴格的裁判——損失函數。
損失函數就是模型的「計分板」或「藤條」。它告訴模型:你現在錯得有多離譜。

衡量模型預測誤差的標準,依任務類型選擇。
- MSE (均方誤差)
- 用途:回歸任務(預測連續數值)。
- 定義:計算預測值與真實值差值的平方平均。對大誤差較敏感。
- 💡 說明:對大誤差非常嚴厲(平方倍懲罰),迫使模型修正離譜的錯誤。
- MAE (平均絕對誤差)
- 用途:回歸任務。
- 定義:計算預測值與真實值差值的絕對值平均。對離群值容忍度較高。
- 💡 說明:對誤差一視同仁,適合雜訊較多的資料。
- Cross Entropy (交叉熵)
- 用途:分類任務(預測機率)。
- 定義:衡量兩個機率分佈(預測分佈 vs 真實分佈)的差異。
- 💡 說明:若模型對正確類別的預測機率越低(越沒信心),產生的 Loss 就會呈指數級上升。
4. 關鍵元件:反向傳播 (Backpropagation) 問題
為什麼有時候練了很久,模型卻一點長進都沒有?
可能是因為「訊號」傳不回去。就像公司層級太多,基層永遠收不到高層的指令(梯度消失),或者是指令太強烈讓執行層崩潰(梯度爆炸)。
在深度學習中,「檢討錯題」的訊號(梯度)有時傳不到最前面的層級,導致學習失敗。

- 反向傳播:
- 計算損失函數(Loss Function)相對於網路中所有參數(權重和偏差)的偏導數(梯度)。
- 藉由計算出的梯度,指導優化演算法如何調整這些參數。
- 最終目標是最小化整體損失,讓神經網路得以從錯誤中學習並調整自身。
雖然反向傳播是核心機制,但在深層網路中容易遇到問題:
- 梯度消失 (Vanishing Gradient)
- 現象:誤差往前傳遞時數值越來越小,導致前端層級的權重幾乎不更新,學不到特徵。
- 原因:層數太深,或使用導數值較小的激活函數 (如 Sigmoid/Tanh)。
- 解法:使用 ReLU / Leaky ReLU 激活函數、Batch Normalization、或 ResNet (殘差連接)。
- 梯度爆炸 (Exploding Gradient)
- 現象:誤差往前傳遞時數值越來越大,導致權重劇烈波動,Loss 不穩定甚至發散 (NaN)。
- 原因:權重初始化過大,或網路層數過深。
- 解法:Gradient Clipping (梯度裁剪)、使用正規化初始化方法 (如 Xavier / He Initialization)。
5. 關鍵元件:梯度下降與優化器 (Gradient Descent & Optimizer)
知道錯了之後,要怎麼修正最有效率?
看你是要一次搬完所有便便(Batch),還是看到一點就搬一點(SGD)。最好的方式通常是混合(Mini-batch)。

梯度下降 (Gradient Descent)
一種利用損失函數的偏導數(梯度)來更新參數,使誤差最小化的演算法。常見有三種形式:
- Batch Gradient Descent (批次梯度下降)
- 定義:一次使用 全部 資料計算平均梯度後,才更新一次權重。
- 特性:方向精準、收斂穩定,但計算量大、訓練速度慢。
- Stochastic Gradient Descent (SGD, 隨機梯度下降)
- 定義:每次僅使用 一筆 資料計算梯度並更新權重。
- 特性:更新極快,有助於跳出局部最小值,但收斂過程極不穩定、容易震盪。
- Mini-Batch Gradient Descent (小批次梯度下降)
- 定義:每次使用 一小批 (如 32, 64 筆) 資料計算梯度。
- 特性:平衡了計算效率與穩定性,是 實務上最常用 的方法。
🔹 優化器 (Optimizer)
優化器可視為「梯度下降的外掛」,決定如何利用梯度來更新權重,目的是加速收斂並避免陷入局部最佳解。
- SGD:最基礎的優化器,無動量機制。
- Momentum:加入「動量」(慣性)機制,讓參數更新方向更平滑,減少震盪。
- Adam:實務首選。結合動量與 RMSprop (自適應學習率),能自動調整每個參數的學習步伐,收斂快且穩。
局部最小值 (Local Minima)
複雜的損失函數中,可能會存在「多個極小值」,模型有可能停在「看起來低,但其實不是最低」的地方,以為自己到了最低點(最佳解),但其實旁邊還有更低的山谷。優化器的任務之一就是幫助模型跳出這些陷阱。

6. 泛化能力提升 (Generalization)
模擬考 100 分,就代表大考也能拿高分嗎?
不一定,可能是「死背答案」(過擬合)。遇到沒看過的題目就掛了。

核心挑戰:過擬合 (Overfitting)
模型在訓練資料上表現很好,但在新資料上表現差。就像學生只會死背考古題,題目稍微改一下就不會寫了。

解決 Overfitting (過擬合) 的四大策略:
策略層面 | 關鍵手段 (Tools) | 核心邏輯 (The Logic) |
(A) 資料面 | 1. 資料擴增 (Augmentation)
2. 資料平衡 (Balancing)
3. 合成資料 (Synthetic Data) | 「見多識廣」
給模型看更多變體(翻轉、加噪聲),或用生成式 AI 補足稀缺資料,強迫它學特徵而非死記像素。 |
(B) 模型面 | 1. Dropout (隨機拋棄)
2. Regularization (正則化)
3. 模型簡化 | 「增加難度」
故意關掉部分神經元 (Dropout),或懲罰太複雜的權重 (L1/L2),強迫模型找出最強健的規則。 |
(C) 流程面 | 1. 提前停止 (Early Stopping)
2. 交叉驗證 (Cross Validation) | 「見好就收」
在考試(驗證集)成績開始變差前停止訓練;或是輪流切換考題,避免運氣好猜對。 |
(D) 組合面 | 1. Bagging (Random Forest)
2. Boosting (XGBoost) | 「團體戰」
三個臭皮匠勝過一個諸葛亮。結合多個模型的意見來投票,降低單一模型的偏見或錯誤。 |
第四部分:模型評估
模型準確率 (Accuracy) 高達 99%,老闆開香檳慶祝,為什麼資深工程師卻反而眉頭一皺?
因為在資料不平衡的世界裡,準確率常常是個「騙子」。
想像 100 個零件裡只有 1 個瑕疵品,模型只要閉著眼睛全部猜「良品」,準確率就能拿到 99 分。但那個唯一的瑕疵品卻被放過了,這時候準確率毫無意義。
所以,比起「準不準」,我們更該問「你在乎什麼代價」?
- 怕「冤枉好人」(例如垃圾信過濾,不想誤刪重要信件)👉 你需要 精確率 (Precision),追求「寧缺勿濫」。
- 怕「放過壞人」(例如癌症篩檢,寧可誤判也不要漏病)👉 你需要 召回率 (Recall),追求「寧濫勿缺」。

1. 分類指標 (Confusion Matrix)
指標 (Metric) | 核心意義 (Meaning) | 應用情境與備註 (Focus) |
Accuracy (準確率) | 整體考幾分 | 資料分佈平均時使用。
⚠️ 資料不平衡時會失準 (99% 都是狗,全猜狗也有 99 分)。 |
Precision (精確率) | 寧缺勿濫 | 預測為「正」的,有多少是真的?
💡 用於垃圾郵件過濾 (避免誤刪重要信件)。 |
Recall (召回率) | 寧濫勿缺 | 真正的「正」樣本,抓出了多少?
💡 用於傳染病篩檢、地震預警 (不能漏抓)。 |
F1-score (F1 分數) | 平衡觀點 | Precision 與 Recall 的綜合考量。
💡 兩難時的最佳參考指標。 |
AUC / ROC | 評估模型鑑別力 | AUC = 0.5 是亂猜,1.0 是神。
💡 資料不平衡時特別好用。曲線越高越好,AUC 接近 1 表示模型判別力強。 |
2. 回歸指標 (Regression Metrics)
預測房價這種數字題,要怎麼算準不準?
簡單粗暴:看預測值跟真實答案的「距離」有多遠。

指標 (Metric) | 意義與特性 (Characteristics) |
MAE
(平均絕對誤差) | 誤差絕對值的平均。
對離群值較不敏感,適合雜訊較多的資料。 |
MSE
(均方誤差) | 誤差平方的平均。
對大誤差懲罰重 (因為平方放大了),適合嚴格要求準確度的場景。 |
RMSE
(均方根誤差) | MSE 開根號。
單位跟原始資料一樣 (例如:元、度),比較好直觀理解誤差大小。 |
R²
(決定係數) | 0 ~ 1 之間。
代表模型解釋了多少資料變異。越接近 1 代表模型擬合越完美。 |
第五部分:模型生命週期與維運 (Deployment & MLOps)
模型訓練好、準確率達標,專案是不是就可以結案慶功了?
恰恰相反。對於 AI 來說,離開實驗室進入真實世界,災難才正要開始。因為真實世界的數據永遠在變,模型就像牛奶一樣,時間久了是會「壞掉」的。

模型訓練完成、準確率達標,然後呢?許多人以為這就是終點,但對於 AI 工程師來說,上線 (Deployment) 才是挑戰的開始。
1. 部署與推論 (Deployment & Inference)
模型要養在雲端,還是養在手機裡?
看你的需求。要算力強就放雲端 (Cloud),要反應快就放邊緣 (Edge)。
定義:將訓練好的模型放進真實環境,提供預測服務。
- Inference (推論):模型實際應用時的計算過程(區別於 Training)。
- 部署位置:
- 本地端 (On-premise):公司內部伺服器(安全、可控)。
- 雲端 (Cloud):AWS, GCP, Azure(彈性、易擴充)。
- 邊緣 (Edge):手機、IoT 裝置(低延遲、隱私好)。
2. 監控與模型飄移 (Monitoring & Drift)

飄移類型 (Type) | 定義與成因 (Definition & Cause) | 實例 (Example) |
資料飄移
(Data Drift) | 輸入資料 (Input) 的分佈變了。
使用者行為、環境、季節、設備、感測器等外在因素導致特徵分佈改變。 | 題目變了。原本訓練夏天的數據,現在進入冬天,氣溫特徵完全不同。 |
概念飄移
(Concept Drift) | 輸入與輸出的關係 (Logic) 變了。
真實世界規則更新或市場偏好轉變,使相同特徵不再對應相同結果。 | 答案變了。同樣的房型,受通膨或政策影響,房價邏輯變了。 |
模型飄移
(Model Drift) | 模型本身性能隨時間退化。權重不再適應環境、資料不平衡加劇、部署環境變動、硬體差異、模型老化導致效能下降。 | 真實世界是動態的,昨天的真理可能是今天的謬誤。 |
AI 系統不是「蓋好就沒事」的建築,而更像是有生命的有機體。 它需要持續的 MLOps (Machine Learning Operations) 來監控健康狀態,並透過持續訓練 (Continuous Training) 來適應這個不斷變化的世界。
結語:AI 不只是技術,更是面對世界的思維
從資料預處理到模型部署,從演算法選擇到 MLOps 維運,我們走過了機器學習的完整生命週期。但在這些技術細節之外,更值得記住的是這些與人生相通的智慧:
- Garbage In, Garbage Out:你的輸入決定了你的格局。
- 沒有最好的演算法,只有最適合的:就像沒有標準答案的人生。
- 過擬合 (Overfitting) 是大忌:死記硬背走不遠,舉一反三(泛化)才是真本事。
- 擁抱錯誤 (Loss):失敗不是終點,而是梯度下降修正方向的動力。
機器學習的本質,或許就是在提醒我們:學習從來不是一蹴可幾的魔法,而是一場持續優化的旅程。當我們理解了演算法背後的邏輯,也就更明白——無論是訓練模型還是成就自己,關鍵都在於:好好餵養、不斷調整、勇於試錯,然後在每一次迭代中變得更好。
相關文章
.png?table=collection&id=2ba70f01-9634-81f4-8376-000b1aff7bf1&t=2ba70f01-9634-81f4-8376-000b1aff7bf1)







