Khám phá ensemble learning và vai trò của phương pháp này trong AI và ML
Tìm hiểu cách ensemble learning nâng cao hiệu suất AI model thông qua các kỹ thuật như bagging, boosting và stacking để tạo ra các dự đoán chính xác, ổn định hơn.

Để hình dung trực quan các khái niệm được đề cập trong bài viết này, hãy xem video bên dưới.
Các đổi mới trong AI như công cụ đề xuất và hệ thống phát hiện gian lận dựa vào các thuật toán và model machine learning để đưa ra dự đoán và quyết định dựa trên dữ liệu. Những model này có thể xác định các pattern, dự báo xu hướng và giúp tự động hóa các tác vụ phức tạp.
Tuy nhiên, một model đơn lẻ có thể gặp khó khăn trong việc nắm bắt tất cả chi tiết của dữ liệu trong thế giới thực. Nó có thể hoạt động tốt trong một số trường hợp nhưng không đạt yêu cầu trong những trường hợp khác, chẳng hạn như model phát hiện gian lận bỏ sót các loại giao dịch mới.
Đây là một hạn chế mà các kỹ sư AI thường gặp phải khi xây dựng và triển khai các model machine learning. Một số model bị overfit do học dữ liệu huấn luyện quá sát, trong khi những model khác bị underfit do bỏ sót các pattern quan trọng. Học tổ hợp là một kỹ thuật AI giúp giải quyết những thách thức này bằng cách kết hợp nhiều model, được gọi là các base learner, thành một hệ thống duy nhất mạnh mẽ hơn.
Bạn có thể hình dung phương pháp này giống như một đội ngũ chuyên gia cùng hợp tác để giải quyết một vấn đề. Trong bài viết này, chúng ta sẽ tìm hiểu học tổ hợp là gì, hoạt động như thế nào và có thể được sử dụng ở đâu. Hãy bắt đầu!
Học tổ hợp là gì?#
Học tổ hợp là tập hợp các kỹ thuật kết hợp nhiều model để giải quyết cùng một vấn đề và tạo ra một kết quả duy nhất được cải thiện. Phương pháp này có thể được áp dụng trong cả học có giám sát (nơi các model học từ dữ liệu đã gán nhãn) và học không giám sát (nơi các model tìm pattern trong dữ liệu chưa gán nhãn).
Thay vì phụ thuộc vào một model để đưa ra dự đoán, một ensemble sử dụng nhiều model, trong đó mỗi model xem xét dữ liệu theo cách riêng. Khi kết hợp các đầu ra, kết quả thường chính xác, ổn định và có khả năng khái quát hóa tốt hơn so với những gì bất kỳ model đơn lẻ nào có thể đạt được.
Bạn có thể so sánh phương pháp này với một hội đồng chuyên gia cùng giải quyết một vấn đề. Mỗi chuyên gia hoặc model riêng lẻ diễn giải dữ liệu theo cách khác nhau.
Một người có thể tập trung vào các pattern, người khác vào các điểm bất thường, còn người khác nữa vào ngữ cảnh. Bằng cách kết hợp các góc nhìn này, cả nhóm có thể đưa ra quyết định cân bằng và đáng tin cậy hơn so với phán đoán của bất kỳ cá nhân nào.
Phương pháp này cũng giúp giải quyết hai thách thức lớn nhất trong machine learning: bias và variance. Model có bias cao quá đơn giản và bỏ qua các pattern quan trọng, trong khi model có variance cao quá nhạy cảm và khớp quá sát với dữ liệu huấn luyện. Bằng cách kết hợp các model, học tổ hợp tạo ra sự cân bằng giữa hai yếu tố này, cải thiện khả năng hoạt động của hệ thống trên dữ liệu mới, chưa từng thấy.
Tìm hiểu cách học tổ hợp hoạt động#
Mỗi model trong một ensemble được gọi là base learner hoặc base model. Chúng có thể là các thuật toán cùng loại hoặc kết hợp nhiều thuật toán khác nhau, tùy thuộc vào kỹ thuật ensemble được sử dụng.
Dưới đây là một số ví dụ phổ biến về các model khác nhau được sử dụng trong học tổ hợp:
- Cây quyết định: Các model này chia dữ liệu thành các nhánh dựa trên giá trị của các đặc trưng để đưa ra quyết định. Ví dụ, trong các bài toán phân loại như dự đoán một khách hàng có mua sản phẩm hay không, chúng xem xét các yếu tố như tuổi, thu nhập và lịch sử duyệt web.
- Mạng neural: Lấy cảm hứng từ cách não người xử lý thông tin, chúng tạo thành kiến trúc cơ bản đằng sau hầu hết các model AI và machine learning hiện đại.
- Máy vector hỗ trợ (SVMs): Các thuật toán này phân loại dữ liệu bằng cách tìm một ranh giới quyết định tối ưu, gọi là siêu phẳng, nhằm tối đa hóa khoảng cách giữa các lớp khác nhau. Nói cách khác, SVM vẽ đường phân tách tốt nhất có thể giữa các nhóm, đồng thời tạo ra khoảng cách lớn nhất giữa chúng. Ví dụ, nó có thể được sử dụng để xác định một email có phải là spam hay không dựa trên các pattern như tần suất từ và cấu trúc.
- Các model hồi quy logistic: Chúng ước tính xác suất và thường được sử dụng cho các tác vụ phân loại nhị phân. Một ví dụ điển hình là dự đoán một giao dịch là gian lận hay hợp lệ.
Một ensemble model kết hợp thường được gọi là strong learner vì nó tích hợp các thế mạnh của các base learner (còn được gọi là weak model) đồng thời giảm thiểu điểm yếu của chúng. Phương pháp này thực hiện bằng cách kết hợp các dự đoán của từng model theo một cách có cấu trúc, sử dụng bỏ phiếu đa số cho các tác vụ phân loại hoặc tính trung bình có trọng số cho các tác vụ hồi quy để tạo ra kết quả cuối cùng chính xác hơn.

