Z 分數標準化(Z-score Normalization)是什麼?

將特徵值轉換為均值為 0、標準差為 1 的標準常態分佈的資料預處理方法。|本頁含完整原理、應用場景、iPAS 考試重點與 3 個常見問答。

英文
Z-score Normalization
主題標籤
資料預處理、特徵縮放、標準化
考點定位
非 iPAS 核心術語
最後更新
2026/06/22
Z 分數標準化(Z-score Normalization)是什麼? 資料預處理特徵縮放
術語快查

搜尋意圖: 如果你在找「Z 分數標準化 是什麼」或「Z 分數標準化 和相近概念差在哪」,先看這頁的短定義、完整說明與延伸比較。

TL;DR: 將特徵值轉換為均值為 0、標準差為 1 的標準常態分佈的資料預處理方法。

實用情境: 適合用在閱讀 AI 文章、產品文件或和同事討論時,先用一頁快速對齊概念。

下一步: 先讀完定義,再往下看延伸比較與對應工具,把概念轉成實際應用。

將特徵值轉換為均值為 0、標準差為 1 的標準常態分佈的資料預處理方法。

Z 分數標準化(Z-score Normalization)是資料預處理中最常用的特徵縮放方法之一,其數學定義為:z = (x - μ) / σ,其中 x 是原始觀測值,μ 是該特徵在訓練集上的均值,σ 是該特徵的標準差。轉換後的資料具有均值為 0、標準差為 1 的性質,這種分佈被稱為標準常態分佈(Standard Normal Distribution)。

在機器學習中,特徵縮放的重要性源於不同特徵往往具有截然不同的量綱與數值範圍。例如,房價預測模型中,「房屋面積」的數值可能在 20 至 500 平方公尺之間,而「距離捷運站的步行時間」可能在 1 至 60 分鐘之間,「屋齡」則可能在 0 至 80 年之間。若直接使用原始數值訓練模型,梯度下降(Gradient Descent)優化過程中,數值範圍較大的特徵會主導梯度的更新方向,導致模型難以收斂,甚至偏向忽視數值範圍小但重要性高的特徵。

Z 分數標準化能夠有效解決這個問題。轉換後,所有特徵都被映射到以 0 為中心的相近數值範圍,梯度下降可以更均衡地在各個特徵維度上進行搜索,加速收斂並提升模型的訓練穩定性。

特別適合使用 Z 分數標準化的演算法包括:線性回歸(Linear Regression)、邏輯回歸(Logistic Regression)、支援向量機(SVM)、主成分分析(PCA)、以及使用梯度下降優化的神經網路。這些方法的共同特點是對特徵的尺度敏感,標準化後通常能獲得更好的訓練效果。

相對地,決策樹(Decision Tree)、隨機森林(Random Forest)與梯度提升樹(Gradient Boosting Trees)等基於樹的演算法,由於其分裂邏輯基於排名或閾值,對特徵的絕對數值不敏感,因此不需要進行 Z 分數標準化。

值得注意的是,Z 分數標準化在實務中必須嚴格遵守「先分割後計算」的原則:均值和標準差只能從訓練集計算,然後用這兩個值分別對訓練集、驗證集和測試集進行轉換。若在分割前先計算全資料集的統計值,會造成資料洩漏(Data Leakage),導致模型在驗證/測試集上的評估結果過於樂觀,與真實部署效果存在落差。

Z 分數標準化與最小最大標準化(Min-Max Normalization)是最常對比的兩種方法。Min-Max 將數值映射到 [0, 1] 區間,不改變原始分佈形狀,但對異常值(Outlier)非常敏感,一旦存在極端值,大多數資料點會被壓縮在很小的範圍內。Z 分數標準化對異常值的抗性相對較強,且在特徵符合常態分佈假設時效果更好。在實際應用中,選擇哪種方法需要根據資料的分佈特性與後續使用的演算法類型來決定。 Z 分數正規化(Z-score Normalization),又稱標準化(Standardization),是機器學習中最常用的特徵縮放方法之一,通過將每個特徵轉換為均值為 0、標準差為 1 的標準正態分布,使不同特徵具有可比的尺度。

