Lasso Regression Là Gì? Giải Thích Dễ Hiểu Cho Người Mới

Câu trả lời nhanh
Lasso Regression là biến thể hồi quy tuyến tính có thêm thành phần phạt chuẩn L1, ép nhiều hệ số về đúng 0. Điều này giúp mô hình tự động loại bỏ biến không quan trọng, thực hiện feature selection ngay trong quá trình huấn luyện, tạo ra mô hình gọn nhẹ và dễ giải thích.

Lasso Regression Là Gì?

Lasso Regression chọn biến quan trọng, loại bỏ biến nhiễu
Lasso Regression chọn biến quan trọng, loại bỏ biến nhiễu

Lasso Regression (Least Absolute Shrinkage and Selection Operator) là một biến thể của hồi quy tuyến tính, trong đó một số hệ số hồi quy bị “ép” về bằng không. Điều này có nghĩa mô hình tự động loại bỏ các biến không quan trọng, giữ lại chỉ những biến thực sự ảnh hưởng đến kết quả.

Điểm khác biệt lớn nhất giữa Lasso và hồi quy tuyến tính thông thường nằm ở thành phần phạt (penalty term). Lasso thêm vào hàm mất mát một khoản phạt tỷ lệ với giá trị tuyệt đối của hệ số, dùng chuẩn L1. Chính khoản phạt này khiến nhiều hệ số bị kéo về đúng bằng 0, tạo ra mô hình gọn nhẹ và dễ giải thích hơn.

Nói đơn giản hơn: tưởng tượng bạn đang dự đoán giá nhà dựa trên 50 yếu tố khác nhau. Lasso sẽ tự động xác định rằng chỉ khoảng 10 yếu tố thực sự quan trọng, còn 40 yếu tố kia bị loại bỏ hoàn toàn. Bạn không cần phải tự quyết định giữ hay bỏ biến nào, mô hình làm thay cho bạn.

Lasso Regression Hoạt Động Như Thế Nào?

Trong hồi quy tuyến tính thông thường (OLS), mô hình cố gắng giảm thiểu sai số giữa dự đoán và thực tế. Không có giới hạn nào về độ lớn của các hệ số, nên mô hình có thể gán trọng số rất lớn cho nhiều biến, dẫn đến overfitting.

Lasso thay đổi quy trình này bằng cách thêm vào hàm tối ưu một thành phần phạt chuẩn L1. Công thức cụ thể là tổng bình phương sai số cộng với lambda nhân tổng giá trị tuyệt đối của tất cả hệ số. Tham số lambda điều khiển độ mạnh của phạt: lambda càng lớn, càng nhiều hệ số bị đẩy về 0.

Khi lambda = 0, Lasso trở thành hồi quy tuyến tính bình thường. Khi lambda rất lớn, tất cả hệ số đều bị đẩy về 0, mô hình không học được gì. Bí quyết nằm ở việc chọn lambda phù hợp, thường dùng cross-validation.

Lasso Khác Gì So Với Ridge Regression?

Đây là câu hỏi nhiều người thắc mắc nhất khi tiếp xúc lần đầu. Cả hai đều là phương pháp regularization cho hồi quy tuyến tính, nhưng cách phạt khác nhau dẫn đến kết quả khác hẳn.

Ridge Regression dùng chuẩn L2 (bình phương hệ số) làm phạt. Kết quả là các hệ số bị thu nhỏ về gần 0 nhưng hiếm khi bằng đúng 0. Ridge giữ lại tất cả biến trong mô hình, chỉ giảm độ lớn của chúng. Phù hợp khi bạn tin tất cả biến đều đóng góp một phần nào đó.

Lasso dùng chuẩn L1 (giá trị tuyệt đối). Đặc tính hình học của L1 tạo ra “góc nhọn” tại điểm 0, khiến tối ưu hóa dễ dừng lại ở đúng 0. Kết quả là Lasso thực sự loại bỏ biến, tạo ra mô hình thưa (sparse). Phù hợp khi bạn nghĩ nhiều biến thực sự không cần thiết.

Mình hay dùng quy tắcthumb: nếu số biến nhiều hơn số mẫu (p > n), hoặc nghi ngờ nhiều biến bị dư thừa, Lasso là lựa chọn tốt hơn. Nếu tất cả biến đều có ý nghĩa và chỉ lo overfitting, Ridge an toàn hơn.

Elastic Net Kết Hợp Cả Hai Là Gì?

Elastic Net chính là kết hợp của Lasso và Ridge. Thay vì chọn một trong hai, Elastic Net dùng cả chuẩn L1 và L2 trong hàm phạt. Bạn có thể điều chỉnh tỷ lệ giữa hai loại phạt thông qua tham số alpha.

