PHÂN LỚP BÁN GIÁM SÁT VÀ ỨNG DỤNG THUẬT TOÁN SVM VÀO PHÂN LỚP TRANG WEB

47 378 0
PHÂN LỚP BÁN GIÁM SÁT VÀ ỨNG DỤNG THUẬT TOÁN SVM VÀO PHÂN LỚP TRANG WEB

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Thị Hải Yến PHÂN LỚP BÁN GIÁM SÁT VÀ ỨNG DỤNG THUẬT TOÁN SVM VÀO PHÂN LỚP TRANG WEB KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin HÀ NỘI - 2007 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Thị Hải Yến PHÂN LỚP BÁN GIÁM SÁT VÀ ỨNG DỤNG THUẬT TOÁN SVM VÀO PHÂN LỚP TRANG WEB KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin Cán hướng dẫn: PGS – TS Hà Quang Thụy Cán đồng hướng dẫn: ThS Đặng Thanh Hải HÀ NỘI – 2007 LỜI CẢM ƠN Trước tiên, em xin bày tỏ lòng biết ơn chân thành sâu sắc tới Thầy giáo, PGS-TS Hà Quang Thụy Thầy giáo, ThS Đặng Thanh Hải tận tình hướng dẫn, động viên, giúp đỡ em suốt trình thực đề tài Em xin gửi lời cảm ơn sâu sắc tới quý Thầy Cô Khoa Công nghệ thông tin truyền đạt kiến thức quý báu cho em năm học vừa qua Em xin gửi lời cảm ơn anh chị nhóm seminar khai phá liệu nhiệt tình bảo trình em làm khoá luận Con xin nói lên lòng biết ơn Ông Bà, Cha Mẹ nguồn chăm sóc, động viên bước đường học vấn Xin chân thành cảm ơn Anh Chị Bạn bè, đặc biệt thành viên lớp K48CD ủng hộ, giúp đỡ động viên suốt thời gian học tập bốn năm giảng đường đại học thực đề tài Mặc dù cố gắng hoàn thành luận văn phạm vi khả cho phép chắn không tránh khỏi thiếu sót Em kính mong nhận cảm thông tận tình bảo quý Thầy Cô Bạn Em xin chân thành cảm ơn! Hà Nội, ngày 31 tháng 05 năm 2007 Sinh viên Nguyễn Thị Hải Yến TÓM TẮT NỘI DUNG Hiện nay, với lượng lớn liệu phân lớp liệu có vai trò quan trọng, toán thời lĩnh vực xử lý liệu văn Một yêu cầu đặt cần tăng tính hiệu thuật toán phân lớp, nâng cao giá trị độ đo hồi tưởng, xác thuật toán Mặt khác, nguồn tài nguyên ví dụ học có nhãn đáp ứng cần có thuật toán phân lớp sử dụng ví dụ chưa có nhãn Phân lớp bán giám sát đáp ứng hai yêu cầu nói [5, 7, 8, 16, 17] Các thuật toán phân lớp bán giám sát tận dụng nguồn liệu chưa gán nhãn phong phú có tự nhiên kết hợp với số liệu gán nhãn cho sẵn Trong năm gần đây, phương pháp sử dụng phân loại máy hỗ trợ vector (Support Vector Machine - SVM) quan tâm sử dụng nhiều lĩnh vực nhận dạng phân loại Từ công trình khoa học [4, 7, 8, 11] công bố cho thấy phương pháp SVM có khả phân loại tốt toán phân loại văn nhiều ứng dụng khác Trong khoá luận này, em khảo sát thuật toán học bán giám sát SVM trình bày nội dung phần mềm SVMlin V Sindhwani đề xuất [18] Trong năm 20062007, V Sindhwani dùng SVMlin tiến hành phân lớp văn từ nguồn 20Newsgroups cho kết tốt [14,15] MỤC LỤC MỞ ĐẦU Chương TỔNG QUAN VỀ PHÂN LỚP BÁN GIÁM SÁT 11 1.1 Phân lớp liệu 11 1.1.1 Bài toán phân lớp liệu 11 1.1.2 Quá trình phân lớp liệu 12 1.2 Phân lớp văn 13 1.2.1 Đặt vấn đề 13 1.2.2 Mô hình vector biểu diễn văn 14 1.2.3 Phương pháp phân lớp văn 19 1.2.4 Ứng dụng phân lớp văn 19 1.2.5 Các bước trình phân lớp văn 20 1.2.6 Đánh giá mô hình phân lớp .22 1.2.7 Các yếu tố quan trọng tác động đến phân lớp văn .23 1.3 Một số thuật toán học máy phân lớp 23 1.3.1 Học có giám sát 23 1.3.1.1 Bài toán học có giám sát 23 1.3.1.2 Giới thiệu học có giám sát 24 1.3.1.3 Thuật toán học có giám sát k-nearest neighbor (kNN) 25 1.3.1.4 Thuật toán học có giám sát Support vector machine (SVM) .26 1.3.2 Thuật toán phân lớp sử dụng trình học bán giám sát 27 1.3.2.1 Khái niệm .27 1.3.2.2 Lịch sử phát triển sơ lược học bán giám sát 28 1.3.2.3 Một số phương pháp học bán giám sát điển hình 29 Chương SỬ DỤNG SVM VÀ BÁN GIÁM SÁT SVM VÀO BÀI TOÁN PHÂN LỚP 32 2.1 SVM – Support Vector Machine 32 2.1.1 Thuật toán SVM 33 2.1.2 Huấn luyện SVM 35 2.1.3 Các ưu SVM phân lớp văn 35 2.2 Bán giám sát SVM phân lớp trang Web 37 2.2.1 Giới thiệu bán giám sát SVM 37 2.2.2 Phân lớp trang Web sử dụng bán giám sát SVM .38 2.2.2.1 Giới thiệu toán phân lớp trang Web (Web Classification) 38 2.2.2.3 Áp dụng S3VM vào phân lớp trang Web 39 Chương THỬ NGHIỆM HỌC BÁN GIÁM SÁT PHÂN LỚP TRANG WEB 41 3.1 Giới thiệu phần mềm SVMlin 41 3.2 Download SVMlin 42 3.3 Cài đặt 42 3.4 Cách sử dụng phần mềm .42 KẾT LUẬN 45 Những công việc làm khoá luận 45 Hướng nghiên cứu thời gian tới .45 TÀI LIỆU THAM KHẢO 46 I Tiếng Việt 46 II Tiếng Anh 46 DANH SÁCH BẢNG VÀ TỪ VIẾT TẮT Ký hiệu viết tắt Cụm từ kNN k Nearest Neighbor SVM Support Vector Machine S3VM Semi Supervised Support Vector Machine DANH MỤC HÌNH ẢNH Hình Bài toán phân lớp Hình Văn biểu diễn vector đặc trưng Hình Sơ đồ khung trình phân lớp văn Hình Siêu phẳng h phân chia liệu huấn luyện thành lớp + - với khoảng cách biên lớn Các điểm gần h vector hỗ trợ (Support Vector - khoanh tròn) Hình Phương pháp học bán giám sát Self-training Hình Phương pháp học bán giám sát Co-training MỞ ĐẦU Trong năm gần đây, phát triển vượt bậc công nghệ thông tin làm tăng số lượng giao dịch thông tin mạng Internet cách đáng kể đặc biệt thư viện điện tử, tin tức điện tử… Do mà số lượng văn xuất mạng Internet tăng với tốc độ chóng mặt, tốc độ thay đổi thông tin nhanh chóng Với số lượng thông tin đồ sộ vậy, yêu cầu lớn đặt tổ chức tìm kiếm thông tin, liệu có hiệu Bài toán phân lớp giải pháp hợp lý cho yêu cầu Nhưng thực tế khối lượng thông tin lớn, việc phân lớp liệu thủ công điều Hướng giải chương trình máy tính tự động phân lớp thông tin liệu Tuy nhiên, xử lý toán phân lớp tự động gặp phải số khó khăn để xây dựng phân lớp có độ tin cậy cao đòi hỏi phải có lượng lớn mẫu liệu huấn luyện tức văn gán nhãn lớp tương ứng Các liệu huấn luyện thường đắt đòi hỏi thời gian công sức người Do cần phải có phương pháp học không cần nhiều liệu gán nhãn có khả tận dụng nguồn liệu chưa gán nhãn phong phú nay, phương pháp học học bán giám sát Học bán giám sát cách học sử dụng thông tin chứa liệu chưa gán nhãn tập huấn luyện, phương pháp học sử dụng phổ biến tính tiện lợi Vì vậy, khoá luận tập trung vào nghiên cứu toán phân lớp sử dụng trình học bán giám sát, việc áp dụng thuật toán bán giám sát máy hỗ trợ vector (Support Vector Machine – SVM) vào phân lớp trang Web Nội dung khoá luận trình bày bao gồm chương Tổ chức cấu trúc sau: • Chương Tổng quan phân lớp bán giám sát Phần đầu trình bày khái quát toán phân lớp liệu, phân lớp văn bản, số nét sơ học có giám sát Phần cuối chương giới thiệu nội dung phương pháp học bán giám sát, giới thiệu số thuật toán học bán giám sát điển hình • Chương Sử dụng SVM bán giám sát SVM vào toán phân lớp Khóa luận trình bày bước hoạt động thuật toán SVM, sau nghiên cứu thuật toán học bán giám sát SVM, cải tiến SVM trình bày [11] Khoá luận trình bày số áp dụng học bán giám sát vào toán phân lớp trang Web phần cuối chương • Chương Hệ thống thử nghiệm phân loại trang Web đánh giá Trình bày kết nghiên cứu V Sindhwani phần mềm nguồn mở SVMlin [14, 15, 18] mà tác giả đề xuất công bố Các nghiên cứu cho thấy phần mềm SVMlin phân lớp bán giám sát văn cho độ xác cao luyện đánh giá tốt Hiệu suất tổng quát hoá phụ thuộc vào hai tham số sai số huấn luyện hay lực máy học Trong sai số huấn luyện tỷ lệ lỗi phân lớp tập liệu huấn luyện Còn lực máy học xác định kích thước Vapnik-Chervonenkis (kích thước VC) Kích thước VC khái niệm quan trọng họ hàm phân tách (hay tập phân lớp) Đại lượng xác định số điểm cực đại mà họ hàm phân tách hoàn toàn không gian đối tượng Một tập phân lớp tốt tập phân lớp có lực thấp (có nghĩa đơn giản nhất) đảm bảo sai số huấn luyện nhỏ Phương pháp SVM xây dựng ý tưởng 2.1.1 Thuật toán SVM Xét toán phân lớp đơn giản – phân lớp hai lớp với tập liệu mẫu: {(xi, yi) i = 1, 2,…, N, xi ∈ Rm } Trong mẫu vector đối tượng phân lớp thành mẫu dương mẫu âm hình 4: - Các mẫu dương mẫu xi thuộc lĩnh vực quan tâm gán nhãn yi = - Các mẫu âm mẫu xi không thuộc lĩnh vực quan tâm gán yi = - Thực chất phương pháp toán tối ưu, mục tiêu tìm không gian H siêu mặt phẳng định h H cho sai số phân lớp thấp Trong trường hợp này, tập phân lớp SVM mặt siêu phẳng phân tách mẫu dương khỏi mẫu âm với độ chênh lệch cực đại, độ chênh lệch – gọi Lề (margin) xác định khoảng cách mẫu dương mẫu âm gần mặt siêu phẳng (hình 1) Mặt siêu phẳng gọi mặt siêu phẳng lề tối ưu Các mặt siêu phẳng không gian đối tượng có phương trình là: C + w1 x1 + w2 x2 + … + wn xn = Tương đương với công thức C + ∑wi xi = i=1,…,n (2.1) (2.2) Với w = w1 + w2 + …+ wn hệ số siêu phẳng vector trọng số, C độ dịch, thay đổi w C hướng khoảng cách từ gốc toạ độ đến mặt siêu phẳng thay đổi Tập phân lớp SVM định nghĩa sau: f(x) = sign(C + ∑wi xi) (2.3) Trong sign(z) = +1 z ≥ 0, sign(z) = -1 z < Nếu f(x) = +1 x thuộc lớp dương (lĩnh vực quan tâm), ngược lại, f(x) = -1 x thuộc lớp âm (các lĩnh vực khác) Máy học SVM học siêu phẳng phụ thuộc vào tham số vector trọng số w độ dịch C Mục tiêu phương pháp SVM ước lượng w C để cực đại hoá lề lớp liệu dương âm Các giá trị khác lề cho ta họ siêu mặt phẳng khác nhau, lề lớn lực máy học giảm Như vậy, cực đại hoá lề thực chất việc tìm máy học có lực nhỏ Quá trình phân lớp tối ưu sai số phân lớp cực tiểu Ta phải giải phương trình sau: (2.4) tìm vector trọng số w sai số điểm tập huấn luyện ηi từ ta có phương trình tổng quát siêu phẳng tìm thuật toán SVM là: f(x1, x2,…, xn) = C +∑ wi xi (2.5) Với i = 1,…, n Trong n số liệu huấn luyện Sau tìm phương trình siêu phẳng thuật toán SVM, áp dụng công thức để tìm nhãn lớp cho liệu 2.1.2 Huấn luyện SVM Huấn luyện SVM việc giải toán quy hoạch toàn phương SVM Các phương pháp số giải toán quy hoạch yêu cầu phải lưu trữ ma trận có kích thước bình phương số lượng mẫu huấn luyện Trong toán thực tế, điều không khả thi thông thường kích thước tập liệu huấn luyện thường lớn (có thể lên tới hàng chục nghìn mẫu) Nhiều thuật toán khác phát triển để giải vấn đề nêu Những thuật toán dựa việc phân rã tập liệu huấn luyện thành nhóm liệu Điều có nghĩa toán quy hoạch toàn phương với kích thước nhỏ Sau đó, thuật toán kiểm tra điều kiện KKT (Karush-KuhnTucker) để xác định phương án tối ưu Một số thuật toán huấn luyện dựa vào tính chất: Nếu tập liệu huấn luyện toán quy hoạch toàn phương cần giải bước có mẫu vi phạm điều kiện KKT, sau giải toán náy, hàm mục tiêu tăng Như vậy, chuỗi toán quy hoạch toàn phương với mẫu vi phạm điều kiện KKT đảm bảo hội tụ đến phương án tối ưu Do đó, ta trì tập liệu làm việc đủ lớn có kích thước cố định bước huấn luyện, ta loại bỏ thêm vào số lượng mẫu 2.1.3 Các ưu SVM phân lớp văn Như biết, phân lớp văn tiến trình đưa văn chưa biết chủ đề vào lớp văn biết (tương ứng với chủ đề hay lĩnh vực khác nhau) Mỗi lĩnh vực xác định số tài liệu mẫu lĩnh vực Để thực trình phân lớp, phương pháp huấn luyện sử dụng để xây dựng tập phân lớp từ tài liệu mẫu, sau dùng tập phân lớp để dự đoán lớp tài liệu (chưa biết chủ đề) Chúng ta thấy từ thuật toán phân lớp hai lớp SVM đến thuật toán phân lớp đa lớp có đặc điểm chung yêu cầu văn phải biểu diễn dạng vector đặc trưng, nhiên thuật toán khác phải sử dụng uớc lượng tham số ngưỡng tối ưu thuật toán SVM tự tìm tham số tối ưu Trong phương pháp SVM phương pháp sử dụng không gian vector đặc trưng lớn (hơn 10.000 chiều) phương pháp khác có số chiều bé nhiều (như Naïve Bayes 2000, k-Nearest Neighbors 2415…) Trong công trình năm 1999 [12], Joachims so sánh SVM với Naïve Bayesian, k-Nearest Neighbour, Rocchio, C4.5 đến năm 2003 [13], Joachims chứng minh SVM làm việc tốt với đặc tính đề cập trước văn Các kết cho thấy SVM đưa độ xác phân lớp tốt so sánh với phương pháp khác Theo Xiaojin Zhu [15] công trình nghiên cứu nhiều tác giả (chẳng hạn Kiritchenko Matwin vào năm 2001, Hwanjo Yu Han vào năm 2003, Lewis vào năm 2004) thuật toán SVM đem lại kết tốt phân lớp văn Kiritchenko Matwin nghiên cứu so sánh phương pháp SVM với kỹ thuật Naïve Bayesian, sau chứng minh SVM phương pháp tốt cho phân lớp thư điện tử phân lớp văn Hwanjo Yu Han cho thấy SVM hoàn toàn tiến hành tốt so với phương pháp phân lớp văn khác Tất tài liệu nghiên cứu cho thấy SVM đưa kết xác khía cạnh phân lớp văn Lewis nghiên cứu phân lớp văn khám phá kết SVM tốt Lewis đưa tập hợp nhỏ tài liệu phân lớp văn Tác giả cố gắng cải tiến phương pháp RCV1 cho phân lớp văn sử dụng phương pháp ứng dụng cho số kỹ thuật phân lớp văn khác SVM đưa kết tốt đặt dựa vào k-người láng giềng gần kỹ thuật tập phân lớp RocchioStyle Prototype Những phân tích tác giả cho thấy SVM có nhiều điểm phù hợp cho việc ứng dụng phân lớp văn Và thực tế, thí nghiệm phân lớp văn tiếng Anh SVM đạt độ xác phân lớp cao tỏ xuất sắc so với phương pháp phân lớp văn khác Vấn đề học bán giám sát tận dụng liệu chưa gán nhãn để cải tiến hiệu độ xác phân lớp, điều đưa để so sánh với tập phân lớp thiết kề mà không tính đến liệu chưa gán nhãn Trong phần sau chương này, khóa luận giới thiệu phương thức cải tiến SVM bán giám sát SVM (semi-supervised support vector machine – S3VM) [16, 17] Bán giám sát SVM đưa nhằm nâng SVM lên mức cao hơn, SVM thuật toán học có giám sát, sử dụng liệu gán nhãn bán giám sát SVM sử dụng liệu gán nhãn (tập huấn luyện – training set) kết hợp với liệu chưa gán nhãn (working set) 2.2 Bán giám sát SVM phân lớp trang Web 2.2.1 Giới thiệu bán giám sát SVM Chúng ta giới thiệu phương thức cải tiến SVM Bán giám sát SVM (Semi Supervised Support Vector Machine - S3VM) Cho tập huấn luyện (training set) liệu gán nhãn có tham gia tập liệu chưa gán nhãn (working set), S3VM xây dựng máy hỗ trợ vector sử dụng training set working set Bài toán truyền dẫn dự đoán giá trị hàm phân lớp tới điểm cho working set Trong SVM thuật toán có giám sát sử dụng liệu gán nhãn, S3VM xây dựng sử dụng hỗn hợp liệu gán nhãn (training set) liệu chưa gán nhãn (working set) Mục đích để gán lớp nhãn tới working set cách tốt nhất, sau sử dụng hỗn hợp liệu huấn luyện gán nhãn liệu working set sau gán nhãn để phân lớp liệu Nếu working set rỗng phương pháp trở thành phương pháp chuẩn SVM để phân lớp Nếu training set rỗng, sau phương pháp trở thành hình thể học không giám sát Học bán giám sát xảy training set working set không rỗng Để hiểu cách rõ ràng cụ thể S3VM, cần hiểu SVM trình bày Với thời gian điều kiện không cho phép, khoá luận em tìm hiểu thuật toán S3VM toán phân lớp nhị phân Cho trước tập huấn luyện gồm liệu gán nhãn với tập liệu chưa gán nhãn working set bao gồm n liệu Mục đích gán nhãn cho liệu chưa gán nhãn Với hai lớp cho trước gồm lớp dương (lớp +1) lớp âm (lớp –1) Mỗi liệu xem điểm không gian vector Mỗi điểm i thuộc tập liệu huấn luyện có sai số ηi điểm j thuộc working set có hai sai số ξj (sai số phân lớp với giả sử j thuộc lớp +1) zi (sai số phân lớp với giả sử j thuộc lớp –1) Thuật toán S3VM giải toán tối ưu sau (2.6) thay cho toán tối ưu 2.4 thuật toán SVM (2.6) Sau tìm ξi zj, có sai số nhỏ điểm j, Nếu ξi < zj điểm j thuộc lớp dương, ngược lại ξi > zj điểm j thuộc lớp âm Quá trình diễn tất điểm thuộc working set, sau trình hoàn thành, tất điểm chưa gán nhãn gán nhãn Tập liệu chưa gán nhãn working set sau gán nhãn đưa vào tập liệu huấn luyện, sử dung thuật toán SVM để học tạo SVM mới, SVM S3VM có siêu phẳng Sau áp dụng siêu phẳng để phân lớp mẫu liệu đưa vào 2.2.2 Phân lớp trang Web sử dụng bán giám sát SVM 2.2.2.1 Giới thiệu toán phân lớp trang Web (Web Classification) Phân lớp trang Web trường hợp đặc biệt phân lớp văn diện siêu liên kết trang Web, cấu trúc trang Web chặt chẽ, đầy đủ hơn, dẫn đến tính hỗn hợp plain texts, thẻ hypertext, hyperlinks… Internet với 10 tỷ trang Web tập huấn luyện phong phú chủ đề sống, với số lượng chủ đề Website không nhiều việc sử dụng Internet sở huấn luyện phù hợp Trong trang Web, độ xác tuyệt đối, ta thấy chủ đề gồm có nhiều từ chuyên môn với tần suất xuất cao, việc tận dụng tần số phụ thuộc từ vào chủ đề đem lại kết khả quan cho phân lớp 2.2.2.3 Áp dụng S3VM vào phân lớp trang Web Có thể thấy trang Web siêu văn (hypertext) phổ dụng Nội dung trang Web thường mô tả ngắn gọn, súc tích, có siêu liên kết đến Web có nội dung liên quan cho phép trang khác liên kết đến Như nói trên, xem văn thông thường nên trình phân lớp trang Web việc biểu diễn văn sử dụng mô hình không gian vector Việc biểu diễn xử lý tài liệu Web giống biểu diễn xử lý văn mô hình Tuy nhiên phân lớp Web việc khai thác mạnh siêu liên kết văn vấn đề đáng quan tâm Với việc sử dụng siêu liên kết trang Web từ lấy thông tin mối liên hệ nội dung trang, dựa vào để nâng cao hiệu phân lớp tìm kiếm Để áp dụng vào phân lớp trang Web, thuật toán S3VM xem trang Web vector f(d1, d2,…, dn) biểu diễn giống văn Áp dụng công thức (2.5) phương trình siêu phẳng: f(x1, x2,…, xn) = C +∑ wi xi thay văn tương ứng với trang Web vào phương trình siêu phẳng này: f(d1, d2,…,dn) = C +∑ wi di Với i=1,…,n Nếu f(d) ≥ trang Web thuộc lớp +1 Ngược lại f(d) < trang Web thuộc lớp –1 (2.6) Có thể thấy trình áp dụng thuật toán S3VM vào toán phân lớp trang Web việc thay vector trọng số biểu diễn trang Web vào phương trình siêu phẳng S3VM, từ tìm nhãn lớp trang Web chưa gán nhãn Như vậy, thực chất trình phân lớp bán giám sát áp dụng liệu trang Web tập liệu huấn luyện trang Web tập working set (dữ liệu chưa gán nhãn) trang Web trang Web có nhãn tập huấn luyện trỏ tới Chương THỬ NGHIỆM HỌC BÁN GIÁM SÁT PHÂN LỚP TRANG WEB Khóa luận định hướng khai thác phần mềm nguồn mở để tiến hành thử nghiệm phân lớp bán giám sát tài liệu web Phần đầu chương giới thiệu phần mềm nguồn mở SVMlin có tiêu đề “"Fast Linear SVM Solvers for Supervised and Semisupervised Learning" Vikas Sindhwani công bố Các phần khóa luận giới thiệu trình khai thác phần mềm nhằm thực toán phân lớp đánh giá Nội dung chương tổng hợp từ nội dung trình bày [14,15,18] Phần mềm SVMlin thuộc diện phần mềm nguồn mở, công bố theo tiêu chuẩn giấy phép sử dụng phần mềm GNU 3.1 Giới thiệu phần mềm SVMlin SVMlin gói phần mềm dành cho SVMs tuyến tính, thoả mãn toán phân lớp số lớn mẫu liệu đặc trưng Là chương trình phần mềm viết ngôn ngữ C++ (hầu hết viết C) Ngoài tập liệu gán nhãn, SVMlin tận dụng tập liệu chưa gán nhãn trình học Tập liệu chưa gán nhãn thực sử hữu ích việc nâng cao độ xác trình phân lớp mà số lượng liệu gán nhãn từ trước Hiện SVMlin thực cài đặt thuật toán [14, 15]sau: ¾ Thuật toán học có giám sát (chỉ sử dụng liệu gán nhãn) ƒ Thuật toán phân lớp bình phương tối thiểu chuẩn hóa tuyến tính (Linear Regularized Least Squares Classification) ¾ Bán giám sát (có thể sử dụng liệu chưa gán nhãn tương đối tốt) ƒ Thuật toán học tuyến tính SVM truyền dẫn sử dụng nhiều lần chuyển đổi (Multi-switch linear Transductive L2-SVMs) Theo Vikas Sindhwani, dùng SVMlin phân loại văn (tập liệu RCV1v2/LYRL2004) với 804414 liệu gán nhãn 47326 đặc trưng, SVMlin hai phút để huấn luyện SVM tuyến tính máy Intel với tốc độ xử lý 3GHz 2GB RAM Nếu cho 1000 nhãn, sử dụng hàng trăm ngàn liệu chưa gán nhãn để huấn luyện SVM tuyến tính bán giám sát vòng khoảng 20 phút Dữ liệu chưa gán nhãn hữu ích việc cải thiện trình phân lớp số lượng nhãn lớp không lớn 3.2 Download SVMlin Người dùng tải phiên SVMlin trang Web: http://www.cs.uchicago.edu/people/vikass 3.3 Cài đặt Trước tiên, cần giải nén file cài đặt lệnh sau: unzip svmlin.zip tar –xvzf svmlin.tar.gz Sau tạo thư mục có tên svmlin-v1.0 chứa Makefile file nguồn ssl.h, ssl.cpp svmlin.cpp Gõ lệnh: make Sẽ tạo file thực thi svmlin Quá trình thực thi sử dụng để huấn luyện, kiểm tra đánh giá trình thực 3.4 Sử dụng phần mềm kết đánh giá ™ Các file liệu Định dạng liệu đầu vào cho SVMlin tương tự định dạng công cụ SVM-Light/LIBSVM (Điểm khác biệt cột mô tả nhãn liệu) Mỗi dòng mô tả mẫu liệu danh sách cặp gồm số đặc trưng : giá trị đặc trưng cho đặc trưng có giá trị khác không, phân cách ký tự trống Mỗi hàng kết thúc ký tự ‘\n’ : : : Cho ví dụ, ma trận liệu với liệu đặc trưng sau: 0 0 0 Được mô tả file đầu vào là: 2:3 1:4 2:5 1:6 5:1 2:1 3:9 4:2 4:5 5:3 Nhãn liệu huấn luyện chứa file riêng biệt, gọi file mô tả nhãn liệu Mỗi dòng file chứa nhãn cho liệu dòng tương ứng file mô tả liệu Nhãn liệu nhận giá trị sau: +1 (dữ liệu gán nhãn thuộc lớp dương) -1 (dữ liệu gán nhãn thuộc lớp âm) (các liệu chưa gán nhãn) Phiên công cụ SVMlin áp dụng cho toán phân lớp nhị phân ™ Quá trình huấn luyện Gõ lệnh: svmlin [options] training_examples training_labels Trong đó: training_examples.weights.File chứa liệu huấn luyện training_examples.outputs File chứa kết mô hình phân lớp ™ Kiểm tra (testing) Gõ lệnh: svmlin -f training_examples.weights test_examples_filename Trong đó: training_examples.weights: File chứa kết mô hình phân lớp test_examples_filename: File chứa liệu kiểm tra ™ Đánh giá Nếu nhãn liệu kiểm thử biết trước, sử dụng lệnh sau để tính ma trận thực thi trình phân lớp: svmlin -f weights_filename test_examples_filename test_labels_filename ™ Dữ liệu huấn luyện Dữ liệu huấn luyện sử dụng bao gồm 1460 tài liệu (trong có 50 tài liệu gán nhãn) lấy từ liệu chuẩn 20-newsgroups ™ Kết phân lớp Với liệu huấn luyện đây, SVMlin đạt độ xác 92.8% lựa chọn chức multi-switch TSVM đạt độ xác 95.5% lựa chọn chức semi-supervised SVM Điều khẳng định tính hiệu học bán giám sát SVM KẾT LUẬN Những công việc làm khoá luận Khoá luận khái quát số vấn đề toán phân lớp bao gồm phương pháp phân lớp liệu, phân lớp văn thuật toán học máy áp dụng vào toán phân lớp, trọng nghiên cứu tới phương pháp học bán giám sát sử dụng phổ biến Về phân lớp liệu, khoá luận đưa toán tổng quan, cho cần gì, đồng thời trình bày phương pháp phân lớp liệu tổng quát từ giúp người đọc hiểu sơ qua toán phân lớp Trình bày toán phân lớp văn bản, cách biểu diễn văn toán phân lớp nào, qua nêu lên phương pháp phân lớp văn Tìm hiểu thuật toán học máy áp dụng vào toán phân lớp văn bao gồm thuật toán phân lớp sử dụng trình học có giám sát học bán giám sát Ở tập trung chủ yếu nghiên cứu trình học bán giám sát, nêu lên số phương pháp học bán giám sát điển hình, sở sâu tìm hiểu thuật toán học bán giám sát SVM Bài toán phân lớp trang Web áp dụng thuật toán bán giám sát SVM nêu lên cụ thể Trong phần thực nghiệm giới thiệu phần mềm mã nguồn mở có tên SVMlin, cách sử dụng phần mềm kết chạy phần mềm V Sindhwani tiến hành năm 2007 Em tải phần mềm nghiên cứu khảo sát song hạn chế thời gian trình độ nên chưa làm chủ thực phần mềm Hướng nghiên cứu thời gian tới Như trình bày trên, hạn chế thời gian kiến thức nên khoá luận chưa thể tìm hiểu sâu, đặc biệt tiến hành thực phần mềm SVMlin khảo sát Vì thời gian tới em tìm hiểu kỹ phần mềm để chủ động nẵm vững việc thực phần mềm, đặc biệt thuật toán học bán giám sát tảng lý thuyết phần mềm [14,15] TÀI LIỆU THAM KHẢO I Tiếng Việt Nguyễn Việt Cường (2006) Sử dụng khái niệm tập mờ biểu diễn văn ứng dụng vào toán phân lớp văn Khóa luận tốt nghiệp đại học, Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội Phạm Thị Thanh Nam (2003) Một số giải pháp cho toán tìm kiếm CSDL Hypertext Luận văn tốt nghiệp cao học, Khoa Công nghệ, ĐHQGHN, 2003 Trần Thị Oanh (2006) Thuật toán self-training co-training ứng dụng phân lớp văn Khóa luận tốt nghiệp đại học, Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội II Tiếng Anh Aixin Sun, Ee-Peng Lim, Wee-Keong Ng Sun (2002) Web classification using support vector machine Proceedings of the 4th International Workshop on Web Information and Data Management, McLean, Virginia, USA, 2002 (ACM Press) Balaij Krishnapuuram, David Williams, Ya Xue,k Alex Hartemink, Lawrence Carin, Masrio A.T.Figueiredo (2005) On Semi-Supervised Classification NIPS: 721-728, 2005 H-J.Oh, S.H.Myaeng, and M-H.Lee (2000) A practical hypertext categorization method using links and incrementally available class information Proc of the 28rd ACM SIGIR2000: 264-271, Athens, GR, 2000 Kristin P Bennett, Ayhan Demiriz (1998) Semi-Supervised Support Vector Machines NIPS 1998: 368-374 Linli Xu, Dale Schuurmans (2005) Unsupervised and Semi-Supervised MultiClass Support Vector Machines AAAI 2005: 904-910 M Craven and S.Slattery (2001) Relational learning with statistical predicate invention: Better models for hypertext Machine Learning, 43(1-2):97-119, 2001 10 Panu Erastox (2001) Support Vector Machines: Background and Practice Academic Dissertation for the Degree of Licentiate of Philosophy University of Helsinki, 2001 11 Paul Pavlidis, llan Wapinski, and William Stafford Noble (2004) Support vector machine classification on the web BIOINFORMATICS APPLICATION NOTE 20(4), 586-587 12 T Joachims (1999) Transductive Inference for Text Classification using Support Vector Machines International Conference on Machine Learning (ICML), 1999 13 T Joachims (2003) Transductive learning via spectral graph partitioning Proceeding of The Twentieth International Conference on Machine Learning (ICML2003): 290-297 14 V Sindhwani, S S Keerthi (2006) Large Scale Semi-supervised Linear SVMs SIGIR 2006 15 V Sindhwani, S.S Keerthi (2007) Newton Methods for Fast Solution of Semisupervised Linear SVMs Large Scale Kernel Machines, MIT Press, 2005 16 Xiaojin Zhu (2005) Semi-Supervised Learning with Graphs PhD thesis, Carnegie Mellon University, CMU-LTI-05-192, May 2005 17 Xiaojin Zhu (2006) Semi-Supervised Learning Literature Survey Computer Sciences TR 1530, University of Wisconsin – Madison, February 22, 2006 18 http://people.cs.uchicago.edu/~vikass/svmlin.html

Ngày đăng: 05/11/2016, 13:37

Tài liệu cùng người dùng

Tài liệu liên quan