Hình 1. Ví dụ về học tổ hợp (Nguồn)
Khi nào nên sử dụng học tổ hợp#
Trước khi đi sâu vào các kỹ thuật học tổ hợp khác nhau, hãy lùi lại một bước để hiểu khi nào nên sử dụng kiểu phương pháp này trong một dự án machine learning hoặc AI.
Học tổ hợp mang lại hiệu quả rõ rệt nhất khi một model đơn lẻ gặp khó khăn trong việc đưa ra các dự đoán chính xác hoặc nhất quán. Phương pháp này cũng có thể được sử dụng trong những tình huống dữ liệu phức tạp, nhiễu hoặc khó dự đoán.
Dưới đây là một số trường hợp phổ biến mà các phương pháp ensemble đặc biệt hiệu quả:
- Độ chính xác của model thấp: Khi dự đoán của một model chưa đủ đáng tin cậy, việc kết hợp nhiều model có thể cải thiện đáng kể độ chính xác và hiệu năng. Ví dụ, trong chấm điểm tín dụng hoặc chẩn đoán y khoa, ngay cả những cải thiện nhỏ về độ chính xác dự đoán cũng có thể tạo ra khác biệt lớn.
- Dữ liệu nhiễu hoặc không nhất quán: Nếu một dataset chứa các outlier, lỗi hoặc dao động ngẫu nhiên, học tổ hợp giúp làm mượt những bất thường đó bằng cách tính trung bình hoặc bỏ phiếu giữa nhiều model.
- Cần độ bền vững: Các ensemble model ít nhạy cảm hơn với những thay đổi nhỏ trong dữ liệu, nhờ đó ổn định và đáng tin cậy hơn trong môi trường production, nơi đầu vào thực tế có thể thay đổi.
- Các tác vụ dự đoán phức tạp: Trong những tác vụ như nhận dạng ảnh, phát hiện gian lận hoặc dự báo chuỗi thời gian, ensemble nắm bắt được phạm vi pattern và mối quan hệ rộng hơn so với một model đơn lẻ.
Phương pháp này cũng đơn giản hơn để huấn luyện, dễ diễn giải hơn và nhanh hơn trong việc bảo trì. Trước khi sử dụng ensemble, điều quan trọng là cân nhắc lợi ích của độ chính xác cao hơn so với thời gian, năng lực tính toán và độ phức tạp bổ sung mà nó yêu cầu.
Tổng quan về các kỹ thuật học tổ hợp#
Tiếp theo, hãy xem những cách chính để áp dụng học tổ hợp trong các dự án machine learning. Có một số kỹ thuật cốt lõi được sử dụng để kết hợp các model, trong đó mỗi kỹ thuật cải thiện hiệu năng theo cách riêng. Các phương pháp ensemble phổ biến nhất là bagging, boosting, stacking và blending.
Bagging#
Bagging, viết tắt của bootstrap aggregating, là một phương pháp học tổ hợp giúp cải thiện độ ổn định và độ chính xác của model bằng cách huấn luyện nhiều phiên bản của cùng một model trên các phần dữ liệu khác nhau.
Mỗi tập con được tạo bằng một quy trình gọi là bootstrap sampling, trong đó các điểm dữ liệu được chọn ngẫu nhiên có hoàn lại. Điều này có nghĩa là sau khi một điểm dữ liệu được chọn, nó sẽ được đưa trở lại tập dữ liệu trước khi chọn điểm tiếp theo, vì vậy cùng một điểm có thể xuất hiện nhiều lần, trong khi những điểm khác có thể bị bỏ lại. Tính ngẫu nhiên này đảm bảo mỗi model được huấn luyện trên một phiên bản hơi khác của dataset.
Trong quá trình inference, tất cả các model đã huấn luyện chạy song song để đưa ra dự đoán trên dữ liệu mới, chưa từng thấy. Mỗi model tạo ra đầu ra riêng dựa trên những gì đã học, sau đó các dự đoán riêng lẻ này được kết hợp để tạo thành kết quả cuối cùng.
Đối với các tác vụ hồi quy, chẳng hạn như dự đoán giá nhà hoặc doanh số, điều này thường có nghĩa là tính trung bình đầu ra của tất cả model để có được một ước tính mượt hơn. Đối với các tác vụ phân loại, như xác định một giao dịch có gian lận hay không, ensemble thường sử dụng bỏ phiếu đa số để quyết định lớp cuối cùng.
Bagging trong thực tế: Thuật toán Random Forest#
Một ví dụ điển hình về việc bagging hoạt động hiệu quả là với cây quyết định, vốn có thể dễ dàng bị overfit khi được huấn luyện trên một dataset duy nhất. Bằng cách huấn luyện nhiều cây trên các mẫu hơi khác nhau và kết hợp kết quả, bagging giảm overfitting và cải thiện độ tin cậy.
Hãy xem xét thuật toán Random Forest. Đây là một ensemble gồm các cây quyết định, trong đó mỗi cây được huấn luyện trên một tập con ngẫu nhiên của dataset huấn luyện cũng như một tập con ngẫu nhiên của các đặc trưng.
Tính ngẫu nhiên của đặc trưng giúp đảm bảo các cây ít tương quan với nhau hơn, đồng thời model tổng thể ổn định và chính xác hơn. Thuật toán Random Forest có thể được sử dụng để phân loại ảnh, phát hiện gian lận, dự đoán tình trạng rời bỏ của khách hàng, dự báo doanh số hoặc ước tính giá bất động sản.

