2.4 Các phương pháp phân loại văn bản
2.4.2 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 [18][19] giới thiệu năm 1995. Ý 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
phẳng h quyết định tốt nhất cĩ thể chia các điểm trên khơng gian này thành hai lớp riêng biệt tương ứng, tạm gọi là lớp + (cộng) và lớp – (trừ). Chất lượng của siêu mặt phẳng này được quyết định bởi một khoảng cách (được gọi là biên) của điểm dữ liệu gần nhất của mỗi lớp đến mặt phẳng này. Khoảng cách biên càng lớn thì càng cĩ sự phân chia tốt các điểm ra thành hai lớp, nghĩa là sẽ đạt được kết quả phân loại tốt. Mục tiêu của thuật tốn SVM là tìm được khoảng cách biên lớn nhất để tạo kết qủa phân loại tốt.
Hình 2.2 Mơ hình SVM [18]
Hình 2.3 Margin - khoảng cách của các điểm tới biên
Cĩ thể nĩi SVM thực chất là một bài tốn tối ưu , mục tiêu của thuật tốn là tìm được một khơng gian H và siêu mặt phẳng quyết định h trên H sao cho sai số khi phân loại là thấp nhất, nghĩa là kết qủa phân loại sẽ cho kết quả tốt nhất.
Hình 2.4 Mơ hình SVM trong khơng gian
Phương trình siêu mặt phẳng chứa vector di trong khơng gian như sau: 𝑑𝑖
⃗⃗⃗ . 𝑤⃗⃗ + 𝑏 = 0 (2.7) ℎ(𝑑⃗⃗⃗ ) = 𝑠𝑖𝑔𝑛(𝑑𝑖 ⃗⃗⃗ . 𝑤𝑖 ⃗⃗ ) = {+ 𝑛ế𝑢 𝑑⃗⃗⃗ . 𝑤𝑖 ⃗⃗ + 𝑏 > 0
− 𝑛ế𝑢 𝑑⃗⃗⃗ . 𝑤𝑖 ⃗⃗ + 𝑏⃗ < 0 (2.8) Như thế vector h(di) biểu diễn sự phân lớp của vector di vào hai lớp. Gọi Yi mang giá trị +1 hoặc -1, khi đĩ Yi = +1 văn bản tương ứng với vector di thuộc lớp (+) và ngược lại nĩ sẽ thuộc vào lớp (-). Khi này để cĩ siêu mặt phẳng h, ta sẽ giải bài tốn sau:
Tìm Min ‖𝑤⃗⃗ ‖ với 𝑤⃗⃗ và b thỏa điều kiện: ∀i∈1,n : yi(sign(di − w+ b)) ≥1 Chúng ta thấy rằng SVM là mặt phẳng quyết định chỉ phụ thuộc vào các vector hỗ trợ cĩ khoảng cách đến mặt phẳng quyết định là 1/wi. Khi các điểm khác bị xĩa đi thì thuật tốn vẫn cho kết quả giống như ban đầu. Chính đặc điểm này làm cho SVM khác với các thuật tốn khác như KNN, LLSF, Nnet, NB vì tất cả dữ liệu trong tập huấn luyện đều được dùng để tối ưu hĩa kết quả.
Nhược điểm của SVM
Bài tốn số chiều cao: Trong trường hợp số lượng thuộc tính (p) của tập dữ liệu lớn hơn rất nhiều so với số lượng dữ liệu (n) thì SVM cho kết quả khá tồi
Chưa thể hiện rõ tính xác suất: Việc phân lớp của SVM chỉ là việc cố gắng tách các đối tượng vào hai lớp được phân tách bởi siêu phẳng SVM. Điều này chưa giải thích được xác suất xuất hiện của một thành viên trong một nhĩm là như thế nào. Tuy nhiên hiệu quả của việc phân lớp cĩ thể được xác định dựa vào khái niệm margin từ điểm dữ liệu mới đến siêu phẳng phân lớp mà chúng ta đã bàn luận ở trên.
Với khả năng vượt trội của SVM về tính hiệu quả, độ chính xác, khả năng xử lý các bộ dữ liệu một cách linh hoạt, việc sử dụng máy vec-tơ hỗ trợ SVM đã và đang là sự lựa chọn tối ưu nhất trong việc giải quyết các bài tốn phân loại/dự báo trong một số các các ngành khoa học. Trong bài viết này, chúng tơi đã giới thiệu phương pháp phân lớp sử dụng máy vec-tơ hỗ trợ SVM cho bài tốn phân loại nĩi chung và một số bài tốn trong Tin sinh học, cụ thể là bài tốn phát hiện vị trí cắt-nối (splice site detection) và bài tốn phân loại biểu hiện gene (gene expression classification). Ngồi ra, đã giới thiệu bộ cơng cụ phân loại LibSVM trên nền Matlab với mục đích là cho phép người sử dụng dễ dàng sử dụng SVM vào các ứng dụng cụ thể. Với những lợi thế sẵn cĩ của SVM, việc ứng dụng và cái tiến thuật tốn phân loại sử dụng máy vec-tơ hỗ trợ SVM vào bài tốn phân lớp trong Tin sinh học (điển hình là các bài tốn liên quan đến gene và di truyền) là một lĩnh vực mà nhĩm chúng tơi quan tâm và tập trung nghiên cứu trong thời gian tới vì những ứng dụng thiết thực của nĩ trong thực tiễn.