2025年8月27日 星期三

機器學習的 X / Y / Z 框架整理

 

🚀 機器學習的 X / Y / Z 框架整理


🔹 X:問題類型 (Task)

👉 決定「要解什麼問題」,對應不同的輸出與基本 Loss。

  • 迴歸 (Regression)

    • 輸出連續值

    • 常用 Loss:MSE (平方誤差)

    • 訊號:殘差 (y − ŷ),負梯度 = 殘差

  • 分類 (Classification)

    • 輸出類別

    • 常用 Loss:Cross-Entropy

    • 訊號:負梯度 ≠ 殘差,要計算 logistic 損失的導數

  • 排序 (Ranking)

    • 輸出相對順序

    • Loss:pairwise 或 listwise ranking loss

    • 訊號:基於 pairwise 梯度

  • 強化學習 (RL)

    • 輸出策略,目標是最大化 reward

    • Loss:不是「殘差」,而是 reward function

    • 訊號:policy gradient (正梯度,上升)


🔹 Y:學習模式 (Learning Paradigm)

👉 決定「怎麼學」。

  1. 單模型優化 (Optimization)

    • Logistic regression, Neural nets, SVM …

    • 用梯度下降/上升直接優化 Loss / Likelihood。

  2. 集成學習 (Ensemble)

    • 平行 (Bagging / Stacking)

      • 弱學習器獨立學習,再整合 (隨機森林)。

    • 順序 (Boosting)

      • 弱學習器逐步疊加,每一步修正前一步的錯誤。

      • 差別在於「修正的指標量」是什麼:

        • AdaBoost → 錯誤率 / 權重

        • Gradient Boosting → 負梯度 (殘差只是特殊情況)

        • XGBoost → 一階 + 二階導數 (Gradient + Hessian)


🔹 Z:指標量 / 引導訊號 (Objective / Signal)

👉 決定「如何修正」。

  • Loss / Likelihood

    • 迴歸 (MSE):負梯度 = 殘差

    • 分類 (Cross-Entropy):負梯度 ≠ 殘差,要算對數似然的導數

    • 排序 (Ranking Loss):pairwise/listwise 的梯度

    • 強化學習 (RL):policy gradient (正梯度,上升)

  • 下降 vs 上升

    • 梯度下降 (Gradient Descent):沿負梯度方向 → 損失縮小 → 殘差縮小

    • 梯度上升 (Gradient Ascent):沿正梯度方向 → 效益/likelihood/reward 增加

  • 演算法演進

    • AdaBoost:樣本權重 (error-based)

    • Gradient Boosting:負梯度 (general loss-based)

    • XGBoost:一階 + 二階導數 (Newton Boosting)


🎯 一句話總結

  • X (Task):你要解什麼問題?(迴歸、分類、排序、強化學習)

  • Y (Learning):你怎麼學?(單模型優化、集成 → Bagging vs Boosting)

  • Z (Signal):你根據什麼修正?(誤差、殘差、梯度、一階/二階導數、likelihood、reward)

👉 所以:

  • Boosting 是概念:一種「逐步修正」的集成方法。

  • 殘差:只是平方誤差下的特例(負梯度 = 殘差)。

  • 梯度:才是更一般的「指標量」。

  • 梯度下降 vs 上升:取決於你是最小化誤差,還是最大化效益。

沒有留言: