Bài viết Overfitting Là Gì – Bài 15: Overfitting thuộc chủ đề về Giải Đáp đang được rất nhiều bạn quan tâm đúng không nào !! Hôm nay, Hãy cùng https://truonggiathien.com.vn/ tìm hiểu Overfitting Là Gì – Bài 15: Overfitting trong bài viết hôm nay nha !
Các bạn đang xem bài viết : “Overfitting Là Gì – Bài 15: Overfitting”

2. Validation 3. Regularization 3.3. (l_2) regularization

Overfitting không phải là một thuật toán trong Machine Learning. Nó là một hiện tượng không mong muốn thường gặp, người xây dựng mô hình Machine Learning cần nắm được các kỹ thuật để tránh hiện tượng này.

Bạn đang xem: Overfitting là gì

1. Giới thiệu

Đây là một câu chuyện của chính tôi khi lần đầu biết đến Machine Learning.

Năm thứ ba ĐH, một thầy giáo có giới thiệu với lớp tôi về Neural Networks. Lần đầu tiên nghe thấy khái niệm này, công ty chúng tôi hỏi thầy mục đích của nó là gì. Thầy nói, về cơ bản, từ dữ liệu cho trước, chúng ta cần tìm một hàm số để biến các các điểm đầu vào thành các điểm đầu ra tương ứng, không cần chính xác, chỉ cần xấp xỉ thôi.

Lúc đó, vốn là một học sinh chuyên toán, làm việc nhiều với đa thức ngày cấp ba, tôi đã quá tự tin trả lời ngay rằng Đa thức Nội suy Lagrange khả năng làm được điều đó, miễn là các điểm đầu vào khác nhau đôi một! Thầy nói rằng “những gì ta biết chỉ là nhỏ xíu so với những gì ta chưa biết”. Và đó là những gì tôi muốn bắt đầu trong bài viết này.

Nhắc lại một chút về Đa thức nội suy Lagrange: Với (N) cặp điểm dữ liệu ((x_1, y_1), (x_2, y_2), dots, (x_N, y_N)) với các (x_i) kháu nhau đôi một, luôn tìm được một đa thức (P(.)) bậc không vượt quá (N-1) sao cho (P(x_i) = y_i, ~forall i = 1, 2, dots, N). Chẳng phải điều này giống với việc ta đi tìm một mô hình phù hợp (fit) với dữ liệu trong bài toán Supervised Learning hay sao? Thậm chí điều này còn tốt hơn vì trong Supervised Learning ta chỉ cần xấp xỉ thôi.

Sự thật là nếu một mô hình quá fit với dữ liệu thì nó sẽ gây ra phản công dụng! Hiện tượng quá fit này trong Machine Learning được gọi là overfitting, là điều mà khi xây dựng mô hình, chúng ta luôn cần tránh. Để có cái nhìn đầu tiên về overfitting, chúng ta cùng xem Hình dưới đây. Có 50 điểm dữ liệu được tạo bằng một đa thức bậc ba cộng thêm nhiễu. Tập dữ liệu này được chia làm hai, 30 điểm dữ liệu màu đỏ cho training data, 20 điểm dữ liệu màu vàng cho test data. Đồ thị của đa thức bậc ba này được cho bởi đường màu xanh lục. Bài toán của chúng ta là giả sử ta không biết mô hình ban đầu mà chỉ biết các điểm dữ liệu, hãy tìm một mô hình “tốt” để mô tả dữ liệu đã cho.

Bài Nổi Bật  Máy ấp trứng là gì? Những điều cần biết khi mua máy ấp trứng

Với những gì chúng ta đã biết từ bài Linear Regression, với loại dữ liệu này, chúng ta khả năng áp dụng Polynomial Regression. Bài toán này hoàn toàn khả năng được giải quyết bằng Linear Regression với dữ liệu mở rộng cho một cặp điểm ((x, y)) là ((mathbfx, y)) với (mathbfx = ^T) cho đa thức bậc (d). Điều quan trọng là chúng ta cần tìm bậc (d) của đa thức cần tìm.

