影音平台推薦下一支影片、信箱攔截垃圾郵件、銀行判斷交易風險,背後都可能用到機器學習。它們看起來像「電腦自己學會規則」,更準確的說法是:開發者定義任務、資料與評估方式,演算法再從資料調整模型參數。 若你還不確定 AI、機器學習和生成式 AI 的範圍,可先看 AI 新手入門。
模型學到的是資料中的統計模式,不是放諸四海皆準的真理。資料有偏差、答案標錯、測試方式不合理,模型就可能在報表上很好看,到了真實環境卻失準。
機器學習和一般程式有什麼差別?
一般規則式程式由人明確寫出條件,例如「訂單超過某金額就人工審核」。機器學習則讓模型從過往案例學習輸入和結果之間的關係,再對新案例輸出預測。
| 方法 | 規則從哪裡來 | 適合情境 |
|---|---|---|
| 規則式程式 | 人明確撰寫條件 | 規則穩定、可完整列舉、必須容易解釋 |
| 機器學習 | 演算法從資料調整模型 | 規則難以手寫、案例多、允許用機率判斷 |
兩者常常一起使用。垃圾郵件模型可以先給風險分數,再由明確規則決定要放進垃圾桶、要求驗證,還是交給人工處理。若十條規則就能穩定完成工作,也不必為了「使用 AI」增加資料管線與監控成本。
一個機器學習問題有哪些元素?
資料、特徵與標籤
資料是用來訓練與評估的案例。特徵(feature)是模型可使用的輸入,例如信件字數、寄件網域、房屋坪數或最近交易次數。標籤(label)是監督式學習想預測的答案,例如「垃圾郵件/正常郵件」或成交價格。
資料並非越多越好。數量增加通常有幫助,但代表性、標記品質、欄位定義與蒐集方式同樣重要。一百萬筆過時或偏向單一族群的紀錄,可能不如較小但貼近使用情境的資料集。
演算法與模型
演算法是如何從資料更新參數的方法;模型是訓練完成後用來預測的結果。決策樹、線性模型與神經網路都是模型家族,同一批資料用不同方法訓練,可能得到不同的準確度、速度與可解釋性。
損失函數與評估指標
訓練時,損失函數告訴演算法「目前錯多少」,演算法據此調整參數。評估指標則用來回答業務問題,例如攔截垃圾信時漏掉多少、房價預測平均差多少、詐欺警示中有多少是真的。
監督式學習:從有答案的案例學習
監督式學習使用成對的輸入與標籤。模型在訓練時看過案例及正確答案,目標是把學到的關係套用到未見資料。
分類:答案是類別
- 信件是垃圾郵件或正常郵件。
- 影像中是否有產品瑕疵。
- 客戶是否可能取消訂閱。
分類模型通常輸出機率或分數,再由門檻轉成類別。門檻不是固定答案:把詐欺門檻調低,可能抓到更多可疑交易,同時也會誤擋更多正常交易。
迴歸:答案是連續數值
- 預測房屋成交價格。
- 預估下週需求量。
- 預測設備剩餘壽命。
迴歸的答案是連續數值,任務不一定和未來有關。若資料生成方式改變,例如政策、價格或使用者行為變動,模型也需要重新評估。
非監督式學習:尋找未標記資料的結構
非監督式學習沒有每筆資料的標準答案,常用來探索結構、壓縮資訊或協助後續分析。
分群
分群會依選定特徵與距離概念,把相似案例放在一起。例如根據購買頻率、金額與商品類型建立顧客群。模型找出的群不會自動等於「高價值客戶」或其他業務標籤,仍需要人解讀與驗證。
分群結果很受特徵尺度、群數與演算法假設影響。同一批客戶資料改用不同欄位,可能得到完全不同的群組。
降維
降維把大量相關特徵壓縮成較少的表示,可用於視覺化、降低雜訊或加速後續模型。壓縮後的維度不一定有直觀名稱,也可能犧牲部分資訊。
異常偵測
當真正異常案例很少或難以標記時,可以先學習常見模式,再找出偏離模式的案例。被標成異常只代表「和多數資料不同」,不等於一定是詐欺、故障或攻擊,通常還需要人工或其他規則確認。
強化學習和前兩者有何不同?
強化學習讓代理人在環境中採取行動,根據獎勵訊號調整策略,目標是提高長期累積回饋。遊戲、機器人控制與部分資源配置問題會使用這種方法。
它不是單純「沒有標籤的學習」。獎勵函數、可採取行動與環境回饋都由系統設計;獎勵定義錯誤時,代理人可能找到符合分數、卻違背真正目的的做法。
特徵工程還重要嗎?
特徵工程是把原始資料轉成模型更容易使用的表示。例如把日期轉成年、月、星期,把交易紀錄整理成近 30 天次數,或把類別欄位編碼成數值。
深度學習可以直接從影像、聲音與文字中學出許多表示,降低部分手工特徵需求,但資料定義仍然重要。開發者還是要決定預測時間點、可使用哪些欄位、缺值如何處理,以及哪些資訊在真實預測時根本拿不到。
最危險的錯誤之一是資料洩漏(data leakage):訓練資料包含預測當下不可能知道的答案線索。例如用「退款完成日期」預測訂單是否會退款,離線分數可能非常高,上線時卻沒有這個欄位可用。
訓練集、驗證集與測試集
三種資料用途不同:
- 訓練集:用來調整模型參數。
- 驗證集:用來選模型、調超參數與決定門檻。
- 測試集:在選擇完成後,估計模型面對未見資料的表現。
沒有所有專案都適用的 70/20/10 或 80/20 固定比例。資料量大時,較小的驗證與測試比例也可能足夠;資料少時可考慮交叉驗證。比例之外,怎麼切更重要:
- 預測未來需求時,應按時間先後切分,不能把未來資料隨機混進訓練集。
- 同一病人、使用者或裝置的紀錄應避免同時出現在訓練與測試兩邊。
- 少數類別要確認各資料集仍有足夠案例可評估。
測試集若被反覆拿來調整模型,就不再是獨立測試。這時應保留新的資料,或清楚承認目前分數已經受到選擇影響。
Accuracy、Precision、Recall 怎麼選?
以「陽性」代表模型要找的事件:
- Accuracy(準確率):所有案例中,預測正確的比例。
- Precision(精確率):模型判為陽性的案例中,實際為陽性的比例。
- Recall(召回率):所有真正陽性案例中,被模型找出的比例。
- F1:Precision 與 Recall 的調和平均,適合需要平衡兩者的比較,但仍會隱藏具體錯誤成本。
假設一萬筆交易只有十筆詐欺,模型全部猜「正常」也有 99.9% Accuracy,卻一筆詐欺都抓不到。這種不平衡資料要同時看 Precision、Recall、混淆矩陣,以及不同門檻下的表現。
迴歸任務常見指標包括 MAE(平均絕對誤差)與 RMSE(均方根誤差)。RMSE 對大誤差較敏感;選哪一個要看大錯一次是否特別昂貴。指標最終應連回實際代價,例如誤擋訂單、漏掉瑕疵與人工複核時間。
過度擬合與分布改變
過度擬合是模型太貼近訓練資料細節,在未見資料上表現下降。可以透過更多具代表性的資料、正則化、限制模型複雜度、資料增強與適當驗證降低風險。
但上線失準不一定都是過度擬合。使用者、產品、政策或感測器改變,會使實際資料分布和訓練時不同。這時需要持續監控輸入分布、錯誤率、延遲與業務結果,必要時重新標記資料、調整規則或重訓模型。
從問題到上線的實務流程
- 定義目標:先寫清楚要預測什麼、在什麼時間點預測,以及預測後要採取什麼行動。
- 建立簡單基準:拿固定規則、平均值或簡單模型比較,確認複雜模型真的帶來改善。
- 整理與切分資料:檢查標記品質、缺值、偏差、群組與時間,防止資料洩漏。
- 訓練與驗證:比較模型和門檻,記錄實驗條件,不只挑最高單一分數。
- 獨立測試:用未參與選擇的資料評估,也檢查重要族群與邊界案例。
- 小範圍上線:保留人工覆核、回退方案與事件紀錄;生成式模型還可參考 LLM 評測指南。
- 持續監控:追蹤資料漂移、模型品質、成本、公平性與實際業務結果。
Google 的 Rules of ML也建議先建立可靠管線與簡單模型,再增加複雜度。模型上線只是週期的一部分,不是專案終點。
常見問題
機器學習、深度學習和 AI 有什麼關係?
AI 是較大的領域,機器學習是其中一類方法;深度學習又是機器學習中的一類,主要使用多層神經網路。不是所有 AI 都是機器學習,也不是所有機器學習都需要深度神經網路,可延伸閱讀 深度學習入門。
做機器學習一定要很多資料嗎?
沒有固定筆數。需求取決於任務難度、特徵、雜訊、模型與可接受誤差。資料少時可先用簡單模型、遷移學習或規則基準;比起盲目蒐集,先分析模型在哪些案例失敗更有價值。
模型 Accuracy 很高,為什麼還不能上線?
高 Accuracy 可能來自類別不平衡、資料洩漏或測試資料不貼近真實情境。還要檢查 Precision、Recall、重要族群、時間外資料、延遲、成本與失敗後果。
機器學習模型會一直自己變好嗎?
通常不會。多數已部署模型的參數是固定的,只有重新訓練或明確設計線上學習流程才會更新。新資料也可能包含錯誤或攻擊,因此更新前需要驗證、版本控制與回退機制。
什麼情況不適合使用機器學習?
規則可以完整列舉、沒有可用資料、錯誤代價極高卻無法人工覆核,或問題環境變動快到無法評估時,都應先考慮規則式系統、改善資料或縮小任務。