Luận văn Tìm hiểu phương pháp học tích cực và ứng dụng cho bài toán lọc thư rác

Tài liệu Luận văn Tìm hiểu phương pháp học tích cực và ứng dụng cho bài toán lọc thư rác: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ HỒNG HẬU TÌM HIỂU PHƯƠNG PHÁP HỌC TÍCH CỰC VÀ ỨNG DỤNG CHO BÀI TOÁN LỌC THƯ RÁC LUẬN VĂN THẠC SĨ Hà Nội - 2011 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ HỒNG HẬU TÌM HIỂU PHƯƠNG PHÁP HỌC TÍCH CỰC VÀ ỨNG DỤNG CHO BÀI TOÁN LỌC THƯ RÁC Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin Mã số: 60 48 05 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. NGUYỄN TRÍ THÀNH Hà Nội - 2011 1 MỤC LỤC DANH SÁCH HÌNH VẼ ................................................................................. 3 DANH SÁCH CÁC BẢNG BIỂU .................................................................. 4 CHƯƠNG I: GIỚI THIỆU ............................................................................. 5 1.1 Giới thiệu đề tài ...................................................................................... 5 1.1.1 Lý do chọn đề tài .................................................................

pdf65 trang | Chia sẻ: haohao | Lượt xem: 1014 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Luận văn Tìm hiểu phương pháp học tích cực và ứng dụng cho bài toán lọc thư rác, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CƠNG NGHỆ NGUYỄN THỊ HỒNG HẬU TÌM HIỂU PHƯƠNG PHÁP HỌC TÍCH CỰC VÀ ỨNG DỤNG CHO BÀI TỐN LỌC THƯ RÁC LUẬN VĂN THẠC SĨ Hà Nội - 2011 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CƠNG NGHỆ NGUYỄN THỊ HỒNG HẬU TÌM HIỂU PHƯƠNG PHÁP HỌC TÍCH CỰC VÀ ỨNG DỤNG CHO BÀI TỐN LỌC THƯ RÁC Ngành: Cơng nghệ thơng tin Chuyên ngành: Hệ thống thơng tin Mã số: 60 48 05 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. NGUYỄN TRÍ THÀNH Hà Nội - 2011 1 MỤC LỤC DANH SÁCH HÌNH VẼ ................................................................................. 3 DANH SÁCH CÁC BẢNG BIỂU .................................................................. 4 CHƯƠNG I: GIỚI THIỆU ............................................................................. 5 1.1 Giới thiệu đề tài ...................................................................................... 5 1.1.1 Lý do chọn đề tài ................................................................................... 5 1.1.2 Mục tiêu của đề tài ................................................................................ 6 1.1.3 Các giai đoạn thực hiện đề tài ............................................................... 7 1.2 Cấu trúc của luận văn ............................................................................ 8 CHƯƠNG II - TỔNG QUAN VỀ HỌC TÍCH CỰC ................................. 10 2.1 Giới thiệu học tích cực ......................................................................... 10 2.2 Phương pháp học tích cực ................................................................... 13 2.3 Kịch bản học tích cực ........................................................................... 15 2.3.1 Stream_based Sampling ..................................................................... 15 2.3.2 Pool-based Sampling .......................................................................... 15 2.4 Các chiến lược truy vấn trong học tích cực ....................................... 15 2.4.1 Lấy mẫu khơng chắc chắn................................................................... 16 2.4.2 Truy vấn dựa vào hội đồng ................................................................. 17 2.5 So sánh học tích cực học thụ động ...................................................... 17 2.6 Miền ứng dụng của học tích cực ......................................................... 18 2.7 Kết luận ................................................................................................. 19 CHƯƠNG III - MỘT SỐ THUẬT TỐN HỌC TÍCH CỰC .................. 20 3.1 Học tích cực dựa trên perceptron ....................................................... 20 3.1.1 Giới thiệu ............................................................................................ 20 3.1.2 Thuật tốn perceptron ......................................................................... 20 3.1.3 Cải tiến bước cập nhật perceptron ...................................................... 23 3.1.4 Perceptron chỉnh sửa tích cực ............................................................. 25 3.2 Học tích cực với SVM ......................................................................... 27 2 3.2.1 Giới thiệu ............................................................................................ 27 3.2.2 Máy hỗ trợ vector ................................................................................ 27 3.2.3 Version space ...................................................................................... 30 3.2.4 Học tích cực với SVM ........................................................................ 33 3.3 Kết luận ................................................................................................. 39 CHƯƠNG 4. ỨNG DỤNG HỌC TÍCH CỰC CHO BÀI TỐN LỌC THƯ RÁC ....................................................................................................... 40 4.1 Giới thiệu ............................................................................................... 40 4.2 Học tích cực trong bài tốn lọc thư rác .............................................. 41 4.3 Thử nghiệm và kết quả ........................................................................ 43 4.3.1. Cài đặt chương trình thử nghiệm ..................................................... 43 4.3.2. Thu thập và biểu diễn dữ liệu .......................................................... 45 4.3.3. Xây dựng chương trình biểu diễn và tiền xừ lý dữ liệu ................... 48 4.3.4. Kết quả thử nghiệm .......................................................................... 51 4.4 Kết luận ................................................................................................. 57 KẾT LUẬN .................................................................................................... 58 TÀI LIỆU THAM KHẢO ............................................................................ 60 3 DANH SÁCH HÌNH VẼ Hình 2.1 Lược đồ chung cho bộ học thụ động Hình 2.2 Lược đồ chung cho bộ học tích cực Hình 2.3 Lược đồ tổng thể của học tích cực Hình 3.1 Thuật tốn perceptron chuẩn Hình 3.2 Thuật tốn cải tiến percepron chuẩn Hình 3.3 Quy tắc học tích cực là truy vấn các nhãn cho các điểm x trong L Hình 3.4. Phiên bản tích cực của Perceptron đã chỉnh sửa. Hình 3.5 (a) Máy hỗ trợ vector tuyến tính đơn giản. (b) Máy hỗ trợ vector và máy hỗ trợ vector transaction Hình 3.6 Máy hỗ trợ vector sử dụng hàm nhân đa thức bậc 5 Hình 3.7 (a) Tính đối ngẫu trong version space (b) Một bộ phân lớp SVM trên một version space Hình 3.8 (a) Lề đơn giản truy vấn b (b) Lề đơn giản truy vấn a Hình 3.9 (a) Lề MaxMin truy vấn b (b) Lề MaxRatio truy vấn e. Hình 4.1 Bộ lọc thư rác áp dụng phương pháp học tích cực Hình 4.2 Bộ lọc thư rác tích cực dựa trên Perceptron/SVM active Hình 4.3 Giao diện chính của chương trình Hình 4.4 Giao diện lựa chọn thư mục chứ dữ liệu Hình 4.5 Thơng báo quá trình làm sạch dữ liệu thành cơng Hình 4.6 Giao diện thơng báo kết quả xử lý Hình 4.7 Kết quả thuật tốn perceptron Hình 4.8 Cấu trúc file cấu hình của chương trình ActiveExperiment Hình 4.9 Kết quả chạy thuật tốn SIMPLE Hình 4.10 Kết quả chạy thuật tốn SELF_CONF Hình 4.11 Kết quả chạy thuật tốn KFF Hình 4.12. Kết quả chạy thuật tốn BALANCE_EE 4 DANH SÁCH CÁC BẢNG BIỂU Bảng 4.1 Ví dụ nội dung của bốn thư Bảng 4.2 Từ điển và chỉ số cho dữ liệu trong bảng 4.1 Bảng 4.3 Biểu diễn vector cho dữ liệu trong bảng 4.1 Bảng 4.4 Kết quả chạy qua 20 lần truy vấn của các thuật tốn 5 CHƯƠNG I: GIỚI THIỆU 1.1 Giới thiệu đề tài 1.1.1 Lý do chọn đề tài Ngày nay thư điện tử (email) đã trở thành một cơng cụ đắc lực phục vụ cho nhu cầu trao đổi thơng tin của các cơ quan tổ chức, doanh nghiệp cũng như mỗi cá nhân. Email giúp con người cĩ thể kết nối mọi nơi, mọi lúc với cơng việc và cuộc sống cá nhân. Tuy nhiện thư điển tử cũng đang bị lợi dụng để phát tán thư rác (spam) lây lan virus máy tính và lừa đảo trực tuyến, gây thiệt hại lớn cho người sử dụng. Thư rác là thư điện tử được gửi hàng loạt với nội dung mà người nhận khơng mong đợi, khơng muốn xem, hay chứa những nội dung khơng liên quan đến người nhận và thường được sử dụng để gửi thơng tin quảng cáo. Do cĩ giá thành tương đối thấp so với các phương pháp quảng cáo khác, thư rác hiện chiếm một tỷ lệ lớn và ngày càng tăng trong tổng số thư điện tử được gửi qua Internet. Sự xuất hiện và gia tăng thư rác khơng những gây khĩ chịu và làm mất thời gian của người nhận mà cịn ảnh hưởng tới đường truyền Internet và làm chậm tốc độ xử lý của máy chủ thư điện tử, gây thiệt hại lớn về kinh tế. Thư rác là một trong những thách thức lớn nhất hiện nay mà khách hàng và các nhà cung cấp dịch vụ phải đối phĩ. Spam đã trở thành một hình thức quảng cáo chuyên nghiệp, phát tán virus, ăn cắp thơng tin... với nhiều thủ đoạn và mánh khĩe cực kỳ tinh vi. Người dùng sẽ phải mất khá nhiều thời gian để xĩa những thư điện tử “khơng mời mà đến”, nếu vơ ý cịn cĩ thể bị nhiễm virus, trojan, spyware ... và nặng nề hơn là mất thơng tin như thẻ tín dụng, tài khoản ngân hàng qua các email dạng thư lừa người dùng tưởng đĩ là thư hợp lệ (phishing). Để loại bỏ hoặc giảm thiểu ảnh hưởng của thư rác, nhiều cách tiếp cận khác nhau đã được nghiên cứu và sử dụng. Giải pháp đấu tranh với thư rác rất đa dạng, bao gồm từ các cố gắng về pháp lý trong việc xây dựng luật ngăn chặn phát tán thư rác cho tới những giải pháp kỹ thuật nhằm phát hiện và 6 ngăn chặn thư rác trong những giai đoạn khác nhau của quá trình tạo và phát tán thư. Tất nhiên, những kẻ gửi thư rác sẽ liên tục cải thiện chiến thuật/cách thức của chúng, do đĩ, điều quan trọng là biện pháp ngăn chặn thư rác phải “học” cách thức thay đổi của thư rác theo thời gian để giúp việc ngăn chặn cĩ hiệu quả. Và việc ngăn chặn thư rác phải được thực hiện nhanh nhất cĩ thể để khơng làm ảnh hưởng đến hệ thống, cơng việc khác. Từ những đặc điểm của hệ thống thư điện tử như cĩ sự tương tác với người sử dụng và sự biến đổi của thư rác, luận văn nghiên cứu về học tích cực và xác định được sự phù hợp cho bài tốn lọc thư rác. Đề tài “Tìm hiểu phương pháp học tích cực và ứng dụng cho bài tốn lọc thư rác” được tiến hành nhằm đưa ra được phương pháp xây dựng bộ lọc thư rác cĩ thể “học” được cách thức thay đổi của thư rác và tận dụng được sự tương tác với người dùng để đưa ra các truy vấn phân loại cho thư điện tử giúp cho việc phân loại thư rác đạt hiệu quả và chính xác cao. Trong phạm vi đề tài, luận văn tiến hành nghiên cứu một số giải pháp học thư rác dựa vào các phương pháp học tích cực (bộ lọc tích cực). Nội dung nghiên cứu bao gồm cả thử nghiệm trên dữ liệu thực làm rõ khả năng lọc thư của các bộ lọc tích cực, so sánh hiệu quả của các phương pháp được áp dụng trong bộ lọc. 1.1.2 Mục tiêu của đề tài Để loại bỏ thư rác, các nhà cung cấp dịch vụ thư điện tử đã tích hợp nhiều chương trình lọc thư rác vào dịch vụ thư điện tử. Các chương trình lọc thư rác chủ yếu dựa vào các phương pháp học máy thơng qua một bộ học. Tuy nhiên dựa vào thực tế: thư điện tử là một dịch vụ online, các thư điện tử được cập nhật thay đổi theo thời gian và cĩ sự tương tác của người sử dụng hịm thư với hệ thống vì vậy đề tài đã tập trung vào nghiên cứu bộ học tích cực và áp dụng cho bài tốn lọc thư rác. 7 Trên cơ sở xác định loại hình nghiên cứu của đề tài là nghiên cứu lý thuyết và ứng dụng thực nghiệm, mục tiêu của đề tài là tìm hiểu về phương pháp học tích cực và tìm giải giải pháp cho bài tốn lọc thư rác, chọn mơ hình thích hợp để áp dụng vào bài tốn lọc thư rác với các tiêu chí: - Lọc thư rác nhanh, phát hiện chính xác thư rác (spam mail). - Tận dụng được khả năng tương tác với người sử dụng dịch vụ mail, sự phân loại mail của người dùng để tăng thêm lượng mail đã gán nhãn cũng như chất lượng của dữ liệu gán nhãn. - Cĩ khả năng thích nghi với các biến thể của thư rác, chủ động lọc loại ra các thư rác ngày một hoạt động tinh vi hơn. Giống như trong lĩnh vực phịng chống virus máy tính, hacker luơn tìm cách để chống lại các chương trình diệt virus, thì trong chương trình lọc thư rác, những người gửi thư rác luơn tìm cách để tránh được bộ lọc thư rác một cách hữu hiệu. Vì vậy mà thư rác luơn luơn được biến đổi, cải tiến hơn do những người gửi thư rác. Sử dụng phương pháp học tích cực cho bài tốn lọc thư rác làm phong phú thêm tập lời giải cho bài tốn nhận dạng các đối tượng biến đổi. Bộ lọc thư rác tích cực giảm chi phí và thời gian thu thập dữ liệu, bởi vì nĩ được xây dựng dựa trên sự tương tác giữa bộ học và người dùng là nhận dạng thư rác hay thư thường. Với mục tiêu đã nêu ở trên luận văn chủ yếu tập trung nghiên cứu vào phương pháp học tích cực, áp dụng được các bộ học để tìm ra lời giải cho bài tốn lọc thư rác. Để kiểm tra và đánh giá kết quả, luận văn sử dụng các chương trình thực nghiệm đã cài đặt sẵn các bộ học mà luận văn nghiên cứu, thu thập dữ liệu thực tế, xây dựng chương trình xử lý dữ liệu thành các tri thức để huấn luyện các bộ học thực nghiệm nhằm phát hiện ra các thư rác một cách chính xác và đạt hiệu quả cao. 1.1.3 Các giai đoạn thực hiện đề tài Quá trình nghiên cứu của luận văn được thực hiện qua các giai đoạn sau: 8 Giai đoạn 1 – Nghiên cứu lý thuyết: Thu thập tài liệu, các bài viết liên quan đến học tích cực và phương pháp lọc mail. Nghiên cứu tài liệu, tìm hiểu phương pháp học học máy nĩi chung và phương pháp học tích cực nĩi riêng. Tìm hiểu cụ thể vào pương pháp học tích cực dựa vào perceptron và học tích cực với SVM. Tìm hiểu một số phương pháp lọc mail, tham khảo một số mơ hình lọc mail đã được xây dựng. Trên cơ sở khoa học và lý thuyết đã tìm hiểu lựa chọn phương pháp và áp dụng trong thực tế. Giai đoạn 2 – Xây dựng chương trình tiền xử lý dữ liệu để làm dữ liệu cho bài tốn lọc mail. Tìm hiểu và cài đặt các cơng cụ cĩ ứng dụng cho bài tốn lọc mail. Thu thập dữ liệu từ thực tế, sử dụng chương trình cĩ sẵn, xử lý dữ liệu và chạy thực nghiệm dữ liệu trên các cơng cụ đã cài đặt được. Phân tích đánh giá và nhận xét kết quả thực nghiệm Giai đoạn 3 – Tổng kết: Khái quát hĩa và rút ra kết luận chung cho đề tài. Viết báo cáo, cơng bố kết quả nghiên cứu trong đề tài. 1.2 Cấu trúc của luận văn Luận văn gồm bốn chương: Chương 1 dẫn nhập và giới thiệu chung về luận văn, lý do chọn đề tài, mục tiêu của đề tài và ý nghĩa của đề tài. Chương này cũng trình bày các giai đoạn thực hiện luận văn và cấu trúc của luận văn. Chương 2: trình bày các cơ sở lý thuyết phục vụ cho bài tốn lọc mai. Cụ thể chương 2 sẽ giới thiệu về phương pháp học tích cực. Đưa ra mơ hình học tích cực, so sánh giữa hai mơ hình học thụ động và học tích cực. Từ đĩ nêu ra được ưu điểm của học tích cực và các miền ứng dụng. Chương 3: sẽ trình bày về các mơ hình học tích cực. Đầu tiên, Chương 3 trình bày cơ sở lý thuyết của phương pháp học tích cực dựa vào perceptron sử dụng cải tiến bước cập nhật. Cuối Chương 3 trình bày về học tích cực với SVM, giới thiệu ba phương pháp truy vấn trong bộ học SVM: Simple Margin, MaxMin Margin và Ratio Margin. Chương 4: Giới thiệu bài tốn lọc thư rác, phương pháp học tích cực trong bài tốn lọc thư rác. Chương 4 sử dụng phương pháp học tích cực dựa vào Perceptron và SVM active vào xây dựng mơ hình cho bài tốn lọc thư rác. 9 Phần cuối chương 4: Cài đặt các tool thực nghiệm và xây dựng chương trình xử lý dữ liệu thu thập được về dạng dữ liệu đầu vào cho các tool thực nghiệm. Phân tích, đánh giá và nhận xét kết quả thực nghiệm. Phần Kết luận: tổng kết lại những kết quả đã thực hiện được trong luận văn và đưa ra phương hướng phát triển luận văn trong tương lai. 10 CHƯƠNG II - TỔNG QUAN VỀ HỌC TÍCH CỰC 2.1 Giới thiệu học tích cực Mục đích chính của học máy là thu được những mẫu chung từ một lượng dữ liệu hữu hạn [36]. Học máy được chia thành 2 loại: học cĩ giám sát và học khơng giám sát. Nhiệm vụ của học giám sát là dự đốn thêm những các đặc trưng của một đối tượng đầu vào [36]. Ví dụ: đơn giản là bài tốn dự dốn cân nặng của một người khi biết chiều cao của họ, cịn những bài tốn phức tạp hơn cĩ thể là dự đốn chủ đề của hình ảnh khi biết các giá trị của điểm ảnh. Một lĩnh vực trọng tâm của học giám sát là bài tốn phân lớp. Phân lớp là bài tốn học cĩ giám sát mà ở đĩ đặc trưng nữa của một đối tượng mà chúng ta mong muốn dự đốn là các giá trị rời rạc. Ta gọi đặc trưng này là nhãn. Mục đích của phân lớp là tạo ra một ánh xạ các đối tượng đầu vào tới các nhãn.Ví dụ, phân loại các tài liệu trong đĩ chúng ta mong muốn gán nhãn tự động cho một tài liệu mới với một vài chủ để đã xác định trước (ví dụ thể thao, chính trị, kinh doanh…). Hướng tiếp cận của học máy để giải quyết được vấn đề này là chúng ta phải thu thập được tập huấn luyện (trainning set) bằng cách gán nhãn tự động một số các tài liệu. Tiếp theo chúng sử dụng một bộ học (learner) thực hiện trên tập huấn luyện đã được gán nhãn để sinh ra một ánh xạ từ các tài liệu đến chủ đề. Chúng ta gọi ánh xạ này là bộ phân lớp (classifier). Chúng ta cĩ thể dùng bộ phân lớp (classifier) để gán nhãn cho các tài liệu mới. Một lĩnh vực lớn nữa của học máy là học khơng giám sát. Khoảng cách giữa học giám sát và học khơng giám sát cũng khơng hồn tồn rõ ràng. Tuy nhiên bản chất của học khơng giám sát là chúng ta sẽ khơng nhận được thơng tin cụ thể về cách thức thực hiện như thế nào. Nĩi cách khác, trong bài tốn phân lớp chúng ta nhận được tập dữ liệu huấn luyện đã được gán nhãn tự động. Học khơng giám sát bao gồm bài tốn phân cụm (Ở đây chúng ta sẽ cố tìm nhĩm dữ liệu tương tự nhau) và xây dựng mơ hình (chúng ta cố gắng xây dựng một mơ hình miền từ một tập dữ liệu). Tất cả các bài tốn học giám sát và khơng giám sát, đầu tiên là thu thập 11 đầy đủ lượng dữ liệu sao cho được đánh mẫu tự động từ sự phân bố mật độ cơ bản và sau đĩ chúng ta quy vào một lớp hay một mơ hình. Phương pháp này được gọi là học thụ động. Bộ học thụ động nhận dữ liệu một cách ngẫu nhiên từ thế giới (hình 2.1) và sau đĩ đưa ra mơ hình để phân lớp. Thơng thường những bài tốn mất nhiều thời gian và chi phí trong các ứng dụng là thu thập dữ liệu. Trong một số trường hợp, chúng ta cĩ giới hạn các tài nguyên cho việc thu thập dữ liệu. Do đĩ, rất là quan trọng khi xác định cách để chúng ta cĩ thể sử dụng những tài nguyên này càng nhiều càng tốt. Hầu như trong tất cả các trường hợp chúng ta đều cho rằng thu thập các thể hiện dữ liệu một cách ngẫu nhiên là độc lập và phân bố tương tự nhau. Tuy nhiên, trong một số trường hợp chúng ta cĩ thể cĩ cách hướng dẫn quá trình lấy mẫu. Ví dụ, trong bài tốn phân lớp tài liệu, thường rất dễ thu thập một lượng lớn các tài liệu chưa gán nhãn. Thay vì lựa chọn tài liệu một cách ngẫu nhiên để gán nhãn cho tập huấn luyện, chúng ta cĩ quyền lựa chọn (yêu cầu) cẩn thận một số tài liệu để gán nhãn. Trong bài tốn ước lượng tham số và phát hiện cấu trúc, giả sử chúng ta nghiên cứu bệnh ung thư phổi trong ngành y: v Chúng ta cĩ một danh sách sơ bộ ban đầu về tuổi và sở thích hút thuốc của những người cĩ khả năng mắc bệnh để chúng ta cĩ quyền lựa chọn hướng kiểm tra thêm. v Chúng ta cĩ khả năng đưa ra chỉ với một số người bản kiểm tra chi tiết. Thay vì chọn ngẫu nhiên một số người để kiểm tra thì ta đặt ra yêu cầu với những người phù hợp với các đặc điểm nào đĩ. Ví dụ Chúng ta muốn kiểm tra những người hút thuốc và trên 50 tuổi. v Hơn nữa, chúng ta khơng cần phải đưa ra các danh sách câu hỏi trước. Chúng ta cĩ thể chọn câu hỏi tiếp theo dựa trên các câu trả lời của các câu hỏi trước. Quá trình hướng dẫn các bước lấy mẫu bằng câu hỏi cho một số trường hợp nào đĩ căn cứ vào dữ liệu mà chúng ta đã được cung cấp gọi là học tích cực. 12 Hình 2.1 Lược đồ chung cho bộ học thụ động Hình 2.2: Lược đồ chung cho bộ học tích cực. Học tích cực (đơi khi cịn được gọi là học truy vấn hay thiết kế thực nghiệm tối ưu trong các bài tốn thống kê) là một lĩnh vực nhỏ của học máy nĩi riêng và trong trí tuệ nhân tạo nĩi chung. Giả thiết chính là nếu thuật tốn học được phép chọn dữ liệu từ những gì nĩ học thì nĩ sẽ thực hiện tốt hơn ngay cả khi được huấn luyện ít hơn. Hệ thống học tích cực cố gắng vượt qua những hạn chế trong việc gán nhãn bằng cách đưa ra các truy vấn để các dữ liệu chưa gán nhãn sẽ được người sử dụng hay chuyên gia gán nhãn. Bằng cách này, bộ học tích cực hướng đến việc đạt được độ chính xác cao trong việc sử dụng dữ liệu gán nhãn càng ít càng tốt, do đĩ sẽ giảm thiểu được chí phí trong việc thu thập dữ liệu cĩ nhãn. Học tích cực được coi là một hướng tiếp cận cĩ mục đích tốt trong các bài tốn học máy hiện đại mà dữ liệu cĩ thể bị dư thừa nhưng các nhãn thì khan hiếm hoặc là tốn chi phí mới cĩ được. Học tích cực là một trong những phương pháp học giám sát [7] tạo ra những dữ liệu được gán nhãn với sự giúp đỡ của con người trong những vịng lặp cĩ phản hồi [5]. Bộ học tập trung vào việc huấn luyện sử dụng một lượng nhỏ dữ liệu đã gán nhãn và làm giảm số các nhãn mà người sử dụng cĩ để Thế giới Bộ học thụ động Mơ hình hoặc bộ phân lớp Dữ liệu Dữ liệu ra Thế giới Bộ học tích cực Mơ hình /Bộ phân lớp Dữ liệu đã gán nhãn/chưa gán nhãn Truy vấn Phản hồi Dữ liệu ra 13 phân lớp bằng cách chọn các dữ liệu cĩ nhiều thơng tin nhất. Điều này chỉ ra rằng ta chỉ cần một phần nhỏ dữ liệu trong tập dữ liệu lớn phải gán nhãn để huấn luyện một bộ học sao cho đạt được bộ phân lớp tốt. Vì trong học giám sát dữ liệu cần thiết phải sử dụng dữ liệu đã gán nhãn, nên bài tốn gán nhãn thường rất tốn thời gian và chi phí. Động lực đằng sau học tích cực là tối đa hĩa hiệu suất bằng cách giảm thiểu cơng sức của con người trong việc gán nhãn dữ liệu càng nhiều càng tốt [9]. Một đặc điểm nữa của học tích cực là nĩ là một quá trình lặp đi lặp lại [5]. Trong mỗi lần lặp, đầu tiên bộ học được huấn luyện với dữ liệu huấn luyện, sau đĩ một tập nhỏ dữ liệu chưa cĩ nhãn được lựa chọn và đưa cho người sử dụng (hoặc chuyên gia) gán nhãn cho chúng, và cuối cùng dữ liệu vừa được gán nhãn sẽ được thêm vào tập huấn luyện ban đầu và bộ học sẽ lại được huấn luyện lại. Quá trình này được lặp đi lặp lại cho đến khi chấm dứt. 2.2 Phương pháp học tích cực Bước chính trong phương pháp học tích cực là định nghĩa khái niệm mơ hình M và chất lượng mơ hình (mơ hình tổn thất, Loss(M)). Định nghĩa mơ hình và chất lượng mơ hình tương ứng sẽ được thay đổi phù hợp đối với từng bài tốn riêng. Với khái niệm tổn thất của mơ hình đã đưa ra, chúng ta lựa chọn câu truy vấn tiếp theo sao cho nĩ sẽ đưa đến một mơ hình mới với độ tổn thất của mơ hình là thấp nhất. Khi đang xem xét việc đưa ra câu truy vấn tiềm năng q, ta cần ước định độ tổn thất của mơ hình tiếp theo M’. Mơ hình M’ là mơ hình M được cập nhật với câu truy vấn q và câu trả lời x. Vì khơng biết câu trả lời x cĩ đúng với câu truy vấn tiếp theo khơng, nên ta phải thực hiện một số phép tổng hợp và phép tính trung bình. Một phương pháp tự nhiên là duy trì bộ phân phối các câu trả lời hợp với mỗi câu truy vấn. Ta cĩ thể tính được độ tổn thất kỳ vọng của mơ hình sau khi đưa ra câu truy vấn mà chúng ta đạt được độ kỳ vọng ở câu trả lời cho câu truy vấn đĩ: 14      (2.1) Nếu sử dụng định nghĩa này trong thuật tốn học tích cực thì cĩ thể chọn các câu truy vấn sao cho độ tổn thất kỳ vọng của mơ hình là thấp nhất. Dựa vào nhưng phân tích ở trên Tong [36] đã đưa ra lược đồ tổng thể của học tích cực như trong hình 2.3 For i:=1 to totalQueries ForEach q in potentialQueries Evaluate Loss(q) EndForEach Ask truy vấn q sao cho Loss(q) là thất nhất Update cập nhật mơ hình M với truy vấn q và phản hồi x EndFor Return mơ hình Hình 2.3 Lược đồ tổng thể của học tích cực [36] Trong thống kê, sự lựa chọn chuẩn để tối thiểu độ tổn thất kỳ vọng chínhlà tối thiểu được độ tổn thất cực đại [3]. Nĩi các khác, nếu giả sử các trường hợp đều là xấu nhất: điều này cĩ nghĩa là câu trả lời x sẽ luơn là câu trả lời cho độ tổn thất của mơ hình là cao nhất.       (2.2) Nếu chúng ta sử dụng định nghĩa độ tổn thất này cho câu truy vấn trong thuật tốn học tích cực thì chúng ta nên lựa chọn câu truy vấn cho kết quả đạt độ tổn thất mơ hình lớn nhất. 15 2.3 Kịch bản học tích cực Cĩ một vài kịch bản học trong một số bài tốn khác nhau, trong đĩ bộ học cĩ thể đưa ra câu truy vấn. Tuy nhiên cĩ hai kịch bản chính, khá phổ biến trong các nghiên cứu và thường xuyên được sử dụng trong các bài tốn áp dụng phương pháp học tích cực. Hai kịch bản học đĩ là stream-based sampling và pool-based sampling. 2.3.1 Stream-based sampling Trong kịch bản ‘stream-based sampling’, bộ học lấy một mẫu tại một thời điểm nào đĩ từ các dữ liệu phân tán và cố gắng đưa ra một quyết định trên mẫu này là cĩ lựa chọn và đem nĩ ra để hỏi người dùng ghi nhãn cho nĩ hoặc sẽ bỏ qua nĩ. 2.3.2 Pool-based sampling Trong kịch bản ‘pool-based sampling’, đầu tiên bộ học lấy tất cả các mẫu và xếp hạng chúng tăng dần dựa trên dự đốn của bộ phân lớp. Sau đĩ, bộ học sẽ chọn k mẫu đầu tiên của danh sách xếp hạng trong mỗi lần lặp và đưa chúng cho từng người sử dụng một để ghi nhãn. Trong kịch bản ‘pool-based sampling’, dữ liệu chưa gán nhãn là cố định và khơng thay đổi; trong khi kịch bản ‘stream-based scenario’ là một phiên bản trực tuyến của kịch bản ‘pool-based sampling’ vì ngay lập tức nĩ yêu cầu người sử dụng gán nhãn sau khi nĩ được phân lớp [44]. Chúng ta cĩ thể kết luận rằng kịch bản ‘stream-based scenario’ khác biệt với kịch bản ‘pool-based sampling’ về việc liệu trong mơ hình các mẫu được chọn cĩ được hỏi người sử dụng nhãn ngay lập tức khơng hoặc lúc đầu tất cả các mẫu được xếp hạng và từ dữ liệu đã xếp hạng này cĩ được lựa chọn để được gán nhãn. 2.4 Các chiến lược truy vấn trong học tích cực Các mẫu được chọn phải cĩ rất nhiều thơng tin cĩ hiệu quả cho bài 16 tốn. Để làm được việc lựa chọn mẫu, cĩ một số phương pháp truy vấn độc lập với kịch bản học tích cực đã giới thiệu giới thiệu ở trên. Trong số các phương pháp truy vấn được sử dụng trong các ứng dụng khác nhau của phương pháp học tích cực, Settles [6][7] đã trình bày việc phân loại hồn chỉnh nhất và tồn diện nhất cho các phương pháp truy vấn này. Trong đĩ cĩ hai phương pháp được sử dụng rộng rãi nhất đĩ là lấy mẫu khơng chắc chắn và truy vấn dựa trên hội đồng (Query by committee). 2.4.1 Lấy mẫu khơng chắc chắn Phương pháp lựa chọn mẫu nổi tiếng nhất và đơn giản là "lấy mẫu khơng chắc chắn" (Uncertainty Sampling) được giới thiệu bởi Lewis và Gale [14]. Trong phương pháp này, bộ học tích cực đưa ra các mẫu tới người sử dụng là khơng chắc chắn. Xét các dự đốn của bộ phân lớp cho dữ liệu khơng cĩ nhãn, ta sẽ cĩ một đường biên giữa các mẫu khơng cĩ thơng tin và các mẫu cĩ chứa thơng tin. Các mẫu khơng cĩ thơng tin là những mẫu cần cĩ sự dự đốn chắc chắn cao nhất cho việc gán nhãn; vì thế các mẫu kiểu này khơng phải là hữu ích cho học tích cực và cũng khơng cần thiết để hỏi nhãn cho chúng. Các mẫu cĩ thơng tin là các mẫu mà bộ phân lớp khơng cần phải cĩ một dự đốn tốt cho việc gán nhãn với sự tự tin cao. Do vậy những dữ liệu cĩ độ chắc chắn thấp hơn sẽ hữu ích cho bộ học tích cực. Đường biên giữa các mẫu chứa thơng tin và mẫu khơng chứa thơng tin cĩ thể được định nghĩa với một số điểm như độ tin cậy của bộ phân lớp cho các nhãn mà nĩ đã gán. Trong thực tế ‘độ tin cậy’ là sự dự đốn của bộ phân lớp với xác suất cao nhất cho các nhãn của mẫu [5]. Vì nĩ cĩ thể được nhận ra, nên trong việc lấy mẫu khơng chắc chắn chỉ cĩ một bộ phân lớp là cần thiết cho mơ hình [21]. Cĩ một số cách tính độ tin cậy mà bộ phân lớp sử dụng. Trong số đĩ, cĩ ‘entropy’ được Shannon [11] đề xuất là một trong những cách phổ biến nhất. Sử dụng entropy là độ tin cậy, các mẫu cĩ entropy cao sẽ là các mẫu chứa thơng tin nhiều nhất vì dự đốn của bộ phân lớp cho các mẫu đĩ là thấp 17 và các mẫu này sẽ là các ứng cử viên tốt nhất được lựa chọn và đưa ra cho người sử dụng gán nhãn. 2.4.2 Truy vấn dựa vào hội đồng Seung cùng cộng sự [20] và Freund cùng cộng sự [45] đề xuất một phương pháp truy vấn được sử dụng rộng rãi được gọi là truy vấn dựa vào hội đồng (query by committee). Trong phương pháp này nhiều hơn một bộ phân lớp được sử dụng và mỗi bộ phân lớp cố gắng để lấy các mẫu chứa nhiều thơng tin nhất. Trong số các mẫu chứa thơng tin được lựa chọn cho mỗi bộ phân lớp, các mẫu mà cĩ độ bất đồng lớn nhất giữa các bộ phân lớp sẽ được lựa chọn và đưa ra cho người sử dụng gán nhãn. 2.5 So sánh học tích cực học thụ động • Bộ học Một bộ học tích cực thu thập thơng tin bằng cách đưa ra các câu truy vấn và nhận lại các câu trả lời. Sau đĩ nĩ đưa ra bộ phân lớp hoặc mơ hình cĩ thể sử dụng được cho bài tốn của mình. Bộ học tích cực khác với bộ học thụ động ở chỗ bộ học thụ động nhận thơng tin một cách ngẫu nhiên và sau đĩ đưa ra bộ phân lớp và mơ hình. Một điểm khác nữa là bộ học thụ động chuẩn giống như một sinh viên thu thập thơng tin bằng cách chỉ ngồi và lắng nghe giáo viên trong khi bộ học tích cực là người đặt ra câu hỏi cho giáo viên, nghe câu trả lời và hỏi thêm dựa trên câu trả lời của giáo viên. Rất hợp lý khi đưa ra câu hỏi dựa trên câu trả lời trước đĩ sẽ cho phép bộ học tích cực thực hiện tốt hơn bộ học thụ động. • Thành phần truy vấn Điểm khác chủ yếu giữa bộ học tích cực và bộ học thụ động là khả năng đặt câu hỏi vào câu hỏi và câu trả lời trước. Khái niệm về câu hỏi và câu trả lời chính xác là gì sẽ phụ thuộc vào các bài tốn cụ thể tiếp theo. Khả năng sử dụng phương pháp học tích cực sẽ được lựa chọn tùy vào từng trường hợp, từng bài tốn cụ thể. 18 2.6 Miền ứng dụng của học tích cực Học tích cực được áp dụng trong rất nhiều ứng dụng khác nhau, nhưng đặc biệt gần đây người ta lại chú ý đến phương pháp học tích cực trong lĩnh vực xử lý ngơn ngữ tự nhiên. Ngồi ra học tích cực cũng được sử dụng trong nhiều ứng dụng như: • Nhận dạng giọng nĩi (Hakkani-Tür et al., 2002), hiểu ngơn ngữ nĩi (Tur et al., 2003; 2005). • Phân tích cú pháp (Thompson và cộng sự, 1999; Hwa, 2000; Tang và cộng sự, 2002;. Hwa và cộng sự, 2003;. Steedman và cộng sự, 2003;. Baldbridge và Osborne, 2003; 2004; 2006; Osborne và Baldridge, 2004, Becker và Osborne, 2005) • Khai thác thơng tin (Thompson et al., 1999; Settles and Craven, 2008), tìm kiếm thơng tin (Zhang and Chen, 2002; Yu, 2005), • Phân lớp tài liệu (Schohn and Cohn, 2000; Roy and McCallum, 2001), • Lọc thư rác (Sculley, 2008) • Tìm kiếm hình ảnh (Tong, Simon Tong 2001) • Phân lớp văn bản (Lewis and Gale, 1994; McCallum and Nigam, 1998; Tong and Koller, 2001; Zhu et al., 2003; Baldbridge and Osborne, 2006; Zhu et al., 2008ab, Lewis and Catlett, 1994; Liere and Tadepalli, 1997; Hoi et al., 2006), • Phân đoạn tài liệu (Settles and Craven, 2008), • Phân đoạn từ vựng (Sassano, 2002), word sense disambiguation (Fujii et al., 1998; Dang, 2004; Chen et al., 2006; Chan and Ng, 2007; Zhu and Hovy, 2007; Zhu et al., 2008ab), • Nhận dạng chữ số viết tay (Zhu et al., 2003), • Dịch máy (machine translation) (Haffari and Sarkar, 2009; Haffari et al., 2009), • Nhận dạng thực thể ghi tên (Shen et al., 2004; Laws and Schütze, 2008), 19 2.7 Kết luận Trong chương này đã trình bày cơ sở lý thuyết của học tích cực. Giới thiệu học tích cực là gì, phương pháp học tích cực, các kịch bản và các phương pháp truy vấn. Tĩm lại, phương pháp học tích cực được tĩm tắt lại như sau: Đầu tiên chúng ta chọn một mơ hình và độ tổn thất mơ hình thích hợp với bài tốn học. Sau đĩ chúng ta cũng chọn một phương pháp cho việc tính độ tổn thất mơ hình tiềm năng đưa ra câu truy vấn tiềm năng. Với mỗi câu truy vấn chúng ta đánh giá độ tổn thất tiềm năng và chúng ta lựa chọn để đưa ra câu truy vấn, câu truy vấn này sẽ đưa ra được độ tổn thất mơ hình tiềm năng thấp nhất. 20 CHƯƠNG III - MỘT SỐ THUẬT TỐN HỌC TÍCH CỰC Chương này sẽ giới thiệu một số thuật tốn học tích cực. Cụ thể sẽ đi vào giới thiệu hai thuật tốn phổ biến là perceptron và Active SVM. 3.1 Học tích cực dựa trên perceptron 3.1.1 Giới thiệu Một trong những phương pháp tiếp cận ra đời sớm nhất cho vấn đề phân lớp tuyến tính trong học máy là thuật tốn Perceptron. Perceptron được Rosenblatt đề xuất năm 1958 [17], chiếm một vị trí quan trọng trong lịch sử của các thuật tốn nhận dạng mẫu.Perceptron là một bộ phân lớp tuyến tính và là một phần của học máy kể từ những năm 1958 và đã cĩ nhiều phân tích lý thuyết về nĩ. Phần này sẽ trình bày thuật tốn học tích perceptron chuẩn và thuật tốn perceptron tích cực cĩ cải tiến bước cập nhật do Dasgupta đề xuất năm 2005 [32]. 3.1.2 Thuật tốn perceptron Cho tập dữ liệu học           với    và    là một số nguyên xác định  là dữ liệu dương (+1) hay âm (-1). Một tài liệu  được gọi là dữ liệu dương nếu nĩ thuộc lớp !;  được gọi là dữ liệu âm nếu nĩ khơng thuộc lớp !. Bộ phân lớp tuyến tính được xác định bằng siêu phẳng chia dữ liệu thành vào các lớp thuộc tính. Tập các giả thiết như vậy ta cĩ: " #  $% $&  ' (3.1) Trong đĩ $  và $&   là các hệ số cĩ thể điều chỉnh đĩng vai trị là tham số của mơ hình. Hàm phân lớp nhị phân h: Rm → {0,1}, cĩ thể thu được bằng cách xác định dấu của (: 21 )  *+ế,+# - ''+ế,+# . '/+ 3.2+ Như vậy việc học mơ hình phân lớp chính là việc xác định siêu phẳng từ dữ liệu. Với thuật tốn này, mỗi dữ liệu được xem là một điểm trong mặt phẳng. Dữ liệu học là tách rời tuyến tính (linearly separable) nếu tồn tại một siêu phẳng sao cho hàm phân lớp phù hợp với tất cả các nhãn, tức là # - ' với mọi i = 1,...,n. Với giả thuyết này, Rosenblatt đã đưa ra một thuật tốn lặp đơn giản để xác định siêu phẳng: Mục đích của thuật tốn Perceptron là tìm ra được một siêu phẳng bằng cách làm giảm thiểu đi khoảng cách của các điểm dữ liệu phân lớp nhầm (misclassified) tới đường biên quyết định. Nĩ bắt đầu với việc dự đốn các tham số ban đầu cho mặt phẳng phân cách, và sau đĩ khi cĩ những sai lầm xảy ra thì nĩ cập nhật lại việc dự đốn trước đĩ. Perceptron Khởi tạo các giả thiết ban đầuv0 For t=0 to n do Dự đốn: if #3 . 3 4 '+then 53  678#3 . 3 else 53  678#3 . 3 Bước lọc: quyết định hỏi nhãn yt của điểm xt Cập nhật: If 3#3. 3 9 ' then #3:;  #3 3 . 3 Bước lọc phù hợp else #3:;  #3 Hình 3.1 Thuật tốn perceptron chuẩn [32] 22 Thuật tốn chọn tập các giả thiết như là mơ hình của thuật tốn và lỗi tổng quát của mỗi giả thiết làm độ tổn thất của mơ hình. Với giả thiết # bất kỳ thuộc Rd sẽ cĩ miền lỗi ξ3    6<678#3.  = 678,. , u là vector đơn vị. Do đĩ thuật tốn sẽ lựa chọn các dữ liệu sao cho giảm miền lỗi của giả thiết càng nhiều càng tốt. Bước cập nhật Rosenblatt [17] là người đầu tiên phân tích hoạt động hội tụ của bước cập nhật perceptron, nĩ bao gồm qui tắc đơn giản sau đây: if (xt, yt) bị phân lớp nhầm (misclassified), then #3:;  #3 33. Vì vậy, thay vì sử dụng một biến của nguyên tắc cập nhật, theo Motzkin và Schoenberg [40] đã cải tiến bước cập nhật theo quy tắc sau: if (xt, yt) bị phân lớp nhầm, then vt+1 = vt −2(vt . xt)xt Giả sử xt đã chuẩn hĩa theo đơn vị chiều dài. Lưu ý rằng bản cập nhật cũng cĩ thể viết như vt+1 = vt+2yt|vt . xt| xt, chỉ khi bản cập nhật được thực hiện trên những sai lầm, trong trường hợp này theo định nghĩa yt≠ SGN (vt . xt). Vì vậy Motzkin và Schoenberg [40] đang chia mức độ các bản cập nhật sau của perceptron chuẩn theo một thừa số 2|vt .xt| để tránh những dao động gây ra bởi các điểm gần một nửa khơng gian đại diện bởi các giả thuyết hiện thời. Motzkin và Schoenberg đã giới thiệu quy tắc này, trong bối cảnh giải quyết các bất đẳng thức tuyến tính, và gọi nĩ là phương pháp "phản xạ" (Reflexion). Sau đĩ, Hampson và Kibler [34] áp dụng nĩ để học tập bộ phân tách tuyến tính, trong một khuơn khổ phân tích khác với chúng ta. Cùng một quy tắc, nhưng khơng cĩ tham số 2, đã được sử dụng trong nhiều nghiên cứu trước đây [4] nghiên cứu về việc học các bộ phân lớp tuyến tính từ dữ liệu nhiễu, trong một thiết lập khối. Hai ơng cĩ thể chỉ ra rằng cơng thức của họ cĩ sự thực hiện tổng quát trong một thiết lập giám sát (khơng tích cực). Bước lọc 23 Với giới hạn mà thuật tốn đã đưa ra, thì luật lọc tự nhiên là truy vấn các điểm xt khi |vt . xt| nhỏ hơn ngưỡng st. Sự lựa chọn st là rất quan trọng. Nếu nĩ là quá lớn, sau đĩ chỉ một phần nhỏ rất ít các điểm đã truy vấn sẽ thực sự bị phân lớp sai - hầu như tất cả các nhãn sẽ bị lãng phí. Nĩi cách khác, nếu st quá bé, thì thời gian chờ đợi cho một truy vấn cĩ thể khá cao, và khi một bản cập nhật thực sự được thực hiện, thì độ lớn của nĩ cĩ thể lại rất nhỏ. Vì vậy, tác giả thiết lập ngưỡng cho phù hợp: tác giả bắt đầu với st cĩ giá trị cao, và chia nĩ cho 2 cho đến khi đạt được mức mà cĩ đủ bộ phân lớp sai các điểm đã truy vấn. Áp dùng chiến lược này vào bản cập nhật Perceptron đã chỉnh sửa, chúng ta nhận được một thuật tốn học tích cực (hình 3.5) với độ phức tạp nhãn >?@ AB ;C), tạo ra >?@ AB ;C) lỗi và cĩ lỗi ≤ε. 3.1.3 Cải tiến bước cập nhật perceptron Phần này mơ tả một thuật tốn Perceptron đã đượcc cải tiến. Khơng giống như Perceptron chuẩn, thuật tốn Perceptron cải tiến đảm bảo rằng vt.u tăng nghĩa là lỗi của vt giảm đơn điệu. Một sự khác biệt nữa của bản cải tiến chuẩn (so với các bản khác) là độ lớn của các giả thuyết hiện thời luơn luơn là 1. Điều này rất thuận lợi cho việc phân tích. Perceptron cải tiến chiều d và số lần cập nhật M #;  ;. ; --với dữ liệu đầu tiên ; ; For t=1 to M: 3  3 là dữ liệu tiếp theo với  #3 . ' #3:;  #3  2#3 . 33 Hình 3.2 Thuật tốn cải tiến percepron chuẩn 24 Trong thuật tốn perceptron chuẩn hình 3.1, bước cập nhật perceptron chuẩn vt+1 = vt + xt.yt là cùng hướng nhưng khác độ lớn (được chia theo hệ số 2|vt.xt|) Các thuật tốn Perceptron cải tiến chuẩn được đưa ra trong hình 3.2. Ta cĩ ||vt||=1 (3.3) Và D#3:;DE  D#3DE F#3 . 3ED3DE  F#3 . 3E  . (3.4) Ngược lại, đối với bản cải tiến Perceptron chuẩn, mức độ của vt tăng đều đặn. Với bản cải tiến đã sửa, lỗi cĩ thể chỉ giảm bởi vì vt.u cũng chỉ giảm. #3:; ,  #3 . ,  2#3. 3. 3 . ,  #3 . , 2<#3 . 3<<3 . ,<. (3.5) Biểu thức thứ 3.4 xảy ra theo thực tế là vt phân lớp nhầm xt. Do vậy vt.u tăng, và sự tăng cĩ thể bị chặn từ dưới bằng cách chỉ ra <#3 . 3<<3 . ,< là lớn. Trước đây Hamson và Kibler đã từng sử dụng bản cập nhật này cho việc học bộ phân tách tuyến tính [34], gọi là “Reflection” (Sự phản ánh), dựa trên phương pháp “Reflexion” của Motzkin and Schoenberg [40]. 3 . #3:;  3 . #3  23 . #33 . 3  3 . #3 (3.6) Nĩi chung, biểu thức (3.6) cĩ thể coi là bản cập nhật sửa của dạng #3:; #3  G#3 . 33, dạng này tương đương với phương pháp “Reflexion” trong việc giải bất đẳng thức tuyến tính [30][40]. Khi α≠2, vector vt khơng cịn giữ độ dài cố định nữa, tuy nhiên cũng cĩ thể xác minh được rằng các vector đơn vị tương ứng #53thỏa mãn: #53:;. ,  #53 . , G<#53 . 3<<3 . ,<HI  G2  G#53 . 3E, (3.7) Và do vậy bất kỳ sự lựa chọn nào α∈[0,2] cũng đảm bảo rằng lỗi khơng tăng. Blum và cộng sự[4] đã sử dụng α=1 bảo đảm rằng sự phát triển trong mẫu số (phân tích của họ đã khơng dựa vào tiến bộ trong tử số) miễn là #53 . , và 25 #53. 3E bị chặn ở 0. Phương pháp tiếp cận của họ được sửa dụng một loạt như là một phần của thuật tốn phức tạp hơn cho học noise_tolerant. Trong khung làm việc tuần tự, cĩ thể chặn <#53 . 3<<3 . ,< bởi 0, dưới sự phân tán thống nhất, và do đĩ sự lựa chọn α=2 là thuận lợi nhất, nhưng α=1 sẽ cĩ thể tốt hơn. Hình 3.3 Quy tắc học tích cực là truy vấn các nhãn cho các điểm x trong L, L được xác định bởi ngưỡng st trên |vt.xt| [32] 3.1.4 Perceptron chỉnh sửa tích cực Mục đích trong việc thiết kế luật học tích cực là giảm thiểu phức tạp nhãn được đưa vào câu truy vấn chỉ cho các nhãn trên các điểm trong miền lỗi ξt. Tuy nhiên khơng cĩ tri thức của u, thuật tốn sẽ khơng biết vị trí của ξt. Theo trực giác thì luật học tích cực là xấp xỉ với miền lỗi, với thơng tin đã cho thuật tốn cĩ vt. Trong hình 3.3, vùng đã gán nhãn L đơn giản là miền được hình thành bởi việc tạo ngưỡng cho các lề của một ví dụ ứng viên đối với vt. Phiên bản tích cực của thuật tốn Perceptron cải tiến được chỉ ra trong hình 3.4. Thuật tốn này tương tự thuật tốn của phần trước trong các bước cập nhật. Đối với quy tắc lọc, sẽ duy trì một ngưỡng st và chỉ yêu cầu cho các nhãn của các ví dụ cĩ <#3. < 9 3. Miền xấp xỉ lỗi đạt được bằng cách chọn ngưỡng st thích hợp, để quản lý sự cân bằng giữa vùng L đang quá lớn, gây ra nhiều nhãn bị lãng phí mà khơng tìm được ξt, và L chỉ chứa các điểm cĩ lề rất 26 nhỏ đối với vt, vì bước cập nhật sẽ tạo ra sự cải tiến rất nhỏ trên các điểm như thế. Thuật tốn giảm ngưỡng thích ứng với thời gian, bắt đầu với s1=1/J@ và giảm ngưỡng đi 2 lần cho đến khi nào cĩ thể thực hiện các ví dụ đã gán nhãn trên ngưỡng là đúng. Chúng ta giới hạn cận dưởi của st đối với lỗi chỉ ra rằng với xác suất cao thì ngưỡng st khơng bao giờ là nhỏ. Perceptron cải tiến chiều d, số lượng nhãn L và R #;  ;. ; cho dữ liệu đầu tiên ; ; ;  HJ@ For t=1 to L: Chờ dữ liệu tiếp theo x: <. #3< 9 3 và truy vấn nhãn của x. Gọi dữ liệu đã gán nhãn 3  3 If3 . #33 . ', then: #3:;  #3  2#3 . 33 3:;  3 else #3:;  #3 If các dự đốn là đúng trên R dữ liệu đã gán nhãn liên tiếp (vd:  . # 4 '+K  L    L    L), then 3:;  3H2 else 3:;  3 Hình 3.4. Một phiên bản tích cực của Perceptron đã chỉnh sửa. [32] 27 Thuật tốn trong hình 3.4 đã được Dasgupta đã trình bày bằng cách cải tiến bước cập nhật của thuật tốn perceptron [32], thu được một thuật tốn đơn giản hơn, đạt được lỗi mục tiêu ε bằng cách sử dụng số lượng nhãn xác định >?@ AB ;C. Trong lý thuyết phát triển của học tập tích cực, các kịch bản khơng tầm thường và cụ thể nhất mà trong đĩ học tập tích cực đã được thể hiện để cung cấp cho một sự cải tiến hàm số mũ trong độ phức tạp mẫu là học một một bộ phân tách tuyến tính cho các dữ liệu phân bố đều trên mặt cầu đơn vị. 3.2 Học tích cực với SVM 3.2.1 Giới thiệu Bộ phân loại SVM đã được sử dụng rộng rãi trong rất nhiều bài tốn phân lớp. Tuy nhiên chúng chỉ được sử dụng với tập dữ liệu huấn luyện đã được lựa chọn ngẫu nhiên. Trong mục này sẽ trình bày thuật tốn Active Support Vector Machines (Acitve SVM) cĩ thể làm giảm đi dung lượng cũng như sự cần thiết của tập dữ liệu huấn luyện. 3.2.2 Máy hỗ trợ vector 3.2.2.1 Máy vector hỗ trợ sử dụng phương pháp qui nạp Máy vector hỗ trợ [41] cĩ các cơ sở lý thuyết vững chắc và đạt được những thành cơng thực nghiệm xuất sắc. Chúng cũng được áp dụng cho những bài tốn như: nhận dạng số viết bằng tay [24], nhận dạng đối tượng [13], và phân lớp văn bản [37][33]. Hãy xét thuật tốn SVM cho bài tốn phân lớp nhị phân. Cho tập huấn luyện ; E   M là các vector trong khơng gian X⊆Rd và tập các nhãn ; E   M với yi∈ {-1,1}. Theo cách hiểu thơng thường nhất, thì SVMs là các siêu phẳng chia tập dữ liệu huấn luyện bằng một lề cực đại. Tất cả các vector nằm trên một mặt của siêu phẳng đều được gán nhãn là -1, và tất cả các 28 vector nằm trên mặt kia đều được gán nhãn là 1. Các vector huấn luyện gần siêu phẳng nhất gọi là vector hỗ trợ (support vector). Hình 3.5 (a) Máy hỗ trợ vector tuyến tính đơn giản. (b) Máy hỗ trợ vector (đường nét đứt) và máy hỗ trợ vector hồi quy (đường nét liền). Những vịng trịn biểu diễn dữ liệu chưa được gán nhãn. Nĩi chung, SVMs cho phép chiếu dữ liệu huấn luyện gốc trong khơng gian X sang một khơng gian đặc trưng F nhiều chiều hơn thơng qua một phép phân Mercer K. Nĩi cách khác chúng ta cĩ tập các bộ phân lớp như sau: (  +NOGP   M Q& R++++++++++++++++++++++++++++++++++++++3.S Khi K thỏa mãn điều kiện Mercer [12] thì PT U  +ΦT.ΦU trong đĩ Φ: X→Y và “⋅” là phép tích trong (inner product). Ta cĩ thể viết lại như sau: +(  V.Φ W BX+YZ++V OGΦ M Q& +++++++++++++++++++++++++3.[ Do vậy, bằng cách sử dụng K chúng ta cĩ thể ánh xạ dữ liệu huấn luyện sang một khơng gian đặc trưng (thường là nhiều chiều hơn). Siêu phẳng lề cực đại được chỉ ra trong biểu thức 3.8. Sau đĩ SVM tính các αi tương ứng với siêu phẳng cĩ lề cực đại trong khơng gian F. Khi chọn các hàm nhân khác nhau thì cĩ thể ánh xạ dữ liệu huấn luyện từ khơng gian X sang F sao cho các 29 siêu phẳng trong F sao cho các siêu phẳng trong F tương ứng với các đường biên quyết định phức tạp hơn trong khơng gian gốc X. Hai hàm nhân thường sử dụng là hàm nhân đa thức P\ #  \. # ] tạo ra đường biên đa thức bậc p trong khơng gian đầu vào X và hàm nhân radial basis fuction ^_ `  abcdbe.dbe tạo đường biên bằng cách định vị trọng số Gauss dựa trên các dữ liệu huấn luyện chính. Trong hình 3.6 minh họa đường biên quyết định trong khơng gian đầu vào X của một SVM sử dụng hàm nhân đa thức bậc 5. Đường biên quyết định được làm cong trong khơng gian X tương ứng với siêu phẳng lề cực đại trong tập thuộc tính F. Các tham số αi xác định SVM cĩ thể được tìm trong hàm đa thức thời gian bằng cách giải quyết bài tốn tối ưu lồi[42]:  f g G  ;Eg GGhhPi h (3.10) với : αi > 0 i=1…n 3.2.2.2 Máy vector hỗ trợ sử dụng phương pháp transduction Giả sử tập dữ liệu huấn luyện đã được gán nhãn và bài tốn đặt ra là tạo ra một bộ phân lớp thực hiện tốt trên tập dữ liệu kiểm tra chưa biết. Thêm vào trong phương pháp qui nạp thơng thường, SVMs cĩ thể sử dụng cho bài tốn transduction. Đầu tiên là cho tập dữ liệu đã gán nhãn và chưa gán nhãn. Bài tốn học là phải khai báo các nhãn tới các dữ liệu chưa gán nhãn càng chính xác càng tốt. SVMs cĩ thể thực hiện phương pháp transduction bằng cách tìm các siêu phẳng làm cực đại hĩa lề liên quan đến dữ liệu đã gán nhãn và chưa gán nhãn. Ví dụ được thể hiện ở hình 3.5b. Gần đây, các transduction SVM(TSVM) cịn được sử dụng để giải quyết bài tốn phâp lớp văn bản [37][38] đã đạt được một số tiến bộ trong việc thực hiện cân bằng tỉ số độ chính xác/độ hồi phục (precision/recall) trên các SVM qui nạp. 30 Hình 3.6 Máy hỗ trợ vector sử dụng hàm nhân đa thức bậc 5. Khơng giống SVM, TSVM cĩ độ phức tạp thời gian đa thức, chi phí để tìm được hướng giải quyết cho TSVM tăng lên theo hàm mũ cùng với sự tăng của dữ liệu chưa được gán nhãn. Bằng trực quan, ta phải gán tất cả các nhãn cĩ thể cho dữ liệu chưa gán nhãn, và mỗi một nhãn phải tìm một siêu phẳng cĩ lề cực đại. Do vậy sẽ sử dụng thuật tốn xấp xỉ thay thế. Ví dụ, Joachims sử dụng dạng tìm kiếm quỹ tích để gán nhãn và tái gán nhãn cho dữ liệu chưa được gán nhãn để cải tiến kích thước của lề. 3.2.3 Version space Cho tập dữ liệu huấn luyện đã gán nhãn và hàm nhân Mercer K, khi đĩ sẽ cĩ một tập các siêu phẳng chia dữ liệu thành vào khơng gian thuộc tính F. Tập các giả thuyết phù hợp như vậy gọi là version space [39]. Nĩi cách khác, giải thuyết f là trong version space nếu với mọi dữ liệu huấn luyện xi cĩ nhãn yi thì f(xi)>0 nếu yi=1 và f(xi)<0 nếu yi=-1. Tổng quát hơn: Định nghĩa 3.5.1: Cho tập các giả thuyết: j  k(<(  l.Φ DlD Lmn+YZ+l∈+op (3.11) Trong đĩ khơng gian tham số W sẽ tương ứng với khơng gian F. Version space q được định nghĩa như sau: q  (∈+j<∀∈( - ' (3.12) 31 Chú ý rằng khi j là tập các siêu phẳng, sẽ cĩ một song ánh giữa vector w vào giả thuyết f trong j. Do vậy q sẽ được định nghĩa lại như sau: q  rl∈o<+DlD   sl.Φt - '   u (3.13) Định nghĩa 3.5.2: Kích thước hay diện tích của version space Area(q) là diện tích bề mặt của siêu khối cầu khi D$D  . Lưu ý rằng version space chỉ tồn tại khi dữ liệu huấn luyện là tách rời tuyến tính trong khơng gian thuộc tính. Như đã đề cập trong phần 3.2.2.1, hạn chế này khơng giới hạn như lúc đầu ta tưởng. Tồn tại sự đỗi ngẫu giữa khơng gian thuộc tính F và khơng gian tham số v[43][28] mà chúng ta sẽ áp dụng cho phần sau: các điểm trong F tương ứng với các siêu phẳng trong W và ngược lại. Vì định nghĩa các điểm trong W tương ứng với các siêu phẳng trong F, ta sẽ quan sát một trường hợp dữ liệu huấn luyện xi trong version space giới hạn các siêu phẳng tách rời nhau vào những bộ mà phân lớp xi một cách chính xác. Thực tế, chúng ta cĩ thể chỉ ra rằng, tập các điểm cĩ thể cho phép w trong W bị giới hạn nằm trong một phía của một siêu phẳng trong W. Hơn nữa, để chỉ ra các điểm trong F tương ứng với siêu phẳng trong W, giả sử cho dữ liệu huấn luyện mới xi cĩ nhãn yi, sau đĩ bất kỳ siêu phẳng phân chia nào cũng phải thỏa mãn s$.Φt - '. Bây giờ thay vì chỉ coi w như là một vector trong siêu phẳng F thì ta nghĩ rằng Φ(xi) cũng là vector trong khơng gian W. Do đĩ s$.Φt - ' là nửa khơng gian trong W. Lại cĩ $.Φ  ' là một siêu phẳng trong W mà nĩ đĩng vai trị như một trong những đường biên của version space q. Lưu ý rằng version space là một miền đã được kết nối trên bề mặt của một siêu khối trong khơng gian tham số. Hình 3.7 là một ví dụ. 32 (a) (b) Hình 3.7 (a) Tính đối ngẫu trong version space. Bề mặt của siêu khối biểu diễn các vector trọng số đơn vị. Mỗi một trong hai siêu phẳng tương ứng với dữ liệu huấn luyện đã gán nhãn. Mỗi siêu phẳng giới hạn diện tích trên siêu khối mà trong đĩ chứa các giả thiết. Ở đây, version space là các đoạn bề mặt của siêu khối gần với camera nhất. (b) Một bộ phân lớp SVM trên một version space. Khối bị chìm tối là khối cĩ bán kính lớn nhất mà tâm của nĩ nằm trên version space và bề mặt của nĩ khơng cắt siêu phẳng. Tâm của khối bị chìm tương ứng với SVM, mà bán kính của nĩ tương đương với lề của SVM trong F và điểm huấn luyện tương ứng với các siêu phẳng mà nĩ tiếp xúc là các vector hỗ trợ. Các SVM tìm siêu phẳng mà siêu phẳng đĩ cực đại hĩa lề trong khơng gian đặc tính F. Một cách để đưa ra bài tốn tối ưu này như sau: wmnxwyz {XV.Φ (3.14) với D$D  +`|+s$.Φt - '+   Vì cĩ điều kiện DVD   và s$.Φt - '+chúng ta đưa ra giải pháp trong version space. Bây giờ chúng ta coi bài tốn trên như tìm một điểm trên version space sao cho khoảng cách: {XV.Φ là cực đại. Từ tính đối ngẫu giữa khơng gian thuộc tính với khơng gian tham số và DV.ΦD  λ 33 thì mỗi Φ } λ là một vector đơn vị của một siêu phẳng trong khơng gian đặc tính. Bởi vì s$.Φt - '   + nên mỗi siêu phẳng sẽ giới hạn version space. Biểu thức s$.Φt cĩ thể xem như sau: λ× khoảng cách giữa điểm w và siêu phẳng cĩ vector Φ Do đĩ, muốn tìm điểm w* trong version space mà làm cực đại khoảng cách cực tiểu tới bất kỳ siêu phẳng đã mơ tả nào. Nghĩa là, các SVM tìm tâm của các siêu khối cĩ bán kính lớn nhất, siêu khối mà tâm của nĩ được đặt trong version space và bề mặt của nĩ khơng cắt siêu phẳng sẽ tương ứng với dữ liệu đã gán nhãn, như trong hình 3.7(b). Các pháp tuyến của khối là khoảng cách từ tâm của khối tới một trong những siêu phẳng sV~.Φt với Φ là vector hỗ trợ. Bây giờ hãy coi w* là một vector đơn vị của SVM và Φ là các điểm trong khơng gian thuộc tính, chúng ta cĩ khoảng cách $~⋅Φ }λ  là: ; λ × khoảng cách giữa vector hỗ trợ Φ và siêu phẳng cĩ vector đơn vị w, Đĩ là lề của siêu phẳng bị chia bởi λ. Do đĩ, bán kính của siêu khối tương ứng với lề của SVM. 3.2.4 Học tích cực với SVM Trong học tích cực dựa trên tập dữ liệu ban đầu đã cĩ một lượng lớn dữ liệu chưa gán nhãn. Giả sử dữ liệu x được phân phối tương tự và độc lập, các nhãn của nĩ cũng được phân phối theo bộ phân phối điều kiện P(Y|x). Cho dữ liệu chưa gán nhãn U, bộ học tích cực SVM ℓ gồm ba thành phần: (f,q,X). Thành phần đầu tiên là một bộ phân lớp SVM f: X→[-1,+1] đã huấn luyện trên tập dữ liệu hiện thời X đã được gán nhãn (cũng cĩ thể là tập dữ liệu chưa gán nhãn U). Thành phần thứ hai q(X) là hàm truy vấn, đưa ra tập dữ liệu hiện tại X đã gãn nhãn sẽ quyết định dữ liệu nào trong U là câu truy vấn tiếp theo. Bộ học tích cực cĩ thể đưa ra bộ phân lớp f sau mỗi câu truy vấn (học trực tuyến – online learning) hoặc sau một số câu truy vấn nhất định. 34 Điểm khác biệt chính giữa bộ học tích cực và bộ học thụ động là thành phần truy vấn q. Thành phần này cho ta biết dữ liệu chưa gán nhãn nào để hỏi tiếp theo dữ liệu nào sẽ đưa tới cách thiết kế một hàm như vậy. Chúng ta sẽ sử dụng phương pháp chung của học tích cực trong phần 2.2. Đầu tiên chúng ta sẽ định nghĩa mơ hình và chất lượng mơ hình. Sau đĩ chúng ta sẽ lựa chọn dữ liệu để cải thiện chất lượng của mơ hình. 3.2.6.1 Mơ hình và hàm tổn thất (Loss) Chúng ta sử dụng version space làm mơ hình của bài tốn, và kích thước của mơ hình như là độ tổn thất của mơ hình. Do vậy, chúng ta sẽ chọn để hỏi dữ liệu, các dữ liệu mà cố gắng làm giảm kích thước của version space càng nhiều càng tốt. Tại sao nên lựa chọn tốt mơ hình và loss mơ hình? Giả sử rằng w*∈v là một vector tham số tương ứng với SVM sao cho cĩ thể biết được các nhãn thực của tất cả dữ liệu. Biết rằng w* phải thuộc version space qi, qi là version space cĩ được sau i câu truy vấn, q1 ⊃q2⊃q3… Do đĩ, bằng việc rút gọn kích thước của version space càng nhiều càng tốt với mỗi câu truy vấn, ta cĩ thể càng làm giảm nhanh kích thước của khơng gian chứa w*. SVM mà chúng ta học được từ một số lượng giới hạn các câu truy vấn sẽ gần tới w*. Định nghĩa 3.6.1: Cho một bộ học tích cực ℓ, qi là version space của ℓ sau i câu truy vấn được đưa ra. Bây giờ khi cho câu truy vấn thứ i+1 của dữ liệu xi+1 ta cĩ: qb  q ∩r$∈v< sV.Φ:;t - 'u (3.15) q:  q ∩r$∈v< sV.Φ:;t - 'u (3.16) Vì qb và q: là version space khi câu truy vấn tiếp theo xi+1 được gán nhãn là -1 hoặc +1. 35 Chúng ta mong muốn giảm kích thước của version space càng nhanh càng tốt. Cách tốt nhất để cĩ được điều này là lựa chọn một câu truy vấn làm giảm nửa kích thước của version space. Hình 3.8 (a) Lề đơn giản truy vấn b (b)Lề đơn giản truy vấn a Hình 3.9 (a) Lề MaxMin truy vấn b. Hai SVM cĩ lề m- và m+ cho b được chỉ ra. (b) Lề MaxRatio truy vấn e. Hai SVM cĩ lề m- và m+ cho e cũng được chỉ ra. Seung và cộng sự [20] cũng sử dụng một phương pháp để truy vấn các điểm sao cho đạt được giảm kích thước của version space càng nhiều càng tốt. Nếu người ta muốn chấp nhận rằng cĩ một giả thuyết ở trong j mà tạo ra dữ liệu thì giả thiết đĩ đĩ là xác định và dữ liệu là những điểm tự do, sau đĩ sự thực hiện tổng quát các thuộc tính của thuật tốn mà chia nửa version space được đưa ra [45]. Ví dụ, cĩ thể chỉ ra rằng lỗi tổng quát giảm số các câu truy vấn theo cấp số nhân. 3.2.6.2 Các thuật tốn truy vấn Ở phần trước chúng ta đã cung cấp một phương pháp truy vấn dữ liệu để chia version space hiện tại thành hai phần tương đương nhau càng nhanh càng tốt. Khi cho dữ liệu x chưa gán nhãn, thực tế là chưa tính tốn rõ ràng 36 được kích thước của version space mới q− và q+ (các version space thu được khi x được gán nhãn tương ứng là -1 và +1). Dưới đây là ba phương pháp cũng gần giống phương phương trên: • Simple Margin (Lề đơn giản): Cho tập dữ liệu {x1,…,xi} và các nhãn tương ứng {y1,…,yi} vector đơn vị SVM wi cĩ được từ tập dữ liệu này là tâm của siêu khối lớn nhất nằm vừa khít trong version space qi. Vị trí của wi trong version space qi phụ thuộc vào hình dạng của qi; tuy nhiên nĩ thường nằm ngay trong tâm của version space. Bây giờ chúng ta cĩ thể kiểm tra mỗi dữ liệu chưa gán nhãn x để biết xem từ sự tương ứng với các siêu phẳng trong W đến việc wi được đặt đúng tâm như thế nào. Siêu phẳng W càng gần điểm wi, thì nĩ càng được đặt gần đúng tâm của version space hơn và nĩ càng cắt đơi version space. Do vậy, với dữ liệu chưa gán nhãn thì siêu phẳng của chúng trong W gần vector wi nhất. Mỗi một dữ liệu chưa gán nhãn x, khoảng cách ngắn nhất giữa siêu phẳng của nĩ trong khơng gian W và vector wi chính là khoảng cách giữa vector đặc tính Φ và siêu phẳng wi trong F. Khoảng cách này được tính là: <$i.Φ<. Kết quả này theo một quy luật rất tự nhiên: học một SVM trên tập dữ liệu gán nhãn đã cĩ trước và chọn dữ liệu tiếp theo để truy vấn sao cho nĩ gần siêu phẳng trong F nhất. Hình 3.8(a) là một ví dụ minh họa. Trong bức ảnh cách điệu, chúng ta đã trải phẳng bề mặt của siêu khối vector đơn vị cĩ trọng số xuất hiện trong hình 3.7(a). Vùng trắng là version space wi được bao quanh bởi các đường nét liền tương ứng với trường hợp dữ liệu cĩ nhãn. Năm đường nét đứt biểu diễn cho các trường hợp dữ liệu chưa gán nhãn. Hình trịn biểu diễn hình cầu cĩ bán kính lớn nhất mà cĩ thể vừa khít trong version space. Lưu ý rằng đường viền của hình trịn khơng chạm vào đường nét liền - giống như những hình cầu tối trong hình 3.7 (b) khơng tiếp xúc được các siêu phẳng trên bề mặt của hình cầu lớn hơn (chúng sẽ tiếp xúc một điểm nào đĩ trên bề mặt). Trường hợp dữ liệu b là gần với SVM wi nhất và vì vậy sẽ chọn b để truy vấn. 37 • MaxMin Margin (Lề MaxMin): Phương pháp lề Simple cĩ thể là một xấp xỉ gần đúng. Nĩ dựa trên giả định rằng version space là đối xứng và wi được đặt ở tâm. Trong lý thuyết và thực tế đã chứng minh rằng các giả định này cĩ thể khơng chính xác [28]. Thật vậy, nếu khơng cẩn thận sẽ rất cĩ thể truy vấn một trường hợp dữ liệu mà siêu phẳng của nĩ thậm chí khơng giao nhau với version space. Xấp xỉ MaxMin được thiết kế để khắc phục phần nào những vấn đề này. Cho dữ liệu {x1,…,xi} và nhãn {y1,…,yi}, các vector đơn vị SVM wi là tâm của hình cầu cĩ bán kính lớn nhất mà vừa khít trong version space qi và bán kính mi của hình cầu tương ứng với kích thước lề của wi. Cĩ thể sử dụng bán kính mi là biểu thị cho kích thước của version space [43]. Giả sử chúng cĩ một trường hợp dữ liệu tiềm năng chưa gán nhãn x. Chúng ta cĩ thể ước lượng tương đối kích thước của các version space q− bằng cách ghi nhãn cho dữ liệu x là -1, sau khi thêm x vào dữ liệu huấn luyện đã gán nhãn thì tìm SVM và kích thước lề m− của nĩ. Chúng ta cĩ thể thực hiện một phép tính tương tự cho q+ bằng cách gán lại nhãn cho x là +1 và tìm được SVM kết quả để cĩ được lề m+. Khi tách version space, ta thường muốn Area(q−) và Area(q+) là tương đương nhau. Bây giờ, hãy tính min(Area(q−),Area(q+)), nĩ sẽ là nhỏ nếu Area(q −) và Area(q+) là khác nhau. Vì vậy chúng ta sẽ xem xét min(m−,m+) là một xấp xỉ và chúng ta sẽ chọn để truy vấn x sao cho min(m−,m+) là lớn nhất. Do đĩ, các thuật tốn truy vấn MaxMin là như sau: đối với mỗi trường hợp dữ liệu chưa gán nhãn x, tính các lề m− và m+ của các SVM thu được khi x được gán nhãn tương ứng là -1 và 1, sau đĩ chọn để truy vấn trường hợp dữ liệu chưa gán nhãn sao cho min(m−,m+) là lớn nhất. Hình 3.8(b) và 3.9(a) chỉ ra một ví dụ so sánh giữa hai phương pháp lề Simple và lề MaxMin. • Ratio Margin: Phương pháp này tương tự phương pháp lề MaxMin. Ta cũng sử dụng m− và m+ biểu thị cho kích thước của q− và q+. Tuy nhiên, thực tế ta sẽ cố gắng tính tốn version space qi lâu hơn và đối với vài 38 trường hợp dữ liệu x thì cả hai m− và m+ cĩ thể là nhỏ vì hình khối của version space. Do vậy thay vì tìm kích thước tương ứng của m− và m+, ta sẽ chọn để truy vấn x sao cho {X k−+ +−p là lớn nhất (xem hình 3.9(b)). Ba phương thức trên xấp xỉ với thành phần truy vấn mà luơn chia nửa version space. Sau khi thực hiện một số truy vấn để trả về một bộ phân lớp bằng cách học một SVM với các trường hợp dữ liệu cĩ nhãn. Phương pháp Simple cĩ độ tính tốn chuyên sâu ít đầy đủ hơn hai phương pháp cịn lại bởi vì nĩ cần học chỉ một SVM cho mỗi vịng truy vấn, trong khi hai phương pháp MaxMin và MaxRatio cần phải học hai SVMs cho mỗi trường hợp dữ liệu trong suốt mỗi vịng truy vấn. Chú ý rằng khơng nhất thiết dùng một trong những phương pháp này cho tất cả các vịng truy vấn. Vì lý do tính tốn, sẽ cĩ thể rất cĩ lợi khi thay đổi giữa các phương pháp khác nhau sau khi một số truy vấn đã được hỏi: phương pháp truy vấn này được gọi là phương pháp Hybird. Chúng ta đưa ra giả định đã cĩ các vector đặc tính huấn luyện với các modun cố định. Các khái niệm về version space và kích thước của nĩ vẫn đúng. Hơn nữa, lề của SVM cĩ thể được sử dụng như là một dấu hiệu kích thước của version space mà khơng cần quan tâm đến vector đặc tính cĩ các modun cố định hay khơng. Do đĩ, sự giải thích cho các phương pháp MaxMin và MaxRatio vẫn đúng thậm chí khơng cĩ các hạn chế trên các module của vector đặc tính huấn luyện. Sự giả thiết về các Modun cố định là cần thiết cho việc xem version space trên phương diện hình học là đúng. Các phương pháp Simple vẫn cĩ thể được sử dụng khi các vector huấn luyện đặc trưng khơng cĩ module cố định, nhưng sự giải thích khơng cịn đúng kể từ khi SVM khơng cịn thể được xem như là tâm của hình cầu lớn nhất cho phép. Tuy nhiên, đối với phương pháp Simple, các hướng thay thế khác đã được Campbell, Cristianini và Smola đề xuất [10] mà khơng yêu cầu sự cố định trên các module. 39 Đối với học quy nạp, sau khi thực hiện một số câu truy vấn, sau đĩ sẽ trả về một bộ phân lớp bằng cách học một SVM với các trường hợp dữ liệu cĩ nhãn. Đối với học hồi quy, sau khi truy vấn một số trường hợp dữ liệu sau đĩ sẽ trả về một bộ phân lớp bằng cách học một SVM hồi quy với các trường hợp dữ liệu cĩ nhãn và khơng cĩ nhãn. 3.3 Kết luận Trong chương này đã nghiên cứu và trình bày tập trung vào hai thuật tốn học tích cực. Phần đầu của chương giới thiệu thuật tốn perceptron do Rosenblatt đề xuất. Tiếp theo là phương pháp cải tiến thuật tốn perceptron của Dasgupta. Dasgupta cải tiến bước cập nhật của perceptron để thu được một thuật tốn đơn giản hơn, sử dụng dữ liệu đã gán nhãn ít hơn và đạt được lỗi mục tiêu ε. Phần tiếp theo của chương trình bày học tích cực dựa vào SVM, đưa ra khái niệm khơng gian version space, và coi đĩ là mơ hình của học tích cực dựa vào SVM, trong đĩ bề mặt của version space đươc coi như là độ tổn thất của mơ hình. Phần cuối của chương giới thiệu một số thuật tốn truy vấn dữ liệu để cĩ thể làm giảm khơng gian version space càng nhanh càng tốt. Khi đĩ độ tổn thất của mơ hình sẽ giảm càng nhanh hơn. Các thuật tốn truy vấn bao gồm: Simple, MaxMin, Ratio Margin. 40 CHƯƠNG 4. ỨNG DỤNG HỌC TÍCH CỰC CHO BÀI TỐN LỌC THƯ RÁC 4.1 Giới thiệu Trong số các phương pháp lọc và ngăn chặn thư rác thơng dụng, phương pháp lọc theo nội dung cĩ một số ưu điểm quan trọng và hiện đang được sử dụng trong nhiều hệ thống lọc thư thương phẩm. Lọc theo nội dung hoạt động theo nguyên tắc phân loại thư điện tử thành hai nhĩm “thư rác” và “thư thường” bằng cách phân tích phần nội dung của thư. Trong nghiên cứu này, chúng tơi giới hạn việc phân loại thư cho trường hợp thư cĩ chứa văn bản. Như vậy, nội dung thư ở đây là phần văn bản trong thư. Chúng tơi cũng khơng xem xét tới cách định dạng trong thư khi phân loại, chẳng hạn thư cĩ được trình bày dưới dạng HTML hay khơng, mặc dù thơng tin về định dạng cĩ thể đĩng vai trị quan trọng trong việc phát hiện thư rác. Lọc thư rác theo nội dung là trường hợp riêng của bài tốn phân loại văn bản. Tuỳ theo nội dung, thư được phân thành hai loại: thư rác và thư bình thường. Việc phân loại tiến hành như sau. Trước tiên, nội dung thư được biểu diễn dưới dạng vector các đặc trưng hay các thuộc tính, mỗi đặc trưng thường là một từ hoặc cụm từ xuất hiện trong thư. Tiếp theo, trong giai đoạn huấn luyện, tập thư đã được gán nhãn {rác, bình thường} - gọi là dữ liệu huấn luyện hay dữ liệu mẫu - được sử dụng để huấn luyện một bộ phân lớp. Sau khi huấn luyện xong, bộ phân loại được sử dụng để xác định thư mới (thư chưa biết nhãn) thuộc vào loại nào trong hai loại nĩi trên. Trong cả giai đoạn huấn luyện và phân loại, thuật tốn phân loại chỉ làm việc với nội dung thư đã được biểu diễn dưới dạng vector. Cĩ nhiều phương pháp phân loại cĩ thể sử dụng để phân loại thư điện tử, luận văn này nghiên cứu phân loại dựa vào phương pháp học tích cực với hai thuật tốn xây dựng bộ học tích cực là thuật tốn Perceptron [17] và Acitve Support Vector Machines (Acitve SVM) [35]. 41 4.2 Học tích cực trong bài tốn lọc thư rác Nhiệm vụ của lọc thư rác là tự động tìm ra các thư điện tử khơng mong muốn, độc hại trước khi chúng được chuyển đến người sử dụng. Nhiệm vụ của lọc thư rác là một phạm vi ứng dụng quan trọng và cĩ qui mơ lớn trong lĩnh vực học máy. Phương pháp học tích cực đã được phát triển mạnh mẽ trong học máy để làm giảm đi chi phí gán nhãn bằng cách xác định các dữ liệu chứa thơng tin mà cĩ yêu cầu nhãn. Điều này được thể hiện trong thực tế rằng chỉ cĩ một phần nhỏ của tập dữ liệu chưa cĩ nhãn là cần phải được gán nhãn để huấn luyện bộ học tích cực sao cho đạt đến một hiệu suất đủ để ứng dụng trong việc phân loại. Với tốc độ học cao và yêu cầu ít các email đã gán nhãn để huấn luyện, chúng ta sẽ áp dụng phương pháp học tích cực ở trên vào bài tốn lọc thư rác. Phương pháp học tích cực cho phép chọn các mẫu huấn luyện một cách tự động. Sử dụng tri thức hiện tại, bộ học tích cực khơng thụ động nhận các mẫu huấn luyện mà lại tích cực lựa chọn các mẫu sao cho cĩ thể huấn luyện được một mơ hình tối ưu hơn. Kịch bản ý tưởng của học tích cực trong bài tốn lọc thư rác được thể hiện qua hình 4.1. Các thư điện tử được giả sử là đến theo luồng, nghĩa là tại một thời điểm chỉ cĩ một thư điện tử đến. Với mỗi một thư đến, bộ học sẽ đưa ra truy vấn để nhận được nhãn của thư bằng cách dự đốn đĩ là thư thường hay thư rác. Người dùng sẽ quan sát thư và nhãn của thư được bộ học dự đốn trước đĩ và thực hiện phản hồi đến bộ học tích cực, cung cấp nhãn thực sự của thư, thư đĩ thực sự là thư rác hay thư thường. Bộ lọc thư tích cực nhận phản hồi của người dùng sẽ xác định được sự dự đốn của mình về nhãn của thư là đúng hay sai. Nĩ học sẽ sử dụng nhãn thực sự của thư do người dùng phản hồi để cập nhật thêm vào tập huấn luyện, huấn luyện (cập nhật) lại mơ hình để cải thiện hiệu suất lọc thư hay cải thiện dự đốn nhãn cho các thư sau. Hình 4.1 Bộ l Cĩ nhiều thuật to hình như thuật tốn truy v mẫu khơng chắc chắn, truy v này đều đạt hiệu quả trong b chỉ áp dụng 2 thuật tốn dựng bộ học tích cực cho b Trong mơ hình b vào thuật tốn perceptron ho bày ở chương 3. Với bộ sẽ cho ta bộ lọc thư rác dựng dựa trên active SVM s thư rác tích cực này được vector hĩa và được trích đĩ được đưa vào bộ học học của bộ lọc thư điện bộ lọc đạt hiệu quả cao. 42 ọc thư rác áp dụng phương pháp học tích án được sử dụng để xây dựng bộ học ấn dựa vào hội động (Query by Committee), l ấn dựa vào tập dữ liệu ban đầu… C ài tốn lọc thư rác. Tuy nhiên trong lu học tích cực là Perceptron và active ài tốn lọc thư rác. ài tốn lọc thư rác bộ học tích cực được ặc thuật tốn học tích cực dựa vào họctích cực được xây dựng trên thuật tích cực perceptron. Bộ học tích tích ẽ thu được bộ lọc thư SVM tích thể hiện trong hình 4.2. Thư điện tử chọn các thuộc tính đặc trưng đại di tích cực (perceptron hoặc SVM active). Qu tử sẽ được lặp đi lặp lại nhằm mục đích cực tích cực, điển ấy ác thuật tốn ận văn này, SVM để xây xây dựng dưa SVM đã trình tốn perceptron cực được xây cực. Các bộ lọc khi đến sẽ được ện cho thư, sau á trình thu được một Hình 4.2 Bộ lọc th 4.3 Thử nghiệm và k Luận văn định hư thử nghiệm phân loại thư đi cả thư thườngvà thưc rác. Ph nghiệm mã nguồn mở chương ba là chương tr ActiveExperimenter do thu thập dữ liệu và xây d liệu về dạng dữ liệu đầ phân tích, đánh giá và nh 4.3.1. Cài đặt chươ 4.3.1.1. Chương tr 1. Giới thiệu chương tr Chương tr năm 1999, và các tiếp theo. Snow trên các thuật tốn 2. Down load Chương trình đượ 43 ư rác tích cực dựa trên Perceptron/SVM active ết quả ớng khai thác phần mềm mã nguồn m ện tử trên tập dữ liệu là các thư đi ần đầu của mục 4.3 sẽ giới thi cài đặt hai thuật tốn học tích cực đã tr ình Snow do Dan Roth xây dựng [46] Ran EL-Yaniv xây dựng [47]. Các ph ựng chương trình tiền xử lý dữ liệu và bi u vào cho các cơng cụ thực nghiệm. V ận xét thực nghiệm. ng trình thử nghiệm ình snow ình ình Snow được Ran Roth cài đặt phi phiên bản sau cũng được phát triển là chương trình học kiến trúc, là bộ h winnow, percepptron, nạve Bayer… c download trên trang web mã nguồn m ở để tiến hành ện tử bao gồm ệu hai tool thực ình bày trong và chương trình ần tiếp theo sẽ ểu diễn dữ à cuối cùng là ên bản đầu tiên trong nững năm ọc được cài đặt ở: 44 3. Cài đặt Chương trình được cài đặt trên máy tính cĩ cài hệ điều hành Linux, Trước tiên, cần giải nén file cài đặt bằng các lệnh sau: >tar –xvzf SNoW_v3.1.8.tar Sau đĩ nĩ sẽ tạo ra một thư mục cĩ tên là Snow_v3.1 chứa Makefile và các file nguồn. Chuyển đường dẫn vào thư mục vừađược tạo ra (Snow_v3.1) bằng lệnh > cd Snow_v3.1 Gõ lệnh: >makefile Chương trình sẽ tạo ra file thực thi Snow Quá trình thực thi này được sử dụng để huấn luyện, kiểm tra và đánh giá quá trình thực hiện. 4.3.1.2. Chương trình ActiveExperimenter 1. Giới thiệu chương trình ActiveExperiment là chương trình được cài đặt dựa trên bốn thuật tốn học tích cực dựa vào SVM, đĩ là thuật tốn Simple, Self-Conf, KFF và balanced. Chương trình được Ran EL-Yaniv xây dựng bằng ngơn ngữ java, cài đặt một số thuật tốn học tích cực. 2. Down load Người dùng cĩ thể download cơng cụ trên trang web: 3. Cài đặt Chương trình cĩ thể cài đặt trên máy tình cáo cài hệ điều hành Window hoặc Linux. Để chạy chương trình trước tiên phải cài java 1.4.2 hoặc phiên bản cao hơn. Cĩ thể download java trên trang web. Sau khi đã cài đặt mơi trường, giải nén file cài đặt AcitveExperimenter.zip, ta được thư mục AcitveExperimenter. Trong 45 thư mục cĩ chưa file experimenter.bat chính là file chạy của chương trình. 4.3.2. Thu thập và biểu diễn dữ liệu 1. Dữ liệu thử nghiệm Một khĩ khăn khi thử nghiệm lọc thư là hiện nay chưa cĩ những bộ dữ liệu mẫu chuẩn. Do vậy tác giả sẽ tự tiến hành xây dựng bộ dữ liệu thư để dùng trong thử nghiệm của mình. Thư rác được thu thập từ hai nguồn: nguồn thứ nhất là những thư rác mà các tác giả nhận được qua địa chỉ thư của mình tại Việt nam. Nguồn thứ hai là những thư rác do quản trị phát hiện tại mail server của cơng ty FPT (mail.fpt.com.vn). Thư bình thường là những thư mà các tác giả nhận được thơng qua hịm thư mail.gdt.gov.vn. Đối với các thư bình thường nhận được, trong trường hợp thư nhận từ cùng một nguồn qua nhiều phiên gửi và reply thì đối với những thư gửi sau sẽ được xố phần đã gửi từ trước, chỉ giữ lại nội dung thư nhận được cuối cùng. Đối với những thư bao gồm cả văn bản và hình ảnh, chỉ cĩ phần văn bản được sử dụng, phần hình ảnh bị bỏ qua khơng xem xét. Các thơng số chính về bộ dữ liệu được thống kê: Tổng thư: 700 Thư rác: 236 Thư thường: 464 2. Biểu diễn nội dung thư dưới dạng mơ hình boolean Để cĩ thể sử dụng kỹ thuật học máy và xác suất thống kê, nội dung thư cần được biểu diễn dưới dạng thuận tiện cho việc áp dụng thuật tốn học máy. Các phương pháp lọc thư bằng cách tự động phân loại theo nội dung đều sử dụng cách biểu diễn thư dưới dạng véctơ. Mặc dù cĩ nhiều cách xây dựng véctơ nhưng cách đơn giản nhất là mơ hình boolean. Nguyên tắc cơ bản của phương pháp này là khơng quan tâm tới vị trí xuất hiện các từ hay cụm từ 46 trong thư mà coi thư như một tập hợp khơng cĩ thứ tự các từ. Mỗi thư khi đĩ được biểu diễn bởi một véctơ. Số phần tử của véctơ bằng số lượng từ khác nhau trên tồn bộ tập dữ liệu huấn luyện. Cĩ nhiều cách tính giá trị các phần tử của vectơ. Cách đơn giản nhất là sử dụng giá trị nhị phân: mỗi phần tử của véctơ bằng 1 hay 0 tuỳ thuộc vào từ tương ứng cĩ xuất hiện trong thư tương ứng với véctơ hay khơng. Giả sử cĩ một tập gồm m văn bản   @; @E   @M. Mỗi văn bản gịm n từ khĩa €  L; LE   LM. Gọi   $h là ma trận trọng số, trong đĩ wij là trọng số của từ khĩa ti trong văn bản dj. Mơ hình Boolean là mơ hình đơn giản nhất, trong đĩ trọng số các từ trong văn bản là 0 hoặc 1. Khi đĩ, mỗi văn bản sẽ được biểu diễn dưới dạng tập hợp như sau: di={tij}, trong đĩ tij là từ ti cĩ trọng số wij trong văn bản dj là 1.[1] Các phương pháp phức tạp hơn thường dựa vào tần suất xuất hiện của từ trong thư. Từ xuất hiện càng nhiều thì phần tử tương ứng của vectơ cĩ giá trị càng lớn và ngược lại. Trên các tập dữ liệu mẫu thực, số lượng từ khác nhau cĩ thể lên tới hàng chục nghìn tương ứng với số lượng phần tử trong mỗi véctơ. Trong các phần sau sẽ đề cập tới kỹ thuật giảm bớt số lượng từ dùng để biểu diễn thư. Phương pháp biểu diễn thư sử dụng boolean trình bày ở trên bỏ qua thơng tin về vị trí xuất hiện và thứ tự các từ trong thư. Những thơng tin này cĩ thể cĩ giá trị quan trọng trong việc phát hiện thư rác. Tuy nhiên, do đơn giản, phương pháp boolean vẫn là phương pháp biểu diễn nội dung thư thơng dụng nhất, mặc dù cĩ nhược điểm vừa nêu. Trong nghiên cứu này, luận văn cũng sử dụng phương pháp boolean và các mở rộng của phương pháp này để biểu diễn nội dung thư điện tử: 47 Tập các từ trong tất cả tài liệu sẽ được sắp xếp thành từ điển và được đánh chỉ số theo thứ tự tăng dần. Thư sẽ được biểu diễn dưới dạng vector, biểu diễn thứ tự tăng dần các chỉ số của các từ cĩ trong thư đĩ. Dưới đây là một ví dụ đơn giản minh hoạ cho cách biểu diễn nội dung nĩi trên. Dữ liệu huấn luyện bao gồm bốn thư, trong đĩ hai thư là thư rác và hai là thư bình thường. Nội dung các thư được cho trong bảng 4.1. Trên bảng 4.3. là biểu diễn véctơ cho các thư trong bảng 4.1. Số TT Nội dung Nhãn 1 mua và trúng thưởng Rác 2 mua một tặng một Rác 3 anh mua rồi Bình thường 4 vừa gửi xong Bình thường Bảng 4.1. Ví dụ nội dung của 4 thư. Từ các thư trên ta sắp xếp các từ trong thư dưới sạng từ điển và đánh chỉ số như sau: Bảng 4.2 Từ điển từ và chỉ số cho dữ liệu trong bảng 4.1 Từ Chỉ số anh 1 gửi 2 một 3 mua 4 rồi 5 tặng 6 thưởng 7 trúng 8 và 9 vừa 10 xong 11 48 Số TT anh gửi một Mua rồi tặng thưởng Trùng và vừa xong 1 4 7 8 9 2 3 4 6 3 1 4 5 4 2 10 11 Bảng 4.3. Biểu diễn véctơ cho dữ liệu trong bảng 4.1 Như vậy các thư sẽ được biểu diễn như sau: Thư1 ={4, 7, 8, 9} Thư2={3, 4, 6} Thư3={1, 4, 5} Thư4={2, 10, 11} 4.3.3. Xây dựng chương trình biểu diễn và tiền xừ lý dữ liệu a. Mơi trường cài đặt: Chương trình được cài đặt trên các mơi trường ứng dụng sau: - Mơi trường cài đặt ứng dụng: Visual Studio .NET - Ngơn ngữ sử dụng: Visual C# b. Chức năng của chương trình: + Tiền xử lý dữ liệu: tách từ trong các thư thành các từ đơn, loại bỏ đi các ký tự đặc biệt, loại bỏ các từ dừng (stop-word). Đưa các từ vào trong từ điển, đánh chỉ số cho các từ. + Xử lý dữ liệu tạo file dữ liệu đầu vào cho các chương trình thực nghiệm. c. Kết quả cài đặt chương trình: 49 - Giao diện chính của chương trình: Hình 4.3. Giao diện chính của chương trình Lựa chọn thư mục chứa dữ liệu để lấy dữ liệu đưa vào chương trình xử lý: Hình 4.4 Giao diện lựa chọn thư mục chứa dữ liệu Nhấn nút “Làm sạch dữ liệu” để loại bỏ các ký tự đặc biệt trong thư: ký tự xuống dịng, loại bỏ các từ dừng (stop word). Quá trình làm sạch dữ liệu sau khi hồn thành sẽ thơng báo như trong hình 4.5 50 Hình 4.5 Thơng báo quá trình làm sạch dữ liệu đã thành cơng Bấm nút “Xứ lý” để biểu diễn dữ liệu về dạng vector thể hiện trong các file cĩ đuơi chấm là snow và libsvm. Trên màn hình chương trình cũng thể hiện dữ liệu huấn luyện và kiểm tra (hình 4.6). Trong file huấn luyện gồm cĩ 323 thư thường và 167 thư rác. Trong file kiểm tra cĩ 141 thư thường và 69 thư rác. Kết quả của chương trình là tạo ra các file cĩ đuơi .snow và .libsvm chính là dữ liệu thử nghiệm tương ứng cho các chương trình Snow và AcitveExperimenter. Dữ liệu ra được lưu trong thư mục đã chọn ở đầu chương trình. 51 Hình 4.6 Giao diện thơng báo kết quả xử lý dữ liệu 4.3.4. Kết quả thử nghiệm Hai phương pháp phân loại được thử nghiệm bao gồm chương trình Snow cài đặt perceptron và active SVM. Chương trình Snow Qua trìnhhử nghiệm được thực hiện qua hai bước: bước huấn luyện và bước kiểm tra. Bước huấn luyện gõ lệnh: ../snow –train –I traindata.snow –F NetworkFile.net –A archfile Bước kiểm tra gõ lệnh: ../snow –test –I testdata.snow – F NetworkFile.net Kết quả màn hình: kết quả của chương trình được thể hiện trong hình 4.7 52 Hình 4.7. Kết quả chạy thuật tốn Perceptron Chương trình ActiveExperimenter Thử nghiệm cũng được chia thành 2 giai đoạn: giai đoạn huấn luyện và kiểm tra. Thực nghiệm sử dụng phương pháp đánh giá 10 fold-cross validation: tồn bộ dữ liệu được chia ngẫu nhiên thành 10 nhĩm kích thước tương đương nhau. Bộ phân loại được huấn luyện trên chín nhĩm sau đĩ được kiểm tra trên một nhĩm cịn lại. Lặp lại 10 lần với 10 nhĩm dùng để kiểm tra, sau đĩ lấy trung bình cộng kết quả. Để chạy chương trình ta gõ lệnh: experimenter.bat thay đổi file dữ liệu hay các thơng số đầu vào chương trình ta cĩ thể sửađổi trong file config.xml trong thư mục ActiveExperimenter\Config. Trong file config.xml ta cĩ thể lựa chọn thuật tốn truy vấn là SIMPLE, SELF_CONF, KFF… Nếu để mặc định sẽ được hiểu là thuật tốn SIMPLE đã trình bày trong chương 3. File config.xml cĩ cấu trúc như trong hình 4.8: 53 Hinh 4.8 Cấu trúc file cấu hình của chương trình ActiveExperimenter Màn hình sau khi chạy chương trình với thuật tốn SIMPLE ta cĩ kết quả thể hiện trong hình 4.9 Hình 4.9. Kết quả chạy thuật tốn SIMPLE 54 Khi lựa chọn thuật tốn là thuật tốn SELF_CONF để thử nghiệm cũng trên tập dữ liệu đĩ, thu được kết quả ở hình 4.10: Hình 4.10. Kết quả chạy thuật tốn SELF_CONF 55 Khi sử dụng thuật tốn KFF ta thu được kết quả như hình 4.11. Hình 4.11. Kết quả chạy thuật tốn KFF Cuối cùng là chạy thử nghiệm trên thuật tốn BALANCE_EE ta thu được kết quả như hình 4.12: Hình 4.12. Kết quả chạy thuật tốn BALANCE_EE 56 Trong bốn thuật tốn đã sử dụng thực nghiệm trong chương trình ActiveExperiment thì cĩ ba thuật tốn đều cho kết quả cao và tương tự ngang nhau. Riêng thuật tốn KFF thì cho độ chính xác rất thấp chưa đạt 50%. Kết quả được thể hiện trong bảng 4.4 Ta cĩ bảng kết quả của các thuật tốn SVM active như trong bảng 4.4: Lần truy vấn SIMPLE SELF_CONF KFF BALANCE_EE 1 63.72 61.79 61.03 61.03 2 80.64 81.25 67.82 73.72 3 62.82 77.31 67.05 63.97 4 84.10 87.82 63.33 74.74 5 69.49 84.87 63.33 79.74 6 81.54 88.21 66.67 82.05 7 76.28 90.13 60.77 74.10 8 86.92 87.31 57.56 83.21 9 87.44 91.54 57.05 83.33 10 87.82 92.18 50.38 80.64 11 90.13 92.65 53.21 86.15 12 90.13 92.82 52.05 85.64 13 91.67 92.56 52.56 92.95 14 92.95 92.18 52.44 90.64 15 93.33 92.95 50.90 92.95 16 89.23 93.82 47.95 86.67 17 92.95 92.56 45.26 92.82 18 93.21 92.56 46.54 94.10 19 93.82 93.08 47.69 93.46 20 93.08 92.31 46.28 93.72 Bảng 4.4 Kết quả chạy qua 20 lần truy vấn của các thuật tốn Cả trong hai chương trình thực nghiệm bước truy vấn và phản hồi người dùng được chương trình hĩa trong quá trình thực nghiệm. Khi chương trình chọn một dữ liệu thư điện tử để truy vấn nhãn, thì nhận được sự phản hồi đã được thể hiện thơng qua là dữ liệu thư đĩ đã được gán nhãn sẵn trong tập dữ liệu huấn luyện. 57 4.5.2. Nhận xét về kết quả thử nghiệm Với dữ liệu huấn luyện trên đây, Snow đạt độ chính xác là 99%, cịn chương trình experimenter chỉ cho độ chính xác là 87,82% ở lần truy vấn thứ 10. Khi số lần truy vấn càng nhiều thì độ chính xác càng cao, thể hiện ở các lần truy vấn thứ 15-20 đạt độ chính xác là 93,08 %.Tuy nhiên điều này cũng đã khẳng định được tính hiệu quả cao của thuật tốn perceptron và acitve SVM. Trong số hai phương pháp phân loại được sử dụng, phương pháp perceptron cho kết quả tốt nhất, tuy nhiên phương pháp active SVM cĩ ưu thế hơn do cĩ độ phức tạp tính tốn thấp hơn nhiều. Thời gian chạy của chương trình snow qua một vịng huấn luyện, kiểm tra mất 1.37s, tuy nhiên với chương trình ActiveExperimenter chạy qua 10 vịng huấn luyện, mỗi vịng sẽ truy vấn 20 lần, thời gian chạy chỉ cĩ 0.91s, trung bình mỗi vịng mất khoảng 0.09s , điều này khẳng định độ phức tạp tính tốn thuật tốn của phương pháp active SVM thấp dù độ chính xác thì chưa cao nhất cĩ thể. Trong khi thuật tốn Perceptron cho độ chính xác cao, nhưng thời gian chạy cịn khá lâu. Đối với thuật tốn acitve SVM cĩ sự hạn chế là sử dụng hàm hàm nhân Radial basis function mà chưa sử dụng các hàm nhân khác, chẳng hạn như hàm nhân đa thức. Điều này cĩ thể là một trong những nguyên nhân dẫn đến độ chính xác của thuật tốn chưa được cao. 4.4 Kết luận Chương này đã giới thiệu bài tốn lọc thư rác và áp dụng phươg pháp học tích cực và trong bài tốn. Trong chương này cũng giới thiệu chương trình xử lý dữ liệu và chuẩn hĩa dữ liệu về dạng vector và đầu vào cho các tool thực nghiệm. Thực nghiệm các tool cĩ cài đặt các thuật tốn học tích cực trên tập dữ liệu tạo được. Phân tích đánh giá và nhận xét kết quả thực ngiệm. 58 KẾT LUẬN Những vấn đề đã được giải quyết trong luận văn Sau một thời gian thu thập tài liệu, khảo sát và phân tích nội dung một số bài báo được đề xuất trong lĩnh vực nghiên cứu về học máy, bản luận văn này là sự tổng hợp những nét chính trong học tích cực và là một hướng giải quyết cho bài tốn lọc thư rác. Sau đây là những điểm chính mà luận văn đã tập trung giải quyết. ü Tìm hiểu phương pháp học tích cực, so sánh với học thụ động, tìm ra ưu điểm của từng phương pháp và các trường hợp ứng dụng phù hợp. ü Tìm hiểu phương pháp học tích cực dựa vào perceptron, thuật tốn học perceptron đã được cải tiến của Dagupsta đề xuất năm 2005. Thuật tốn được xây dựng lên từ việc đưa sự cải tiến bước cập nhật perceptron của Morkin vào thuật tốn perceptron chuẩn cĩ 2 bước lọc và bước cập nhật. ü Tìm hiểu phương pháp học tích cực dựa vào SVM được Simon Tong đề xuất năm 2001, các thuật tốn truy vấn: Simple Margin, MaxMin Margin và Ratio Margin. ü Ứng dụng các phương pháp học tích cực đã tìm hiểu áp dụng vào bài tốn lọc thư rác, xây dựng mơ hình cho bài tốn lọc thư rác. Với các mơ hình khơng sử dụng phương pháp học tích cực (mơ hình thụ động), để huấn luyện được bộ học, cần một lượng lớn dữ liệu huấn luyện, vì vậy mà tốn kém trong chi phí và thời gian. Trong mơ hình lọc thư rác tích cực sẽ làm giảm được lượng dữ liệu huấn luyện này. Hơn nữa, mơ hình lọc thư thụ động sẽ phải mất chi phí nhiều hơn và phải được huấn luyện lại để cĩ thể phát hiện được các thư rác ngày một phát triển tinh vi hơn, thì bộ lọc thư tích cực lại cĩ khả năng tự cập nhật lại lại mơ hình khi nhận được thơng tin cần thiết từ việc đưa ra truy vấn cho dữ liệu đã được lựa chọn phù hợp từ truy vấn và câu phản hồi trước đĩ. Vì vậy mà bộ lọc thư tích cực sẽ khơng cần mất nhiều chi phí cho việc huấn luyện lại, và giảm tập dữ liệu huấn luyện cho mơ hình. Bộ lọc 59 thư rác đã trình bày trong luận văn đạt độ chính xác và hiệu quả cao. Thực nghiệm đạt 99% đối với thuật tốn perceptron và 93.7% đối với các thuật tốn active SVM. ü Thu thập dữ liệu thư, spam và xây dựng chương trình xử lý dữ liệu thực tế thành dữ liệu đầu vào cho các thử nghiệm. Luận văn xây dựng thử nghiệm trên các tool sẵn cĩ cài đặt các thuật tốn perceptron và active SVM mà luận văn đã giới thiệu. Cơng việc nghiên cứu trong tương lai Cải tiến thuật tốn active SVM để sử dụng các hàm nhân khác nhằm nâng cao chất lượng phân lớp. Tiếp tục tìm hiểu các phương pháp xử lý nhằm làm tăng chất lượng phân lớp, đồng thời xử lý các thư cĩ nội dung khơng phải là văn bản chằng hạn như hình ảnh, … Ứng dụng vào một hệ thống mail server trong một tổ chức để lọc thư cho cán bộ/nhân viên. 60 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Hà Quang Thụy, Phan Xuân Hiếu, Đồn Sơn, Nguyễn Trí Thành, Nguyễn Thu Trang, Nguyễn Cẩm Tú (2009), Giáo trình khai phá dữ liệu Web, Nhà xuất bản giáo dục Việt Nam. [2] Nguyễn Thanh Thủy (2001), Khai phá dữ liệu, Nhà xuất bản Kỹ thuật và ứng dụng. Tiếng Anh [3] A. Wald (1950). Statistical decision functions. Wiley, New York [4] A. Blum, A. Frieze, R. Kannan, and S. Vempala (1996). A polynomial-time algorithm for learning noisy linear threshold functions. In Proc. 37th Annual IEEE Symposium on the Foundations of Computer Science. [5] B. Busser, R. Morante (2005) ‘Designing an active learning based system for corpus annotation’, In Procesamiento del Lenguaje Natural, núm. 35, pp. 375-381. [6] Burr Settles (2008) Curious Machines: Active Learning with Structured Instances. Ph.D. dissertation, University of Wisconsin–Madison, USA. [7] Burr Settles (2009) ‘Active learning literature survey’ Computer Sciences Technical Report 1648, University of Wisconsin–Madison. [8] Burr Settles, M. Craven (2008) ‘An analysis of active learning strategies for sequence labeling tasks’ In Proceedings of the Conference on Empirical Methods in Natural Language Processing (EMNLP), pp. 1069–1078. [9] DC.A. Thompson, M.E. Califf and R.J. Mooney (1999) ‘Active learning for natural language parsing and information extraction’, In Proceedings of the 16th International Conference on Machine Learning, pp. 406-414. [10] C. Campbell, N. Cristianini, & A. Smola (2000). Query learning with large margin classifiers. Proceedings of the Seventeenth International Conference on Machine Learning. [11] C. E. Shannon, (1948) ‘A mathematical theory of communication’ Bell System Technical Journal, 27:379-423,623-656. [12] C.J. Burges. A tutorial on support vector machines for pattern recognition. Data Mining and Knowledge Discovery, 1999. [13] C. Nakajima, I. Norihiko, M. Pontil & Poggio (2000). Object recognition and detection by a combination of support vector machine and rotation 61 invariant phase only correlation. Proceedings of International Conference on Pattern Recognition. [14] D.D. Lewis, W. Gale (1994) ‘A sequential algorithm for training text classifiers’, In Proceedings of the ACM SIGIR Conference on Research and Development in Information Retrieval, pp. 3-12. [15] D.D. Lewis, J. Catlett (1994) ‘Heterogeneous Uncertainty Sampling for Supervised Learning’ In Proceedings of the 11th International Conference on Machine Learning, pp.148-156. [16] D. Hakkani-Tür, G. Riccardi and A. Gorin (2002) ‘Active learning for automatic speech recognition’ In Proceedings of ‘International Conference on Acoustics, Speech and Signal Processing (ICASSP), Orlando, FL. [17] F. Rosenblatt (1958). The perceptron: A probabilistic model for information storage and organization in the brain. Psychological Review, 65:386–407. [18] G. Tur, D. Hakkani-Tür and R.E. Schapire (2005) ‘Combining active and semisupervised learning for spoken language understanding’ Speech Communication, 45(2):171–186. [19] G. Tur, R.E. Schapire and D. Hakkani-Tür (2003) ‘Active learning for spoken language understanding’ In Proceedings of International Conference on Acoustics, Speech and Signal Processing (ICASSP), Hong Kong. [20] H. Seung, M. Opper & H. Sompolinsky (1992). Query by committee. Proceedings of Computational Learning Theory. [21] J. Baldridge, M. Osborne (2004) ‘Active learning and the total cost of annotation’, In Proceedings of the Conference on Empirical Methods in Natural Language Processing, Forum Convention Center, Barcelona, Spain, pp. 9-16 [22] J. Zhu, H. Wang, E. Hovy (2008a) ‘Learning a stopping criterion for active learning for word sense disambiguation and text classification’ In Proceedings of the 3rd International Joint Conference on NLP (IJNLP), Heydarabad, India. pp. 366-372. [23] J. Zhu, H. Wang, T. Yao and B. Tsou (2008b) ‘Active learning with sampling by uncertainty and density for word sense disambiguation and text classification’ In Proceedings of the 22nd International Conference on Computational Linguistics (CoLing) pp. 1137-1144. [24] LeCun, Jackel, Bottou, Brunot, A., Cortes, C., Denker, J. S., Drucker, H., Guyon, I., Muller, U. A., Sackinger, E., Simard, P., & Vapnik (1995). Comparison of learning algorithms for handwritten digit recognition. International Conference on Artificial Neural Networks, Paris. [25] M. Steedman, R. Hwax, S. Clark, M. Osborne, A. Sarkar, J. Hockenmaier, P. Ruhleny, S. Bakerz, J. Crimy (2003) ‘Example selection for bootstrapping statistical parsers’ In Proceedings of the Human Language Technology 62 Conference / North American Chapter of the Association for Computational Linguistics (HLT/NAACL), Edmonton, Canada. [26] R. Hwa, (2000) ‘Sample selection for statistical grammar induction’ In Proceedings of the 2000 Joint SIGDAT Conference on EMNLP and VLC, Hong Kong, China, pp. 45.52. [27] R. Hwa, M. Osborne and A. Sarkar and M. Steedman (2003) ‘Corrected cotraining for statistical parsers’ In Proceedings of the ICML Workshop: The Continuum from Labeled to Unlabeled Data. pp. 95-102. [28] R. Herbrich, T. Graepel, & C. Campbell (1999). Bayes point machines: Estimating the Bayes point in kernel space. International Joint Conference on Artificial Intelligence Workshop on Support Vector Machines. [29] R. Liere, P. Tadepalli (1997) ‘Active learning with committees for text categorization’ In Proceedings 14th Conference of the American Association for Artificial Intelligence (AAAI), pp. 591-596. [30] S. Agmon (1954). The relaxation method for linear inequalities. Canadian Journal of Math., 6(3):382–392. [31] S.C.H Hoi, R. Jin, M.R. Lyu (2006) ‘Large-scale text categorization by batch mode active learning’ In Proceedings of the International Conference on the World Wide Web, pp. 633–642. [32] S. Dasgupta (2005). Coarse sample complexity bounds for active learning. In Advances in Neural Information Processing Systems 18. [33] S. Dumais, J. Platt, D. Heckerman & M. Sahami (1999). Inductive learning algorithms and representations for text categorization. Proceedings of the Seventh International Conference on Information and Knowledge Management. ACM Press. [34] S. Hampson and D. Kibler (1999). Minimum generalization via reflection: A fast linear threshold learner. Machine Learning, 37(1):51–73. [35] S. Tong and D. Koller. Support vector machine active learning with applications to text classification. Journal of Machine Learning Research, 2:45–66, 2001. [36] S. Tong, (2001) Active Learning: Theory and Applications. Ph.D. dissertation, Stanford University. [37] T. Joachims. Text categorization with support vector machines. Proceedings of the European Conference on Machine Learning. Springer-Verlag, 1999. [38] T. Joachims. Transductive inference for text classification using support vector machines. Proceedings of the Sixteenth International Conference on Machine Learning. Morgan Kaufmann, 1999. 63 [39] T. Mitchell (1982). Generalization as search. Artificial Intelligence. [40] T.S. Motzkin and I.J. Schoenberg (194). The relaxation method for linear inequalities. Canadian Journal of Math., 6(3):393–404. [41] V. Vapnik. Estimation of dependences based on empirical data. Springer Verlag, 1982. [42] V. Vapnik. The nature of statistical learning theory. Springer, New York, 1995. [43] V. Vapnik, (1998). Statistical learning theory. Wiley. [44] Y. Baram, R. El-Yaniv and K. Luz (2004) ‘Online choice of active learning algorithm’ In Journal of Machine Learning Research 5, pp. 255-259 [45] Y. Freund, H. Seung, E. Shamir & N. Tishby (1992). Selective sampling using the Query by Committee algorithm. Machine Learning. Website: [46] [47]

Các file đính kèm theo tài liệu này:

  • pdfLUẬN VĂN- TÌM HIỂU PHƯƠNG PHÁP HỌC TÍCH CỰC VÀ ỨNG DỤNG CHO BÀI TOÁN LỌC THƯ RÁC.pdf
Tài liệu liên quan