Rõ ràng là một đa thức bậc không vượt quá 29 khả năng fit được hoàn toàn với 30 điểm trong training data. Chúng ta cùng xét vài tổng giá trị (d = 2, 4, 8, 16). Với (d = 2), mô hình không thực sự tốt vì mô hình dự đoán quá khác so với mô hình thực. Trong trường hợp này, ta nói mô hình bị underfitting. Với (d = 8), với các điểm dữ liệu trong khoảng của training data, mô hình dự đoán và mô hình thực là khá giống nhau. mặc khác, về phía phải, đa thức bậc 8 cho kết quả hoàn toàn ngược với chiều hướng của dữ liệu. Điều tương tự xảy ra trong trường hợp (d = 16). Đa thức bậc 16 này quá fit dữ liệu trong khoảng đang xét, và quá fit, tức không được mượt trong khoảng dữ liệu training. Việc quá fit trong trường hợp bậc 16 không tốt vì mô hình đang cố gắng mô tả nhiễu hơn là dữ liệu. Hai trường hợp đa thức bậc cao này được gọi là Overfitting.

Nếu bạn nào biết về Đa thức nội suy Lagrange thì khả năng hiểu được hiện tượng sai số lớn với các điểm nằm ngoài khoảng của các điểm đã cho. Đó chính là lý do phương pháp đó có từ “nội suy”, với các trường hợp “ngoại suy”, kết quả thường không chính xác.

Với (d = 4), ta được mô hình dự đoán khá giống với mô hình thực. Hệ số bậc cao nhất tìm được rất gần với 0 (xem kết quả trong source code), vì thế đa thưc bậc 4 này khá gần với đa thức bậc 3 ban đầu. Đây chính là một mô hình tốt.

Overfitting là hiện tượng mô hình tìm được quá khớp với dữ liệu training. Việc quá khớp này khả năng kéo theo việc dự đoán nhầm nhiễu, và chất lượng mô hình không còn tốt trên dữ liệu test nữa. Dữ liệu test được giả sử là không được biết trước, và không được dùng để xây dựng các mô hình Machine Learning.

Xem thêm: Pansexual Là Gì – ngôn từ Lgbtq+ Tổng Hợp

Về cơ bản, overfitting xảy ra khi mô hình quá phức tạp để mô phỏng training data. Điều này đặc biệt xảy ra khi lượng dữ liệu training quá nhỏ trong khi độ phức tạp của mô hình quá cao. Trong ví dụ trên đây, độ phức tạp của mô hình khả năng được coi là bậc của đa thức cần tìm. Trong Multi-layer Perceptron, độ phức tạp của mô hình khả năng được coi là số lượng hidden layers và số lượng units trong các hidden layers.

Bài Nổi Bật  Fsmo Là Gì

Vậy, có những kỹ thuật nào giúp tránh Overfitting?

Trước hết, chúng ta cần một vài đại lượng để đánh giá chất lượng của mô hình trên training data và test data. Dưới đây là hai đại lượng đơn giản, với giả sử (mathbfy) là đầu ra thực sự (khả năng là vector), và (mathbfhaty) là đầu ra dự đoán bởi mô hình:

Train error: Thường là hàm mất mát áp dụng lên training data. Hàm mất mát này cần có một thừa số (frac1N_ exttrain ) để tính tổng giá trị trung bình, tức mất mát trung bình trên mỗi điểm dữ liệu. Với Regression, đại lượng này thường được định nghĩa:với (p) thường bằng 1 hoặc 2.

Với Classification, trung bình cộng của cross entropy khả năng được dùng.

Test error: Tương tự như trên nhưng áp dụng mô hình tìm được vào test data. Chú ý rằng, khi xây dựng mô hình, ta không được dùng thông tin trong tập dữ liệu test. Dữ liệu test chỉ được dùng để đánh giá mô hình. Với Regression, đại lượng này thường được định nghĩa:

với (p) giống như (p) trong cách tính train error phía trên.

Việc lấy trung bình là quan trọng vì lượng dữ liệu trong hai tập hợp training và test khả năng chênh lệch rất nhiều.

Một mô hình được coi là tốt (fit) nếu cả train errortest error đều thấp. Nếu train error thấp nhưng test error cao, ta nói mô hình bị overfitting. Nếu train error cao và test error cao, ta nói mô hình bị underfitting. Nếu train error cao nhưng test error thấp, tôi không biết tên của mô hình này, vì cực kỳ may mắn thì hiện tượng này mới xảy ra, hoặc có chỉ khi tập dữ liệu test quá nhỏ.

Chúng ta cùng đi vào phương pháp đầu tiên

2. Validation

2.1. Validation

