Vấn đề Overfitting & Underfitting trong Machine Learning

Khi xây dựng mỗi mô hình học máy, chúng ta cần phải chú ý hai vấn đề: Overfitting (quá khớp) và Underfitting (chưa khớp). Đây chính là nguyên nhân chủ yếu khiến mô hình có độ chính xác thấp.

Hãy cùng tìm hiểu những khái niệm cơ bản trong học máy và các vấn đề liên quan tới Overfitting và Underfitting.

Ước lượng hàm mục tiêu trong Machine Learning

Học có giám sát (Supervised Learning) là phương thức học chính xác nhất trong học máy. Mô hình ước lượng hàm mục tiêu (f) sẽ ánh xạ mỗi phần tử thuộc tập đầu vào (X) sang một phần tử (xấp xỉ) tương ứng thuộc tập (Y)

Y = f(X)

Dựa theo các thuộc tính đầu vào, ta có thể biểu diễn được các nhãn đầu ra. Dự báo nhãn và thậm chí ta còn có thể xác định giá trị của nhãn thông qua Machine Learning.

Mô hình học máy được xây dựng qua bộ dữ liệu huấn luyện. Kỳ vọng của mô hình là tổng quát hóa được đặc trưng (xấp xỉ) chính xác nhất với tổng thể. Điều này có ý nghĩa rất quan trọng. Vì dữ liệu đầy vào của mỗi mô hình chỉ là một tập mẫu trong tổng thể, có thể không mang tính đại diện cao và chứa nhiều nhiễu.

Tính phổ quát trong học máy

Trong học máy, hàm mục tiêu được xây dựng trên bộ dữ liệu huấn luyện theo phương pháp đệ quy. Đây là phương pháp giúp tìm được tính phổ quát (tổng quát hóa) từ bộ dữ liệu mẫu cụ thể. Vậy tính phổ quát là gì?

Phổ quát (tổng quát) là thước đo đánh giá một mô hình học máy được gọi là tốt hay không. Nó thể hiện ở vấn đề một mô hình học máy có thể rút ra được những quy luật cho tổng thể từ bộ dữ liệu mẫu không? Một mô hình có tính phổ quát, khi đó, mô hình sẽ áp dụng tốt với bất kì bộ dữ liệu mới nào.

Tuy nhiên, trong quá trình học máy, ta cần chú ý hai vấn đề. Đó là Overfitting và Underfitting. Đây là hai nguyên nhân chính trong việc khiến mô hình học máy có độ chính xác không cao. Hay nói cách khác là không thể hiện được tính phổ quát của vấn đề.

Statistical Fit

Statistical Fit (độ chính xác trong thống kê) là chỉ độ gần đúng của hàm xây dưng với hàm hàm mục tiêu. Các phương thức được sử dụng trong thống kê khác với phương thức thực hiện trong học máy. Ví dụ, trong thống kê thường sử dụng các phương pháp ước lượng để ước lượng hàm mục tiêu. Tuy nhiên, trong học máy, ta lại không sử dụng phương pháp đó. Học máy dựa trên việc học từ dữ liệu, ta đưa ra mô hình xấp xỉ chính xác nhất từ bộ dữ liệu mẫu có thể có nhiễu.

Statistical Fit cũng được sử dụng trong học máy như một thước đo. Một số kỹ thuật trong thống kê cũng được áp dụng trong học máy (ví dụ: tính sai số).

Overfitting trong học máy

Overfitting là hiện tượng khi mô hình xây dựng thể hiện được chi tiết bộ dữ liệu huấn luyện. Điều này có nghĩa là cả dữ liệu nhiễu, hoặc dữ liệu bất thường trong tập huấn luyện đều được chọn và học để đưa ra quy luật mô hình. Những quy luật này sẽ không có ý nghĩa nhiều khi áp dụng với bộ dữ liệu mới có thể có dạng dữ liệu nhiễu khác. Khi đó, nó ảnh hưởng tiêu cực tới độ chính xác của mô hình nói chung.

Hiện tượng Overfitting thường xảy ra trong các mô hình phi tham số hoặc phi tuyến, những mô hình có sự linh hoạt cao trong xây dựng hàm mục tiêu.

Như vậy, rất nhiều thuật toán học máy phi tham số sẽ bao gồm những thông số và kĩ thuật để hạn chế và giới hạn múc độ học chi tiết của mô hình.

Ví dụ, bài toán cây quyết định là một thuật toán học máy phi tham số. Đây là thuật toán thường xảy ra hiện tượng Overfitting. Ta có thể tránh hiện tượng này bằng phương pháp cắt tỉa cây (pruning).

Underfitting trong học máy

Underfitting (chưa khớp) là hiện tượng khi mô hình xây dựng chưa có độ chính xác cao trong tập dữ liệu huấn luyện cũng như tổng quát hóa với tổng thể dữ liệu. Khi hiện tượng Underfitting xảy ra, mô hình đó sẽ không phải là tốt với bất kì bộ dữ liệu nào trong vấn đề đang nhắc tới.

Hiện tượng Underfitting thường ít xảy ra trong bài toán hơn. Khi Underfitting xảy ra, ta có thể khắc phục bằng cách thay đổi thuật toán hoặc là bổ sung thêm dữ liệu đầu vào.

Good Fittiing trong học máy

Good Fitting (vừa khớp) là nằm giữa Underfitting và Overfitting. Mô hình cho ra kết quả hợp lý với cả tập dữ liệu huấn luyện và các tập dữ liệu mới. Đây là mô hình lý tưởng mang được tính tổng quát và khớp được với nhiều dữ liệu mẫu và cả các dữ liệu mới.

Good Fitting là mục tiêu của mỗi bài toán. Tuy nhiên, trên thực tế, vấn đề này rất khó thực hiện. Để tìm được điểm Good Fitting, ta phải theo dõi hiệu suất của thuật toán học máy theo thời gian khi thuật toán thực hiện việc học trên bộ dữ liệu huấn luyện. Ta có thể mô tả và thể hiện các thông số mô hình, độ chính xác của mô hình trên cả hai tập dữ liệu huấn luyện và đào tạo.

Theo thời gian và theo quá trình học, sai số của mô hình trên bộ dữ liệu huấn luyện sẽ giảm xuống. Tuy nhiên, nếu quá trình training quá lâu, độ chính xác của mô hình có thể giảm do vấn đề Overfitting, và việc học sẽ thực hiện trên cả dữ liệu nhiễu và dữ liệu bất thường của bộ huấn luyện. Đồng thời, sai số với bộ dữ liệu kiểm định sẽ tăng lên do khả năng phổ quát hóa của mô hình giảm xuống.

Chúng ta kì vọng rằng tại thời điểm trước khi sai số trên bộ dữ liệu có dấu hiệu tăng lên, khi đó, mô hình là tốt nhất trên cả bộ dữ liệu huấn luyện và bộ dữ liệu kiểm định.

Bạn có thể thực hiện ví dụ với bất kì thuật toán nào. Đây không phải là kỹ thuật hữu ích trong thực tế, bởi vì việc lựa chọn điểm dừng trong quá trình huấn luyện cần phải biết những giá trị trên bộ mẫu kiểm định, điều đó có nghĩa là, bộ dữ liệu kiểm định không còn được coi là “unseen” hay độc lập khách quan với bộ dữ liệu huấn luyện nữa. Bất kì sự hiểu biết nào về bộ dữ liệu that data has leaked into the training procedure.

Trên đây có hai kỹ thuật mà bạn có thể sử dụng để tìm ra điểm dừng tốt nhất trong quá trình huấn luyện, đó là kỹ thuật lấy lại mẫu (resampling methods) và kỹ thuật validation.

Làm thế nào để tránh Overfitting?

Cả hai hiện tượng Overfitting và Underfitting đều khiến mô hình xây dựng có độ chính xác kém. Nhưng hiện nay, vấn đề phổ biến nhất xuất hiện là Overfitting.

Overfitting thực sự là một vấn đề quan trọng bởi vì việc đánh giá mô hình học máy trên bộ dữ liệu huấn luyện sẽ khác biệt với việc đánh giá độ chính xác của tổng thể ( những dữ liệu mà mô hình chưa gặp bao giờ).

Có hai kỹ thuật quan trọng trong việc đánh giá mô hình học máy và tránh hiện tượng overfitting:

  • Sử dụng kỹ thuật lấy lại mẫu để ước lượng độ chính xác của mô hình
  • Sử dụng tập Validation test

Lấy lại mẫu (resampling methods) là kỹ thuật phổ biến hơn. Khi đó, ta sẽ chia tập dữ liệu thành k tập con. Cách này được gọi là k-fold cross validation. Điều này cho phép bạn thực hiện huấn luyện trên các tập dữ liệu khác nhau k lần, và từ đó, xây dựng ước lượng độ chính xác của mô hình học máy với dữ liệu mới.

Sử dụng Cross-validation là một tiêu chuẩn tốt trong học máy để ước lượng độ chính xác của mô hình với bộ dữ liệu mới. Còn trường hợp bạn có nhiều dữ liệu, việc sử dụng tập Validation sẽ là một phương pháp tuyệt vời.

Tóm tắt

Bài này giới thiệu mô tả cho bạn rằng các vấn đề trong học máy được giải quyết bằng các phương pháp thống kê.

Bạn được học rằng tổng quát hóa mô hình là tìm ra các quy luật của bộ dữ liệu và áp dụng với bộ dữ liệu mới đạt được độ chính xác cao. Cuối cùng, bạn được tìm hiểu về những thuật ngữ trong xây dựng mô hình học máy.

  • Overfitting: khi mô hình có độ chính xác cao với bộ dữ liệu huấn luyện, nhưng độ chính xác thấp với bộ dữ liệu mới (hay dữ liệu tổng thể).
  • Underfitting: khi mô hình có độ chính xác thấp trên cả bộ dữ liệu huấn luyện và bộ dữ liệu mô tả tổng thể mới.

Nguồn: https://machinelearningmastery.com

Bạn muốn trích dẫn bài này:
-----
"Vấn đề Overfitting & Underfitting trong Machine Learning," Trí tuệ nhân tạo, Ngày xuất bản: 02/04/2019, URL: https://trituenhantao.io/kien-thuc/van-de-overfitting-underfitting-trong-machine-learning/, Ngày truy cập: 04/12/2020.



,

Về trituenhantao.io

Trituenhantao.io là trang web chia sẻ thông tin, kiến thức, kinh nghiệm học tập và triển khai các chương trình và dự án sử dụng trí tuệ nhân tạo trên thế giới.
Xem tất cả các bài viết của trituenhantao.io →