Cơ sở toán học

Một phần của tài liệu Ứng dụng máy vectơ hỗ trợ phân loại ý kiến của người xem trên các trang web phim trực tuyến (Trang 52 - 55)

CHƯƠNG 2: MÁY HỌC VECTƠ HỖ TRỢ

2.2. Support Vector Machine (SVM)

2.2.2. Cơ sở toán học

Giả sử rằng có hai lớp khác nhau được mô tả bởi các điểm trong không gian nhiều chiều, hai lớp này có thể phân cách tuyến tính, tức tồn tại một siêu phẳng phân chia chính xác hai lớp đó. Mục tiêu của SVM là tìm một siêu mặt phẳng phân chia hai lớp đó, tức tất cả các điểm thuộc một lớp nằm về cùng một phía của siêu mặt phẳng đó và ngược phía với toàn bộ các điểm thuộc lớp còn lại.

Hình 2.5: Các mặt phẳng phân chia 2 lớp dữ liệu

Câu hỏi được đặt ra là trong vô số các mặt phân chia đó, đâu là mặt phân chia tốt nhất và tiêu chuẩn để đánh giá tốt nhất là gì. Trong ba đường thẳng minh họa trong Hình 2.5 phía trên, có hai đường thẳng khá lệch về phía lớp hình tròn đỏ. Điều này có thể khiến cho một số phần tử thuộc lớp màu đỏ được thêm vào sau này sẽ thuộc vùng lớp xanh vì vùng lớp đỏ bị lấn khá nhiều.

Chúng ta cần một đường phân chia sao cho khoảng cách từ điểm gần nhất của mỗi lớp (các điểm được khoanh tròn) tới đường phân chia là như nhau để tạo sự công bằng diện tích cho từng lớp dữ liệu. Khoảng cách như nhau này được gọi là margin (biên) và khoảng cách càng lớn thì việc phân loại càng chính xác.

2.2.2.2. Xây dựng bài toán tối ưu cho SVM

Giả sử rằng các cặp dữ liệu trong tập dữ liệu huấn luyện là (𝑥 , 𝑦 ), (𝑥 , 𝑦 ),…, (𝑥 , 𝑦 ) với vector 𝑥 ∈ 𝑅 thể hiện đầu vào của một điểm dữ liệu và 𝑦 là nhãn của điểm dữ liệu đó. d là số chiều của dữ liệu và N là số điểm dữ liệu. Giả sử rằng nhãn của mỗi điểm dữ liệu được xác định bởi 𝑦 = 1 (lớp 1) hoặc 𝑦 = −1 (lớp 2).

Hình 2.6: Một số siêu phẳng phân chia 2 lớp dữ liệu trong đó mặt phẳng 𝑯𝟐 là tối ưu nhất

Mục tiêu của SVM là phải tìm một siêu phẳng (Optimal hyperplane) có lề lớn nhất chia tách các điểm dữ liệu có ban đầu để huấn luyện và các điểm sau này. Mỗi siêu phẳng (Optimal hyperplane) đều có thể được viết dưới dạng một tập các điểm thỏa mãn

w.x - b = 0 trong đó w là một vectơ pháp tuyến của siêu phẳng và 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 và mục tiêu của thuật toán SVM chính là tìm giá trị của w và b. Như ở Hình 2.6. Giả sử có tới 3 siêu phẳng (Optimal hyperplane) là H1 (Xanh dương), H2 (Đỏ), H3 (Xanh lá). H3 sẽ bị loại đầu tiên vì không thể phân loại các điểm huấn luyện cho trước. H1 bị loại vì khoảng cách từ các điểm Support Vector đến siêu phẳng (Optimal hyperplane) chưa phải là cực đại. H2 là siêu phẳng cần tìm.

Nếu dữ liệu huấn luyện có thể phân tách tuyến tính, chúng ta có thể chọn hai siêu phẳng song song tách riêng hai lớp dữ liệu, sao cho khoảng cách giữa chúng lớn nhất có thể. Vùng được bao bọc bởi hai hyperplanes này được gọi là "margin", và siêu phẳng tối ưu nhất cần tìm là siêu phẳng nằm giữa chúng. Với bộ dữ liệu chuẩn hóa hoặc tiêu chuẩn hóa, các siêu phẳng này có thể được mô tả bằng các phương trình sau:

- w.x - b = 1 (các điểm thuộc lớp 1) - w.x - b = -1 (các điểm thuộc lớp 2)

Về mặt hình học, khoảng cách giữa hai siêu phẳng này là 𝟐

‖𝒘‖ và các điểm dữ liệu cho trước nằm trên các siêu phẳng song song đó được gọi là vectơ hỗ trợ. Để tối đa hóa khoảng cách giữa các mặt phẳng chúng ta muốn giảm thiểu ‖𝒘‖.

Hình 2.7: Siêu phẳng với lề cực đại trong không gian 𝑹𝟐

Trong bài toán tối ưu trên, hàm mục tiêu là một norm, 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 toán tối ưu 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 toán lồi. Hơn nữa nó làm một bài toán quy hoạch toàn phương. Thậm chí, hàm mục tiêu là hàm lồi chặt vì ‖𝒘‖ = 𝒘𝑻Iw 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.

Việc giải bài toán này khá là phức tạp khi số chiều không gian của dữ liệu lớn và số điểm dữ liệu tăng lên cao. Vì vậy, người ta thường giải bài toán đối ngẫu của bài toán này. Thứ nhất, bài toán đối ngẫu có những tính chất thú vị hơn khiến nó được giải hiệu quả hơn. Thứ hai, trong quá trình xây dựng bài toán đối ngẫu, người ta thấy rằng SVM có thể được áp dụng cho những bài toán mà dữ liệu không hoàn toàn phân tách tuyến tính, tức các đường phân chia không phải là một mặt phẳng mà có thể là các mặt có hình thù phức tạp hơn.

Một phần của tài liệu Ứng dụng máy vectơ hỗ trợ phân loại ý kiến của người xem trên các trang web phim trực tuyến (Trang 52 - 55)

Tải bản đầy đủ (PDF)

(87 trang)