Khi alpha = 1, Elastic Net trở thành Lasso thuần. Khi alpha = 0, nó là Ridge thuần. Giá trị giữa 0 và 1 cho phép tận dụng ưu điểm của cả hai phương pháp.

Elastic Net đặc biệt hữu ích khi các biến có tương quan cao với nhau. Lasso thuần trong trường hợp này có xu hướng chọn ngẫu nhiên một biến và loại bỏ tất cả biến tương quan. Elastic Net giữ lại nhóm biến tương quan, ổn định hơn nhiều.

Khi Nào Nên Dùng Lasso Regression?

Lasso phù hợp nhất trong các tình huống sau:

Thứ nhất, khi bạn có rất nhiều biến đặc trưng (features) và tin rằng chỉ một phần nhỏ thực sự quan trọng. Ví dụ: phân tích gen với hàng nghìn biến, xử lý văn bản với hàng chục nghìn từ vựng, hoặc phân tích hành vi người dùng với hàng trăm metric.

Thứ hai, khi bạn cần mô hình dễ giải thích. Vì Lasso loại bỏ biến không quan trọng, kết quả cuối cùng chỉ chứa vài hệ số khác 0. Bạn có thể nói rõ “những biến này quan trọng, những biến kia không”.

Thứ ba, khi muốn chọn biến tự động (feature selection) thay vì làm thủ công. Lasso tích hợp sẵn bước chọn biến vào quá trình huấn luyện, tiết kiệm thời gian và khách quan hơn so với chọn biến dựa trên cảm tính.

Cách Chọn Tham Số Lambda Tối Ưu

Việc chọn lambda quyết định thành bại của Lasso. May mắn là có phương pháp chuẩn để làm việc này.

Cách phổ biến nhất là dùng K-Fold Cross-Validation. Bạn chia dữ liệu thành K phần, thử nhiều giá trị lambda khác nhau, và chọn lambda cho sai số cross-validation thấp nhất. Thư viện scikit-learn trong Python cung cấp sẵn LassoCV làm tự động toàn bộ quy trình này.

Một mẹo thực tế: nên chuẩn hóa (standardize) tất cả biến trước khi chạy Lasso. Nếu không chuẩn hóa, biến có thang đo lớn sẽ bị phạt nặng hơn biến có thang đo nhỏ, dẫn đến kết quả sai lệch. Scikit-learn mặc định chuẩn hóa trong Lasso, nhưng nếu bạn dùng thư viện khác, nhớ kiểm tra.

Ưu Điểm và Nhược Điểm Của Lasso

Về ưu điểm, Lasso thực hiện được ba việc cùng lúc: huấn luyện mô hình, chọn biến quan trọng, và chống overfitting. Mô hình kết quả gọn nhẹ, dễ triển khai, dễ giải thích cho người không chuyên kỹ thuật. Tốc độ tính toán nhanh, phù hợp với dữ liệu lớn.

Về nhược điểm, Lasso gặp khó khăn khi các biến có tương quan cao. Trong trường hợp này, mô hình có thể chọn bất kỳ biến nào trong nhóm tương quan và loại bỏ phần còn lại, kết quả không ổn định. Nếu số biến nhiều hơn số mẫu (p > n), Lasso chỉ giữ lại tối đa n biến, có thể bỏ sót biến quan trọng.

Để khắc phục, người ta thường chuyển sang Elastic Net hoặc dùng Lasso làm bước lọc biến ban đầu, sau đó tinh chỉnh bằng phương pháp khác.

Kết Luận

Lasso Regression là công cụ mạnh mẽ khi bạn cần mô hình đơn giản, dễ hiểu, và tự động loại bỏ biến thừa. Trong thời đại dữ liệu lớn với hàng nghìn biến đặc trưng, khả năng chọn biến tự động của Lasso ngày càng quý giá. Nếu bạn đang làm việc với dataset có nhiều biến và không chắc biến nào quan trọng, hãy thử Lasso trước rồi mới cân nhắc các phương pháp phức tạp hơn.

Thuật ngữ liên quan

Xem toàn bộ thư viện thuật ngữ AI & SEO A-Z.

ThienLv

Mình là Thien, người tạo ra blog này. Ban ngày làm marketing, ban đêm cày tiền online và chơi với AI. Blog này là nơi mình ghi lại những gì mình thử qua — tool nào xịn, chiến thuật nào chạy được, cái gì thất bại. Mình không giỏi nhất, nhưng mình thích chia sẻ thật. Chill với một ly cafe đá là lý tưởng nhất.

Xem tất cả bài viết →

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *