Máy phân lớp sử dụng véctơ hỗ trợ (Support Vector Machines) (2) – Trường hợp không phân tách tuyến tính được
Đăng bởi tqlong on Tháng tám 3, 2008
Trong bài trước, ta đã tìm hiểu cách SVM chọn siêu phẳng với lề lớn nhất. Tuy nhiên, bài toán tối ưu chỉ giải được (có nghiệm) nếu tập mẫu học phân tách tuyến tính được. Vì thế, cách tìm lề lớn nhất như trong bài trước còn gọi là lề cứng (hard margin). Vậy còn trường hợp không phân tách tuyến tính được thì sao? Rõ ràng, nếu ta vẫn dùng siêu phẳng thì phải chấp nhận có một số mẫu học không thể phân lớp được. Trường hợp này, giáo sư Vapnik gợi ý ta “mềm hóa” các ràng buộc của lề (phương pháp này gọi là lề mềm (soft margin)). Cụ thể bài toán tối ưu (gốc) chuyển thành như sau
với các ràng buộc
Như vậy các ràng buộc cứng được cho phép vi phạm (mềm hóa). Đồng thời, độ “mềm” của ràng buộc bị giới hạn vì hàm mục tiêu chứa đại lượng
. Bây giờ ta tìm bài toán đối ngẫu Lagrange:
Lấy đạo hàm theo ta có
Thay vào ta được
Vậy bài toán đối ngẫu Lagrange là
với các ràng buộc
Loại bỏ biến , bài toán trên tương đương với
với các ràng buộc
Đây cũng là bài toán tối ưu hóa bậc 2 (Quadratic Programming) giống như trong trường hợp sử dụng lề cứng.
Nhận xét:
- Bằng việc mềm hóa các ràng buộc và thay đổi hàm mục tiêu, bài toán tối ưu vẫn là bài toán quy hoạch bậc 2. Tuy nhiên, các véctơ hỗ trợ lúc này sẽ bao gồm:
- Các véctơ nằm trên lề
(khi
)
- Các véctơ nằm bên trong lề
khi
. Lưu ý là các véctơ này có thể bị phân lớp sai nếu
- Các véctơ nằm trên lề
- Có nhiều cách để mềm hóa ràng buộc, thay vì dùng hoảng cách Euclid
ta có thể dùng khoảng cách
và thêm vào hàm mục tiêu đại lượng
. Nói chung, ta có thể thêm vào hàm mục tiêu một lượng bằng
trong đó
là một hàm lồi đơn điệu tăng, còn
.
- Khi thêm đại lượng
vào hàm mục tiêu, bài toán tối ưu hóa chuyển thành
với các ràng buộc
Đây có lẽ là cách sử dụng SVM thông dụng nhất. Tại nghiệm tối ưu
, một mẫu học là véctơ hỗ trợ khi và chỉ khi
- Tại sao người ta lại muốn giải bài toán tối ưu ở dạng đối ngẫu? Lý do là
- Các ràng buộc tuyến tính ở bài toán gốc khá phức tạp, trong khi đó, ràng buộc ở bài toán đối ngẫu lại ở dạng hộp
.
- Các thuật toán tối ưu có thể tận dụng sự đơn giản của ràng buộc dạng hộp để đơn giản hóa và tăng tốc độ quá trình tối ưu hóa.
- Khi đã biết
có thể dễ dàng tinh
như sau:
Để tính
, chọn một
nào đó để
suy ra
Để tính
, ta có
.
- Các ràng buộc tuyến tính ở bài toán gốc khá phức tạp, trong khi đó, ràng buộc ở bài toán đối ngẫu lại ở dạng hộp
- Để ý là tích vô hướng
có thể thay bằng
Nghĩa là ta không cần phải tính véctơ
mà chỉ cần ngầm hiểu ta có tính tích vô hướng
với mọi vectơ
. Lưu ý, ở biểu thức trên ta chỉ cần tính với các
, tức là chỉ cần tính toán với các véctơ hỗ trợ mà thôi.



