Thứ Tư, 19 tháng 9, 2018

[Machine Learning] Tại sao regularization lại giảm overfitting

Các quá mô hình đơn giản sẽ không thể chính xác với tập huấn luyện, ngược lại các mô hình phức tạp lại biểu diễn chính xác (có thể gần như tuyệt đối) phân bố của dữ liệu trong tập huấn luyện, nhưng khi đó, với dữ liệu mới chưa biết được đưa vào, kết quả đầu ra sẽ không đạt được độ chính xác cao (overfitting)
Image result for overfitting machine learning
Hình ngoài cùng bên phải thể hiện một mô hình phức tạp nhưng sẽ không đạt được độ chính xác với các mẫu dữ liệu mới. Lấy một ví dụ với bài toán hồi quy logistic. Ở đây ta có mô hình của dữ liệu như sau:
\begin{displaymath}
h_{\theta}(x)=\theta_{0}+\theta_{1}x+\theta_{2}x^{2}+\theta_{3}x^{3}+
\theta_{4}x^{4}+\theta_{5}x^{5}\end{displaymath}
Tương ứng với mô hình này, hàm cost của mô hình là:
\begin{eqnarray*}
J(\theta) & = & \frac{{1}}{2m}\left[\sum_{i=1}^{m}(h_{\theta}(...
...
& & \mbox{where }\lambda\mbox{ is the regularization parameter}\end{eqnarray*}
Ta thấy, đây là một mô hình phức tạp với số mũ cao nhất là 5. Mô hình sẽ trở nên đơn giản khi ta loại bỏ các thành phần bậc cao (tương ứng với việc các giá trị   $\theta$ bằng 0.
Mặt khác, ta có thể thấy thành phần regularization mới thêm vào là tổng bình phương của các giá trị
$\theta$ do đó nếu $\theta$ là khác 0, tức là thành phần regularization sẽ càng lớn, đồng nghĩa với việc mô hình sẽ không còn chính xác một cách hoàn toàn do giá trị hàm cost tăng lên (ta gọi đây là penalty với mỗi giá trị $\theta$).
Ở trên là phần trình bày về mặt toán học, vậy câu hỏi đặt ra là, liệu ta có chắc việc tăng giá trị hàm cost (giảm overfitting) sẽ giúp mô hình đạt được độ chính xác cao hơn với tập dữ liệu mới?