Hồi quy là một bài toán kinh điển trong Machine Learning mà Least Squares (Bình phương Tối tiểu) là một trong những phương pháp phổ biến. Bằng cách xây dựng một model tương quan giữa các biến đầu vào và biến mục tiêu từ dữ liệu huấn luyện, chúng ta có thể dự đoán giá trị mục tiêu cho các dữ liệu mới.
Trong bài viết này, chúng ta sẽ tìm hiểu về Least Squares và các phương pháp giải cụ thể và chi tiết cho bài toán này.
Model (Mô hình) mà chúng ta hay nghe qua thực chất là một hàm số f(x,θ) với x là một tập hợp các input (đầu vào) và θ là một tập hợp các parameter (tham số).
Với mỗi giá trị x, model sẽ cho ra một giá trị y là output (đầu ra) tương ứng. y thể là một câu trả lời cho một câu hỏi nào đó, một bức ảnh được tạo ra hay một dự đoán về một sự kiện trong tương lai.
Ma trận
Ma trận là một tập hợp các số được sắp xếp thành các hàng và cột. Nó giúp biểu diễn các chiều không gian cao hơn.
Ý nghĩa hình học của ma trận là nó biểu diễn một phép biến đổi tuyến tính, hay nói cách khác nó giống như một hàm số biến đổi một không gian này sang một không gian khác mà phép biến đổi này có thể là tổ hợp của các phép rotate (quay), stretch (co giãn), trượt (shear),...
Ma trận A∈Rm×n biểu diễn một phép biến đổi từ không gian Rn sang không gian Rm.
Least Squares
Least Squares (Bình phương Tối tiểu) là một phương pháp tối ưu hóa để lựa chọn một đường khớp nhất cho một tập hợp các điểm dữ liệu. Đường khớp nhất là đường có tổng bình phương sai số nhỏ nhất giữa các điểm dữ liệu và đường đó.
Nghiệm của bài toán Least Squares là tập hợp giá trị của các parameter ứng với hàm số đã chọn. Từ đó ta sẽ có được một model có thể dự đoán được giá trị output cho một input bất kì.
Công thức
Gọi sự chênh lệch giữa giá trị quan sát được y và giá trị mà model dự đoán y^ là e.
e=y^−y=f(x,θ)−y(1)
Ta có thể tính được tổng bình phương sai số S:
S=i=1∑n(yi^−yi)
Tuy nhiên e có thể nhận giá trị âm, dẫn đến việc không thể so sánh được với các giá trị khác. Vì vậy chúng ta sẽ nâng cấp hàm S như sau:
S=i=1∑n∣yi^−yi∣
Lúc này S đã phản ánh đúng chức năng của việc mô phỏng độ lệch giữa 2 tập giá trị, tuy nhiên hàm trị tuyệt đối ∣x∣ là một hàm không khả vi tại x=0, nên chúng ta không thể dùng nó để tính đạo hàm / gradient. Vì vậy chúng ta sẽ sử dụng hàm bình phương để thay thế cho hàm trị tuyệt đối:
L=21(y^−y)2(2)
Lí do 21 được thêm vào là để đơn giản hóa việc tính đạo hàm / gradient của L: ∇L=y^−y.
Sau khi tìm được nghiệm, chúng ta có thể quan sát được vị trí tương quan giữa các điểm dữ liệu và model.
Lời giải
Cho f(x,θ) là một model có m tham số: θ={θ0,θ1,…,θm}.
Để S đạt giá trị nhỏ nhất, ta sẽ phải tìm các parameter θ sao cho S đạt cực trị, vì cực trị duy nhất của S sẽ luôn rơi vào trường hợp cực tiểu do đây là tổng của các r2≥0.
Lúc này, ta chỉ cần đặt gradient của S về 0, hay đặt đạo hàm của S về 0 theo từng parameter θ, vì lúc này θ có vai trò như là một biến/ẩn.
Trong đó, A∈Rm×n là một ma trận chứa giá trị của các Basic Function (Hàm số Cơ bản) ϕ tại các điểm x đã cho. Và x∈Rn là một vector chứa các parametera, hay còn gọi là Coefficient Vector (Vector Hệ số).
📝 Nhắc lại
Basic Function (Hàm số Cơ bản) là một hàm số mà các hàm số khác có thể được biểu diễn dưới dạng tổng tuyến tính của nó. Có nghĩa là ma trận A có thể biểu diễn được.
Ví dụ: y=θ0sin(x)+θ1cos(x) có thể biểu diễn được bằng ma trận A=[sin(xi)cos(xi)] với các basic function là sin(x) và cos(x). Trong khi đó y=sin(θ0x)+cos(θ1x) không thể biểu diễn được vì các parameter θ0 và θ1 nằm trong hàm số.
Cho trước b∈Rm là một vector chứa các giá trị y quan sát được, lúc này nhiệm vụ của chúng ta là xấp xỉ nghiệm của y theo b với sai số nhỏ nhất:
yAx≈b≈b(8)
Lúc này bài toán trở thành tìm vector x∈Rn sao cho:
=xmin∣∣y−b∣∣2xmin∣∣Ax−b∣∣2(9)
Tập nghiệm của bài toán này là:
AxATAxxx=b=ATb=(ATA)−1ATb=A†b(10)
📝 Nhắc lại
A là Non-singular Matrix (Ma trận Khả nghịch) khi và chỉ khi A là ma trận vuông và full rank (đủ hạng). Vì vậy, trong nhiều trường hợp, chúng ta có thể thay thế A−1 bằng A†. Đây là một Pseudo Inverse Matrix (Ma trận Giả Nghịch) được tính bằng (ATA)−1AT, vì ATA luôn khả nghịch.
Ý nghĩa hình học của Inverse Matrix (Ma trận Nghịch đảo) là nếu A biến đổi một không gian nào đó thì A−1 sẽ biến đổi lại về không gian ban đầu. Trong khi đó Pseudo Inverse Matrix sẽ biến đổi về một không gian với các chiều gần giống không gian ban đầu nhất.
Trong trường hợp lí tưởng, khi mà ma trận A khả nghịch (full rank và vuông) thì đồng nghĩa với việc phương trình Ax=b có nghiệm duy nhất. Đồng nghĩa với việc tồn tại một đường đi qua tất cả các điểm đã cho.
Tất nhiên, trong mọi trường hợp thì hầu hết thì phương trình trên sẽ vô nghiệm, hay ma trận A sẽ không khả nghịch. Do đó chúng ta nhờ đến Pseudo Inverse Matrix vì nó sẽ giúp ta xấp xỉ được nghiệm lí tưởng cho bài toán.
Ví dụ
Sử dụng tập dữ liệu ở (4) để xấp xỉ đường thẳng y=θ0+θ1x+θ2x2.
QR Decomposition (Phân rã QR) là một phương pháp phân rã một ma trận bất kì thành tích của hai ma trận Q và R, trong đó Q là một Orthonormal Matrix (Ma trận Trực chuẩn) và R là một Upper Triangular Matrix (Ma trận Tam giác trên).
Giải bài toán Least Squares bằng QR Decomposition
Một khi thể phân rã A thành tích của hai ma trận Q và R, thay vì dùng ma trận giả nghịch như (9), ta có thể biến đổi thành:
AxQRxRxx=b=b=QTb=R−1QTb(18)
Singular Value Decomposition
Singular Value Decomposition (Phân tích Suy biến) là một phương pháp phân rã một ma trận bất kì thành tích của ba ma trận U, Σ và VT, trong đó U và V là các Orthonormal Matrix (Ma trận Trực chuẩn) và Σ là một Diagonal Matrix (Ma trận Đường chéo).
Giải bài toán Least Squares bằng Singular Value Decomposition
Quay lại (7), ta có thể phân rã A thành tích của ba ma trận U, Σ và VT, khi đó (7) trở thành: