1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu SVM và ứng dụng thuật toán

42 1,6K 3

Đ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

Thông tin cơ bản

Định dạng
Số trang 42
Dung lượng 921,5 KB

Nội dung

Đồ án tốt nghiệp đại học TRƯỜNG ĐẠI HỌC VINH KHOA CÔNG NGHỆ THÔNG TIN -------------------------- ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC ĐỀ TÀI: TÌM HIỂU SVM ỨNG DỤNG THUẬT TOÁN SVM VÀO PHÂN LỚP TRANG WEB Sinh viên thực hiện : Nguyễn Văn Thông Mã sinh viên : 0851077270 Lớp : 49K-CNTT Giáo viên hướng dẫn: ThS. Trần Thị Kim Oanh Nghệ An, tháng 12 năm 2012 Nguyễn Văn Thông – lớp 49K – Khoa CNTT Page 1 Đồ án tốt nghiệp đại học 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 nhất tới Cô giáo ThS.Trần Thị Kim Oanh đã tận tình hướng dẫn, động viên, giúp đỡ em trong suốt quá trình thực hiện đề tài. Em xin gửi lời cảm ơn sâu sắc tới quý Thầy Cô trong Khoa Công Nghệ Thông Tin đã truyền đạt kiến thức quý báu cho em trong những năm học vừa qua. Em xin gửi lời cảm ơn các anh chị trong nhóm seminar về khai phá dữ liệu đã nhiệt tình chỉ bảo trong quá trình em làm khoá luận. Con xin nói lên lòng biết ơn đối với Ông Bà, Bố Mẹ luôn là nguồn chăm sóc, động viên trên mỗi bước đường học vấn của con. Xin chân thành cảm ơn các Anh Chị Bạn bè, đặc biệt là các thành viên trong lớp 49K-Tin đã ủng hộ, giúp đỡ động viên tôi trong suốt thời gian học tập bốn năm trên giảng đường đại học thực hiện đề tài. Mặc dù đã cố gắng hoàn thành luận văn trong phạm vi khả năng cho phép nhưng chắc chắn sẽ không tránh khỏi những thiếu sót. Em kính mong nhận được sự cảm thông tận tình chỉ bảo của quý Thầy Cô các Bạn. Em xin chân thành cảm ơn! Nghệ An, tháng 12 năm 2012 Sinh viên Nguyễn Văn Thông Nguyễn Văn Thông – lớp 49K – Khoa CNTT Page 2 Đồ án tốt nghiệp đại học MỞ ĐẦU Trong những năm gần đây, sự phát triển vượt bậc của công nghệ thông tin đã làm tăng số lượng giao dịch thông tin trên mạng Internet một cách đáng kể đặc biệt là thư viện điện tử, tin tức điện tử… Do đó mà số lượng văn bản xuất hiện trên mạng Internet cũng tăng với một tốc độ chóng mặt, tốc độ thay đổi thông tin là cực kỳ nhanh chóng. Với số lượng thông tin đồ sộ như vậy, một yêu cầu lớn đặt ra là làm sao tổ chức tìm kiếm thông tin, dữ liệu có hiệu quả nhất. Bài toán phân lớp là một trong những giải pháp hợp lý cho yêu cầu trên. Nhưng một thực tế là khối lượng thông tin quá lớn, việc phân lớp dữ liệu thủ công là điều không thể. Hướng giải quyết là một chương trình máy tính tự động phân lớp các thông tin dữ liệu trên. Tuy nhiên, khi xử lý các bài toán phân lớp tự động thì gặp phải một số khó khăn là để xây dựng được bộ phân lớp có độ tin cậy cao đòi hỏi phải có một lượng lớn các mẫu dữ liệu huấn luyện tức là các văn bản đã được gán nhãn lớp tương ứng. Các dữ liệu huấn luyện này thường rất hiếm đắt vì đòi hỏi thời gian công sức của con người. Do vậy cần phải có một phương pháp học không cần nhiều dữ liệu gán nhãn có khả năng tận dụng được các nguồn dữ liệu chưa gán nhãn rất phong phú như hiện nay, phương pháp học đó là học bán giám sát. Học bán giám sát chính là cách học sử dụng thông tin chứa trong cả dữ liệu chưa gán nhãn tập huấn luyện, phương pháp học này được sử dụng rất phổ biến vì tính tiện lợi của nó. Vì vậy, đồ án “phân lớp bán giám sát ứng dụng thuật toán SVN vào phân lớp trang web” tập trung vào nghiên cứu bài toán phân lớp sử dụng quá 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 của đồ án được trình bày bao gồm 3 chương. Tổ chức cấu trúc như sau: • Chương 1 Tổng quan về phân lớp bán giám sát. Phần đầu trình bày khái quát về bài toán phân lớp dữ liệu, phân lớp văn bản, một số nét sơ bộ về học có giám sát. Phần cuối của chương giới thiệu các nội dung cơ bản về phương pháp học bán giám sát, trong đó đã giới thiệu một số thuật toán học bán giám sát điển hình. • Chương 2 Sử dụng SVM bán giám sát SVM vào bài toán phân lớp. Khóa luận trình bày những bước hoạt động cơ bản nhất của thuật toán SVM, sau đó nghiên cứu thuật toán học bán giám sát SVM, một cải tiến của SVM được trình bày trong [11]. Khoá luận trình bày một số áp dụng học bán giám sát vào bài toán phân lớp trang Web trong phần cuối cùng của chương. Nguyễn Văn Thông – lớp 49K – Khoa CNTT Page 3 Đồ án tốt nghiệp đại học • Chương 3 Hệ thống thử nghiệm phân loại trang Web đánh giá. Trình bày kết quả nghiên cứu của V. Sindhwani về phần mềm nguồn mở SVMlin [14, 15, 18] mà do chính tác giả đề xuất công bố. Các nghiên cứu này cho thấy phần mềm SVMlin phân lớp bán giám sát văn bản cho độ chính xác cao. Nguyễn Văn Thông – lớp 49K – Khoa CNTT Page 4 Đồ án tốt nghiệp đại học MỤC LỤC MỤC LỤC 5 Chương 1: TỔNG QUAN VỀ PHÂN LỚP BÁN GIÁM SÁT 8 1.1. Phân lớp dữ liệu .8 1.1.1. Bài toán phân lớp dữ liệu 8 1.1.2. Quá trình phân lớp dữ liệu .9 1.2. Phân lớp văn bản .10 1.2.1. Đặt vấn đề .10 1.2.2. Mô hình vector biểu diễn văn bản 10 1.2.3. Phương pháp phân lớp văn bản 15 1.2.4. Ứng dụng của phân lớp văn bản .16 1.2.5. Các bước trong quá trình phân lớp văn bản 16 1.2.6. Đánh giá mô hình phân lớp 18 1.2.7. Các yếu tố quan trọng tác động đến phân lớp văn bản .19 1.3. Một số thuật toán học máy phân lớp .20 1.3.1. Học có giám sát 20 1.3.2. Thuật toán phân lớp sử dụng quá trình học bán giám sát .23 Chương 2: SỬ DỤNG SVM BÁN GIÁM SÁT SVM VÀO BÀI TOÁN PHÂN LỚP. 28 2.1. SVM – Support Vector Machine 28 2.1.1. Thuật toán SVM 29 2.1.2. Huấn luyện SVM 30 2.1.3. Các ưu thế của SVM trong phân lớp văn bản 31 2.2. Bán giám sát SVM phân lớp trang Web 32 2.2.1. Giới thiệu về bán giám sát SVM .32 2.2.2. Phân lớp trang Web sử dụng bán giám sát SVM .34 Chương 3: THỬ NGHIỆM HỌC BÁN GIÁM SÁT PHÂN LỚP TRANG WEB .36 3.1. Giới thiệu phần mềm SVMlin .36 3.1.1. Thuật toán học có giám sát (chỉ sử dụng các dữ liệu đã gán nhãn) 36 Nguyễn Văn Thông – lớp 49K – Khoa CNTT Page 5 Đồ án tốt nghiệp đại học 3.1.2. Bán giám sát (có thể sử dụng các dữ liệu chưa gán nhãn tương đối tốt) .36 3.2 Download SVMlin 37 3.3 Cài đặt: 37 3.4. Sử dụng phần mềm kết quả đánh giá .37 KẾT LUẬN .40 TÀI LIỆU THAM KHẢO 41 I. Tiếng Việt .41 II. Tiếng Anh 41 Nguyễn Văn Thông – lớp 49K – Khoa CNTT Page 6 Đồ án tốt nghiệp đại học Tóm tắt nội dung Hiện nay, với một lượng lớn dữ liệu thì việc phân lớp dữ liệu đóng vai trò rất quan trọng, là một trong những bài toán nan giải trong lĩnh vực xủ lý dữ liệu văn bản. một yêu cầu cơ bản được đặt ra là cần tăng tính hiệu quả của thuật toán phân lớp, nâng cao giá trị của các độ đo hồi tưởng, chính xác của thuật toán. Mặt khác nguồn tài nguyên về ví dụ học có nhãn không phải luôn được đáp ứng, vì thế cần có các thuật toán phân lớp sử dụng các ví dụ chưa có nhãn. Phân lớp bán giám sát đáp ứng được 2 yêu cầu nói trên. Các thuật toán phân lớp bán giám sát tận dụng các nguồn dữ liệu chưa gán nhãn rất phong phú có trong tự nhiên kết hợp với một số dữ liệu đã được gán nhãn cho sẵn. Trong những năm gần đây, phương pháp sử dụng bộ phân loại máy hỗ trợ vector (Support Vector Machine – SVM ) được quan tâm sử dụng nhiều trong lĩnh vực phân loại nhận dạng.từ các công trình khoa học công bố cho thấy phương pháp SVM có khả năng phân loại khá tốt đối với bài toán phân loại văn bản cũng như trong nhiều ứng dụng khác. Trong đồ á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 các nội dung về phần mềm SVMlin do V. Sindhwani đề xuất [18]. Trong năm 2006-2007, V. Sindhwani đã dùng SVMlin tiến hành phân lớp văn bản từ nguồn 20-Newsgroups cho các kết quả tốt [14,15]. Nguyễn Văn Thông – lớp 49K – Khoa CNTT Page 7 Đồ án tốt nghiệp đại học Chương 1: TỔNG QUAN VỀ PHÂN LỚP BÁN GIÁM SÁT 1.1. Phân lớp dữ liệu 1.1.1. Bài toán phân lớp dữ liệu Là quá trình phân lớp một đối tượng dữ liệu vào một hay nhiều lớp cho trước nhờ một mô hình phân lớp mà mô hình này được xây dựng dựa trên một tập hợp các đối tượng dữ liệu đã được gán nhãn từ trước gọi là tập dữ liệu học (tập huấn luyện) [1-3]. Quá trình phân lớp còn được gọi là quá trình gán nhãn cho các đối tượng dữ liệu. Như vậy, nhiệm vụ của bài toán phân lớp dữ liệu là cần xây dựng mô hình (bộ) phân lớp để khi có một dữ liệu mới vào thì mô hình phân lớp sẽ cho biết dữ liệu đó thuộc lớp nào. Có nhiều bài toán phân lớp dữ liệu, như phân lớp nhị phân, phân lớp đa lớp, phân lớp đa trị,…. Phân lớp nhị phân là quá trình tiến hành việc phân lớp dữ liệu vào một trong hai lớp khác nhau dựa vào việc dữ liệu đó có hay không một số đặc tính theo quy định của bộ phân lớp. Phân lớp đa lớp là quá trình phân lớp với số lượng lớp lớn hơn hai. Như vậy, tập hợp dữ liệu trong miền xem xét được phân chia thành nhiều lớp chứ không đơn thuần chỉ là hai lớp như trong bài toán phân lớp nhị phân. Về bản chất, bài toán phân lớp nhị phân là trường hợp riêng của bài toán phân lớp đa lớp. Trong phân lớp đa trị, mỗi đối tượng dữ liệu trong tập huấn luyện cũng như các đối tượng mới sau khi được phân lớp có thể thuộc vào từ hai lớp trở lên. Ví dụ như trang web về việc bùng phát bệnh cúm gia cầm, thủy cầm tại một số tính phía Bắc vừa thuộc về lĩnh vực y tế liên quan đến lây bệnh sang người nhưng cũng thuộc về lĩnh vực kinh tế liên quan đến ngành chăn nuôi… Trong những trường hợp như vậy, việc sắp xếp một tài liệu vào nhiều hơn một lớp là phù hợp với yêu cầu thực tế. Sau đây chúng ta sẽ tìm hiểu khái quát về quá trình phân lớp dữ liệu sơ bộ về phương pháp phân lớp dữ liệu. Nguyễn Văn Thông – lớp 49K – Khoa CNTT Page 8 Đồ án tốt nghiệp đại học 1.1.2. Quá trình phân lớp dữ liệu Hình 1.1: Bài toán phân lớp Quá trình phân lớp dữ liệu thường gồm hai bước: xây dựng mô hình (tạo bộ phân lớp) sử dụng mô hình đó để phân lớp dữ liệu. • Bước 1: một mô hình sẽ được xây dựng dựa trên việc phân tích các đối tượng dữ liệu đã được gán nhãn từ trước. Tập các mẫu dữ liệu này còn được gọi là tập dữ liệu huấn luyện (training data set). Các nhãn lớp của tập dữ liệu huấn luyện được xác định bởi con người trước khi xây dựng mô hình, vì vậy phương pháp này còn được gọi là học có giám sát (supervised learning). Trong bước này, chúng ta còn phải tính độ chính xác của mô hình, mà cần phải sử dụng một tập dữ liệu kiểm tra (test data set). Nếu độ chính xác là chấp nhận được (tức là cao), mô hình sẽ được sử dụng để xác định nhãn lớp cho các dữ liệu khác mới trong tương lai. Trong việc test mô hình, sử dụng các độ đo để đánh giá chất lượng của tập phân lớp, đó là độ hồi tưởng, độ chính xác, độ đo F1 . Nội dung chi tiết về các độ đo này được trình bày trong mục (1.2.6). Nguyễn Văn Thông – lớp 49K – Khoa CNTT Page 9 Đồ án tốt nghiệp đại học Tồn tại nhiều phương pháp phân lớp dữ liệu để giải quyết bài toán phân lớp tùy thuộc vào cách thức xây dựng mô hình phân lớp như phương pháp Bayes, phương pháp cây quyết định, phương pháp k-người láng giềng gần nhất, phương pháp máy hỗ trợ vector Các phương pháp phân lớp khác nhau chủ yếu về mô hình phân lớp. Mô hình phân lớp còn được gọi là thuật toán phân lớp. • Bước 2: sử dụng mô hình đã được xây dựng ở bước 1 để phân lớp dữ liệu mới. Như vậy, thuật toán phân lớp là một ánh xạ từ miền dữ liệu đã có sang một miền giá trị cụ thể của thuộc tính lớp, dựa vào giá trị các thuộc tính của dữ liệu. 1.2. Phân lớp văn bản 1.2.1. Đặt vấn đề Ngày nay phương thức sử dụng giấy tờ trong giao dịch đã dần được số hoá chuyển sang các dạng văn bản lưu trữ trên máy tính hoặc truyền tải trên mạng. Bởi nhiều tính năng ưu việt của tài liệu số như cách lưu trữ gọn nhẹ, thời gian lưu trữ lâu dài, tiện dụng trong trao đổi đặc biệt là qua Internet, dễ dàng sửa đổi… nên càng ngày, số lượng văn bản số tăng lên một cách nhanh chóng đặc biệt là trên World Wide Web. Cùng với sự gia tăng về số lượng văn bản, nhu cầu tìm kiếm văn bản cũng tăng theo. Trong đời thường, phân lớp các văn bản được tiến hành một cách thủ công, nghĩa là chúng ta thực hiện công việc đọc từng văn bản một, xem xét sau đó là gán nó vào một lớp cụ thể nào đó. Cách này sẽ tốn rất nhiều thời gian công sức của con người vì các văn bản là vô vàn, để gán mỗi văn bản vào một lớp đã cho là một vấn đề không thể do đó không khả thi. Với số lượng văn bản đồ sộ thì việc phân lớp văn bản tự động là một nhu cầu bức thiết. Vậy phân lớp văn bản là gì? Phân lớp văn bản (Text Categorization) là việc phân lớp áp dụng đối với dữ liệu văn bản, tức là phân lớp một văn bản vào một hay nhiều lớp văn bản nhờ một mô hình phân lớp; mô hình này được xây dựng dựa trên một tập hợp các văn bản đã được gán nhãn từ trước. Phân lớp văn bản là một lĩnh vực được chú ý nhất đã được nghiên cứu trong những năm gần đây. 1.2.2. Mô hình vector biểu diễn văn bản Như đã trình bày ở phần trên, bước đầu tiên trong qui trình phân lớp văn bản là thao tác chuyển văn bản đang được mô tả dưới dạng chuỗi các từ thành một mô hình khác, sao cho phù hợp với các thuật toán phân lớp. Thông thường người ta thường biểu diễn văn bản bằng mô hình vector, mỗi văn bản được biểu diễn bằng 1 vector trọng số. ý tưởng của Nguyễn Văn Thông – lớp 49K – Khoa CNTT Page 10

