Series: Bagging và Random Forest – Phần 1

2 min read

Random Forest là một trong những thuật toán học máy phổ biến và mạnh mẽ nhất. Đó là một loại thuật toán học máy tổng hợp được gọi là Bootstrap Aggregating hoặc Bagging.

Trước khi tìm hiểu các giải thuật này, ta cần hiểu về khái niệm Bootstrapping.

1. Bootstrapping là gì?

Bootstrapping là kỹ thuật mà chúng ta tạo nên được những mẫu mới từ các bộ dữ liệu gốc, phương pháp này thường được sự dụng ở trong thống kê cũng như trong máy học. Kỹ thuật này giúp chúng ta có thể tạo nên được bộ dữ liệu đa dạng hơn từ bộ dữ liệu gốc duy nhất.

Ví dụ:

Ta có bộ dữ liệu gốc gồm 4 thành viên là A , B, C , D.

Tạo nên bộ dữ liệu mẫu bằng cách:

  • Lấy ngẫu nhiên một dữ liệu ở trong bộ gốc.
  • Mỗi thành viên của bộ dữ liệu gốc có thể được lấy nhiều lần.
  • Lấy ngâu nhiên, không nhất thiết phải có đủ tất cả các thành viên trong bộ dữ liệu gốc.

Phương pháp Bootstrapping là phương pháp tạo mẫu cơ bản được sử dụng trong Bagging cũng như trong giải thuật Random Forest.

Lợi  ích của Bootstrapping

Với giải thuật Bootstrapping, từ một bộ dữ liệu ban đầu chúng ta sẽ có N bộ dữ liệu khác nhau. Khi chúng ta sử dụng để huấn luyện chương trình, chúng ta sẽ có N mô hình khác nhau tương ứng với N bộ dữ liệu mới. Điều này giúp cho, dữ liệu đa dạng hơn và giúp giảm được sai số.

2. Bagging là gì?

Bagging là viết tắt của Bootstrap Aggregating, có nghĩa là đầu tiên nó sẽ tạo nên các bộ dữ liệu mới theo phương pháp Bootstrapping. Tiếp theo, sẽ huấn luyện ra N model khác nhau dựa trên N bộ dữ liệu mới. Cuối cùng, khi thực hiện dự đoán, nó sẽ tổng hợp N kết quả lại.

Các model trong Bagging là nhưng model độc lập, hoàn toàn không liên quan gì tới nhau. Tuy nhiên các Model trong bagging có chung một loại giải thuật, các model khác nhau là do dữ liệu huấn luyện khác nhau.

Những giải thuật này thương được gọi là Base/Weak learner. Bởi vì nó không đủ mạng nên ta phải cần nhiều model. Kết quả cuối cùng sẽ tổng hợp từ các Base/Weak learner, nên người ta tin rằng kết quả sẽ tốt hơn, sẽ mạng hơn.

Như vậy, sau khi huấn luyện xong, ta sẽ có N model khác nhau.

Nếu bạn đưa một input mới vào, thì N model sẽ dự đoán ra N kết quả khác nhau. Kết quả cuối cùng được tính dựa trên nguyên tắc Voting hoặc Average từ N kết quả trên.

  • Đối với giải thuật hồi quy thì sẽ dùng nguyên tắc Average.
  • Đối với giải thuật phân loại thì sẽ dùng nguyên tắc Voting.

Ở phần này chúng ta chỉ tìm hiểu về Bagging, mời mọi người theo dõi tiếp phần 2 nha.

Avatar photo

Clean Code: Nguyên tắc viết hàm trong lập trình…

Trong quá trình phát triển phần mềm, việc viết mã nguồn dễ đọc, dễ hiểu là yếu tố then chốt để đảm bảo code...
Avatar photo Dat Tran Thanh
3 min read

Clean Code: Nguyên tắc comment trong lập trình

Trong lập trình, code không chỉ là một tập hợp các câu lệnh để máy tính thực thi, mà còn là một hình thức...
Avatar photo Dat Tran Thanh
3 min read

Clean Code: Nguyên tắc xử lý lỗi (Error Handling)

Trong quá trình phát triển phần mềm, việc xử lý lỗi không chỉ là một phần quan trọng mà còn ảnh hưởng trực tiếp...
Avatar photo Dat Tran Thanh
4 min read

Leave a Reply

Your email address will not be published. Required fields are marked *