Hình 2. Tìm hiểu về thuật toán Random Forest (Nguồn)
Boosting#
Boosting là một kỹ thuật học tổ hợp khác, tập trung vào việc cải thiện các weak learner (model) bằng cách huấn luyện chúng tuần tự, lần lượt từng model, thay vì song song. Khái niệm cốt lõi của boosting là mỗi model mới học từ những lỗi của các model trước đó, dần cải thiện hiệu năng model tổng thể.
Không giống bagging, vốn giảm variance bằng cách tính trung bình các model độc lập, boosting giảm bias bằng cách khiến mỗi model mới chú ý hơn đến những trường hợp khó mà các model trước đó gặp khó khăn.
Vì các model boosting được huấn luyện tuần tự, cách kết hợp dự đoán của chúng ở cuối quy trình hơi khác so với các phương pháp ensemble khác. Mỗi model đóng góp vào dự đoán cuối cùng theo tỷ lệ hiệu năng trong quá trình huấn luyện, trong đó các model chính xác hơn nhận trọng số lớn hơn.
Đối với các tác vụ hồi quy, kết quả cuối cùng thường là tổng có trọng số của tất cả dự đoán từ các model. Đối với các tác vụ phân loại, thuật toán kết hợp các phiếu bầu có trọng số từ các model để quyết định lớp cuối cùng. Phương pháp này giúp boosting tạo ra một model tổng thể mạnh bằng cách trao trọng số lớn hơn cho các model chính xác hơn, đồng thời vẫn học hỏi từ những model khác.
Dưới đây là một số loại thuật toán boosting phổ biến:
- AdaBoost (Adaptive Boosting): Phương pháp này bắt đầu bằng việc huấn luyện một model đơn giản, chẳng hạn như một cây quyết định nhỏ, sau đó tăng trọng số của các điểm dữ liệu bị phân loại sai. Những trọng số này khiến model tiếp theo tập trung nhiều hơn vào các ví dụ khó. Qua nhiều vòng lặp, các model xây dựng dựa trên nhau, và các dự đoán kết hợp của chúng tạo thành kết quả mạnh và chính xác hơn. Ví dụ, AdaBoost có thể cải thiện độ chính xác của việc phát hiện spam hoặc nhận dạng khuôn mặt.
- Gradient Boosting: Thay vì gán lại trọng số cho các mẫu, Gradient Boosting huấn luyện mỗi model mới để sửa các sai số dư, tức sự khác biệt giữa giá trị thực tế và giá trị dự đoán, do các model trước đó tạo ra. Phương pháp lặp này hiệu quả cho cả tác vụ hồi quy và phân loại, chẳng hạn như dự báo doanh số và chấm điểm tín dụng.
- XGBoost (Extreme Gradient Boosting): Phiên bản nâng cao này của gradient boosting cải thiện cả tốc độ và độ chính xác. Nó sử dụng regularization, tức nhẹ nhàng phạt các model quá phức tạp trong quá trình huấn luyện để chúng tập trung vào các pattern có ý nghĩa thay vì ghi nhớ dữ liệu. Mặc dù các model vẫn được huấn luyện tuần tự, XGBoost tăng tốc quy trình bằng cách sử dụng tính song song trong quá trình xây dựng cây. Nó có thể đánh giá đồng thời nhiều điểm phân tách khả thi trên các lõi CPU khác nhau. Điều này giúp quá trình huấn luyện nhanh hơn nhiều, đặc biệt trên các dataset lớn, đồng thời duy trì hiệu năng dự đoán cao.

