Nội dung

Nghiệm bình phương tối thiểu (Least Square Solution)

1. Phát xuất của bài toán

Khi cố gắng giải bài toán $\mathbb{X}\beta = \mathbf{y}$ nào đó và nhận ra nó vô nghiệm (tức là dấu “=” không xảy ra với mọi vector $\beta\in\mathbb{R^n}$), ta thường nghĩ đến việc tìm giá trị $\hat\beta$ nào đó sao cho $\mathbb{X}\hat\beta$ “gần” $\mathbf{y}$ nhất có thể. Vì dấu “=” không xảy ra, ta sẽ cần thiết kế một cách đo lường mức độ “gần” giữa $\mathbf{y}$ và $\mathbb{X}\beta,$ tiếp theo là cực tiểu hoá bài toán đo lường đó để tìm ra $\hat\beta$.

Vậy, ta đo lường mức độ “gần” đó giữa $\mathbf{y}$ và $\mathbb{X}\beta$ bằng cách nào?

Nhắc lại rằng, $\mathbf{y}$ và $\mathbb{X}\beta$ là hai vector trong không gian $n$ chiều, trông như sau

$$ \begin{align*} \mathbf{y} &= \begin{bmatrix} y_1 \\ y_2 \\ \vdots \\ y_n \end{bmatrix}, \\ \mathbb{X}\beta &= \begin{bmatrix} 1 & x_{11} & x_{12} & \cdots & x_{1p} \\ 1 & x_{11} & x_{12} & \cdots & x_{1p} \\ 1 & x_{21} & x_{22} & \cdots & x_{2p} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 1 & x_{n1} & x_{n2} & \cdots & x_{np} \end{bmatrix} \begin{bmatrix} \beta_0 \\ \beta_1 \\ \beta_2 \\ \vdots \\ \beta_p \end{bmatrix} = \begin{bmatrix} x_{11}\beta_1 + x_{12}\beta_2 + \cdots + x_{1p}\beta_p \\ x_{21}\beta_1 + x_{22}\beta_2 + \cdots + x_{2p}\beta_p \\ \vdots \\ x_{n1}\beta_1 + x_{n2}\beta_2 + \cdots + x_{np}\beta_p \end{bmatrix}. \end{align*} $$

Sai khác giữa $\mathbf{y}$ và $\mathbb{X}\beta$ có thể tính bằng

$$ \begin{align*} \epsilon &= \mathbf{y} - \mathbb{X}\beta = \begin{bmatrix} \epsilon_1 \\ \epsilon_2 \\ \vdots \\ \epsilon_n \end{bmatrix}. \end{align*} $$

Và đây là 1 vector sai số kích cỡ $(n \times 1)$ giữa $\mathbf{y}$ và $\mathbb{X}\beta$. Ta sẽ cần “tổng hợp” ra 1 con số để đo lường mức độ “gần” giữa chúng. Để tiện, diễn đạt, ta kí hiệu hàm đo lường độ “gần” đó là $S(\beta)$. Có 2 cách phổ biến để đo lường mức độ “gần” đó:

  • Lấy tổng của trị tuyệt đối của từng sai số thành phần trong vector $\epsilon$. Tức là $$S(\beta) = |\epsilon_1| + |\epsilon_2| + \cdots + |\epsilon_n| = \sum_{i=1}^{n} |\epsilon_i| = \|\epsilon\|_1.$$ Đây là cách đo lường sai số theo chuẩn 1 (norm 1). Tuy nhiên, cách này không phổ biến vì không dễ tối ưu, bởi hàm trị tuyệt đối không trơn tại $0$. Do đó, người ta sẽ thường chọn cách tiếp theo.
  • Lấy tổng của bình phương của từng sai số thành phần trong vector $\epsilon$. Tức là $$S(\beta) = \epsilon_1^2 + \epsilon_2^2 + \cdots + \epsilon_n^2 = \sum_{i=1}^{n} \epsilon_i^2 = \|\epsilon\|^2_2.$$ Đây chính là cách đo lường sai số theo chuẩn 2 (norm 2). Cách này phổ biến hơn vì hàm bình phương trơn tại mọi điểm. Ngoài ra, nếu lấy căn bậc 2 của $S(\beta)$, ta sẽ thu được khoảng cách Euclid giữa $\mathbf{y}$ và $\mathbb{X}\beta$ trong không gian $n$ chiều. Đó cũng là một lí do trực giác cho cách đo lường này.

