---
title: "最小最大值縮放（Min-Max Scaling）"
slug: min-max-scaling
language: zh-TW
source: https://aiterms.tw/terms/min-max-scaling
updated_at: 2026-06-22
tags: [特徵縮放, 資料前處理, 正規化, 機器學習基礎, iPAS中級, 特徵工程]
ipas_term: false
---

# 最小最大值縮放（Min-Max Scaling）

將資料線性轉換到指定區間（通常為 [0, 1]）的特徵縮放方法，透過減去最小值再除以值域來實現。

## 完整說明

最小最大值縮放（Min-Max Scaling），又稱最小最大值正規化（Min-Max Normalization），是資料前處理中常用的特徵縮放技術。其公式為 x_scaled = (x - x_min) / (x_max - x_min)，將原始資料線性壓縮到 [0, 1] 區間（或透過調整參數映射到任意指定區間）。此方法保留了各資料點的相對差距，適合資料範圍已知且不含嚴重異常值的場景。

## 常見問題

### Min-Max Scaling 和 Z-score 標準化（Standardization）應該怎麼選擇？

兩者的選擇取決於資料的分佈特性與下游演算法的需求。Min-Max Scaling 適合以下情境：資料範圍已知且有上下界、需要明確輸出範圍（如神經網路的 Sigmoid 輸入、影像像素歸一化）、資料分佈較均勻且無嚴重異常值。Z-score 標準化則適合：資料近似常態分佈、資料中含有異常值（標準差會被拉大但不像 Min-Max 那樣嚴重失真）、演算法假設輸入特徵均值為 0（如 PCA、線性 SVM）。總體原則：有異常值用 Z-score 或 Robust Scaler；資料需要落在 [0, 1] 用 Min-Max；不確定時可兩者都試並用交叉驗證評估效果。

### 決策樹（Decision Tree）和隨機森林（Random Forest）需要做 Min-Max Scaling 嗎？

不需要。決策樹及基於決策樹的集成方法（隨機森林、Gradient Boosting、XGBoost 等）在每個節點做分裂決策時，只比較特徵值與閾值的大小關係（例如「體重 > 70 kg 就往右走」），並不涉及特徵之間的距離計算或梯度更新，因此特徵的絕對數值尺度不影響模型結果。不論特徵值域是 [0, 1] 還是 [0, 100000]，決策樹找到的最佳分裂點都會自動調整，不會偏好某個特徵。相比之下，KNN、SVM（RBF 核）、邏輯回歸、神經網路、PCA 等方法則對特徵尺度敏感，需要做縮放。記住這個區別有助於在實務中避免不必要的前處理步驟。

### 為什麼對測試集做 Min-Max Scaling 時不能重新計算 min 和 max？

這涉及到避免資料洩漏（Data Leakage）的原則。在真實的生產環境中，模型做預測時是逐筆處理新資料的，無法預先知道所有未來資料的最小值與最大值。若在訓練時對訓練集計算了 min=100、max=500，但評估時對測試集重新算得 min=80、max=600，使用不同的縮放基準，評估的分數就無法代表線上的真實表現。更嚴重的是，若測試集的某個值超出訓練集的 [x_min, x_max] 範圍，重新縮放後的值仍在 [0,1] 內，但若用訓練集的縮放基準，該值會超出 [0,1]，這正是模型需要知道如何處理的分佈外情形。scikit-learn 的 Pipeline 機制設計就是為了強制只對訓練集 fit，再對所有資料 transform，正確使用可完全避免此類問題。

---

來源：https://aiterms.tw/terms/min-max-scaling
快查頁：https://aiterms.tw/terms/min-max-scaling
最後更新：2026/06/22
深度解說：https://aiterms.tw/learning/what-is-min-max-scaling