Hình 3. Ví dụ về bộ phân loại dựa trên cây quyết định (DTB) được huấn luyện bằng phương pháp boosting để dự đoán nguy cơ tiểu đường. (Nguồn)
Stacking#
Stacking, còn được gọi là stacked generalization, tiến thêm một bước bằng cách sử dụng các dự đoán từ nhiều model làm đầu vào cho một model cuối cùng gọi là meta learner. Bạn có thể hình dung phương pháp này giống như một nhóm chuyên gia, trong đó mỗi người đưa ra ý kiến, sau đó một người ra quyết định cuối cùng học cách cân nhắc các ý kiến đó để đưa ra lựa chọn tốt nhất.
Ví dụ, một model có thể rất giỏi phát hiện gian lận, trong khi model khác dự đoán tình trạng rời bỏ của khách hàng tốt hơn. Meta learner nghiên cứu hiệu năng của từng model và kết hợp các thế mạnh của chúng để đưa ra dự đoán cuối cùng chính xác hơn.
Blending#
Blending hoạt động tương tự stacking vì cũng kết hợp các dự đoán từ nhiều model để đưa ra quyết định cuối cùng, nhưng sử dụng cách tiếp cận đơn giản và nhanh hơn. Thay vì sử dụng cross-validation (một phương pháp chia dữ liệu thành nhiều phần và luân phiên chúng giữa huấn luyện và kiểm thử để làm cho model đáng tin cậy hơn) như stacking, blending dành riêng một phần nhỏ dữ liệu, gọi là holdout set.
Các base model được huấn luyện trên phần dữ liệu còn lại, sau đó đưa ra dự đoán trên holdout set mà chúng chưa từng thấy. Quy trình này tạo ra hai thông tin chính: các đáp án thực tế, hay true label, và các dự đoán do mỗi base model đưa ra.
Sau đó, các dự đoán này được chuyển cho một model khác gọi là blending model hoặc meta model. Model cuối cùng này nghiên cứu độ chính xác của các dự đoán từ từng base model và học cách kết hợp chúng theo phương án tốt nhất.
Vì blending chỉ dựa vào một lần chia train-test thay vì lặp lại quy trình nhiều lần, phương pháp này chạy nhanh hơn và dễ thiết lập hơn. Đổi lại, nó có ít thông tin hơn để học, nên có thể kém chính xác hơn đôi chút.
Đánh giá các thuật toán ensemble#
Một phần quan trọng của học tổ hợp là đánh giá mức độ hoạt động của model trên dữ liệu mà model chưa từng thấy. Dù kỹ thuật có tiên tiến đến đâu, nó vẫn phải được kiểm thử để đảm bảo khả năng khái quát hóa, nghĩa là phải đưa ra các dự đoán chính xác trên những ví dụ mới trong thế giới thực thay vì chỉ ghi nhớ dữ liệu huấn luyện.
Dưới đây là một số metric hiệu năng phổ biến được sử dụng để đánh giá các model AI:
- Accuracy: Metric này đo tỷ lệ dự đoán đúng trên tổng số dự đoán do model đưa ra. Nó cung cấp cái nhìn tổng quan nhanh về hiệu năng.
- Precision: Metric này cho biết có bao nhiêu trong số các mẫu được dự đoán là positive thực sự là positive. Precision cao nghĩa là model tạo ra ít lỗi false positive.
- Recall: Metric này tập trung vào số trường hợp positive thực tế được model xác định chính xác. Nó đặc biệt quan trọng trong các lĩnh vực như chăm sóc sức khỏe, nơi việc bỏ sót một trường hợp positive, chẳng hạn như chẩn đoán bệnh, có thể gây hậu quả nghiêm trọng.
Các ứng dụng thực tế của học tổ hợp#
Đến đây, chúng ta đã tìm hiểu cách học tổ hợp hoạt động và các kỹ thuật đằng sau nó. Bây giờ hãy xem phương pháp này đang tạo ra tác động ở đâu.
Dưới đây là một số lĩnh vực chính thường áp dụng học tổ hợp:
- Phân tích dữ liệu và dự báo: Trong kinh doanh và analytics, các ensemble model giúp tổ chức đưa ra dự đoán tốt hơn bằng cách kết hợp insight từ nhiều model. Điều này dẫn đến dự báo doanh số chính xác hơn, lập kế hoạch nhu cầu thông minh hơn và hiểu rõ hơn về hành vi khách hàng.
- Phân loại nhị phân: Các tác vụ như phát hiện spam, ngăn chặn gian lận và chẩn đoán y khoa thường yêu cầu phân biệt giữa hai kết quả có thể xảy ra. Ensemble model giúp giảm false positive và false negative, điều đặc biệt quan trọng trong các lĩnh vực như an ninh mạng và chăm sóc sức khỏe.
- Các bài toán hồi quy: Khi dự đoán các giá trị liên tục như giá nhà, doanh thu bán hàng hoặc rủi ro tín dụng, các phương pháp ensemble nắm bắt những mối quan hệ phức tạp trong dữ liệu. Điều này tạo ra các dự đoán chính xác hơn, hỗ trợ những quyết định tài chính và vận hành tốt hơn.
Vượt ra ngoài dữ liệu có cấu trúc với học tổ hợp#
Mặc dù học tổ hợp thường được sử dụng nhất với dữ liệu có cấu trúc hoặc dạng bảng, chẳng hạn như các bảng tính chứa thông tin số hoặc phân loại, phương pháp này cũng có thể được áp dụng cho dữ liệu phi cấu trúc như văn bản, ảnh, âm thanh và video.
Các loại dữ liệu này phức tạp hơn và khó diễn giải hơn đối với model, nhưng các phương pháp ensemble giúp cải thiện độ chính xác và độ tin cậy. Ví dụ, trong computer vision, ensemble có thể nâng cao các tác vụ như phân loại ảnh và phát hiện đối tượng.
Bằng cách kết hợp dự đoán của nhiều vision model, chẳng hạn như mạng neural tích chập (CNNs), hệ thống có thể nhận dạng đối tượng chính xác hơn và xử lý những thay đổi về ánh sáng, góc nhìn hoặc nền—những yếu tố có thể khiến một model đơn lẻ nhầm lẫn.
Tìm hiểu về ensembling model Ultralytics YOLOv5#
Một ví dụ thú vị về việc sử dụng học tổ hợp trong computer vision là khi kỹ sư kết hợp nhiều model phát hiện đối tượng để cải thiện độ chính xác. Hãy tưởng tượng một kỹ sư đang xây dựng hệ thống giám sát an toàn cho một công trường, nơi điều kiện ánh sáng, góc nhìn và kích thước đối tượng liên tục thay đổi.
Một model đơn lẻ có thể bỏ sót một công nhân trong bóng tối hoặc nhầm lẫn máy móc đang chuyển động. Bằng cách sử dụng ensemble gồm các model có thế mạnh khác nhau, hệ thống trở nên đáng tin cậy hơn và ít có khả năng mắc những lỗi đó hơn.
Đặc biệt, các model như Ultralytics YOLOv5 rất phù hợp với việc ensembling model. Kỹ sư có thể kết hợp các biến thể YOLOv5 khác nhau, chẳng hạn như YOLOv5x và YOLOv5l6, để cùng đưa ra dự đoán. Mỗi model phân tích cùng một ảnh và tạo ra các detection riêng, sau đó chúng được tính trung bình để tạo ra kết quả cuối cùng mạnh và chính xác hơn.

