CHƯƠNG 2 PHƯƠNG PHÁP PHÂN LOẠI MÁY VECTOR HỖ TRỢ SVMs
2.1 Lý thuyết học thống kê
2.1.1 Chiều VC (Vapnik Chervonenkis Dimension)
Xét các hàm f(x): Rn → {+1, -1}, có 2n cách để gán nhãn cho n điểm. Nếu với mỗi một cách gán nhãn, ta đều có thể tìm thấy một thành phần của tập hợp {f(x)} mà nhận dạng chính xác cách gán nhãn này, thì khi đó tập n điểm được gọi là bị phá vỡ bởi tập hợp các hàm {f(x)}. Chiều VC của {f(x)} chính là kích thước của tập hợp các hàm phân tách nêu trên [7][11].
Chiều VC của các siêu phẳng trong không gian Rn là n+1. Ví dụ, chiều VC của các đường thẳng có hướng trong không gian 2 chiều (R2) là 3.
Minh hoạ chiều VC của tập các hàm {f(x)}trong không gian 2 chiều với 3 điểm dữ liệu.
ΔS(x1,x2,x3) = 8 = 23
Hình 2-1: Minh hoạ chiều VC trong không gian 2 chiều với 3 điểm dữ liệu.
Khi số điểm dữ liệu lớn hơn 3, ví dụ là 4 thì số cách gán nhãn (số hàm f(x)) sẽ không còn là 24.
Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 17/67
ΔS(x1,x2,x3,x4) = 12 < 24 = 16
Hình 2-2: Minh hoạ các hàm {f(x)} trong không gian 2 chiều với 4 điểm dữ liệu.
2.1.2 Rủi ro trong phương pháp học máy có giám sát Cho không gian đầu vào: X Rn
Không gian đầu ra: Y{+1, -1}
Dữ liệu huấn luyện: Tr = {(x1,y1), (x2,y2), …, (xn,yn)}
Hàm f thực hiện ánh xạ tập X vào tập Y:
f: X → Y f: x y
Giả sử mối liên hệ giữa x và y được cho bởi phân bố xác suất liên kết P(x,y) = P(x).P(y|x). Mục đích của bài toán học có giám sát là tìm một hàm f trong tập hợp các hàm {f | f: X → Y} và f được học trên tập dữ liệu huấn luyện Tr để tối thiểu hoá [7][9][11]:
R(f) =
XxY
dxdy y , x P y , x f
c( ( ) ) ( ) (4-1)
Trong đó:
R(f): là giá trị rủi ro toàn cục của f(x).
c: là giá trị thiệt hại dùng để đo độ sai lệch của f(x) và y (với y là giá trị quan sát thực tế của x).
Hàm c được xác định theo nhiều cách khác nhau, ví dụ có thể xác định c như sau:
c(f(x),y) = (f(x) - y)2 (4-2)
hoặc
𝑐 𝑓 𝑥 , 𝑦 = 1 nếu 𝑓(𝑥) ≠ 𝑦
0 nếu 𝑓 𝑥 = 𝑦 (4-3) Mục đích của chúng ta là tìm một hàm, hoặc một giả thiết f(x) dựa trên tập huấn luyện sẵn có Tr sao cho rủi ro R là tối thiểu. Vì trong thực tế, chúng ta không biết được
Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 18/67
phân bố thực sự P(x,y) nên chúng ta không thể biết được tất cả các khả năng xảy ra của tập dữ liệu kiểm tra. Tuy nhiên, chúng ta có thể tính toán được giá trị rủi ro thực nghiệm (Emprical Risk) dựa trên tập dữ liệu huấn luyện Tr. Công thức xác định giá trị rủi ro thực nghiệm:
Remp(f) =
n
i
i
i y
x f
n 1c( ( ), )
1 (4-4)
Việc tối thiểu rủi ro thực nghiệm không phải là điều kiện tất yếu làm cho rủi ro toàn cục tối thiểu. Chúng ta có thể thấy rằng, trong trường hợp f(xi) = yi (xi,yi) Tr thì rủi ro thực nghiệm Remp(f) sẽ bằng 0. Mặc dù vậy, trường hợp này là không tổng quát vì hàm f có thể đạt được rủi ro tối thiểu trên tập dữ liệu Tr hiện tại nhưng vẫn có thể gây ra rủi ro lớn trong các tập dữ liệu khác. Hiện tượng này còn được gọi là hiện tượng tràn lỗi (overfitting), nghĩa là giả thiết f chỉ tốt với tập dữ liệu huấn luyện Tr (tối ưu cục bộ), nhưng không tốt với các tập dữ liệu khác.
2.1.3 Nguyên tắc tối thiểu hoá rủi ro cấu trúc
Chúng ta sẽ đi tìm một hàm f để có thể tối thiểu hoá giới hạn trên của rủi ro toàn cục, khi đó R(f) cũng sẽ tối thiểu. Giới hạn trên của rủi ro toàn cục được xác định như sau [11][12]:
R(f) ≤ Remp(f) +
n h
h n )
ln(4 ) 2 1 ln(
.
(4-5)
trong đó,
- h: Là số chiều VC của {f|Tr|}.
- n: Là số mẫu trong tập huấn luyện Tr.
- δ: Là giá trị của xác suất liên kết P(x,y).
Ví dụ: Độ tin cậy của P(x,y) là 90% (δ = 0.1), tập Tr có 100 mẫu thì rủi ro toàn cục không lớn hơn Remp(f) + T.
T = 200 1 1.6 10 ln
1
h h
- Nếu h = 1 thì T = 0.281.
- Nếu h = 2 thì T = 0.357.
- Nếu h = 10 thì T = 0.645.
Nhận thấy giá trị h càng nhỏ thì số hạng thứ 2 trong bất đẳng thức (4-5) càng nhỏ. Nhưng vì số chiều VC càng nhỏ thì có thể gây ra lỗi thực nghiệm lớn, do đó để tối thiểu rủi ro toàn cục ta có thể tiến hành theo cách:
Đầu tiên, chọn ra các hàm có rủi ro thực nghiệm là nhỏ nhất, tập các hàm này được gọi là Fempmin.
Tiếp đó, chọn trong tập các hàm Fempmin hàm có số chiều VC là nhỏ nhất.
2.1.4 Bổ đề Vapnik
Trong trường hợp các hàm học là tuyến tính có dạng:
𝑓 𝑥 = 𝑠𝑖𝑔𝑛 𝑤 • 𝑥 + 𝑏 = +1 nếu 𝑤 • 𝑥 + 𝑏 > 0
−1 nếu 𝑤 • 𝑥 + 𝑏 < 0 (4-6)
Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 19/67
trong đó,
- “•” kí hiệu là tích vô hướng (hàm nhân).
- w, x Rn, - b R,
- x là biến, w và b là các tham số trong hàm f(x).
Thì bổ đề về số chiều VC của tập các hàm {f(x)} được Vapnik phát biểu như sau [7]:
Giả sử các hàm f(x) = sign{w.x + b} là các giả thiết. Nếu tất cả các vector xi
với i = 1, …, n thuộc tập mẫu, được bao trong một hình cầu bán kính R và thoả mãn
|w.x + b| ≥ 1, đặt ||w|| = A, thì chiều VC của tập hợp các hàm này (kí hiệu là h) được giới hạn bởi h ≤ min[R2A2, n] + 1.
Từ bổ đề trên ta thấy rằng chiều VC của {f(x)} không phụ thuộc vào số chiều của vector x, mà phụ thuộc vào độ dài Ơcơlit ||w|| của vector.
2.1.5 Nguyên lý nhận dạng mẫu (Pattern Recognition)
Xét không gian S, trong đó các thành phần mẫu x: x1, x2, …, xn S. Khi đó, một siêu phẳng bất kỳ trong không gian S được xác định theo hàm:
{x S | w•x + b = 0}, với w S, b R trong đó w•x được xác định bởi:
w•x =
n i wi xi
1
. (4-7)
Tập huấn luyện các mẫu được phân tách tuyến tính nếu tồn tại ít nhất một phân lớp tuyến tính xác định bằng cặp tham số (w, b), nó thực hiện phân tách các mẫu huấn luyện thành hai miền riêng biệt, miền dương tương ứng với các mẫu dương thuộc lớp đang xét, miền âm chứa các mẫu không thuộc lớp này.
+1 +1
+1
+1 +1
+1 +1
class +1 w.x + b > 0
w.x + b = 0
H +1
class -1 w.x + b < 0
- 1 - 1
- 1
- 1 - 1
- 1 - 1
- 1 - 1
- 1
+1
Hình 2-3: Phân tách tuyến tính được xác định bằng mặt hình học H (w•x + b = 0).
Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 20/67
Trải qua quá trình huấn luyện xác định siêu phẳng phân tách, phép phân loại thực hiện dự đoán thành phần lớp đối với các mẫu mới. Phân lớp của mẫu xk được xác định bằng công thức:
𝒄𝒍𝒂𝒔𝒔(𝑥𝑘) = +1 nếu 𝑤 • 𝑥 + 𝑏 > 0
−1 nếu 𝑤 • 𝑥 + 𝑏 < 0 (4-8) Tóm lại, quá trình phân loại các mẫu mới dựa trên dấu của phép toán: w•xk + b.