Học máy theo phương pháp máy vectơ tựa SVM

Một phần của tài liệu (LUẬN văn THẠC sĩ) phân loại thư rác bằng phương pháp học máy (Trang 44)

2.2.1. Giới thiệu SVM

Máy vectơ hỗ trợ SVM là một khái niệm trong thống kê và khoa học máy tính cho một tập hợp các phương pháp học cĩ giám sát liên quan đến nhau để phân loại và phân tích hồi quy. SVM dạng chuẩn nhận dữ liệu vào và phân loại chúng vào hai lớp khác nhau. Do đĩ SVM là một thuật tốn phân loại nhị phân. Với một bộ các ví dụ luyện tập thuộc hai thể loại cho trước, thuật tốn luyện tập SVM xây dựng một mơ hình SVM để phân loại các ví dụ khác vào hai thể loại đĩ.

Một mơ hình SVM là một cách biểu diễn các điểm trong khơng gian và lựa chọn ranh giới giữa hai thể loại sao cho khoảng cách từ các ví dụ luyện tập tới ranh giới là xa nhất cĩ thể. Các ví dụ mới cũng được biểu diễn trong cùng một khơng gian và được thuật tốn dự đốn thuộc một trong hai thể loại tùy vào ví dụ đĩ nằm ở phía nào của ranh giới. Các thử nghiệm thực tế cho thấy, phương pháp SVM cĩ khả năng phân loại khá tốt đối với bài tốn phân loại văn bản cũng như trong nhiều ứng

37

dụng khác (như nhận dạng chữ viết tay, phát hiện mặt người trong các ảnh, ước lượng hồi quy,...). So sánh với các phương pháp phân loại khác, khả năng phân loại của SVM là tương đương hoặc tốt hơn đáng kể.

2.2.2. Mơ tả thuật tốn

Đặc trưng cơ bản quyết định khả năng phân loại của một bộ phân loại là hiệu suất tổng quát hĩa, hay là khả năng phân loại những dữ liệu mới dựa vào những tri thức đã tích lũy được trong quá trình huấn luyện. Thuật tốn huấn luyện được đánh giá là tốt nếu sau quá trình huấn luyện, hiệu suất tổng quát hĩa của bộ phân loại nhận được cao.

Hiệu suất tổng quát hĩa phụ thuộc vào hai tham số là sai số huấn luyện và năng lực của máy học. Trong đĩ sai số huấn luyện là tỷ lệ lỗi phân loại trên tập dữ liệu huấn luyện. Cịn năng lực của máy học được xác định bằng kích thước Vapnik- Chervonenkis (kích thước VC). Kích thước VC là một khái niệm quan trọng đối với một họ hàm phân tách (hay là bộ phân loại). Đại lượng này được xác định bằng số điểm cực đại mà họ hàm cĩ thể phân tách hồn tồn trong khơng gian đối tượng. Một bộ phân loại tốt là bộ phân loại cĩ năng lực thấp nhất (cĩ nghĩa là đơn giản nhất) và đảm bảo sai số huấn luyện nhỏ. Phương pháp SVM được xây dựng dựa trên ý tưởng này.

Xét bài tốn phân loại đơn giản nhất - phân loại hai phân lớp với tập dữ liệu huấn luyện bao gồm n mẫu được cho dưới dạng xi,yi

, i=1,….n. Trong đĩ,

m i

x  là véctơ bao gồm m phần tử chứa giá trị của m thuộc tính hay đặc trưng và

yi là nhãn phân loại cĩ thể nhận giá trị +1 (tương ứng với các mẫu xi thuộc lĩnh vực quan tâm) hoặc -1 ( tương ứng các mẫu xi khơng thuộc lĩnh vực quan tâm).

Cĩ thể hình dung dữ liệu như các điểm trong khơng gian ơclit m chiều và được gán nhãn. SVM được xây dựng trên cơ sở hai ý tưởng chính.

