Hồi quy đa thức là gì?
Nó giống như bạn đang cố vẽ một đường cong “mượt mà” để mô tả một đám mây điểm dữ liệu lộn xộn trên biểu đồ. Thay vì dùng một đường thẳng đơn giản như hồi quy tuyến tính (y = ax + b), hồi quy đa thức cho phép bạn vẽ những đường cong uốn lượn như một con rắn lượn sóng, kiểu như y = ax² + bx + c hay phức tạp hơn nữa (y = ax³ + bx² + cx + d, v.v.).
Tưởng tượng thế này:
Bạn có một đám bạn đang ném bóng lên trời, và bạn muốn dự đoán quỹ đạo bay của quả bóng. Nếu bạn chỉ dùng một cây thước thẳng (hồi quy tuyến tính), đường bóng sẽ trông cứng nhắc và chả giống thật. Nhưng với hồi quy đa thức, bạn có thể vẽ một đường cong mềm mại, lượn theo quả bóng như một vũ công ba-lê, khớp với dữ liệu thực tế hơn.
Tại sao gọi là “đa thức”?
Vì hàm số bạn dùng là một đa thức, tức là có các số mũ (x², x³, v.v.). Độ cao của số mũ (bậc của đa thức) quyết định đường cong “uốn éo” thế nào. Bậc càng cao, đường cong càng “điệu đà”, nhưng cẩn thận! Quá điệu (bậc quá cao) thì mô hình sẽ “học vẹt” dữ liệu, gọi là quá khớp (overfitting), giống như một người cố mặc cái áo chật quá, trông kỳ cục.
Ví dụ:
Hãy tưởng tượng bạn đang dự đoán số cốc trà sữa bạn uống theo số tiền trong ví. Nếu tiền nhiều, bạn uống nhiều, nhưng nếu tiền ít, bạn uống ít, mà đôi khi bạn còn “bốc đồng” mua thêm một cốc dù ví rỗng. Hồi quy đa thức sẽ vẽ một đường cong để bắt lấy cả những lúc bạn “bốc đồng” này, thay vì chỉ kẻ một đường thẳng nhàm chán.
Công thức “đầu bếp”:
- Lấy dữ liệu (các điểm trên biểu đồ, như số tiền và số cốc trà sữa).
- Chọn một “bậc” cho đường cong (bậc 2, 3, hay hơn).
- Dùng máy tính (hoặc thư viện như
scikit-learn
trong Python) để tìm các hệ số (a, b, c,…) sao cho đường cong “ôm” sát dữ liệu nhất. - Thưởng thức món “đường cong” đẹp mắt, khớp với dữ liệu!
Lưu ý:
- Đừng để đường cong “uốn éo” quá, không là nó sẽ chạy theo từng điểm dữ liệu như một chú chó đuổi theo mọi chiếc xe, mất hết ý nghĩa tổng quát.
- Hồi quy đa thức giống như makeup: làm đẹp dữ liệu thì tốt, nhưng lạm dụng thì trông như con vẹt!