LỰA CHỌN LÙI (Backward Selection) – “biệt đội đã full người, giờ phải loại bớt”
Giả sử bạn đang quản lý một biệt đội siêu nhân đông đúc, kiểu:
“Càng đông càng mạnh” – bạn nghĩ vậy lúc đầu…
Nhưng giờ quá đông, lộn xộn, chi phí đội lên, hiệu suất lại không cao.
Bạn nghi ngờ: “Có ai đó đang ăn không ngồi rồi!” 😤
🔧 Kế hoạch loại bớt (lựa chọn lùi):
- Bắt đầu với TẤT CẢ đặc trưng (tất cả thành viên).
- Ở mỗi vòng:
- Thử loại từng người một, đánh giá xem khi thiếu họ thì đội có yếu đi không.
- Nếu loại ai đó mà hiệu suất vẫn ngon → Loại luôn!
- Lặp lại cho đến khi:
- Không thể loại ai nữa mà không làm giảm hiệu suất.
🧠 Trong học máy:
- Dùng mô hình với tất cả các đặc trưng (features).
- Ở mỗi vòng, thử bỏ 1 feature → so sánh hiệu suất.
- Loại bỏ đặc trưng ít giá trị nhất.
- Lặp lại đến khi mô hình chạm ngưỡng tối ưu.
📦 Ví dụ Python vui vẻ:
from sklearn.feature_selection import SequentialFeatureSelector
from sklearn.linear_model import LinearRegression
from sklearn.datasets import make_regression
X, y = make_regression(n_samples=100, n_features=10, noise=0.1)
model = LinearRegression()
# Lựa chọn lùi với 5 đặc trưng
selector = SequentialFeatureSelector(model, n_features_to_select=5, direction='backward')
selector.fit(X, y)
print("Các đặc trưng được giữ lại:", selector.get_support(indices=True))
🎭 So sánh giữa lựa chọn tiến và lùi:
Đặc trưng | Lựa chọn tiến ⚔️ | Lựa chọn lùi 🧹 |
---|---|---|
Bắt đầu với | Không có gì | Tất cả mọi thứ |
Cách chọn | Thêm từng đặc trưng một | Loại từng đặc trưng một |
Giống như | Tuyển thêm người vào team | Lọc bớt người khỏi team |
Khi dừng lại | Khi không thêm được ai tốt hơn nữa | Khi không loại được ai nữa |
Tốn tài nguyên | Thường ít hơn | Có thể tốn nhiều hơn (phải thử nhiều) |
🎯 Tóm tắt vui:
“Backward Selection là khi bạn có cả dàn cast siêu khủng, nhưng bắt đầu soi từng người để xem ai chỉ đang đứng cho đẹp đội hình – và loại dần họ ra!”