Ý tưởng thứ nhất là ánh xạ dữ liệu gốc sang một khơng gian mới gọi là khơng gian đặc trưng với số chiều lớn hơn sao cho trong khơng gian mới cĩ thể xây dựng một siêu phẳng cho phép phân chia dữ liệu thành hai phần riêng biệt, mỗi phần bao

38

gồm các điểm cĩ cùng nhãn phân loại. Ý tưởng ánh xạ sang khơng gian đặc trưng được minh hoạ trên hình 2.1.

Hình 2.1. Ánh xạ dữ liệu từ khơng gian gốc sang khơng gian đặc trưng cho phép phân chia dữ liệu bởi siêu phẳng

Ý tưởng thứ hai là trong số những siêu phẳng như vậy cần lựa chọn siêu phẳng cĩ lề lớn nhất. Lề ở đây là khoảng cách từ siêu phẳng tới các điểm gần nhất nằm ở hai phía của siêu phẳng (mỗi phía tương ứng với một nhãn phân loại). Lưu ý rằng siêu phẳng nằm cách đều các điểm gần nhất với nhãn khác nhau. Trên hình 2.2. là minh hoạ siêu phẳng (đường liền nét) với lề cực đại tới các điểm dữ liệu biểu diễn bởi các hình trịn và hình vuơng.

Hình 2.2. Siêu phẳng với lề cực đại cho phép phân chia các hình vuơng khỏi các hình trịn trong khơng gian đặc trưng

39