2. Mục tiêu

Tìm $\hat{\beta}$ cực tiểu hóa tổng bình phương sai số

$$S(\beta) = \|\epsilon\|^2_2 = \|\mathbf{y} - \mathbb{X}\beta\|^2_2.$$

Để tiện ghi chép, người ta thường bỏ số 2 ở dưới chân đi. Tức là thay vì viết $|\epsilon|^2_2$, người ta sẽ viết $|\epsilon|^2$. Ngoài ra, thay vì phát biểu 1 câu thật dài “Tìm $\hat{\beta}$ cực tiểu hóa tổng bình phương sai số …”, người ta sẽ dùng kí hiệu toán để viết ngắn gọn lại thành

$$\hat{\beta} = \arg\min_{\beta} \|\mathbf{y} - \mathbb{X}\beta\|^2.$$

3. Ý tưởng và thực thi

Không khó để nhận ra $S(\beta)$ là một hàm lồi (convex function) của $\beta$. Điều này có nghĩa là nó có 1 điểm cực tiểu toàn cục (bạn đọc có thể tự chứng minh). Để tìm điểm cực tiểu đó, ta sẽ lấy đạo hàm của $S(\beta)$ theo $\beta$ và cho bằng 0. Sau đó giải phương trình đạo hàm để tìm $\hat{\beta}$. Xong!

Ý tưởng là vậy, nói thì dễ, cơ mà để hiện thực hoá ý tưởng đó, ta cần phải có chút kĩ năng về giải tích vector và ma trận. Cụ thể:

Khai triển hàm mục tiêu

$$ \begin{align*} S(\beta) &= \|\mathbf{y} - \mathbb{X}\beta\|^2 \\ &= (\mathbf{y} - \mathbb{X}\beta)^\top (\mathbf{y} - \mathbb{X}\beta) \\ &= \mathbf{y}^\top \mathbf{y} - \mathbf{y}^\top(\mathbb{X}\beta) - (\mathbb{X}\beta)^\top \mathbf{y} + (\mathbb{X}\beta)^\top(\mathbb{X}\beta). \end{align*} $$

Vì $\mathbf{y}^\top(\mathbb{X}\beta)$, $(\mathbb{X}\beta)^\top\mathbf{y}$ đều là số vô hướng và bằng nhau (bạn biết vì sao không?), nên ta có thể viết lại $S(\beta)$ như sau

$$ \begin{align*} S(\beta) &= \mathbf{y}^\top \mathbf{y} - 2(\mathbb{X}\beta)^\top \mathbf{y} + (\mathbb{X}\beta)^\top(\mathbb{X}\beta) \\ &= \mathbf{y}^\top \mathbf{y} - 2\beta^\top \mathbb{X}^\top \mathbf{y} + \beta^\top \mathbb{X}^\top \mathbb{X}\beta. \end{align*} $$$$ \begin{align*} \dfrac{\partial S}{\partial \beta} &= -2\mathbb{X}^\top \mathbf{y} + 2\mathbb{X}^\top \mathbb{X}\beta. \end{align*} $$

Giải phương trình $\dfrac{\partial S}{\partial \beta} = 0$

$$ \begin{align*} -2\mathbb{X}^\top \mathbf{y} + 2\mathbb{X}^\top \mathbb{X}\beta &= 0 \\ \Leftrightarrow \mathbb{X}^\top \mathbb{X}\beta &= \mathbb{X}^\top \mathbf{y} \\ \Leftrightarrow {\beta} &= (\mathbb{X}^\top \mathbb{X})^{-1}\mathbb{X}^\top \mathbf{y}. \end{align*} $$

Đây chính là nghiệm bình phương tối thiểu của bài toán. Nói cách khác, $\hat{\beta} = (\mathbb{X}^\top \mathbb{X})^{-1}\mathbb{X}^\top \mathbf{y}$.

4. Nâng cao:

Một số vấn đề nâng cao mà bạn có thể quan tâm:

  • Đâu là những điều kiện đảm bảo nghiệm bình phương tối thiểu tồn tại duy nhất?
  • Bạn có từng nghĩ về ý nghĩa hình học của nghiệm bình phương tối thiểu bao giờ chưa?