# Phân rã Bias – Variance: Bản chất của sai số mô hình


Mọi mô hình học máy khi dự đoán một điểm dữ liệu mới $x_0$ đều phải đối mặt với một phương trình phân rã sai số kinh điển:

$$
\mathbb{E}\left[\left(y_0 - \hat{f}(x_0)\right)^2\right] = \operatorname{Var}\left(\hat{f}(x_0)\right) + \left[\operatorname{Bias}\left(\hat{f}(x_0)\right)\right]^2 + \operatorname{Var}(\varepsilon).
$$

---

## 1. Trực giác (Intuition) của từng thành phần

Phương trình chia sai số dự đoán thành đúng **ba mảnh ghép độc lập**:

### 1. Vế trái: $\mathbb{E}\left[\left(y_0 - \hat{f}(x_0)\right)^2\right]$ — Sai số kiểm định kỳ vọng (Expected Test MSE)
* **Ý nghĩa:** Sai số bình phương trung bình khi mô hình đem đi thực chiến trên dữ liệu mới, tính trung bình qua vô số lần huấn luyện với các tập dữ liệu khác nhau.
* **Hình dung:** Đây là thước đo "chất lượng thực tế" ngoài đời của thuật toán.

### 2. $\operatorname{Var}\left(\hat{f}(x_0)\right)$ — Phương sai mô hình ("Tính khí thất thường")
* **Ý nghĩa:** Dự đoán của mô hình dao động mạnh đến mức nào nếu ta huấn luyện nó trên một tập dữ liệu khác?
* **Trực giác:** Mô hình có Variance cao (như Decision Tree quá sâu, mạng nơ-ron không chặn) là kẻ **"học vẹt"** — quá nhạy cảm với từng điểm dữ liệu ngẫu nhiên của tập train. Đổi tập dữ liệu một chút là kết quả dự đoán nhảy lung tung.
* **Bản chất:** Gốc rễ của hiện tượng **Quá khớp (Overfitting)**.

### 3. $\left[\operatorname{Bias}\left(\hat{f}(x_0)\right)\right]^2$ — Độ chệch bình phương ("Định kiến mô hình")
* **Ý nghĩa:** Sai lệch giữa giá trị dự đoán trung bình của mô hình và sự thật khách quan: $\operatorname{Bias} = \mathbb{E}[\hat{f}(x_0)] - f(x_0)$.
* **Trực giác:** Mô hình có Bias cao là kẻ **"bảo thủ"** — mang nặng giả định giản lược thái quá (ví dụ ép dữ liệu cong thành đường thẳng Linear Regression). Dù có nạp thêm bao nhiêu triệu dữ liệu đi nữa, mô hình vẫn đoán lệch tâm.
* **Bản chất:** Gốc rễ của hiện tượng **Dưới khớp (Underfitting)**.

### 4. $\operatorname{Var}(\varepsilon) = \sigma^2$ — Sai số bất khả quy ("Nhiễu của tạo hóa")
* **Ý nghĩa:** Phương sai của biến ngẫu nhiên nhiễu $\varepsilon$ trong chính thực tại ($y_0 = f(x_0) + \varepsilon$).
* **Trực giác:** Thế giới thực luôn chứa đựng sai số đo đạc, biến số tiềm ẩn chưa thu thập hoặc bản chất ngẫu nhiên không thể đoán trước. 
* **Bản chất:** Đây là **sàn sai số vật lý** (noise floor) mà không một thuật toán tối tân nào có thể vượt qua.

---

## 2. Hai Insight cốt tử của công thức

### Insight 1: Cuộc đánh đổi bắt buộc (The Inevitable Trade-off)
Khi bạn tăng độ phức tạp của mô hình (thêm bậc đa thức, thêm tầng nơ-ron):
- Mô hình linh hoạt hơn $\to$ **$\text{Bias}^2$ giảm**.
- Nhưng mô hình bám sát từng nhiễu ngẫu nhiên của tập train $\to$ **$\text{Variance}$ tăng vọt**.

> **Nhiệm vụ của Machine Learning không phải là triệt tiêu Bias hay Variance, mà là tìm "điểm ngọt" (Sweet Spot)** — nơi tổng $(\text{Bias}^2 + \text{Variance})$ đạt cực tiểu.

### Insight 2: Giới hạn tuyệt đối của việc học
Dù bạn có thuật toán hoàn hảo nhất vũ trụ ($\text{Bias} = 0$) với lượng dữ liệu vô hạn biến phương sai về không ($\text{Variance} = 0$), sai số thực chiến **vẫn luôn lớn hơn hoặc bằng $\sigma^2$**:

$$
\text{Expected Test MSE} \ge \sigma^2.
$$

Đừng kỳ vọng mô hình chính xác 100% khi bản thân dữ liệu thế giới thực luôn chứa đựng sự bất định.

---

### Tóm tắt trong một bảng

| Thành phần | Đại diện cho | Bệnh lý khi quá cao | Cách khắc phục |
| :--- | :--- | :--- | :--- |
| **Bias²** | Giả định quá đơn giản | **Underfitting** (quá vụng) | Tăng độ phức tạp mô hình, thêm feature |
| **Variance** | Quá nhạy với tập train | **Overfitting** (học vẹt) | Thu thập thêm data, Regularization, Pruning, Bagging |
| **$\sigma^2$** | Nhiễu ngẫu nhiên thực tế | Bất khả quy | Đo lường chuẩn hơn, tìm thêm biến giải thích cốt lõi |