Chúng ta vẫn quen với việc chia tập dữ liệu ra thành hai tập nhỏ: training data và test data. Và một điều tôi vẫn muốn nhắc lại là khi xây dựng mô hình, ta không được dùng test data. Vậy làm cách nào để biết được chất lượng của mô hình với unseen data (tức dữ liệu chưa nhìn thấy bao giờ)?

Phương pháp đơn giản nhất là trích từ tập training data ra một tập con nhỏ và thực hiện việc đánh giá mô hình trên tập con nhỏ này. Tập con nhỏ được trích ra từ training set này được gọi là validation set. Lúc này, training set là phần còn lại của training set ban đầu. Train error được tính trên training set mới này, và có một khái niệm nữa được định nghĩa tương tự như trên validation error, tức error được tính trên tập validation.

Việc này giống như khi bạn ôn thi. Giả sử bạn không biết đề thi như thế nào nhưng có 10 bộ đề thi từ các năm trước. Để xem trình độ của mình trước khi thi thế nào, có một cách là bỏ riêng một bộ đề ra, không ôn tập gì. Việc ôn tập sẽ được thực hiện dựa trên 9 bộ còn lại. Sau khi ôn tập xong, bạn bỏ bộ đề đã để riêng ra làm thử và kiểm tra kết quả, như thế mới “khách quan”, mới giống như thi thật. 10 bộ đề ở các năm trước là “toàn bộ” training set bạn có. Để tránh việc học lệch, học tủ theo chỉ 10 bộ, bạn tách 9 bộ ra làm training set thật, bộ còn lại là validation test. Khi làm như thế thì mới đánh giá được việc bạn học đã tốt thật hay chưa, hay chỉ là học tủ. vì thế, Overfitting còn khả năng so sánh với việc Học tủ của con người.

Bài Nổi Bật  Dự Án Vinhome Liễu Giai

Với khái niệm mới này, ta tìm mô hình sao cho cả train erorvalidation error đều nhỏ, qua đó khả năng dự đoán được rằng test error cũng nhỏ. Phương pháp thường được dùng là dùng nhiều mô hình khác nhau. Mô hình nào cho validation error nhỏ nhất sẽ là mô hình tốt.

Thông thường, ta bắt đầu từ mô hình đơn giản, sau đó tăng dần độ phức tạp của mô hình. Tới khi nào validation error có chiều hướng tăng lên thì chọn mô hình ngay trước đó. Chú ý rằng mô hình càng phức tạp, train error có chiều hướng càng nhỏ đi.

Xem thêm: Intersect Là Gì – Xác định Union, Minus, Union All, Intersect

Hính dưới đây mô tả ví dụ phía trên với bậc của đa thức tăng từ 1 đến 8. Tập validation bao gồm 10 điểm được lấy ra từ tập training ban đầu.

Chuyên mục: Hỏi Đáp

Các câu hỏi về Overfitting Là Gì – Bài 15: Overfitting


Nếu có bắt kỳ câu hỏi thắc mắt nào vê Overfitting Là Gì – Bài 15: Overfitting hãy cho chúng mình biết nha, mõi thắt mắt hay góp ý của các bạn sẽ giúp mình nâng cao hơn hơn trong các bài sau nha <3 Bài viết Overfitting Là Gì - Bài 15: Overfitting ! được mình và team xem xét cũng như tổng hợp từ nhiều nguồn. Nếu thấy bài viết Overfitting Là Gì - Bài 15: Overfitting Cực hay ! Hay thì hãy ủng hộ team Like hoặc share. Nếu thấy bài viết Overfitting Là Gì - Bài 15: Overfitting rât hay ! chưa hay, hoặc cần bổ sung. Bạn góp ý giúp mình nha!!

Các Hình Ảnh Về Overfitting Là Gì – Bài 15: Overfitting

Overfitting Là Gì - Bài 15: Overfitting

Các từ khóa tìm kiếm cho bài viết #Overfitting #Là #Gì #Bài #Overfitting

Xem thêm tin tức về Overfitting Là Gì – Bài 15: Overfitting tại WikiPedia

Bạn hãy tham khảo thông tin chi tiết về Overfitting Là Gì – Bài 15: Overfitting từ trang Wikipedia.◄

Tham Gia Cộng Đồng Tại

💝 Nguồn Tin tại: https://truonggiathien.com.vn/

💝 Xem Thêm Chủ Đề Liên Quan tại : https://truonggiathien.com.vn/hoi-dap/

Give a Comment