Để tránh việc tính tốn trực tiếp với dữ liệu trong khơng gian mới, ta sử dụng một phương pháp gọi là thủ thuật nhân bằng cách tìm một hàm nhân K sao cho:

 a b b a K     , ) , ( (2.16)

Sử dụng phương pháp nhân tử Lagrăng và thay thế tích vơ hướng của hai vec tơ bằng giá trị hàm nhân theo cơng thức (2.16), bài tốn tìm lề cực đại của SVM được đưa về bài tốn quy hoạch tốn học bậc hai như sau:

Tìm vec tơ hệ số (1,2,...,n) cho phép cực tiểu hố hàm mục tiêu         n i i n i n j j i j i j iy K x x y 1 1 1 ) , ( 2 1 ) W(     (2.17)

đồng thời thoả mãn các điều kiện

   n i i i y 1 0  (2.18) Và 0 i C (2.19) Trong (2.17), (2.18), (2.19), xi

yi tương ứng là dữ liệu và nhãn phân loại của ví dụ huấn luyện thứ i, i là hệ số cần xác định. Trong ràng buộc (2.19), C là số lượng tối đa các điểm dữ liệu cĩ phân loại sai, tức là các điểm nằm ở phía này của siêu phẳng nhưng lại cĩ nhãn của các điểm nằm ở bên kia. Việc sử dụng C cho phép khắc phục tình trạng dữ liệu huấn luyện cĩ các ví dụ bị gán nhãn khơng chính xác.

Quá trình huấn luyện SVM là quá trình xác định i. Cĩ nhiều phương pháp cho phép tính i từ dữ liệu huấn luyện một cách hiệu quả trong đĩ thơng dụng nhất là tối ưu tuần tự SMO [9]. Sau khi huấn luyện xong, giá trị nhãn phân loại cho một ví dụ mới x sẽ được tính bởi     n i i i i K x x b y sign x f 1 ) ) , ( ( ) (    (2.20)

Ở đây, b được tính trong giai đoạn huấn luyện theo cơng thức sau     n j j i j j i y K x x y b 1 ) , (   (2.21)

40

2.2.2. Huấn luyện SVM

Huấn luyện SVM là việc giải bài tốn quy hoạch tồn phương SVM. Các phương pháp số giải bài tốn quy hoạch này yêu cầu phải lưu trữ một ma trận cĩ kích thước bằng bình phương của số lượng mẫu huấn luyện. Trong những bài tốn thực tế, điều này là khơng khả thi vì thơng thường kích thước của tập dữ liệu huấn luyện thường rất lớn (cĩ thể lên tới hàng chục nghìn mẫu). Nhiều thuật tốn khác nhau được phát triển để giải quyết vấn đề nêu trên. Những thuật tốn này dựa trên việc phân rã tập dữ liệu huấn luyện thành những nhĩm dữ liệu. Điều đĩ cĩ nghĩa là bài tốn quy hoạch tồn phương lớn được phân dã thành các bài tốn quy hoạch tồn phương với kích thước nhỏ hơn. Sau đĩ, những thuật tốn này kiểm tra các điều kiện Karush–Kuhn–Tucker (KKT) [2] để xác định phương án tối ưu.

Một số thuật tốn huấn luyện dựa vào tính chất: nếu trong tập dữ liệu huấn luyện của bài tốn quy hoạch tồn phương con cần giải ở mỗi bước cĩ ít nhất một mẫu vi phạm các điều kiện KKT, thì sau khi giải bài tốn này, hàm mục tiêu sẽ tăng. Như vậy, một chuỗi các bài tốn quy hoạch tồn phương con với ít nhất một mẫu vi phạm các điều kiện KKT được đảm bảo hội tụ đến một phương án tối ưu. Do đĩ, ta cĩ thể duy trì một tập dữ liệu làm việc đủ lớn cĩ kích thước cố định và tại mỗi bước huấn luyện, ta loại bỏ và thêm vào cùng một số lượng mẫu.

2.2.3. Ứng dụng trong phân loại thư rác

Đối với bài tốn phân loại rác, giống như phần phân loại Bayes (mục 2.1.3), thuật tốn SVM xem mỗi vec tơ xi

là một vec tơ đặc trưng biểu diễn cho nội dung thư và yi là nhãn phân loại đối với dữ liệu huấn luyện. Tương tự như phần phân loại Bayes, giá trị xi cĩ thể là 0 hoặc 1.

Thư mới x

được phân loại theo cơng thức (2.17):

    n i i i i K x x b y sign x f 1 ) ) , ( ( ) (   

Nếu f x( ) 0 thì thư đĩ thuộc lớp +1 là thư rác; ngược lại f x( )< 0 thì thư đĩ thuộc lớp -1 tương ứng với thư bình thường.

41

SVM là phương pháp phân loại tự động tương đối mới [6], cĩ cơ sở lý thuyết rõ ràng dựa trên khái niệm chiều VC về khả năng khái quát hố cho phân loại mẫu mới. Ngồi ra, nhiều thử nghiệm với các ứng dụng khác nhau cho thấy SVM là một trong những phương pháp phân loại cĩ độ chính xác cao nhất.

2.3. Xây dựng mơ hình lọc thư rác dựa trên học máy cĩ giám sát

2.3.1. Lựa chọn mơ hình và thuật tốn

Theo nhiều báo cáo, thuật tốn Support Vec tơ Machine cho kết quả phân loại tốt và ổn định. Trong khi đĩ, thuật tốn Nạve Bayes đơn giản và cũng cho kết quả phân loại tương đối tốt với chi phí thấp.

Mơ hình sẽ bao gồm 3 bước chính: 1. Tiền xử lý dữ liệu

2. Huấn luyện dữ liệu

3. Thử nghiệm đánh giá độ chính xác của mơ hình học máy

2.3.2. Xây dựng hệ thống

Sau đây là chi tiết cài đặt mơ hình bao gồm các bước và các thuật tốn tương ứng được cài đặc cho mỗi bước.

2.3.2.1 Tiền xử lí dữ liệu

Phần tiền xử lí dữ liệu được coi là một trong những phần quan trọng nhất trong phân loại thư rác. Cĩ nhiều cơng trình nghiên cứu về vấn đề này. Tuy nhiên, cho đến nay vẫn chưa đưa ra được phương pháp tiếp cận cĩ hiệu quả nhất vì nhiều lý do. Nhưng cĩ lẽ lý do quan trọng nhất là độ phức tạp, tính linh hoạt của ngơn ngữ. Ví dụ: các từ đồng âm, các cụm động từ, các thành ngữ ... phong thái ngơn ngữ khác nhau của từng vùng miền. Chính vì vậy, mỗi cách phân loại đều cĩ ưu và nhược điểm riêng. Ở đây, luận văn trình bày 2 phương pháp tiếp cận: một phương pháp cổ điển và một phương pháp hiện đại.

42

Hình 2.3. Tiền xử lý dữ liệu

Theo cách tiếp cận này, sẽ bao gồm 6 bước chính:

1. Loại bỏ nhiễu : Bao gồm việc loại bỏ các thẻ HTML, các số, các dấu gạch nối và các từ dừng (stop word). Từ dừng là những từ thường xuất hiện nhưng khơng cĩ ích trong việc phân lớp văn bản. Cĩ thể nêu một số từ dừng trong tiếng Việt như “và”, “là”, “thì”, “như vậy”,…, trong tiếng Anh như “and”, “or”, “the”,…Thơng thường từ dừng là các trạng từ, liên từ, giới từ. (i) Đầu vào là văn bản thơ; (ii) Đầu ra là văn bản tinh. Việc loại bỏ thẻ HTML cĩ 2 cách tiếp cận: (i) sử dụng regular expression (các biểu thức luật) đã được cài sẵn trong thư viện của frameword .NET; (ii) sử dụng một vịng for đơn giản để xử lí. Cách thứ (2) đạt tốc độ nhanh hơn rất nhiều, gấp khoảng hơn 10 lần so với cách (1), cĩ độ phức tạp O(n). Loại bỏ các stop word, bằng cách sử dụng một list các từ stop word. Kiểm tra lần lượt các từ trong văn bản xem cĩ thuộc list này khơng. Nếu cĩ thì loại bỏ.

2. Sửa lỗi chính tả : Đầu vào là văn bản tinh. Sau bước xử lý này sẽ loại bỏ các lỗi chính tả do người dùng vơ tình mắc phải nhằm tăng độ chính xác cho phần tiền xử lý. Thơng thường phần dữ liệu đầu vào là chuẩn, do đĩ số lỗi chính tả gần như khơng cĩ. Nên việc bỏ qua phần sửa lỗi khơng ảnh hưởng nhiều so với kết quả trong thực tế.

43

3. Đưa từ về dạng gốc : Để đưa từ về dạng gốc ta cĩ 2 phương pháp (i) Phương pháp được đưa ra từ những năm 80, thuật tốn Porter Stemmer. Đây là thuật tốn đơn giản và là thuật stemming tốt nhất. Thuật tốn bao gồm 6 bước xử lý nhỏ, mỗi bước xử lý từng trương hợp nhỏ riêng biệt; (ii) Sử dụng một từ điển gồm: khĩa là một từ cụ thể, giá trị của nĩ chính là từ đã được đưa về dạng gốc của nĩ. Để tiến hành đưa từ về dạng gốc, ta sẽ tìm xem trong dictionary cĩ từ đĩ khơng. Nếu cĩ ta chuyển từ đĩ thành từ gốc tương ứng.

4. Tách từ : Trong hầu hết các nghiên cứu lọc thư rác tiếng Anh, đặc trưng được sử dụng là những từ riêng lẻ. Do đặc điểm của tiếng Anh nên việc xác định từ trong câu rất đơn giản, mỗi từ được phân cách với từ khác bằng dấu cách hoặc các dấu trắng khác. Đối với tiếng Việt, từ cĩ thể bao gồm nhiều tiếng, ví dụ từ “đặc trưng” bao gồm hai tiếng “đặc” và “trưng”. Trong khi cĩ thể tách từng tiếng một cách dễ dàng thì việc xác định từ hồn tồn khơng đơn giản. Ngồi, ra do từ bao gồm nhiều tiếng, việc sử dụng tần suất các đặc trưng như trong phân loại Bayes cĩ thể bị ảnh hưởng và cho kết quả khác với thư tiếng Anh và do vậy cần xác định thơng qua nghiên cứu thử nghiệm. Vấn đề tách từ cho văn bản tiếng Việt đã được trình bày trong nhiều kết quả nghiên cứu với những cách tiếp cận khác nhau như sử dụng từ vựng [1], sử dụng thống kê từ Internet, sử dụng mơ hình Markov ẩn, sử dụng giải thuật di truyền [2]. Tuy nhiên, khi sử dụng để lọc thư, các phương pháp này đều địi hỏi một khối lượng tính tốn nhất định trước khi tách được các từ. Đối với hệ thống lọc thư trên các mail server với lưu lượng thư lớn, giai đoạn tách từ cĩ thể làm chậm tốc độ lọc thư và ảnh hưởng đáng kể tới tốc độ tồn hệ thống. Để đảm bảo tốc độ lọc thư được tốt, luận văn khơng sử dụng những giải pháp tách từ phức tạp mà coi mỗi đặc trưng là một k-gram tức là mỗi đặc trưng sẽ gồm

k tiếng đứng gần nhau và khơng bị phân tách bởi các dấu câu hoặc các từ dừng (stop word). Vấn đề đặt ra là lựa chọn k bằng bao nhiêu thì hợp lý. Trước khi tách từ, nội dung thư được tiền xử lý bằng cách bỏ các thẻ

44

HTML (nếu cĩ) và các từ dừng. Từ dừng là những từ đĩng vai trị liên kết trong văn bản như “và”, “thì”, “mà”, “nhưng”, “song”.v.v. và khơng cĩ ảnh hưởng tới ý nghĩa của thư. Thư tiếng Anh cũng được xử lý tương tự. Ngồi ra, các từ cịn được xử lý bằng cách sử dụng thuật tốn stemming của Porter [11].

5. Trích chọn đặc trưng : sau khi tách được các đặc trưng dưới dạng k-gram như trên, vấn đề tiếp theo là quyết định số lượng đặc trưng sẽ sử dụng. Nếu thống kê trong tồn bộ tập dữ liệu huấn luyện thì số lượng đặc trưng cĩ thể lên tới vài chục nghìn và mỗi vec tơ x

tương ứng với một thư sẽ cĩ đa số giá trị xi = 0. Rất nhiều đặc trưng - từ khơng liên quan tới việc thư cĩ là thư rác hay khơng. Việc sử dụng tất cả các đặc trưng như vậy ngồi việc làm chậm tốc độ phân loại cịn cĩ thể làm giảm độ chính xác phân loại. Do đĩ, các nghiên cứu về phân loại văn bản và lọc thư thường loại bỏ những đặc trưng khơng liên quan tới nhãn phân loại và chỉ giữ lại những đặc trưng cĩ liên quan. Cĩ nhiều phương pháp trích chọn đặc trưng liên quan. Luận văn sử dụng hai phương pháp. Phương pháp thứ nhất loại bỏ những đặc trưng xuất hiện trong quá ít thư hoặc xuất hiện trong quá nhiều thư. Nếu đặc trưng xuất hiện trong quá ít thư thì đĩ là những đặc trưng xuất hiện tình cờ và khơng phụ thuộc vào nhãn phân loại. Trong thực nghiệm, những đặc trưng xuất hiện trong ít hơn 3 thư sẽ bị loại. Ngược lại, nếu đặc trưng xuất hiện trong hầu hết các thư thì đĩ là những đặc trưng phổ biến trong bất kỳ thư nào và do vậy cũng khơng chứa thơng tin về phân loại của thư. Phương pháp thứ hai sử dụng độ đo thơng tin tương hỗ

Một phần của tài liệu (LUẬN văn THẠC sĩ) phân loại thư rác bằng phương pháp học máy (Trang 44)

Tải bản đầy đủ (PDF)

(67 trang)