Ngày đăng: 14/12/2013, 00:21

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Bài tốn phân lớp - Tìm hiểu SVM và ứng dụng thuật toán
Hình 1.1 Bài tốn phân lớp (Trang 9)
Hình 1.1: Bài toán phân lớp - Tìm hiểu SVM và ứng dụng thuật toán
Hình 1.1 Bài toán phân lớp (Trang 9)
Hình 1.2 văn bản được biểu diễn là vector đặc trưng - Tìm hiểu SVM và ứng dụng thuật toán
Hình 1.2 văn bản được biểu diễn là vector đặc trưng (Trang 12)
Hình 1.2 văn bản được biểu diễn là vector đặc trưng - Tìm hiểu SVM và ứng dụng thuật toán
Hình 1.2 văn bản được biểu diễn là vector đặc trưng (Trang 12)
Hình 1.3: sơ đồ khung quá trình khung lớp văn bản - Tìm hiểu SVM và ứng dụng thuật toán
Hình 1.3 sơ đồ khung quá trình khung lớp văn bản (Trang 18)
Hình 1.3: sơ đồ khung quá trình khung lớp văn bản - Tìm hiểu SVM và ứng dụng thuật toán
Hình 1.3 sơ đồ khung quá trình khung lớp văn bản (Trang 18)
Hình sau minh hoạ cho thuật tốn này: - Tìm hiểu SVM và ứng dụng thuật toán
Hình sau minh hoạ cho thuật tốn này: (Trang 23)
Hình sau minh hoạ cho thuật toán này: - Tìm hiểu SVM và ứng dụng thuật toán
Hình sau minh hoạ cho thuật toán này: (Trang 23)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w