PHƯƠNG PHÁP PHÂN LỚP SUPPORT VECTOR MACHINE (SVM)

58 1.1K 10
PHƯƠNG PHÁP PHÂN LỚP SUPPORT VECTOR MACHINE (SVM)

Đ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

LỜI CẢM ƠN Em xin gửi lời cảm ơn chân thành đến PGS.TS. Đỗ Phúc, người đã truyền đạt những kiến thức quý báu không chỉ là lý thuyết mà còn hướng dẫn cách thức vận dụng chúng vào việc nghiên cứu và khám phá tri thức, đặc biệt trong lĩnh vực Khai phá dữ liệu, giúp em có nhiều hiểu biết hơn và ngày càng yêu thích lĩnh vực này. Em xin chân thành cảm ơn Thầy vì sự hướng dẫn của Thầy trong quá trình thực hiện báo cáo này. Xin chân thành cảm ơn sự giúp đỡ của các anh chị, bạn bè và những người đã thường xuyên trao đổi, thảo luận và đóng góp ý kiến cho tôi về các vấn đề liên quan trong thời gian qua. Mặc dù cố gắng thực hiện báo cáo một cách tốt nhất nhưng chắc chắn rằng không tránh khỏi những thiếu sót. Mong quý Thầy cô và các bạn góp ý. Tôi xin chân thành cảm ơn! Sinh viên thực hiện Lê Thanh Trọng MSHV: CH1101052 Lớp: CH CNTT K6 MỤC LỤC DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM I. GIỚI THIỆU 1.1. Tri thức và phân lớp văn bản Với sự phát triển không ngừng của máy tính nói chung và các thiết bị chứa dữ liệu ngày càng được cải tiến, có dung lượng khổng lồ nói riêng cùng sự bùng nổ thông tin trên Internet thì khối lượng thông tin ngày càng vô cùng lớn. Chắc chắn rằng một đời người không thể nào đọc hay học hết được. Chính vì vậy mà việc tổ chức thông tin hay phân loại thông tin thật sự là một điều quan trọng và cần thiết để chúng ta có thể tìm thấy được những thông tin cần thiết và bổ ích. Thông tin được tổ chức tốt và phân loại hợp lý thì con người mới có thể khai thác, khám phá và tổng hợp các thông tin đó thành các tri thức quý giá. Do đó, phân lớp dữ liệu là điều vô cùng thiết yếu và quan trọng và là tiền đề cơ sở cho việc khám phá tri thức khi thông tin xung quanh ta ngày càng tăng rất nhanh. Trong biển cả thông tin, nếu thông tin không được phân lớp, không được sắp xếp về mặt nội dung thì việc tìm và thu thập tri thức của con người sẽ bị hạn chế. Nhưng với khối thông tin khổng lồ của thế giới thì ai là người thực hiện việc sắp xếp đó? Phải chăng con người ? Đúng vậy, không ai khác hơn chính là con người. Nhưng thật sự con người chỉ có thể thực hiện ở một mức độ nhất định vì không thể nào duyệt bằng tay hết tất cả thông tin và đưa ra quyết định xem thông tin đó được sắp xếp thế nào. Nếu làm như vậy chắc chắn tiêu tốn khối lượng thời gian cực kì lớn. Với tốc độ xử lý ngày càng được cải thiện đáng nể của máy tính thì máy tính là một công cụ hữu hiệu cho việc học, từ đó tổ chức thông tin một cách tự động. Đó được gọi là chiến lược máy học được áp dụng để giải bài toán phân lớp dữ liệu. Trong báo cáo này, tôi xin trình bày dữ liệu ở khía cạnh văn bản vì thông tin hầu hết thông tin hằng ngày được thể hiện ở dạng văn bản. Vì vậy bài toán phân lớp văn bản sẽ là chủ đề chính của báo này. 5 KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM Để giải quyết phần nào bài toán nói trên, tôi đã tìm hiểu về bài toán phân loại văn bản, xây dựng và thử nghiệm một công cụ tự động huấn luyện, phân lớp và tổ chức thông tin theo các chủ đề trên máy tính. Bước đầu tiên tôi thử nghiệm cho kết quả tốt trên tiếng Anh lẫn tiếng Việt. Hi vọng khóa luận có thể đóng góp phần nào cho giải quyết bài toán tổ chức và phân loại thông tin tự động. 1.2. Bài toán phân lớp văn bản Phân lớp văn bản (Text Categorization hay Text Classification) được mô tả như sau: Cho một số lớp văn bản đã được xác định trước, nhiệm vụ của phân lớp văn bản là gán văn bản vào một (hay một số) lớp văn bản thích hợp dựa vào nội dung của văn bản. Trong những năm 80, bài toán phân lớp văn bản được đào sâu nghiên cứu và tìm hiểu hết sức rộng rãi. Ban đầu, các kĩ thuật điều khiển bằng tay tức có sự tham gia của các chuyên gia tri thức ( Knowledge Engineering – KE) được áp dụng trong các hệ thống đưa quyết định phân lớp. Hệ chuyên gia này bao gồm một tập các luật logic được định nghĩa bằng tay, có dạng: If(DNF formula) then (category) Trong đó DNF (Disjunctive Normal Form) bao gồm các mệnh đề liên kết. Một văn bản được phân loại vào category nếu nó thỏa mãn công thức. Một ví dụ nổi tiếng cho cách tiếp cận này là hệ thống CONSTRUE [Hayes et al. 1990], xây dựng bởi Carnegie Group cho tập tin tức Reuters. Bên dưới là một số ví dụ về luật được sử dụng trong CONSTRUE. If ((wheat & farm) or (wheat & commodity) or (bushels & export) or (wheat & tonnes) or (wheat & winter &¬ soft) 6 KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM then WHEAT else ¬ WHEAT Rõ ràng điều bất tiện trong hệ chuyên gia này là các luật được tạo bằng tay và thường gây khó khăn trong việc chỉnh sửa, cập nhật hay bổ sung các luật mới. Đó thật sự là thảm họa hay điều không tưởng khi tập luật ngày càng tăng vì dữ liệu luôn tăng từng ngày, từng giờ. Bên cạnh đó, nếu lĩnh vực thay đổi thì các chuyên gia phải xây dựng lại từ đầu tập luật cho lĩnh vực đó. Điều này sẽ làm tiêu tốn rất nhiều thời gian và công sức. Chính vì vậy đầu thập kỷ 90, cách tiếp cận máy học (Machine Learning) dùng khám phá nguồn tri thức xung quanh nói chung và dùng trong bài toán phân lớp văn bản nói riêng được coi là nổi tiếng và trở nên chiếm ưu thế trong giới nghiên cứu cũng như trong việc ứng dụng thực tiễn. Với phương pháp máy học, sự cố gắng về phương diện công việc của kỹ sư theo hướng không phải xây dựng một phân lớp mà xây dựng một phân lớp tự động (học) từ một tập hợp các tài liệu đã được phân loại bằng tay. Trong các tiếp cận máy học, các tài liệu đã được phân lớp trở thành nguồn. Trường hợp thuận lợi nhất, chúng đã có sẵn, khi đó quá trình phân loại bắt đầu bằng việc học từ tập dữ liệu này, sau đó sẽ thực hiện phân loại tự động với các tài liệu khác. Trường hợp ít thuận lợi, không có sẵn tài liệu đã phân loại bằng tay; khi đó quá trình phân loại bắt đầu một hành động phân loại và chọn một phương pháp tự động ngay lập tức. Do đó, cách tiếp cận máy học là thuận lợi hơn cách tiếp cận kỹ sư tri thức. I.3. Mô hình phân lớp Phương pháp máy học đã mang lại kết quả ấn tượng và vô cùng hiệu quả với nhiều kỹ thuật được đề xuất và khiến cho phân lớp tự động trở thành xu thế và là lựa chọn cho việc phân lớp bằng tay. Sau đây là mô hình phân lớp văn bản dựa vào kỹ thuật máy học. 7 KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM Hình 1.1: Bài toán phân loại văn bản dựa trên kỹ thuật máy học Cách tiếp cận máy học dựa trên một tập dữ liệu có sẵn từ đầu Ω= {d 1 , …, d |Ω| } ⊂D, trong đó D làtập tất cả các tài liệu đã được phân lớp trước, d j là văn bản thứ j, Tập các lớp C={c 1 , …, c |C| }, c i là kí hiệu của lớp thứ i. Hàm { } FTDxC ,: →Φ ∪ với mọi xCcd ij Ω∈, , Một tài liệu d j là mẫu dương của c i nếu ( ) Tcd =Φ ∪ , , và là một mẫu âm nếu ( ) Fcd =Φ ∪ , . Với mỗi cách phân loại được đưa ra, người ta mong muốn đánh giá được hiệu quả phân loại của chúng. Bởi vậy, trước khi xây dựng phân loại người ta chia tập dữ liệu ban đầu thành 2 tập hợp: 8 KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM Tập huấn luyện Tr={d 1 , …, d |TV| }. Phân lớp Φ cho các phân loại C={c 1 , …, c |C| } được xây dựng quy nạp dựa trên sự quan sát các đặc trưng của các tài liệu trong Tr. Tập kiểm tra Te={d |TV+1| , …d | Ω | }, được sử dụng để kiểm tra hiệu quả của phân lớp. Mỗi d j ∈T e được đưa vào hệ thống phân lớp để xác định giá trị, và so sánh giá trị này với quyết định ( ) cd, Φ  của chuyên gia. Hiệu quả của phân lớp dựa trên sự phù hợp giữa ( ) cd,Φ và ( ) cd, ∪ Φ . Số tài liệu trong tập luyện và tập kiểm tra thường được chọn theo tỷ lệ tương ứng là 70% và 30%. Trong đó, φ =∩ TeTr , nếu điều kiện này bị vi phạm thì kết quả đánh giá hiệu quả của mô hình mất đi yếu tố khách quan, khoa học. Phân loại văn bản chủ yếu dựa trên cơ chế rút trích thông tin. Kỹ thuật rút trích thông tin được sử dụng trong 3 giai đoạn của quá trình phân loại văn bản: 1 -Đánh chỉ số: các văn bản ở dạng thô cần được chuyển sang một dạng biểu diễn nào đó để xử lý. Quá trình này được gọi là quá trình biểu diễn văn bản, dạng biểu diễn của văn bản phải có cấu trúc và dễ dàng xử lý. 2 -Kỹ thuật: kỹ thuật ở đây là phương pháp học để phân loại văn bản, nó thường được sử dụng trong quá trình xây dựng quy nạp của các phân loại. 3 - Đánh giá: đánh giá hiệu quả của các phân lớp được thực hiện. Sự khác nhau trong các cách tiếp cận trước đây phần lớn là để giải quyết (2) mặc dù trong một số ít đề xuất cũng sử dụng (1) và (3). Hầu hết các phương pháp phân loại văn bản dựa trên kỹ thuật máy học hiện nay đều dựa vào tần suất xuất hiện (số lần xuất hiện) của từ hoặc cụm từ trong văn 9 KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM bản, hoặc dựa vào tần suất xuất hiện của từ trong văn bản và tần suất văn bản (số các văn bản trong tập dữ liệu huấn luyện có chứa từ đó). Độ chính xác của kết quả tách từ có ảnh hưởng rất lớn đến kết quả của phân loại, không thể có một kết quả phân loại tốt nếu như không tách được đúng các từ trong văn bản. Bởi vậy, một vấn đề quan trọng đối với phân loại văn bản là phải tách được chính xác các từ trong văn bản. Các văn bản được viết bằng các ngôn ngữ khác nhau thì có đặc trưng riêng của ngôn ngữ đó, và không có một phương pháp chung nào để tách các từ trong các văn bản được viết bằng các ngôn ngữ khác nhau. Tóm lại, một bài toán phân loại văn bản dựa trên kỹ thuật máy học gồm các bước sau: - Chuẩn bị tập dữ liệu huấn luyện (Training Set) và tập dữ liệu kiểm tra (Test Set). - Tách từ trong văn bản. - Biểu diễn văn bản. - Phương pháp học để phân loại văn bản. - Đánh giá hiệu quả của phương pháp học. I.4. Phương pháp biểu diễn văn bản Các chuỗi tách được trong văn bản có thể là từ theo đúng định nghĩa trong tiếng Việt, nhưng cũng có khi là các ký hiệu viết tắt, các từ phiên âm tên nước ngoài, … ví dụ, cty (công ty), btc (ban tổ chức), lđbđvn (liên đoàn bóng đá Việt Nam), … Mà các kí hiệu này nhiều khi lại có giá trị thông tin cao để biểu diễn văn bản. Do đó, để dễ diễn đạt chúng ta định nghĩa: - Thuật ngữ hoặc từ: là một chuỗi các kí tự xuất hiện trong văn bản, mà không phải là dấu câu, con số, từ dừng. - Từ đặc trưng: Sau khi dùng các phương pháp trích chọn thuật ngữ để biểu diễn văn bản, ta thu được một tập các thuật ngữ T ’ từ tập thuật ngữ ban đầu T (T ’ <<T), thì mỗi thuật ngữ trong T ’ được gọi là từ đặc trưng (dùng để biểu diễn văn bản), hay thuật ngữ đặc trưng. 10 [...]... nghiên cứu phương pháp SVM trong phân loại văn bản Chi tiết của phương pháp này và kết quả thực nghiệm được tôi trình bày trong phần 3 Hình 2.4: Siêu phẳng phân lớp của SVM 31 KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU 32 PHÂN LỚP VĂN BẢN VỚI SVM KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM III PHƯƠNG PHÁP PHÂN LỚP SUPPORT VECTOR MACHINE (SVM) 3.1 Giới thiệu phương pháp SVM Support Vector Machines (SVM)là... sánh giữa các phương pháp phân loại văn bản Có nhiều phương pháp phân loại văn bản được đề xuất, sự khác nhau cơ bản giữa các phương pháp này là ở thuật toán học quy nạp Nhiều thực nghiệm cho thấy các phương pháp như: cây quyết định (decision tree), k-láng giềng gần nhất (k-nearest neighbors), phương pháp sử dụng các vector hỗ trợ (Support Vector Machines) là những phương pháp có hiệu quả phân loại cao... sánh phương pháp SVM với các phương pháp khác 34 95.4 86.2 KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM Từ kết quả bảng 3.1 ta thấy phương pháp SVM rất thích hợp cho phân loại văn bản Sau đây chúng ta sẽ tìm hiểu về bài toán phân loại văn bản sử dụng phương pháp SVM 3.2 Các trường hợp của bài toán Chúng ta hãy xem xét một bài toán phân loại văn bản bằng phương pháp Support Vector Machines... làm của hai phương pháp này là qúa trình học ngưỡng tối ưu 2.6 Phương pháp Centroid – Based Vector Là một phương pháp phân loại đơn giản, dễ cài đặt và tốc độ nhanh do có độ phức tạp tuyến tính O(n) Ý tưởng của phương pháp là tìm ra vector trọng tâm sẽ đại diện cho mỗi nhóm và các vector đại diện này sẽ quyết định kết quả phân lớp một văn bản d (vector) dựa vào khoảng cách của d với các vector trọng... Cx)= arg max (cos(x,Ci)) 2.7 Phương pháp Support Vector Machine (SVM) SVM là phương pháp phân loại rất hiệu quả được Vapnik giới thiệu năm 1995 30 KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM Ý tưởng của phương pháp là cho trước một tập huấn luyện được biểu diễn trong không gian vector, trong đó mỗi một văn bản được xem như một điểm trong không gian này .Phương pháp này tìm ra một siêu mặt... số lượng văn bản chứa t i càng ít Điều đó có 15 KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM nghĩa là ti là thuật ngữ quan trọng để phân biệt văn bản d j với các văn bản khác trong cơ sở dữ liệu c Phương pháp TF × IDF Phương pháp này, thực chất là sự kết hợp của phương pháp TF và phương pháp IDF Theo phương pháp này, trọng số w ij được tính bằng tần số xuất hiện của thuật ngữ ti trong văn... gần nhất, mạng nơron, Những phương pháp này đã cho kết quả chấp nhận được và được sử dụng trong thực tế Trong những năm gần đây, phương pháp phân loại sử dụng Bộ phân loại vector hỗ trợ (SVM) được quan tâm và sử dụng nhiều trong những lĩnh vực nhận dạng và phân loại SVM là một họ các phương pháp dựa trên cơ sở các hàm nhân (kernel) để tối thiểu hóa rủi ro ước lượng Phương pháp SVM ra đời từ lý thuyết... Do đó, trước khi thực hiện phân loại, chúng ta phải tìm hiểu về các hướng tiếp cận cho việc tách từ tiếng Việt, một vấn đề khá thú vị không kém các phương pháp phân loại I.7 Tình hình nghiên cứu bài toán phân loại văn bản 18 KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM Trong lĩnh vực khai phá dữ liệu, các phương pháp phân loại văn bản đã dựa trên những phương pháp quyết định như quyết định... trong những khó khăn trong việc áp dụng những thuật toán phân loại văn 19 KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM bản vào tiếng Việt là xây dựng được tập hợp từ vựng của văn bản Vấn đề này liên quan tới việc phân tách một câu thành các từ một cách chính xác II MỘT SỐ PHƯƠNG PHÁP PHÂN LỚP 2.1 Phương pháp cây quyết định Phương pháp cây quyết định được Mitchell đưa ra vào năm 1996 Nó... hợp với từng bài toán cụ thể Trong phần này chúng tôi xin trình bày phương pháp biểu diễn văn bản theo không gian vector dựa vào tần suất, đây được coi là một hướng tiếp cận tương đối đơn giản và hiệu quả để biểu diễn văn bản Và cũng là phương pháp được sử dụng để cài đặt thuật toán phân loại văn bản theo phương pháp Support Vector Machine, được trình bày trong phần sau của luận văn Trong mô hình tần . phương pháp như: cây quyết định (decision tree), k-láng giềng gần nhất (k-nearest neighbors), phương pháp sử dụng các vector hỗ trợ (Support Vector Machines) là những phương pháp có hiệu quả phân. các phương pháp phân loại văn bản Có nhiều phương pháp phân loại văn bản được đề xuất, sự khác nhau cơ bản giữa các phương pháp này là ở thuật toán học quy nạp. Nhiều thực nghiệm cho thấy các phương. SỐ PHƯƠNG PHÁP PHÂN LỚP 2.1. Phương pháp cây quyết định Phương pháp cây quyết định được Mitchell đưa ra vào năm 1996. Nó được sử dụng rộng rãi nhất cho việc học quy nạp từ tập mẫu lớn. Đây là phương

