Thông thường, một bài toán phân lớp bán giám sát có thể được định nghĩa như sau: Cho một tập L các dữ liệu đã có nhãn (đã được phân lớp) và một tập U các dữ liệu chưa có nhãn. Dùng cả 2 tập dữ liệu để thiết kế các bộ phân lớp. Như đã đề cập, co- training được dùng chính với 2 bộ phân lớp. Hình 24 mô tả thuật toán đầu tiên của các tác giả trong việc mở rộng ý tưởng của co-training cho nhiều bộ phân lớp, với tên gọi MCS/CO1.
Thuật toán MCS/CO1 thực hiện như sau: Cho K khung nhìn của một đối tượng x (x1,x2, …, xk) và K bộ phân lớp khác nhau. (CL1, CL2, … , CLk) phân lớp trên k khung nhìn tương ứng. K bộ phân lớp này được huấn luyện với tập dữ liệu có nhãn ban đầu nhỏ, và có thể cho rằng các bộ phân lớp này sẽ có độ chính xác thấp, nhưng
vẫn tốt hơn là được khởi tạo ngẫu nhiên. Mỗi bộ phân lớp sau đó được sử dụng cho các dữ liệu chưa có nhãn. Với mỗi bộ phân lớp, các mẫu chưa gán nhãn mà nhận được độ tin cậy cao nhất sẽ được thêm vào dữ liệu đã có nhãn, do vậy tất cả K bộ phân lớp đều góp phần vào việc tăng số lượng tập dữ liệu huấn luyện. Tất cả K bộ phân lớp sau đó được huấn luyện lại với tập dữ liệu huấn luyện đã được tăng lên, và quá trình này được lặp lại trong một số lần xác định. Khi tiến trình co-training kết thúc, các bộ phân lớp có thể được kết hợp bởi một luật kết hợp giữa các bộ phân lớp nào đó đã biết.
Thuật toán co-training 1 cho MCS:
Hình 24. Thuật toán co-training cho đa bộ phân lớp, MCS/CO1
Việc chọn mẫu có độ tin cậy cao nhất phụ thuộc vào bộ phân lớp cơ sở được dùng trong quần thể bộ phân lớp. Ở đây bộ phân lớp cơ sở KNN (K-Nearest Neighbor) được sử dụng, mẫu có độ tin cậy cao nhất được xem là mẫu có xác suất lớn nhất thuộc về một lớp nào đó.
Trong kỹ thuật MCS/CO1 trên, việc liên kết giữa các bộ phân lớp chỉ thực hiện tại giai đoạn cuối cùng của việc phân lớp. Các bộ phân lớp tăng số dữ liệu có nhãn bằng việc thêm vào các dữ liệu có độ tin cao nhất sau mỗi lần học và việc này được làm một cách độc lập trong phân lớp của chúng, mà không bị ảnh hưởng bởi bất kỳ một bộ phân lớp nào khác trong quần thể. Trong hình 25 dưới đây các tác giả giới
Đầu vào:
- Tập L các mẫu đã có nhãn dùng để huấn luyện thuộc vào M lớp khác nhau - x được mô tả bởi K view khác nhau (x1,x2, … , xk)
- U là tập các dữ liệu chưa có nhãn
Tiến trình:
- Tạo 1 kho U‟ các mẫu bằng cách chọn ngẫu nhiên u mẫu từ U - Lặp lại k lần:
1. Huấn luyện mỗi bộ phân lớp CLi với L; chỉ quan tâm tới phần tử xi của x 2. Dùng mỗi CLi để gán nhãn cho tất cả các mẫu của U‟
3. Chọn n mẫu có độ tin cậy cao nhất trên mỗi lớp cho mỗi CLi (ni1, ni2, …, niM)
4. Thêm các mẫu mới được gán nhãn vào L 5. Chọn ngẫu nhiên i jnij
thiệu một cách tiếp cận khác (MCS/CO2), thực hiện việc liên kết của tất cả K đầu ra của K bộ phân lớp tại cuối mỗi vòng lặp, nhằm xác định tốt nhất các mẫu có độ tin cậy cao nhất để gia tăng vào tập mẫu huấn luyện. Với hướng tiếp cận này, phương pháp có tính ưu việt hơn hẳn MSC/CO1 vì nó có thể loại bỏ được các nhãn lớp không đáng tin cậy một cách hiệu quả nhất ngay tại các vòng lặp, nhằm giới hạn số lượng lỗi gán nhãn được đưa vào tập mẫu huấn luyện. Việc lấy những mẫu có nhãn chắc chắn thu được từ việc kết hợp giữa các bộ phân lớp sẽ cho ta kết quả chính xác hơn.
Thuật toán co-training 2 cho MCS:
Hình 25. Thuật toán co-training cho nhiều bộ phân lớp (MCS/CO2)
MCS/CO2 có thể xem như một phiên bản nâng cấp của cách tiếp cận trực tiếp quyết định cho huấn luyện quần thể bộ phân lớp trong (9-10); mà dùng kết quả ra đã kết nối của bộ phân lớp để gán nhãn chỉ cho các mẫu đáng tin cậy nhất được chọn từ mỗi bộ phân lớp. Tiếp theo, các tác giả trình bày dữ liệu dùng cho thử nghiệm của chúng tôi.