Tại giao diện này, cột wi chính là thuộc tính thứ i trong bộ thuộc tính đã
trích chọn ở bên trên. ngƣời dùng có thể thực hiện các thao tác lựa chọn vào combobox “Chọn phƣơng pháp”. Chƣơng trình cho phép lựa chọn phƣơng pháp tự huấn luyện và phƣơng pháp lan truyền nhãn. Sau khi lựa chọn, nhấn nút “Thực hiện”.
Với phƣơng pháp tự huấn luyện, kết quả hiển thị nhƣ sau:
Hình 3.9: Kết quả khi lựa chọn phương pháp tự huấn luyện
Các tin nhắn thuộc lớp sms spam là 11 còn lại là ham.
Với phƣơng pháp lan truyền nhãn, giao diện sẽ hiển thị thông tin về ma trận nhãn, ma trận xác suất nhãn, ma trận trọng số cạnh và ma trận xác suất.
Mỗi nút trên đồ thị là một SMS. Ngoài ra trên tab “Đồ thị lan truyền nhãn”, sẽ hiển thị đồ thị các nhãn với mỗi đỉnh là 1 hình tròn, đỉnh màu đỏ ứng với trƣờng hợp chƣa gán nhãn, đỉnh xanh lá ứng với nhãn 1 và đỉnh vàng ứng với nhãn 0 và đƣờng nối giữa các đỉnh.
Trong hình 3.10 ta có thể xem chi tiết các ma trận đƣợc tính toán trong quá trình lan truyền nhãn nhƣ: ma trận trọng số cạnh W, ma trận xác suất chuyển đổi P, ma trận nhãn YL, ma trận xác suất chuyển nhãn f
Hình 3.10: Giao diện đồ thị lan truyền nhãn trước khi thực hiện
Ở giao diện này trên các bảng “Nút i” thể hiện là SMS thứ i
Để thực hiện thuật toán lan truyền nhãn, ngƣời dùng nhấn vào nút “Thực hiện” trên tab “Phƣơng pháp lan truyền nhãn”, chƣơng trình sẽ trả về kết quả là các đỉnh đã đƣợc gán nhãn. Đồng thời sẽ hiển thị ma trận xác suất hội tụ và ma trận xác xuất nhãn fu với của các 8 tin nhắn spam.
Sau khi hệ thống thực hiện xong việc lan truyền nhãn, ta có thể xem kết quả dƣới dạng bảng ma trận xác suất nhạn hội tụ và ma trận xác suất nhãn fu cũng nhƣ dƣới dạng đồ thị nhƣ hình 3.11. Màn hình sẽ hiển thị thông tin các đỉnh và nhãn của chúng sau khi đƣợc lan truyền từ các đỉnh đã gán nhãn khác
Hình 3.11: Giao diện đồ thị lan truyền nhãn sau khi thực hiện
Sau khi thực hiện thuật toán lan truyền nhãn, các đỉnh đều đƣợc gán nhãn nên không còn các đỉnh màu đỏ (chƣa gán nhãn) nhƣ trên hình. Tại giao diện này, ngƣời dùng có thể nhấn vào nút “Lƣu kết quả” để lƣu lại dữ liệu đã gán nhãn. Kết quả sẽ xuất ra tệp text.
3.5. Kết quả thực nghiệm và đánh giá độ phức tạp
3.5.1 Kết quả thực nghiệm
Kết quả thực nghiệm thuật toán thu đƣợc 11 tin nhắn đƣợc phân lớp tin nhắn rác và 39 tin nhắn trong đó 3 tin nhắn phân lớp sai, tỷ lệ tin nhắn phân lớp đúng đạt 94%. 3.5.2 Đánh giá độ phức tạp thuật toán
Với thuật toán tự huấn luyện
Dữ liệu đầu vào bao gồm:
ℓ: số lƣợng dữ liệu đã gán nhãn.
u: số lƣợng dữ liệu chƣa gán nhãn (u ≫ ℓ). n = ℓ + u =50 : tổng số lƣợng dữ liệu.
Độ phức tạp của thuật toán tự huấn luyện dựa trên việc đánh giá quá trình lặp ở bƣớc 2 (xem 1.3.1):
Thuật toán thực hiện số vòng lặp nhiều nhất có thể là: u vòng lặp. Trong đó: Vòng lặp thứ nhất có độ phức tạp: O (ℓ).
Vòng lặp thứ hai có độ phức tạp là: O (ℓ + 1). ... Vòng lặp thứ u có độ phức tạp là: O (ℓ+u−1). Do đó thuật toán có độ phức tạp là:
O (ℓ) + O (ℓ +1) + ... + O (ℓ +u−1) = O(ℓ +u−1). (O (ℓ +u) − O (ℓ))/ 2. = O(ℓ +u−1). O (u) / 2.
≈ O(n2) ≈ O(502).
Với thuật toán lan truyền nhãn
Thuật toán lan truyền nhãn đƣợc thực hiện dựa trên quá trình tính toán các ma trận và việc lặp lại để xác định sự hội tụ của thuật toán.
Đầu vào của thuật toán là một đồ thị, trong đó: ℓ: số đỉnh đã gán nhãn.
u: số đỉnh chƣa gán nhãn (u ≫ ℓ). n = ℓ + u =50: tổng số đỉnh của đồ thị.
Thuật toán thực hiện các quá trình tính toán với độ phức tạp của các thành phần nhƣ sau: - Quá trình xác định các ma trận trọng số W, ma trận xác suất P, ma trận xác suất chuyển nhãn PUU, ma trận xác suất PUL, ma trận nhãn YL, ma trận xác suất nhãn
f, có độ phức tạp: O(n2). (1) - Quá trình xác định siêu tham số α dựa trên thuật toán tìm cây khung nhỏ nhất, có độ phức tạp: O (n2
×log n). (2)
- Quá trình lặp để thực hiện việc lan truyền nhãn đƣợc thực hiện trong m bƣớc lặp (m khá lớn), trong đó: việc xác định sự hội tụ của thuật toán dựa trên quá trình tính toán các định thức ma trận, các phép toán nhân ma trận và tìm ma trận nghịch đảo, có độ phức tạp: O(n3).
Do đó, độ phức tạp của quá trình lặp là: O (m×n3
). (3)
Từ (1), (2) và (3) suy ra độ phức tạp của thuật toán la truyền nhãn là: O (m×503).
3.6. Kết luận
Trong chƣơng này, tác giả đã cài đặt chƣơng trình thử nghiệm phƣơng pháp tự huấn luyện và lan truyền nhãn dựa trên học nửa giám sát. Với thuật toán tự huấn luyện, ứng dụng cho phép ngƣời dùng nhập dữ liệu đầu vào, gán nhãn thông qua quá trình tự huấn luyện. Với thuật toán lan truyền nhãn trên đồ thị, chƣơng trình cho phép theo dõi kết quả của quá trình tính toán thông qua các ma trận, đồng thời hiển thị kết quả một cách trực quan lên giao diện. Chƣơng trình có thể dễ dàng phát triển với nhiều thuộc tính hơn.
Trong chƣơng này, tác giả đã chƣơng trình thử nghiệm các thuật toán phân lớp áp dụng vào bài toán phân loại tin nhắn rác. Với phƣơng pháp trích chọn đặc trƣng nhƣ đã trình bày ở trên, giúp giảm rất nhiều thời gian thực hiện phân lớp của các thuật toán. Đồng thời, luận văn cũng trình bày chi tiết các bƣớc tiền xử lý dữ liệu cho phép khai thác trên các thuật toán phân lớp hiệu quả hơn
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN
Kết luận
:
-Trình bày khái quát về học có giám sát, học không giám sát và học nửa giám sát.
-Giới thiệu một số phƣơng pháp học nửa giám sát phổ biến nhƣ: Self-training, Co-training, TSVM và đánh giá các ƣu và nhƣợc điểm của mỗi phƣơng pháp.
-Trình bày phƣơng pháp học nửa giám sát dựa trên đồ thị và một số thuật toán nhƣ: Labeled Propagation, Mincut.
-Đã cài đặt chƣơng trình thử nghiệm thuật toán lan truyền nhãn trên đồ thị và thuật toán tự huấn luyện.
Hạn chế
Về chƣơng trình ứng dụng: do thời gian có hạn nên tôi chƣa có điều kiện xây dựng một phần mềm ứng dụng hoàn chỉnh, áp dụng các thuật toán trên vào các lĩnh vực trong đời sống.
Hƣớng phát triển
Với việc nghiên cứu về học nửa giám sát và phƣơng pháp học nửa giám sát dựa trên đồ thị, tôi sẽ tiếp tục nghiên cứu sâu hơn về hƣớng này và sẽ tìm hiểu những phƣơng pháp, thuật toán học nửa giám sát khác để có thể áp dụng những lý thuyết đã nghiên cứu đƣợc nhằm xây dựng các phần mềm áp dụng vào thực tiễn.
TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt
[1] TS Nguyễn Tân Ân (2011), Bài giảng mạng noron nhân tạo, Trƣờng Đại
học Sƣ phạm Hà Nội, Hà Nội.
[2] PGS. TS Đoàn Văn Ban, ThS Nguyễn Hiền Trinh (2009), Ngôn ngữ hình thức và ôtômát, NXB Đại học Thái Nguyên.
[3] PGS. TS. Hà Quang Thụy (2011), Bài giảng nhập môn khai phá dữ liệu,
Trƣờng Đại học Công nghệ Đại học Quốc gia Hà Nội, Hà Nội.
Tài liệu tiếng Anh
[4] Avirm Blum, Shuchi Chawla (2001), Learning from labeled and Unlabeled
Data using Graph Mincuts, Computer Science Department, Carnegie
Mellon University, 5000 Forbes Avenue, Pittsburgh, PA15213USA.
[5] Amarnag Subramanya (2012), Partha Pratim Talukdar, A Tutorial on Graph-based Semi-Supervised Learning Algorithms for NLP, South Korea.
[6] Matthias Seeger (2001), Learning with labeled and unlabeled data,
Technical Report, University of Edinburgh.
[7] Olivier Chapelle, Bernhard Sch¨olkopf, Alexander Zien (2006), Semi- Supervised Learning.
[8] Partha Pratim Talukdar (July 16, 2010), Experiments in Graph-based Semi-
Supervised Learning Methods for Class-Instance Acquisition, Search Labs,
Microsoft Research Mountain View, CA 94043, Fernando Pereira Google, Inc.Mountain View, CA 94043.
[9] Xiaojin Zhu (May 2005), Semi-Supervised Learning with Graphs.
[10] Zoubin Ghahramani (2012), Graph-based Semi-supervised Learning,