Hình 4. Phát hiện đối tượng trong ảnh bằng YOLOv5. (Nguồn)
Ưu và nhược điểm của học tổ hợp#
Dưới đây là một số lợi ích chính của việc sử dụng học tổ hợp:
- Khả năng chống chịu dữ liệu nhiễu: Ensemble ít bị ảnh hưởng bởi outlier hoặc nhiễu ngẫu nhiên trong dataset vì chúng dựa vào nhiều model.
- Khả năng khái quát hóa tốt hơn: Ensemble giảm overfitting, giúp model hoạt động tốt trên dữ liệu chưa từng thấy thay vì chỉ ghi nhớ các ví dụ huấn luyện.
- Tính linh hoạt giữa các thuật toán: Bạn có thể kết hợp nhiều loại model khác nhau, chẳng hạn như cây quyết định, mạng neural và model tuyến tính, để tận dụng các thế mạnh riêng của chúng.
Mặc dù học tổ hợp mang lại nhiều lợi ích, cũng có một số thách thức cần cân nhắc. Dưới đây là một vài yếu tố cần lưu ý:
- Chi phí tính toán cao hơn: Huấn luyện và duy trì nhiều model đòi hỏi nhiều bộ nhớ, năng lực xử lý và thời gian hơn so với một model đơn lẻ.
- Khả năng diễn giải giảm: Vì đầu ra cuối cùng đến từ việc kết hợp nhiều model, có thể khó hiểu tại sao một quyết định cụ thể được đưa ra. Tuy nhiên, điều này phụ thuộc vào các model được sử dụng, vì khi dùng những model có khả năng diễn giải như cây quyết định hoặc máy vector hỗ trợ, việc hiểu kết quả thường dễ hơn.
- Các yếu tố cần cân nhắc khi thiết kế ensemble: Xây dựng một ensemble đòi hỏi lựa chọn tổ hợp model phù hợp và đảm bảo chúng hoạt động tốt cùng nhau. Tuy nhiên, trong một số trường hợp, quy trình này cũng đơn giản hơn vì bạn không cần tinh chỉnh hyperparameter của từng model riêng lẻ.
Những điểm chính#
Học tổ hợp cho thấy việc kết hợp nhiều model có thể giúp các hệ thống AI chính xác và đáng tin cậy hơn. Phương pháp này giúp giảm lỗi và cải thiện hiệu năng trên nhiều loại tác vụ khác nhau. Khi machine learning và AI tiếp tục phát triển, những kỹ thuật như vậy đang thúc đẩy việc áp dụng rộng rãi hơn và tạo ra các giải pháp AI thực tiễn, hiệu năng cao hơn.
Tham gia cộng đồng đang phát triển và repository GitHub của chúng tôi để tìm hiểu thêm về vision AI. Khám phá các trang giải pháp của chúng tôi để tìm hiểu về những ứng dụng của computer vision trong nông nghiệp và AI trong logistics. Xem các tùy chọn cấp phép để bắt đầu sử dụng model computer vision của riêng bạn ngay hôm nay!









