---
# System prepended metadata

title: 【Hung-yi Lee Machine Learning L3】過擬合驗證集

---

# 1. 訓練集與驗證集
資料集通常分為三部分：

1.訓練集 $D_{train}$：用來訓練模型參數。

2.驗證集 $D_{val}$：用來選擇最佳模型或調整超參數。

3.測試集 $D_{test}$：完全不參與訓練與選擇，用來評估最終模型的泛化能力。

# 2. 使用驗證集選擇最佳模型的陷阱
假設有三組模型集合 $\mathcal{H}_1$、$\mathcal{H}_2$ 和 $\mathcal{H}3$。在訓練集 $D{train}$ 上，分別找出每個集合中表現最好的模型：

$h_1^* = \arg\min_{h \in \mathcal{H}1} L(h, D{train})$。

$h_2^* = \arg\min_{h \in \mathcal{H}2} L(h, D{train})$。

$h_3^* = \arg\min_{h \in \mathcal{H}3} L(h, D{train})$。

接著，用驗證集 $D_{val}$ 來評估每個 $h_i^*$ 的表現：

$L(h_1^*, D_{val}) = 0.9$。

$L(h_2^*, D_{val}) = 0.7$。

$L(h_3^*, D_{val}) = 0.5$。

從上述三個模型中選擇在驗證集上表現最好的模型。這個行為其實是：

1.定義驗證集上的候選模型集合為 $\mathcal{H}_{val} = { h_1^, h_2^, h_3^* }$

2.選出最小驗證損失的模型：$h^* = \arg\min_{h \in \mathcal{H}{val}} L(h, D{val})$

雖然驗證集沒有直接用來訓練模型參數，但這種「選模型」的行為其實也讓驗證集變成了一部分
的「訓練過程」。因此對驗證集也產生 overfitting。

## 2.1 補充數學解釋：驗證集過擬合的機率界限
【1】

根據 Hoeffding 不等式，假設空間為 $\mathcal{H}$，則從其中選出一個在訓練集 $D_{train}$ 上表現良好的假設，其實際泛化誤差偏離期望的機率具有以下上界：

$P(D_{train} \text{ is bad}) \leq |\mathcal{H}| \cdot 2\exp(-2N\varepsilon^2)$。

其中，$N$ 為訓練資料的樣本數，$\varepsilon$ 為允許的誤差容忍度。

【2】

若使用驗證集 $D_{val}$ 作為模型選擇依據，相當於從一個新的假設集合 $\mathcal{H}{val}$ 中選取一個模型，則驗證集產生選擇錯誤的機率上界為：

$P(D{val} \text{ is bad}) \leq |\mathcal{H}{val}| \cdot 2\exp(-2N{val}\varepsilon^2)$。

其中，$|\mathcal{H}{val}|$ 表示驗證階段參與比較的模型數量，$N{val}$ 為驗證集樣本數。

【3】

驗證集的可靠性受到 $|\mathcal{H}_{val}|$ 影響，若此值過大，即代表驗證集被反覆使用於模型挑選，則即使驗證集本身未直接用於參數訓練，其仍有可能被過度擬合，導致選擇出的模型在測試集上表現不佳。

# 3. 解決過擬合驗證集的方法
1.保留一組從未參與模型訓練與選擇的測試集 $D_{test}$，專門用來最終評估泛化能力。

2.若驗證集使用次數過多，建議使用交叉驗證（Cross-Validation）來減少對單一驗證集的依賴。

3.建立正確的資料分割流程，確保模型評估公平可信。

驗證集的主要目的是協助我們選擇表現最佳的模型，但若過度依賴其結果進行反覆調整，就會出現過擬合風險。因此，為了確保模型真正具備泛化能力，應當保留獨立測試集，並審慎使用驗證集做決策。