Ngày đăng: 09/04/2015, 22:47

Từ khóa liên quan

Mục lục

  • I. GIỚI THIỆU

    • 1.1. Tri thức và phân lớp văn bản

    • 1.2. Bài toán phân lớp văn bản

    • I.3. Mô hình phân lớp

    • I.4. Phương pháp biểu diễn văn bản

      • I.4.1. Các kỹ thuật trích chọn đặc trưng của văn bản

      • Bảng 1.1: Một số từ dừng trong văn bản tiếng Việt

      • Bảng 1.2: Một số hàm tính toán giá trị thông tin của từ trong phân loại

        • I.4.2. Phương pháp biểu diễn văn bản bằng mô hình không gian vector

        • I.5. Phương pháp đánh giá hiệu quả phân lớp

        • Bảng 1.3: Định nghĩa các tỷ lệ để đánh giá hiệu quả phân lớp

          • I.6. So sánh giữa các phương pháp phân loại văn bản

          • I.7. Tình hình nghiên cứu bài toán phân loại văn bản

          • II. MỘT SỐ PHƯƠNG PHÁP PHÂN LỚP

            • 2.1. Phương pháp cây quyết định

            • Bảng 2.1: Biểu diễn văn bản bằng vector nhị phân

              • 2.2. Phương pháp K-Nearest Neighbor (kNN)

              • 2.3. Phương pháp Naïve – Bayes (NB)

              • 2.4. Phương pháp Neural Network (NNet)

              • 2.5. Phương pháp Linear Least Square Fit (LLSF)

              • 2.6. Phương pháp Centroid – Based Vector

              • 2.7. Phương pháp Support Vector Machine (SVM)

              • III. PHƯƠNG PHÁP PHÂN LỚP SUPPORT VECTOR MACHINE (SVM)

                • 3.1. Giới thiệu phương pháp SVM

                • Bảng 3.1: So sánh phương pháp SVM với các phương pháp khác

                  • 3.2. Các trường hợp của bài toán

                  • 3.2.1. Trường hợp 1

                  • 3.2.2. Trường hợp 2

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

Tài liệu liên quan