Khu Vực Riêng Tư
Vui lòng đăng nhập bằng tài khoản Google (Gmail) được cấp quyền để xem nội dung bài viết.
Đang tải xác thực...

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*} $$

Lấy đạo hàm của $S(\beta)$ theo $\beta$, ta được

$$ \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?