Hồi quy ElasticNet với Thuật toán Hạ tọa độ (Coordinate Descent)
L(w) = 12N |y - X w|2 + α · ρ |w|1 + 12 α (1 - ρ) |w|22
Tiến độ của tôi ở bài này
Điểm được lưu vào tài khoản sau khi chấm bài.
Đang tải điểm của bạn…
Kiến thức và chủ đề
Kiến thức tiên quyết: coordinate descent, soft thresholding, l1 l2 regularization.
Nội dung đề bài
Mục tiêu kiến thức
- Hiểu hàm mục tiêu kết hợp L1 (Lasso) và L2 (Ridge):
L(w) = 12N |y - X w|2 + α · ρ |w|1 + 12 α (1 - ρ) |w|22 trong đó α là hệ số phạt tổng thể và ρ = l1_ratio ∈ [0, 1].
- Toán tử hạ tọa độ với Soft-Thresholding:
ρj = 1N XjT (y - X w + Xj wj) S(ρj, λ1) = sign(ρj) max(0, |ρj| - λ1) với λ1 = α · ρ. Mẫu số chuẩn hóa: zj = 1N |Xj|2 + α (1 - ρ) Cập nhật: wj = S(ρj, λ1)zj.
Mô tả bài toán
Cài đặt lớp ElasticNetCoordinateDescent(alpha=1.0, l1_ratio=0.5, max_iter=1000, tol=1e-4):
fit(self, X: np.ndarray, y: np.ndarray) -> self:- X: mảng 2D kích thước (N, D). y: mảng 1D kích thước (N,).
- Kiểm tra hợp lệ: X 2D, y 1D, cùng số dòng, N > 0. Nếu sai, raise
ValueError. - Khởi tạo w = 0 kích thước (D,).
- Lặp tuần hoàn qua các tọa độ j = 0, …, D-1:
- Cập nhật wj theo công thức trên.
- Sau mỗi chu kỳ qua tất cả D tọa độ, kiểm tra điều kiện hội tụ: maxj |wj(t) - wj(t-1)| < tol. Nếu thỏa mãn thì dừng sớm.
predict(self, X: np.ndarray) -> np.ndarray:- Dự đoán y = X w. Trả về mảng 1D.
Input
- Các tham số truyền vào hàm/lớp ElasticNetCoordinateDescent hoặc dữ liệu đầu vào theo định dạng mô tả.
Output
- Kết quả trả về của hàm/lớp ElasticNetCoordinateDescent hoặc dữ liệu in ra màn hình theo đúng đặc tả.
Ràng buộc
- Thời gian chạy tối đa: 1500ms.
- Giới hạn bộ nhớ: 256MB.
- Dữ liệu đầu vào tuân thủ đúng kiểu dữ liệu và miền giá trị được mô tả.
Ví dụ 1
Input
ElasticNetCoordinateDescent(X=[[1.0, 0.0], [2.0, 0.0], [3.0, 0.0], [4.0, 0.0]], y=[2.0, 4.0, 6.0, 8.0], alpha=0.1, l1_ratio=0.8, X_test=[[5.0, 10.0]])Output
[8.5, 11.5]Giải thích
Hàm được gọi với các tham số mẫu trên và trả về kết quả chính xác theo yêu cầu.
Ví dụ 2
Input
ElasticNetCoordinateDescent(X=[[1.0]], y=[])Output
TrueGiải thích
Hàm được gọi với bộ tham số thứ hai và trả về kết quả tương ứng theo thiết kế.
Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.
Góp ý & báo lỗi bài tập
Đề bài chưa rõ, test có vấn đề hay bạn có ý tưởng giúp bài tốt hơn? Gửi cho đội ngũ AI Empire nhé — mỗi góp ý đều được đọc.
