Hồi quy tuyến tính (Linear Regression) là một trong những thuật toán cơ bản nhất và phổ biến nhất trong Machine Learning. Mặc dù đơn giản, nó lại đóng vai trò nền tảng cho việc hiểu các thuật toán phức tạp hơn sau này. Linear Regression được sử dụng rộng rãi trong nhiều lĩnh vực, từ dự đoán giá nhà, doanh số bán hàng đến phân tích tài chính và khoa học xã hội.
Trong bài viết này, chúng ta sẽ cùng tìm hiểu hồi quy tuyến tính là gì, cách nó hoạt động và tại sao nó quan trọng. Bài viết được trình bày đơn giản, dễ hiểu với ví dụ minh họa, giúp người mới bắt đầu có thể nhanh chóng nắm bắt kiến thức cốt lõi.
Hồi quy tuyến tính là gì?
Hồi quy tuyến tính là một phương pháp trong Machine Learning dùng để mô hình hóa mối quan hệ giữa một biến phụ thuộc (y) và một hoặc nhiều biến độc lập (x) bằng một đường thẳng.
Hiểu đơn giản, nó tìm ra đường thẳng tốt nhất để “xuyên qua” đám mây dữ liệu và giúp bạn dự đoán giá trị mới.
Ví dụ:
Bạn muốn dự đoán giá nhà dựa trên diện tích. Bạn có dữ liệu:
| Diện tích (m²) | Giá (triệu đồng) |
|---|---|
| 50 | 800 |
| 60 | 900 |
| 80 | 1200 |
Hồi quy tuyến tính sẽ tìm ra một phương trình kiểu:
Giá = a * Diện tích + b
Để bạn chỉ cần nhập diện tích vào và nhận kết quả dự đoán giá.
Tại sao gọi là “tuyến tính”?
Thuật toán này giả định rằng mối quan hệ giữa input và output là tuyến tính. Nghĩa là khi input tăng hoặc giảm một lượng nhất định, thì output cũng thay đổi theo một tỉ lệ cố định.
Trên đồ thị, bạn sẽ thấy các điểm dữ liệu nằm rải rác, và hồi quy tuyến tính sẽ vẽ một đường thẳng sao cho tổng khoảng cách từ các điểm đến đường này là nhỏ nhất.
Công thức hồi quy tuyến tính
Công thức tổng quát của hồi quy tuyến tính một biến là:
y = a * x + b
Trong đó:
-
y: giá trị cần dự đoán (output)
-
x: biến đầu vào (input)
-
a: độ dốc của đường (slope)
-
b: điểm cắt trục y (intercept)
Hồi quy tuyến tính nhiều biến mở rộng công thức thành:
y = a₁x₁ + a₂x₂ + … + aₙxₙ + b
Hồi quy tuyến tính hoạt động như thế nào?
Khi huấn luyện mô hình, thuật toán sẽ:
- Ước lượng giá trị a và b sao cho đường thẳng dự đoán các điểm gần đúng nhất với dữ liệu thực.
- Dùng phương pháp tối thiểu hóa sai số bình phương (Least Squares) để giảm khoảng cách giữa các điểm dữ liệu và đường thẳng.
Kết quả là bạn có một đường thẳng mô hình hóa mối quan hệ và có thể dự đoán giá trị mới.
Ưu điểm và nhược điểm của hồi quy tuyến tính
Ưu điểm
-
Đơn giản, dễ hiểu và dễ triển khai
-
Tính toán nhanh, không tốn nhiều tài nguyên
-
Phù hợp với các bài toán có mối quan hệ tuyến tính rõ ràng
Nhược điểm
-
Không phù hợp nếu dữ liệu có mối quan hệ phi tuyến
-
Nhạy cảm với outliers (giá trị ngoại lai)
-
Hiệu suất kém khi dữ liệu có đa cộng tuyến (các biến đầu vào phụ thuộc nhau)
Ví dụ thực tế với Python và Scikit-learn
Để minh họa, chúng ta sẽ xây dựng một mô hình hồi quy tuyến tính đơn giản dự đoán giá nhà dựa trên diện tích bằng Python.
Cài đặt thư viện
Nếu bạn dùng Google Colab, Scikit-learn và Matplotlib đã được cài sẵn. Với Jupyter Notebook, cài bằng lệnh:
!pip install numpy pandas matplotlib scikit-learn
Đọc dữ liệu
Giả sử chúng ta có dữ liệu sau:
import pandas as pd
# Dữ liệu diện tích và giá nhà
data = {'Diện tích (m²)': [50, 60, 80, 100, 120],
'Giá (triệu đồng)': [800, 900, 1200, 1500, 1800]}
df = pd.DataFrame(data)
print(df)

