Tải bản đầy đủ (.docx) (3 trang)

Support vector machine

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (108.02 KB, 3 trang )

1. Giới thiệu về SVM
- Định nghĩa: dùng để phân chia dữ liệu thành các nhóm riêng biệt
- ứng dụng: nhận dạng tiếng nói, phân loại văn bản, phân tích dữ liệu gen,……
- phương pháp support vector machine là tìm một siêu phẳng (hyperplane) để phân tách
các điểm dữ liệu.
-

siêu phẳng này sẽ chia không gian thành các miền khác nhau và mỗi miền sẽ chứa
một loại dữ liệu

-

- Vấn đề đặt ra là có rất nhiều siêu phẳng vậy phải chọn cái nào và như thế nào sẽ tối ưu
1.1 Nhắc lại khoảng cách từ một điểm tới một mặt phẳng
+ trong không gian 2 chiều, khoảng cách từ 1 điểm (x 0, y0) tới đường thẳng
w1x+w2y+b=0 được xác định bởi

|w1 x 0 +w 2 y 0 +b|

√w +w
2
1

2
2

+ trong không gian 3 chiều khoảng cách từ một điểm có toạ độ (x0,y0,z0) tới một mặt
phẳng có phương trình w1x+w2y+w3z+b=0được xác định bởi:

|w1 x 0 +w 2 y 0 + w3 z0 + b|


√w + w + w
2
1

2
2

2
3

+ tổng quát trong không gian d chiều, khoảng cách từ một điểm (vector) (x 10, x20,..xd0)
tới siêu phẳng (hyperplane) có phương trình: w1x1+w2x2+…+wdxd+b=0 (wT.X0+b)=0

|w1 x 10 +w 2 x 20+ …+w d x d 0 +b| |wT x 0 +b|
=
||w||2
√ w12+ w22 +…+ w2d


Với x0 = [x10, x20,..xd0]T, w = [w1+w2+…+wd]T

1.2 Xây dựng bài toán
- Margin của 1 lớp được định nghĩa là khoảng cách từ các điểm gần nhất của lớp đó tới
mặt phân chia
- Ý tưởng của SVM là margin của 2 lớp phải bằng nhau và phải lớn nhất có thể

- Lúc này margin sẽ được tính bằng:
T

Margin=min


y n ( w x 0 +b)

||w||2

Với y n=± 1 là nhãn của các điểm dữ liệu
- Việc margin rộng sẽ mang lại hiệu ứng phân lớp tốt hơn. Vì sự phân chia 2 lớp là rạch
rịi hơn
 Bài tốn tối ưu trong SVM chính là đi tìm đương phân chia sao cho margin giữa 2
lớp là lớn nhất
2. Bài toán tối ưu
Bài tốn tối ưu của SVM chính là việc tìm w và b sao cho margin này đạt giá trị lớn
nhất

Nhận xét quan trọng nhất là nếu ta thay vector hệ số w bơi kw và b bới kw trong đó k
là một hằng số dương thì mặt phân chia khơng thay đổi, tức khoảng cách từ từng điểm
đến mặt phân chia khơng đổi, tức margin khơng đổi. Dựa trên tính chất này, ta có thể


giả

sử:

y n ( w x 0+ b ) =1 với những điểm nằm gần mặt phân chia nhất
T

Với mọi n ta ln có : y n ( w T x 0+ b ) ≥ 1
Vậy bài tốn tối ưu có thể đưa về bài tốn tối ưu có ràng buộc sau đây:

Bằng 1 biến đổi đơn giản, ta có thể đưa bài toán này về bài toán dưới đây:

1− y n ( w x 0 +b ) ≤ 0
T

Ở đây, chúng ta đã lấy nghịch đảo hàm mục tiêu, bình phương nó để được một hàm
khả vi, và nhân với 1/2 để biểu thức đạo hàm đẹp hơn.
Trong bài toán, hàm mục tiêu là một norm, nên là một hàm lồi. Các hàm bất đẳng thức
ràng buộc là các hàm tuyến tính theo w và b, nên chúng cũng là các hàm lồi. Vậy bài
tốn tối ưu (3)(3) có hàm mục tiêu là lồi, và các hàm ràng buộc cũng là lồi, nên nó là
một bài tốn lồi. Hơn nữa, nó là một Quadratic Programming. Thậm chí, hàm mục tiêu
là strictly convex vì ||w||22=wTIw và I là ma trận đơn vị - là một ma trận xác định
dương. Từ đây có thể suy ra nghiệm cho SVM là duy nhất.
Đến đây thì bài tốn này có thể giải được bằng các cơng cụ hỗ trợ tìm nghiệm cho
Quadratic Programing, ví dụ CVXOPT.
Tuy nhiên, việc giải bài toán này trở nên phức tạp khi số chiều d của không gian dữ
liệu và số điểm dữ liệu N tăng lên cao.
Người ta thường giải bài toán đối ngẫu của bài toán này.



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×