Z 分數正規化的公式為:z = (x - μ) / σ,其中 x 是原始值,μ 是該特徵的均值,σ 是標準差。轉換後的 z 值代表原始值距離均值多少個標準差,正值表示高於均值,負值表示低於均值,絕對值代表偏離的相對程度。

Z 分數正規化對許多機器學習算法至關重要。基於距離的算法(如 KNN、K-means)在計算歐氏距離時,量綱不同的特徵(例如年齡 20-80 歲 vs 收入 20,000-2,000,000 元)未經縮放會使距離計算被大數值特徵主導,忽略小數值特徵的差異。Z 分數正規化後,各特徵對距離的貢獻變得均等。

主成分分析(PCA)在進行 Z 分數正規化後效果更穩定,因為 PCA 尋找方差最大的方向,若某特徵方差本身就很大(如未縮放的收入),PCA 會過分關注它,而非真正找到資料的最重要變異方向。

在深度神經網路的訓練中,Z 分數正規化輸入有助於梯度流動穩定性:當各層輸入的尺度相近時,梯度爆炸和梯度消失的問題較不嚴重。批次正規化(Batch Normalization)本質上是在神經網路各層中間進行的 Z 分數正規化,已成為深度學習的標準組件。

實際應用中,正規化參數(均值和標準差)必須只從訓練集計算,再應用於測試集,以避免測試集資訊洩露影響評估結果。scikit-learn 的 StandardScaler 提供了正確的 fit/transform 分離接口。

常見問題

Z 分數標準化和 Min-Max 正規化應該如何選擇?

選擇 Z 分數標準化或 Min-Max 正規化主要取決於兩個因素:資料分佈特性以及後續使用的演算法。如果資料近似常態分佈且不含明顯的異常值,Z 分數標準化通常是較好的選擇,特別適合搭配 SVM、邏輯回歸和神經網路等演算法。如果資料存在明確的數值邊界,或後續要輸入需要 [0,1] 範圍輸入的模型(如某些神經網路輸入層設計),Min-Max 正規化更為適合。若資料中含有顯著的異常值,Z 分數標準化雖然優於 Min-Max,但也可以考慮先做異常值處理,或改用更穩健的 RobustScaler(以中位數和四分位距替代均值和標準差)。

為什麼 Z 分數標準化的均值和標準差只能從訓練集計算,不能從全資料集計算?

這是防止資料洩漏(Data Leakage)的核心規範。在真實的機器學習工作流程中,測試集代表模型未曾見過的未來資料。若先合併所有資料計算均值和標準差,再進行標準化和分割,那麼訓練集的統計資訊就會「滲透」進測試集的標準化計算中,使得模型在評估時隱性地利用了未來資料的統計特性。這樣的評估結果無法真實反映模型在生產環境中的表現。正確做法是:先做訓練集與測試集的分割,僅用訓練集計算均值 μ 和標準差 σ,再用這組固定的統計值分別轉換訓練集與測試集,這樣才能確保評估的公平性與客觀性。

如果資料不是常態分佈,Z 分數標準化還適用嗎?

Z 分數標準化本身在數學上並不要求資料一定符合常態分佈,轉換操作同樣可以執行。然而,Z 分數的直觀解釋(如「某值距均值 2 個標準差」對應特定的百分位數)是建立在常態分佈假設之上的。對於嚴重偏態(Skewed)的資料,Z 分數標準化後異常值對均值與標準差的影響仍然存在,轉換效果不如理想。實務上,面對偏態資料通常先進行對數轉換(Log Transform)或 Box-Cox 轉換使分佈更接近常態,再進行 Z 分數標準化;或直接改用 RobustScaler,它以中位數和四分位距(IQR)計算,對偏態和異常值更為穩健。