SVM là một trong những thành công lớn trong các nghiên cứu về nhận dạng, khai phá dữ liệu được ứng dụng hiệu quả trong nhiễu lĩnh vực, đặc biệt với những dữ liệu phức tạp có thể kể đến như học máy, xử lý ngôn ngữ tự nhiên, tin sinh học…. Cùng với sự kết hợp với hàm nhân (kernel methods), SVM đã thu được những thành công lớn trong việc phân lớp phi tuyến với độ chính xác cao.
Hình 3.1. Tìm siêu phẳng có lề cực đại
Support VectorMachine (SVM) là một phuơng pháp phân lớp dựa trên lý thuyết học thống kê, được đề xuất bởi Vapnik (1995) [15].Giáo sư Vapnik đã tìm ra được quan hệ giữa lềvà ước lượng xác suất lỗi khi phân lớp bằng siêu phẳng. Theo đó, khi lề cànglớn, xác suất lỗi càng gần với giá trị tối ưu (nhỏ nhất). Vì vậy, ông gợi ý tìm siêu phẳng phân lớp có lề lớn nhất.
3.2.SVM tuyến tính
Xét tập huấn luyện Dgồm n điểm có dạng:
D = {(xi ,yi) | xi ϵ Rp, yi ϵ {-1, 1}}𝑖=1𝑛
Trong đó,yi nhận giá trị 1 hoặc −1, xác định lớp của điểm Xi. Mỗi Xi là một vectơ thực
p-chiều. Ta cần tìm siêu phẳng có lề lớn nhất chia tách các điểm có yi = 1 và các điểm có yi = - 1.
Một hàm tuyến tính phân biệt hai lớp được biểu diễn như sau:
𝑦 𝑥 = 𝑤𝑇x + 𝑏
- 𝑤 ∈ 𝑅𝑝 là vector trọng số véc-tơhay véc-tơ pháp tuyến siêu phẳng phân cách, T là kí hiệu chuyển vị.
- 𝑏 ∈ 𝑅 là độ lệch.
- 𝑥 ∈ 𝑅𝑝 là véc tơ đặc trưng.
- 𝑤𝑇xkí hiệu cho tích vô hướng giữa w và x.
Nếu là xét phân lớp trong không gian 2 chiều thì đường phân cách là đường thẳng, nhưng trong không gian đa chiều thì gọi đó là siêu phẳng.
Khi đó tham số 𝑏
𝑤 xác định khoảng cách giữa gốc tọa độ và siêu phẳng theo hướng vectơ pháp tuyến w.Chúng ta cần chọn wvà bđể cực đại hóa lề, hay khoảng cách giữa hai siêu mặt song song ở xa nhau nhất có thể trong khi vẫn phân chia được dữ liệu. Các siêu mặt ấy được xác định bằng:
𝑦 𝑥 = 𝑤𝑇x + 𝑏 = 1 và 𝑦 𝑥 = 𝑤𝑇x + 𝑏 = −1
Để ý rằng nếu dữ liệu huấn luyện có thể được chia tách một cách tuyến tính, thì ta có thể chọn hai siêu phẳng của lề sao cho không có điểm nào ở giữa chúng và sau đó tăng khoảng cách giữa chúng đến tối đa có thể. Bằng phương pháp hình học, ta tìm được khoảng cách giữa hai siêu phẳng là 2𝑏
𝑤 . Vì thế, yêu cầu được chuyển thành cực tiểu hóa giá trị ||w||. Để đảm bảo không có điểm dữ liệu nào trong lề, ta bổ sung thêm các điều kiện sau:
𝑦 𝑥 = 𝑤𝑇x + 𝑏 ≥ 1
𝑤𝑇x + 𝑏 ≤ −1
với xi thuộc lớp thứ nhất với xi thuộc lớp thứ nhất Điều kiện trên có thể viết gọn lại như sau với mọi 1<= i<= n:
yi(wTxi – b) ≥ 1
Tóm lại, ta có bài toán tối ưu hóa sau: cực tiểu hóa ||w|| với điều kiện:
yi(wTxi – b) ≥ 1 (i = 1,2…n)
Bài toán cực tiểu hóa trên được giải quyết trọn vẹn bằng cách đưa về bài toán quy hoạch toàn phương, thêm các toán tử Lagrange α và giải quyết bài toán đối ngẫu [15].
Hình 3.2. Xác định lề, tham số phạt trong SVM