CHƯƠNG II: CÁC KỸ THUẬT NHẬN DẠNG CỬ CHỈ BÀN TAY TRONG
2.2. Kỹ thuật SVM (Suport Vector Machine)
SVM là phương pháp phân loại tự động tương đối mới do Vapnik [6] đưa ra vào năm 1995. 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 và là một phương pháp tương đối tổng quát cho bài toán nhận dạng. SVM được xây dựng trên cơ sở hai ý tưởng chính :
Ý tưởng thứ nhất : á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 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 3.1.
Hình 2. 2 - Á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 : 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.11. 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.
Ban đầu, SVM được thiết kế cho bài toán phân lớp nhị phân, hàm mục tiêu của bài toán SVM phân lớp nhị phân có thể được phát biểu như sau :
( ) = . Φ( ) + (1)
Trong đó :
- Véc tơ đầu vào ∈ .
- là véc tơ chuẩn của siêu phẳng phân cách trong không gian đặc trưng được sinh ra từ ánh xạ : Φ( ): → ( > , Φ( ) có thể tuyến tính hoặc phi tuyến).
- là độ lệch so với gốc tọa độ.
Trong bài toán phân lớp nhị phân, dấu của g(x) cho biết véc tơ x thuộc lớp +1 hay lớp -1. Bài toán phân lớp nhị phân được mô tả như sau :
Cho tập mẫu : {( , ) ,…, ( , )}
Không gian gốc Không gian đặc trưng
Trong đó : ∈ và ∈ {±1}
Mục tiêu của phương pháp phân lớp SVM là tìm một siêu phẳng phân cách sao cho khoảng cách lề (margin) giữa hai lớp đạt cực đại (Hình 2.11).
Hình 2. 3 - Siêu phẳng tách với khoảng cách lề cực đại
Khoảng cách lề giữa hai lớp được tính theo công thức :
. =
‖ ‖
Để nới lỏng điều kiện phân lớp, thêm vào một số yếu tố cân bằng và việc huấn luyện SVM chính là giải bài toán tối ưu có ràng buộc :
min,
1
2 . + (2) Sao cho :
( . Φ( ) + ) ≥ 1 −
≥ 0, ∀ , trong đó C là tham số nới lỏng điều kiện phân lớp.
Thay vì giải bài toán (2), ta giải bài toán đối ngẫu của nó bằng cách giải bài toán qui hoạch toàn phương (QP-Quadratic programming) :
max −1 2 (3) Thỏa mãn :
0 ≤ ≤ , ∀ và
= 0
Trong đó = [ , … , ] và H là ma trận kích thước N×N được gọi là ma trận nhân (kernel matrix) với mỗi phần tử ( , ) = Φ( ). Φ( ). Giải bài toán (3) ta thu được :
= Φ( )
(4)
Mỗi mẫu huấn luyện tương ứng với một hệ số Lagrange . Sau khi huấn luyện, các mẫu có > 0 được gọi là véctơ hỗ trợ.
Thế (4) vào (1), ta có :
( ) = Φ( ). Φ( ) +
Giả sử Φ( ). Φ( ) = ( , ). Nghĩa là, tích vô hướng trong không gian đặc trưng tương đương với một hàm nhân K của không gian đầu vào. Vì vậy, ta không cần phải tính trực tiếp các giá trị Φ( ), Φ mà chỉ cần tính tích vô hướng
< Φ( ). Φ( ) > gián tiếp thông qua hàm nhân ( , ). Nếu sử dụng hàm nhân
là hàm tuyến tính thì SVM được gọi là SVM tuyến tính, ngược lại thì gọi là SVM phi tuyến. Như vậy, hàm mục tiêu cho bài toán phân lớp SVM nhị phân có dạng :
( ) = ( , ) +
Chỉ có các véc tơ hỗ trợ tham gia vào việc xây dựng siêu phẳng phân cách, do đó một mẫu x sẽ được phân lớp theo hàm quyết định :
( ) = ( , ) +
Trong đó, là số véc tơ hỗ trợ.
Support Vector Machine (SVM) đã được Osuna [7] áp dụng đầu tiên để xác định khuôn mặt người. SVM được xem như là một kiểu mới dùng huấn luyện để phân loại theo hàm đa thức. Trong khi hầu hết các phương pháp khác huấn luyện để phân loại (Mạng Bayes, nơron, RBF) đều dùng tiêu chí tối thiểu lỗi huấn luyện, trong khi SVM dùng quy nạp, mục tiêu là làm tối thiểu lỗi tổng quát. Osuna [7] đã phát triển một phương pháp hiệu quả để huấn luyện một SVM với tỷ lệ lớn để áp dụng cho bài toán xác định khuôn mặt người. Ông dùng 10,000,000 mẫu có kích thước 19x19 điểm ảnh, hệ thống của ông có tỷ lệ lỗi ít hơn Sung và Poggio [8].
Llorca [9] cũng sử dụng SVM cho việc phát hiện tay ứng dụng trong hệ thống xả nước tự động cho bồn rửa tay với tỉ lệ nhận dạng trên 90%.
Hình 2. 4 - Support Vectors
Hình 2. 5 - Minh họa Support Vectors