Phương pháp học tập hợp là phương pháp kết hợp nhiều mô hình học để tạo ra mô hình học tốt hơn các mô hình thành phần. Khái niệm mô hình ở đây được hiểu theo nghĩa rộng, bao gồm việc sử dụng các giải thuật học khác nhau trên cùng một tập huấn luyện hay tạo ra nhiều tâp học mới khác nhau từ tập học gốc ban đầu. Các giải thuật học trực tuyến được chia thành hai loại:
• Nhóm giải thuật học thuần nhất: Trên tập học gốc ban đầu, ta dùng một kỹ thuật nào đó để tạo ra một tập các tập học mới. Một giải thuật học sẽ học trên các tập học mới này để tạo ra các phân lớp. Mỗi quan sát cần được dự đoán nhãn lớp sẽ được phân lớp bởi tập các phân lớp và kết quả dự đoán cuối cùng sẽ có được bằng cách kết hợp kết quả của các phân lớp đó. Các giải thuật học thuần nhất chú trọng vào quá trình sinh các tập học mới từ tập học ban đầu. Các giải thuật học thuần nhất tiêu biểu gồm có Bagging [ ], Random Subspace [ ], Random Forest [ ], và AdaBoost [ ].29 30 31 32
• Nhóm giải thuật học bất thuần nhất: Sử dụng các giải thuật học khác nhau học các phân lớp trên cùng tập học gốc ban đầu. Kết quả dự đoán của các phân lớp sẽ được kết hợp để đưa ra kết quả dự đoán cuối cùng. Nhóm giải thuật này chú trọng vào giải thuật kết quả của các phân lớp.
Các giải thuật học thuần nhất được chỉnh sửa để có thể làm việc với mô hình học trực tuyến. Trong luận văn này, tác giả giới thiệu hai giải thuật học nhóm trực tuyến là Bagging trực tuyến và Boosting trực tuyến. Thuật toán Online Bagging [ ] được xây dựng trên cơ sở thuật toán Bagging trong đó tập huấn luyện mới được tạo33 K ra từ tập dữ liệu ban đầu dựa trên quá trình lấy mẫu có hoàn lại (được gọi là thủ tục Boostrap). Một giải thuật học sẽ học trên tập huấn luyện mới này để tạo ra phân lớp. Chú ý là việc lấy mẫu có hoàn lại nên có thể cóK K những quan sát xuất hiện nhiều lần trong tập huấn luyện mới. Bagging chỉ làm việc được với những giải thuật học không ổn định, có nghĩa là mô hình học (phân lớp) sẽ thay đổi đáng kể với sự thay đổi nhỏ của tập huấn luyện. Cây quyết định là một ví dụ của giải thuật học không ổn định và là một trong những giải thuật học phổ biến nhất được dùng với Bagging. Trong khi đó những giải thuật học như KNN hay LDA là giải thuật học ổn định vì vậy không dùng với Bagging.
Không như các phương pháp học truyền thống khi ta có dữ liệu tập huấn luyện ngay từ đầu, đối với học trực tuyến dữ liệu đến dần dần và mô hình học có thể được cập nhật nếu thỏa mãn điều kiện. Để xây dựng mô hình học trực tuyến với Bagging ta cũng đi theo các bước tổng quát đã trình bày trong phần trên. Cụ thể là quan sát mới đếnxtđược dự đoán nhãn lớp bởi phân lớp hiện tại. Kết quả dự đoán sẽ được kết hợp, thường là dùng kỹK thuật biểu quyết đa số (Majority Vote) để đưa ra kết quả dự đoán cuối cùng.
ˆ
y=arg max
m=1,...,M K
∑
k=1
I[BCk= ]m (2.15)
trong đúBCk là phõn lớp thứ của mụ hỡnh,k I[ ]ã là hàm chỉ mục trả về 1 nếuBCk=mdự đoỏn nhón lớp là ,m và bằng 0 nếu ngược lại. Với thuật toán học trực tuyến Bagging nguyên gốc của Oza và cộng sự. [ ], hàm tổn33 thất không được sử dụng để đánh giá việc có cập nhật hay không. Mô hình luôn được cập nhật khi có quan sát mới đến và biết nhãn của nó. Cụ thể làS bản sao của quan sát hiện tại sẽ được tạo ra để cập nhật choSphân lớp trong mô hình của Oza [ ] đã chỉ ra trong trường hợp học không trực tuyến với tập học có kích thước N,33 S sẽ có phân phối nhị thức:
P( =S s) =CNs(1
N)s(1− 1
N)N s− (2.16)
Khi N→∞, phân phối của sẽ dần đến phân phối Possion(1)S P( =S s)∼ exp(−1)
s! (2.17)
Đây là cơ sở để xây dựng bước cập nhật mô hình cho mô hình học trực tuyến Bagging. Thuật toán minh họa được giới thiệu như sau:
Algorithm 1Giải thuật học trực tuyến Bagging
Đầu vào: Số phân lớp trong mô hình , giải thuật họcK L Đầu ra: Mô hình họcBCk
1: Khởi tạo phân lớpK BCkk=1, .. .,Kvới giải thuậtL
2: whileCòn quan sátxtmới đếndo
3: Phân lớp cho quan sátxtbằng các phân lớp hiện tại
4: forBCivớii=1, .. .,Kdo
5: Sinh số ngẫu nhiên có phân phối Poisson(1)s
6: Cập nhậtBCks lần sử dụngxt
7: end for
8: end while
Trong thuật toán , mỗi quan sát mới đến sẽ được dùng để cập nhật cho 1 phân lớp lần với được sinh ra1 s s dựa vào phân phối Poisson(1). Oza và cộng sự [ ] đã chứng minh thuật toán hội tụ đến thuật toán học không33 1 trực tuyến khi số quan sát N tăng lên vô tận. Ở đây việc cập nhật các phân lớp là tùy vào việc lựa chọn phân lớp. Ví dụ như nếu dùng cây quyết định thì các cây quyết định sẽ được cập nhật theo công thức cập nhật của nó.
Cần chú ý khi lựa chọn thuật toán học với Bagging vì yêu cầu giải thuật học phải không ổn định.
Thuật toán học tiếp theo được giới thiệu là thuật toán học trực tuyến Boosting một thuật toán được xây dựng trên cơ sở của nhóm thuật toán Boosting. Ý tưởng của nhóm thuật toán này là học một chuỗi các phân lớp BC1,. .. ,BCK trong đó mỗi phân lớpBCksẽ được học trên các quan sát học có trọng số mà trọng số này được xác định từ kết quả phân lớp (sai số phân lớp) với phân lớpBCk−1. Cụ thể, những quan sát bị phân lớp sai bởi BCk−1sẽ có trọng số cao hơn những phân lớp được phân lớp đúng. Tập học mới sẽ được tạo ra dựa trên việc lấy mẫu có trọng số trên tập học ở bước trước và sẽ được dùng để học phân lớpBCk. Như vậy có thể nói nhóm thuật toán Boosting tập trung vào những quan sát bị phân lớp sai, vì những quan sát sai có trọng số cao hơn những quan sát được phân lớp đúng nên trong quá trình lấy mẫu dựa trên trọng số, chúng sẽ có nhiều khả năng xuất
hiện trong mẫu mới hơn.
Oza và cộng sự [ ] cũng sử dụng quá trình lấy mẫu theo phân phối Poisson để xấp xỉ trọng số của các quan33 sát khi xây dựng thuật toán học trực tuyến Boosting. Thuật toán học trực tuyến Boosting được minh họa trong giải thuật . Ban đầu các phân lớp được khởi tạo và hai giá trị2 λkSCvàλSWk tổng của giá trị với các quan sátλ bị phân lớp sai và phân lớp đúng tương ứng. Mô hình học ban đầu được khởi tạo bao gồm khởi tạo các phân lớpBCk và khởi tạoλkSC=λkSW =0. Quan sát mới đến sẽ được dùng để cập nhật cho các phân lớpBCk với số lần cập nhật tuân theo phân phối Possion. Giả sử trong N quan sát đến trước đó số quan sát được phân lớp đúng nhiều hơn số quan sát bị phân lớp sai, khi đóλkSC>N2 vàλSWk <N2. Trọng số của quan sát mới đếnxt
sẽ được cập nhật dựa trên kết quả phân lớp củaBCk. Nếuxt được phân lớp đúng, trọng số của nó sẽ giảm điλ vìλ=λ×2λNSC
k
vàλkSC>N2 →2λNSC
k
<1. Ngược lại nếuxt bị phân lớp sai, trọng sốλ của nó sẽ tăng lên vì λ =λ×2λNSW
k
vàλkSC<N2→ 2λNSW
k
>1.
Trong thuật toán học trực tuyến Bagging, ý nghĩa của việc sử dụng phân phối Poisson là rõ ràng nhưng trong trường hợp này ta chưa thấy được ý nghĩa của nó. Tuy nhiên thực nghiệm đã chỉ ra rằng việc sử dụng phân phối Poisson giúp cải thiện hiệu quả tổng thể của thuật toán. Chính vì thế trong thực tế ứng dụng việc cập nhập phân lớp dựa trên phân phối Poisson vẫn được tiến hành mặc dù nền tảng lý thuyết về nó trong trường hợp này là chưa rõ ràng.
Để phân lớp cho một quan sát nào đó, các phân lớpBCkđược kết hợp như sau:
εk= λkSC
λSCk +λSWk (2.18)
βk= εk
1−εk (2.19)
ˆ
y=arg max
i=1,...,M ∑
k BC: k=i
log 1
βk (2.20)
Ngoài thuật toán học trực tuyến Boosting do Oza và đồng nghiệp [ ] giới thiệu, còn có một số cải thiện và33 biến thể khác như thuật toán thích nghi trực tuyến cho Arc-x4 [ ], MadaBoost [ ], và Polynomially Smooth34 35 Boosting [ ].36
Nhóm các thuật toán học trực tuyến theo nhóm thừa hưởng ưu điểm trong đó độ chính xác phân lớp của phương pháp học theo nhóm thường cao hơn so với độ chính xác phân lớp của các phân lớp thành phần. Tuy nhiên vì sử dụng nhiều phân lớp nên thời gian tính toán của mô hình học nhóm sẽ lớn hơn các phương pháp như học tuyến tính hay mô hình chỉ dùng một giải thuật. Bên cạnh đó tùy vào việc sử dụng giải thuật họcLđể học các phân lớp khác nhau sẽ cho hiệu quả phân lớp khác nhau. Chính vì thế có thể kết luận các thuật toán học nhóm trực tuyến thừa hưởng nhiều ưu và nhược điểm của giải thuật học được lựa chọn. Giải thuật học có độ chính xác phân lớp thấp sẽ làm giảm hiệu quả của tập hợp. Trong một số giải thuật học việc cập nhật mô hình phân lớp có độ phức tạp tính toán lớn dẫn đến làm tăng độ phức tạp tính toán của nhóm. Trường hợp số lần cập nhật cũng là một yếu tố cần chú ý trong đó việc mô hình được cập nhật khi có mỗi quan sát đến có thể dẫn đến việc cập nhật xảy ra nhiều hơn so với các thuật toán khác như thuật toán tuyến tính. Tuy nhiên khi sử dụng
Algorithm 2Giải thuật học trực tuyến Boosting
Đầu vào: Số phân lớp trong mô hình , giải thuật họcK L Đầu ra: Mô hình họcBCk
1: Khởi tạo phân lớpK BCkk=1, .. .,Kvới giải thuậtL
2: λkSC =λkSW=0
3: whileCòn quan sátxtmới đếndo
4: Đặt trọng số củaxt:λ=1
5: forBCivớii=1, .. .,Kdo
6: Sinh số ngẫu nhiên có phân phối Poisson( )s λ
7: Cập nhậtBCks lần sử dụngxt
(Tính lại trọng số)
8: ifBCkphân lớp đúng choxt then
9: λkSC=λkSC+λ
10: λ =λ×2λNSC
k
11: else
12: λkSW =λkSW +λ
13: λ =λ×2λNSW
k
14: end if
15: end for
16: end while
giải thuật học như cây Hoeffding thì quá trình cập nhật chỉ diễn ra khi thỏa mãn điều kiện về biên Hoeffding đã trình bày trong phần trên. Như vậy số lần cập nhật thực chất sẽ nhỏ hơn số quan sát đến. Bên cạnh đó ta có thể điều chỉnh số lần tạo bản sao của một quan sát để cập nhật cho các phân lớp từ đó tạo ra cách để làm việc với các tập dữ liệu bất cân bằng [ ] (số quan sát giữa các lớp khác biệt nhau lớn).37