3. Bố cục và cấu trúc của luận văn
3.6. Phƣơng pháp SVM Support Vector Machine
Trong những năm gần đây, phƣơng pháp phân loại sử dụng SVM (Support Vector Machine) đƣợ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 thực nghiệm. Phƣơng pháp SVM ra đời từ lý thuyết thống kê do Vapnik và Chervonenkis đề xuất và xây dựng năm 1995,
đây là phƣơng pháp có nhiều tiềm năng phát triển về mặt lý thuyết cũng nhƣ ứng dụng trong thực tiễn. Các thử nghiệm thực tế cho thấy, phƣơng pháp SVM có khả năng phân loại 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 (nhƣ nhận dạng mẫu chữ viết tay, phát hiện mặt ngƣời trong các hình ảnh, ƣớc lƣợng hồi quy…) So với các phƣơng pháp phân loại khác, khả năng phân loại của SVM ít nhất là tƣơng đƣơng hoặc tốt hơn rất nhiều [14].
Ý tƣởng của SVM là với một tập dữ huấn luyện cho trƣớc ta sẽ biểu diễn nó trong không gian vector với mỗi điểm đại diện cho một văn bản. SVM sẽ tìm ra một siêu mặt phẳng quyết định nhằm phân tách không gian vector thành hai phân lớp riêng biệt tƣơng ứng với lớp các mẫu dƣơng (+) và lớp các mẫu âm (–). Ở đây, lớp các mẫu dƣơng bao gồm các văn bản thuộc về lĩnh vực cần phân loại, lớp các mẫu âm bao gồm các văn bản thuộc các lĩnh vực còn lại.
Hình 3-1: SVM với siêu phẳng phân chia hai nhóm dữ liệu mẫu
Trong Hình 3-1, SVM tìm siêu phằng h phân chia các mẫu huấn luyện tích cực (+) và phủ định (–) với biên tối đa. Các mẫu gần với siêu phẳng nhất đƣợc gọi là các vector hỗ trợ, trên Hình 3-1các vector hỗ trợ đƣợc khoanh tròn.
Thực chất SVM là một bài toán tối ƣu, ta sẽ xét bài toán phân loại với tập dữ liệu mẫu:
Ta có thể tìm đƣợc một siêu phẳng phân chia tập dữ liệu này, siêu phẳng này đƣợc biểu diễn theo phƣơng trình (3-12):
wx+b=0 (3-12)
Trong đó:
+ wRm là vector hệ số + bRm là hệ số tự do
+ x là vector biểu diễn văn bản Sao cho:
( )i (w i )
f x sign x b (3-13)
( f x( )i =1 nếu yi=1 và f x( )i =-1 nếu yi=-1)
Mục tiêu của SVM là tìm đƣợc w và b để cực đại hóa lề giữa các lớp tích cƣc và lớp phủ định. Tức là xác định siêu phẳng h để bài toán phân loại kết quả đạt kết quả tối ƣu nhất. Để tìm đƣợc siêu mặt phẳng h ta phải tìm giá trị nhỏ nhất của ||w|| sao cho w và b thỏa mãn điều kiện (3-14):
yi(sign(wxi+b) ≥ 1 với i= 1,n (3-14)
Thực tế thì siêu phẳng lề tối ƣu (hay mặt phẳng quyết định) chỉ phụ thuộc vào các vector hỗ trợ có khoảng cách đến siêu phẳng là lề tối ƣu là 1
w , tức là khoảng cách lề là 2
w .
Trong trƣờng hợp không gian giả thuyết là không phải tuyến tính, ta có thể ánh xạ các vector dữ liệu x từ không gian n chiều sang không gian m chiều, sao cho trong không gian m chiều này, tập dữ liệu có thể phân chía tuyến tính đƣợc. Khi đó, các phép tính tối ƣu, đối ngẫu và tích vô hƣớng đƣợc thay thế giá trị, còn gọi là các hàm cuộn, một số dạng hàm cuộn cơ bản gồm đa thức, bán kính cơ sở (Radial basis function) và mạng neurak sigma 2 lớp (two layer sigmoid neural nets):
(3-15) (3-16) (3-17)
Phƣơng pháp SVM thích hợp với bài toán phân loại văn bản và cho các kết quả vƣợc trội các phƣơng pháp khác, do nó giải quyết đƣợc các vấn đề:
- Không gian đầu vào của bài toán TC thƣờng là lớn.
- Các thuộc tính thƣờng có liên quan chứ không hoàn toàn độc lập với nhau.
- Vector biểu diễn văn bản là vector thƣa, do không gian thuộc tính có số. chiều là lớn và mỗi văn bản chỉ sử dụng một số trong các thuộc tính. - Hầu hết các bài toán phân loại là tuyến tính.
Tuy nhiên phƣơng pháp SVM có nhƣợc điểm là cần phải điều chỉnh để tìm tham số tối ƣu, cũng nhƣ việc chọn hàm nhân. Việc sử dụng tham số thƣờng và tham số tối ƣu có thể cho kết quả rất khác biệt.
Theo thí nghiêm của T. Joachims cho mƣời nhóm trên tập dữ liệu Reuters, và so sánh với các phƣơng pháp truyền thống khác nhƣ kNN, Bayes, thì SVM luôn cho kết quả vƣợt trội.
Bảng 3-1: Kết quả thực nghiệm của T. Joachims, so sánh phƣơng pháp SVM với một số phƣơng pháp khác trên Corpus Reuters
[14]
Do hiệu năng vƣơt trội của phƣơng pháp này so với các phƣơng pháp truyền thống khác đã đƣợc khằng định ở [14], cũng nhƣ yếu tố khả thi của phƣơng pháp này cho bài toán phân loại tiếng Việt đã đƣợc thử nghiệm ở [1], nên phƣơng pháp này đƣợc sử dụng trong hầu hết các thực nghiệm trong các phần tiếp theo.
3.7. Một số phƣơng pháp khác
Cho đến nay đã có nhiều phƣơng pháp khác đƣợc đề xuất và giới thiệu nhƣ Thuật toán Bầu cử (Voting Algorithm), thuật toán Adaboots, Phƣơng pháp sử dụng Maximum Entropy, phƣơng pháp Adaptive Resonance Associative Map, ARAM.
Adaboots có ƣu điểm là hiệu quả, đặc biệt trong trƣờng hợp dữ liệu có nhiều nhiễu, giảm đƣợc ảnh hƣởng của overfitting. Tuy nhiên nó có nhƣợc điểm là tồn nhiều bộ nhớ và độ phức tạp tính toán cao. Maximum Entropy là một kỹ thuật ƣớc lƣợng phân bố xác xuất từ dữ liệu, phƣơng pháp Maximum Entropy (ME) tỏ ra nhạy cảm với các phƣơng pháp lựa chọn thuộc tính [15]. ARAM sử dụng mạng neural tự cấu trúc để thực hiện việc học giám sát bổ sung các mẫu của các nhóm văn bản và thực hiện các ánh xạ đa chiều các mẫu này. Thực nghiệm của J.He và A.H Tan [16] cho thấy ARAM cho kết quả tốt hơn cả SVM, kNN trong phân loại văn bản tiếng Trung. Nó tỏ ra hiệu quả hơn với dữ liệu có nhiễu và tập huấn luyện tƣơng đối nhỏ.
Ngoài ra đã có nhiều các đề xuất cải tiến khác nhƣ là các phƣơng pháp kết hợp sử dụng tập dữ liệu không gán nhãn, sử dụng phân cụm- trình bày ở chƣơng 5, kết hợp học không giám sát. Sử dụng các xâu con làm thuộc tính, trình bày ở chƣơng 6.