Professional Documents
Culture Documents
2016 Slide12-SVM
2016 Slide12-SVM
2016 Slide12-SVM
4
Máy vectơ hỗ trợ - Giới thiệu (3)
Các vectơ được ký hiệu bởi các chữ đậm nét!
Biểu
Biể diễn
diễ tập
tậ r cácá víí dụ
d huấn
h ấ luyện
l ệ (training
(t i i examples)
l )
{(x1, y1), (x2, y2), …, (xr, yr)},
xi là một vectơ đầu vào được biểu diễn trong không gian X ⊆ Rn
yi là một nhãn lớp (giá trị đầu ra), yi ∈ {1,-1}
yi=1: lớp dương (positive); yi=-1: lớp âm (negative)
⎧ 1 nêu 〈 w ⋅ x i 〉 + b ≥ 0 [Eq.1]
Đối với một ví dụ xi: yi = ⎨
⎩− 1 nêu 〈 w ⋅ x i 〉 + b < 0
SVM xác định một hàm phân tách tuyến tính
f(x) = 〈w ⋅ x〉 + b [Eq.2]
w là vectơ trọng số
ố các thuộc tính; b là một giá trị số
ố thực
5
Mặt siêu phẳng phân tách
Mặt siêu phẳng phân tách các ví dụ huấn luyện lớp
dương và các ví dụ huấn luyện lớp âm: 〈w ⋅ x〉 + b = 0
Còn được gọi là ranh giới (bề mặt) quyết định
Tồn tại nhiều mặt siêu phẳng phân tách
tách. Chọn cái nào?
[Liu, 2006]
6
Mặt siêu phẳng có lề cực đại
SVM lựa chọn mặt siêu phẳng phân tách có lề (margin) lớn nhất
Lý thuyết học máy đã chỉ ra rằng một mặt siêu phẳng phân tách như
thế sẽ tối thiểu hóa giới hạn lỗi (phân lớp) mắc phải
[Liu, 2006]
7
SVM – Dữ liệu phân tách được tuyến tính
Giả sử rằng tập dữ liệu (tập các ví dụ huấn luyện) có thể phân
tách được
ợ mộtộ cách tuyến
y tính
Xét một ví dụ của lớp dương (x+,1) và một ví dụ của lớp âm
(x-,-1) gần nhất đối với siêu phẳng phân tách H0 (<w⋅x>+b=0)
Định nghĩa 2 siêu phẳng lề song song với nhau
H+ đi qua x+, và song song với H0
H- đi q
qua
a x-, và
à song song với
ới H0
H+: <w⋅x+>+b = 1
[[Eq.3]
q ]
H-: <
<w⋅x->+b = -1
1
sao cho: <w⋅xi>+b ≥ 1, nếu yi = 1
<w⋅xi>+b ≤ -1,, nếu yi = -1
8
Tính toán mức lề (1)
Mức lề (margin) là khoảng cách giữa 2 siêu phẳng lề H+
và H-. Trong hình vẽ nêu trên:
d+ là khoảng cách giữa H+ và H0
d- là khoảng cách giữa H- và H0
(d+ + d−) là mức lề
2 2 2 [[Eq.5]
q ]
|| w ||= < w ⋅ w > = w1 + w2 + ... + wn
9
Tính toán mức lề (2)
Tính toán d+ – khoảng cách từ x+ đến (〈w ⋅ x〉 + b = 0)
Áp dụng
d ng các biểu
biể thức [Eq.3-4]:
[Eq 3 4]
| 〈w ⋅ x+ 〉 + b | |1| 1 [Eq.6]
d+ = = =
|| w || || w || || w ||
Tính toán d- – khoảng cách từ x- đến (〈w ⋅ x〉 + b = 0)
Áp dụng các biểu thức [Eq.3-4]:
| 〈 w ⋅ x − 〉 + b | | −1 | 1 [Eq.7]
d− = = =
|| w || || w || || w ||
Tí h toán
Tính t á mức
ứ lề
2
margin = d + + d − = [Eq.8]
|| w ||
10
Học SVM – Cực đại hóa mức lề
Định nghĩa (Linear SVM – Trường hợp phân tách được)
Tập
Tậ gồmồ r víí dụd huấn
h ấ luyện
l ệ có ó thể phân
hâ tách
tá h tuyến
t ế tính
tí h
D = {(x1,y1), (x2,y2), …, (xr,yr)}
SVM học một phân lớp nhằm
ằ cực đại hóa mức lề
ề
Tương đương với việc giải quyết bài toán tối ưu bậc
hai sau đây
2
Tìm w và b sao cho: margin = đạt cực đại
w
Với điều kiện:
ệ
⎧〈 w ⋅ x i 〉 + b ≥ 1, nêu y i = 1
⎨ ; với mọi ví dụ huấn luyện xi (i=1..r)
⎩〈 w ⋅ x i 〉 + b ≤ −1, nêu y i = -1
11
Cực đại hóa mức lề – Bài toán tối ưu
Học SVM tương đương với giải quyết bài toán cực tiểu
hóa có ràng buộc sau đây
〈 w ⋅ w〉
Cực tiểu hóa: [Eq.9]
2
Với điều kiện: ⎧ 〈 w ⋅ x i 〉 + b ≥ 1, if yi = 1
⎨
⎩〈 w ⋅ x i 〉 + b ≤ −1, if yi = −1
12
Lý thuyết tối ưu có ràng buộc (1)
Bài toán cực tiểu hóa có ràng buộc đẳng thức:
Cực tiểu hóa f(x),
f(x) với điều kiện g(x)=0
Điều kiện cần để x0 là một lời giải:
⎧∂
⎪ ( f(x) + αg (x)) =0
⎨ ∂x x=x0
; với α là một hệ số nhân
⎪ g(x) = 0 (multiplier) Lagrange
⎩
Trong trường hợp có nhiều ràng buộc đẳng thức gi(x)=0
(i=1..r), cần một hệ số nhân Lagrange cho mỗi ràng buộc:
⎧∂ ⎛ r
⎞
⎪ ⎜
⎨ ∂x ⎝
f(x) + ∑
i =1
α g
i i (x) ⎟
⎠ x=x0
=0
; với αi là một hệ số nhân
⎪ g (x) = 0 Lagrange
g g
⎩ i
13
Lý thuyết tối ưu có ràng buộc (2)
Bài toán cực tiểu hóa có các ràng buộc bất đẳng thức:
Cực tiểu hóa f(x),
f(x) với các điều kiện gi(x)≤0
Điều kiện cần để x0 là một lời giải:
⎧∂ ⎛ r
⎞
⎪ ⎜
⎨ ∂x ⎝
f(x) + ∑
i =1
α g
i i (x) ⎟
⎠ x=x0
=0
; với αi ≥ 0
⎪ g (x) ≤ 0
⎩ i
Hàm
r
L = f(x) + ∑ αi g i(x)
i =1 được gọi là hàm Lagrange
14
Giải bài toán cực tiểu hóa có ràng buộc
Lý thuyết tối ưu chỉ ra rằng một lời giải tối ưu cho [Eq.11]
phải thỏa mãn các điều kiện nhất định,
định được gọi là các
điều kiện Karush-Kuhn-Tucker – là các điều kiện cần
(nhưng không phải là các điều kiện đủ)
Các điều kiện Karush-Kuhn-Tucker đóng vai trò trung
tâm trong cả lý thuyết và ứng dụng của lĩnh vực tối ưu
có ràng buộc
15
Tập điều kiện Karush-Kuhn-Tucker
∂LP r
= w − ∑ αi y i x i = 0 [Eq.12]
∂w i =1
∂LP r
= − ∑ αi y i = 0 [Eq.13]
∂b i =1
yi ( w ⋅ x i + b ) − 1 ≥ 0, ∀x i (i = 1..r ) [E 14]
[Eq.14]
αi ≥ 0 [Eq.15]
αi ( yi ( w ⋅ x i + b ) − 1) = 0 [Eq 16]
[Eq.16]
[Eq.14] chính là tập các ràng buộc ban đầu
Điều kiện bổ sung [Eq.16] chỉ ra rằng chỉ những ví dụ (điểm dữ liệu)
thuộc các mặt siêu phẳng lề (H+ và H-) mới có αi>0 – bởi vì với
những ví đụ đó thì yi(〈w⋅xi〉+b)-1=0
→Những ví dụ (điểm dữ liệu) này được gọi là các vectơ hỗ trợ!
ố với các ví dụ khác (không phải là các vectơ hỗ trợ) thì αi=0
Đối
16
Giải bài toán cực tiểu hóa có ràng buộc
Trong trường hợp tổng quát, các điều kiện Karush-Kuhn-
Tucker là cần đối với một lời giải tối ưu,
ưu nhưng chưa đủ
Tuy nhiên, đối với bài toán cực tiểu hóa đang xét có hàm
mục tiêu lồi (convex) và các ràng buộc tuyến tính, thì các
điề kiện
điều kiệ Karush-Kuhn-Tucker
K h K h T k là cần ầ và
à đủ đối với
ới mộtột lời
giải tối ưu
Giải quyết bài toán tối ưu này vẫn là một nhiệm vụ khó
khăn – do sự tồn tại của các ràng buộc bất đẳng thức!
Phương pháp Lagrange giải quyết bài toán tối ưu hàm lồi
dẫn
ẫ đến
ế một biểu
ể thức đối
ố ngẫuẫ (dual) của bài toán tối
ố ưu
→ Dễ giải quyết hơn so với biểu thức cần tối ưu ban đầu
(primal)
17
Biểu thức đối ngẫu
Để thu được biểu thức đối ngẫu từ biểu thức ban đầu:
→Gán giá trị bằng 0 đối với các đạo hàm bộ phận của biểu thức
Lagrange trong [Eq.11] đối với các biến ban đầu (w và b)
→Sau đó, áp dụng các quan hệ thu được đối với biểu thức Lagrange
Tức là: áp dụng các biểu
ể thức [Eq.12-13] vào biểu
ể thức Lagrange
ban đầu ([Eq.11]) để loại bỏ các biến ban đầu (w và b)
18
Bài toán tối ưu đối ngẫu
r
1 r
Cực đại hóa: LD (α ) = ∑ α i − ∑ α iα j yi y j 〈 x i ⋅ x j 〉
i =1 2 i , j =1 [Eq.18]
⎧ r
Với điều kiện: ⎪∑ α i yi = 0
⎨ i =1
⎪⎩α i ≥ 0, ∀i = 1..1 r
Đối với hàm mục tiêu là hàm lồi và các ràng buộc tuyến tính, giá trị
cực đại của LD xảy ra tại cùng các giá trị của w, b và αi giúp đạt được
giá trị cực tiểu của LP
Giải quyết biểu thức [Eq.18], ta thu được các hệ số nhân Lagrange αi
(các hệ số αi này sẽ được dùng để tính w và b)
Giải quyết biểu thức [Eq.18] cần đến các phương pháp số học (để giải
quyết bài toán tối ưu hàm lồi bậc hai có các ràng buộc tuyến tính)
→ Chi tiết các phương pháp này nằm ngoài phạm vi của bài giảng!
19
Tính các giá trị w* và b*
Gọi SV là tập các vectơ hỗ trợ
SV là tập con của tập r các ví dụ huấn luyện ban đầu
→αi>0 đối với các vectơ hỗ trợ xi
→αi=0 đối với các vectơ không phải là vectơ hỗ trợ xi
Sử dụng biểu
ể thức [Eq.12], ta có thể
ể tính được giá trị w*
r
w* = ∑ α i yi x i = ∑α y x ; i i i bởi vì ∀xi ∉ SV: αi=0
i =1 x i ∈SV
Sử dụng biểu thức [Eq.16] và (bất kỳ) một vectơ hỗ trợ xk, ta có
αk(yk(
(<w*
w .xk>+b*)-1)=0
b ) 1) 0
Nhớ rằng αk>0 đối với mọi vectơ hỗ trợ xk
Vì vậy: (yk(<w*.xk>+b*)-1)=0
Từ đây, ta tính được giá trị b*= yk-<w*.xk>
20
Ranh g
giới quyết
y định phân lớp
Ranh giới quyết định phân lớp được xác định bởi siêu phẳng:
f(x) = 〈 w * ⋅x〉 + bb* = ∑ α y 〈 x ⋅ x〉 + bb* = 0
x i ∈SV
i i i [Eq.19]
Đối với một ví dụ cần phân lớp z, cần tính giá trị:
⎛ ⎞
sign( 〈 w * ⋅z〉 + b*) = sign⎜⎜ ∑ αi yi 〈 x i ⋅ z〉 + b* ⎟⎟ [Eq.20]
⎝ x i ∈SV ⎠
→ Nếu biểu thức [Eq.20]
[Eq 20] trả về giá trị 1,
1 thì ví dụ z được phân vào lớp
có nhãn dương (positive); ngược lại, được phân vào lớp có nhãn
âm (negative)
Việc phân lớp này:
Chỉ phụ thuộc vào các vectơ hỗ trợ
Chỉ cần ggiá trịị tích vô hướng
g ((tích trong)
g) của 2 vectơ ((chứ không
g
cần biết giá trị của 2 vectơ đấy)
21
Linear SVM: Khôngg phân
p tách được(1)
Phương pháp SVM trong trường hợp các ví dụ phân lớp tuyến
tính nhưng không thể phân tách được?
Trường hợp phân lớp tuyến tính và phân tách được là lý tưởng (ít
xảy ra)
Tập
ập dữ liệu
ệ có thể chứa nhiễu,, lỗi ((vd: một
ộ số ví dụ
ụ được
ợ ggán nhãn
lớp sai)
Đối với trường hợp phân tách được, bài toán tối ưu:
Cực tiểu hóa: 〈 w ⋅ w〉
2
Với điều kiện: yi (〈 w ⋅ x i 〉 + b) ≥ 1, i = 1, 2, ..., r
Nếu tập dữ liệu chứa nhiễu, các điều kiện có thể không được
thỏa mãn
→ Không
Khô tìm
tì được
đ lời giải
iải (w*
( * và
à b*)!
22
Linear SVM: Khôngg phân
p tách được (2)
Hai ví dụ nhiều xa và xb được gán nhãn lớp sai
[Liu, 2006]
23
Nới lỏngg các điều kiện
Để làm việc với các dữ liệu chứa nhiễu, cần nới lỏng các điều
kiện
ệ lề ((margin
g constraints)) bằng g cách sử dụng
ụ g các biến slack
ξi (≥ 0)
〈w⋅xi〉+b ≥ 1−ξi đối với các ví dụ có giá trị yi = 1
〈w⋅xi〉+b ≤ −1+ξi đối
ố với các ví dụ có giá trị yi = -1
Các điều kiện mới đối với trường hợp (phân lớp tuyến tính)
không thể
ể phân tách được:
yi(〈w⋅xi〉+b) ≥ 1−ξi, ∀i =1..r
ξi ≥ 0,
0 ∀i =1..r
1
24
Linear SVM – Tổng
g kết
Sự phân lớp dựa vào siêu phẳng phân tách
Siêu phẳng
ẳ phân tách được xác định dựa trên tập các vectơ
hỗ trợ
Chỉ đối với các vectơ hỗ trợ,
trợ thì hệ số nhân Lagrange của
chúng khác 0
Đối với các ví dụ huấn luyện khác (không phải là các vectơ hỗ
trợ) thì hệ số nhân Lagrange của chúng bằng 0
trợ),
Việc xác định các vectơ hỗ trợ (trong số các ví dụ huấn luyện)
đòi hỏi phải giải quyết bài toán tối ưu bậc hai
Trong biểu thức đối ngẫu (LD) và trong biểu thức biểu diễn
siêu phẳng phân tách, các ví dụ huấn luyện chỉ xuất hiện bên
trong các tích vô hướng (inner/dot-products) của các vectơ
34