---
title: "類別權重（Class Weight）"
slug: class-weight
language: zh-TW
source: https://aiterms.tw/terms/class-weight
updated_at: 2026-07-04
tags: [機器學習, 模型訓練, 資料處理, source:ipas]
ipas_term: true
---

# 類別權重（Class Weight）

類別權重是一種機器學習技術，透過賦予少數類別較高權重來解決資料不平衡問題，提升模型對稀有事件的預測能力。

## 完整說明

類別權重是一種在模型訓練過程中調整損失函數的技術，用於解決分類任務中的資料不平衡問題。它能夠藉由提高少數類別錯誤預測的懲罰，促使模型更關注稀有樣本，常見應用包括醫療診斷、詐欺偵測與設備故障預測。

## iPAS 考試出題分析

屬於未分類考範圍。

## 常見問題

### 類別權重和抽樣技術（如 SMOTE）應該如何選擇？

在面對不平衡資料集時，選擇類別權重或抽樣技術取決於資料集的規模與特性。如果資料集非常龐大，使用過度抽樣技術可能會導致訓練時間呈指數級增加，此時調整類別權重通常是較有效率的做法，因為它不需要改變訓練資料的實體數量，只需在損失函數的計算中加入乘數即可。另一方面，如果少數類別的樣本數真的極度稀少，模型可能無法單憑加重懲罰來學習到足夠的特徵變異性，這時使用 SMOTE 等合成技術生成新樣本，可能會有助於建立更清晰的決策邊界。實務上，工程師經常會先嘗試類別權重作為基準線，若成效不足，再引入資料層面的抽樣技術進行比較，甚至在某些情況下透過交叉驗證來評估結合兩者的成效。

### 調整類別權重會影響模型的整體準確率（Accuracy）嗎？

調整類別權重通常會對模型的整體準確率產生影響，且在多數不平衡分類的場景中，整體準確率往往會呈現下降的趨勢。這是因為未加權的模型傾向於盲目預測數量佔絕對優勢的多數類別，以此換取極高的表面準確率。當我們賦予少數類別較高的權重時，模型會變得更願意預測少數類別。雖然這會顯著提升少數類別的召回率，捕捉到更多我們真正關心的稀有事件，但不可避免地也會增加將多數類別誤判為少數類別的次數（偽陽性增加）。由於多數類別的基數龐大，些微的誤判率增加都會在總體準確率上造成明顯的拉低。因此，在使用類別權重時，必須放棄將整體準確率作為唯一評估標準，改以 F1-Score 或精確度與召回率的綜合考量為主。

### 在深度學習框架中（如 PyTorch 或 TensorFlow），如何具體實作類別權重？

在主流的深度學習框架中，實作類別權重通常非常直接，主要是透過調整損失函數的參數來完成。以 PyTorch 為例，在進行多類別分類任務並使用交叉熵損失函數時，該函數提供了一個名為 weight 的參數。開發者只需計算好每個類別對應的權重，將其轉換為張量格式，並在實例化損失函數時傳入即可。在訓練迴圈中，框架底層會自動處理加權的損失計算與梯度反向傳播。而在 TensorFlow 或 Keras 中，則經常在呼叫模型的 fit 方法時，透過 class_weight 參數傳入一個字典，字典的鍵為類別標籤，值為對應的權重。框架會在這個訓練階段自動將這些權重應用於批次資料的損失計算中，無需開發者手動修改內部邏輯。

---

來源：https://aiterms.tw/terms/class-weight
快查頁：https://aiterms.tw/terms/class-weight
最後更新：2026/07/04
深度解說：https://aiterms.tw/learning/what-is-class-weight