Hàm hạt nhân SVM (Kernel)

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 58 - 62)

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

2.3. Hàm hạt nhân SVM (Kernel)

2.3.1. Giới thiệu

Trong nhiều trường hợp, không thể phân chia các lớp dữ liệu một cách tuyến tính trong một không gian ban đầu được dùng để mô tả một vấn đề. Vì vậy, nhiều khi cần phải ánh xạ các điểm dữ liệu trong không gian ban đầu vào một không gian mới nhiều chiều hơn, để việc phân tách chúng trở nên dễ dàng hơn trong không gian mới.

Nói một cách ngắn gọn, hàm hạt nhân SVM là việc đi tìm một hàm số biến đổi dữ liệu x từ không gian feature ban đầu thành dữ liệu trong một không gian mới bằng hàm số Φ(x). Hàm Φ(x) đơn giản là giới thiệu thêm một chiều dữ liệu mới (một đặc

trưng mới) là một hàm số của các đặc trưng đã biết. Hàm số này cần thỏa mãn mục đích của chúng ta: trong không gian mới, dữ liệu giữa hai lớp là phân biệt tuyến tính hoặc gần như phần biệt tuyến tính. Khi đó, ta có thể dùng các bộ phân lớp tuyến tính

thông thường như PLA, Logistic Regression, hay Hard/Soft Margin SVM.

Hình 2.11: Hàm hạt nhân chuyển dữ liệu từ không gian 𝑹𝟐 chiều sang 𝑹𝟑 2.3.2. Cơ sở toán học

Nhắc lại bài toán đối ngẫu trong Soft Margin SVM cho dữ liệu gần phân biệt tuyến tính:

λ = 𝑎𝑟𝑔 max ∑ λ − ∑ ∑ λ λ y y 𝑥 x (2.12) Sao cho:

- ∑ λ y = 0

- 0 ≤λ𝑛 ≤ 𝐶, ∀𝑛 = 1,2, … , 𝑁 Trong đó:

- N: số cặp điểm dữ liệu trong tập huấn luyện.

- x : feature vector của dữ liệu thứ n trong tập huấn luyện.

- y : nhãn của dữ liệu thứ n, bằng 1 hoặc -1.

- λ : nhân tử Lagrange ứng với điểm dữ liệu thứ n.

- C: hằng số dương giúp cân đối độ lớn của margin và sự hy sinh của các điểm nằm trong vùng không an toàn. Khi C = ∞ hoặc rất lớn, biên mềm SVM trở thành biên cứng.

Sau khi giải được λ cho bài toán đối ngẫu (2.12), nhãn của một điểm dữ liệu mới sẽ được xác định bởi dấu của biểu thức:

∑ ∈ λ y 𝑥 x + ∑ ∈ (y − ∑ ∈ λ y 𝑥 𝑥 ) (2.13) Trong đó:

- M = {n: 0 < λ < C} là tập hợp những điểm nằm trên margin.

- S = {n: 0 < λ } là tập hợp các điểm support.

- 𝑁 là số phần tử của M.

Với dữ liệu thực tế, rất khó để có dữ liệu gần như phân biệt tuyến tính, vì vậy nghiệm của bài toán (2.12) có thể không thực sự tạo ra một bộ phân lớp tốt. Giả sử rằng ta có thể tìm được hàm số Φ(𝑥) sao cho sau khi được biến đổi sang không gian mới, mỗi điểm dữ liệu x trở thành Φ(𝑥), và trong không gian mới này, dữ liệu trở nên gần phân biệt tuyến tính. Lúc này, nghiệm của bài toán Soft Margin SVM sẽ cho chúng ta một bộ phân lớp tốt hơn

Trong không gian mới, bài toán (2.12) trở thành:

λ = 𝑎𝑟𝑔 max ∑ λ − ∑ ∑ λ λ y y Φ(𝑥 ) Φ(𝑥 ) (2.14) Sao cho:

- ∑ λ y = 0

- 0 ≤λ𝑛 ≤ 𝐶, ∀𝑛 = 1,2, … , 𝑁

Và nhãn của một điểm dữ liệu mới được xác định bởi dấu của biểu thức:

(2.15) Việc tính toán trực tiếp Φ(𝑥) cho mỗi điểm dữ liệu có thể sẽ tốn rất nhiều bộ nhớ và thời gian vì số chiều của Φ(𝑥) thường là rất lớn, có thể là vô hạn. Thêm nữa, để tìm nhãn của một điểm dữ liệu mới x, ta lại phải tìm biến đổi của nó Φ(𝑥) trong không gian mới rồi lấy tích vô hướng của nó với tất cả các Φ(𝑥 ) với m trong tập hợp support.

Để tránh việc này, ta quan sát thấy một điều sau đây.

Trong bài toán (2.14) và biểu thức (2.15), chúng ta không cần tính trực tiếp Φ(𝑥) cho mọi điểm dữ liệu. Chúng ta chỉ cần tính được Φ(𝑥) Φ(z) dựa trên hai điểm dữ liệu x, z bất kỳ. Kỹ thuật này còn được gọi là kernel trick. Những phương pháp dựa trên kỹ thuật này, tức thay vì trực tiếp tính tọa độ của một điểm trong không gian mới, ta đi tính tích vô hướng giữa hai điểm trong không gian mới, được gọi chung là kerrnel method.

Lúc này, bằng cách định nghĩa hàm kernel k(𝑥,z) = Φ(𝑥) Φ(z) , ta có thể viết lại bài toán (2.14) và biểu thức (2.15) như sau:

λ = 𝑎𝑟𝑔 max ∑ λ − ∑ ∑ λ λ y y 𝑘(x , x ) (3.16) Sao cho

- ∑ λ y = 0

- 0 ≤ λ ≤ 𝐶, ∀𝑛 = 1,2, … , 𝑁 Và

∑ ∈ λ y 𝑘(x , 𝑥) + ∑ ∈ (y − ∑ ∈ λ y 𝑘(x , x ) ) (2.17) 2.3.3. Tính chất hàm hạt nhân

Không phải hàm k() bất kỳ nào cũng được sử dụng. Các hàm hạt nhân cần có các tính chất:

- Đối xứng: k(x,z) = k(z,x). Điều này dễ nhận ra vì tích vô hướng của hai vector có tính đối xứng.

- Về lý thuyết, hàm hạt nhân cần thỏa mãn điều kiện Mercer để đảm bảo cho việc hàm mục tiêu của bài toán đối ngẫu là hàm lồi:

∑ ∑ 𝑘(x , x )c c ≥ 0, ∀𝑐 ∈ 𝑅, 𝑖 = 1,2, … , 𝑁

Trong thực tế, có một vài hàm số hàm k() không thỏa mãn điều kiện Merrcer nhưng vẫn cho kết quả chấp nhận được. Những hàm số này vẫn được gọi là hàm hạt nhân.

Bảng tóm tắt các kernel được dùng phổ biến:

Bảng 2.3: Một số hàm SVM kernel thông dụng

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 58 - 62)

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

(87 trang)