Phương pháp nhận dạng Support Vector Machine (SVM)

Một phần của tài liệu xây dựng hệ thống tương tác giữa người và máy thông qua nhận dạng cử chỉ bàn tay (Trang 52)

2.1.8.a Gii thiu

SVM được nghiên cứu từ những năm 70 (Vapnik 1979), nhưng phải đến năm 1992 SVM mới lần đầu tiên được Boser, Guyon và Vapnik (COLT 1992) đưa ra giới thiệu. Từđó đến nay nó nhận được sự quan tâm, nghiên cứu và phát triển mạnh cả về lý thuyết lẫn ứng dụng. Trong chương này xin trình bày một số nội dung của lý thuyết học thống kê, cũng như lý thuyết tối ưu phi tuyến có liên quan đến phương pháp này.

2.1.8.b Phương pháp nhn dng SVM

SVM dựa trên nguyên tắc Structural risk minimization (SRM) và lý thuyết tối ưu phi tuyến. Nguyên tắc SRM cố gắng tối thiểu đồng thời hai đại lượng Empirical Risk (giảm thiểu sai số trên tập huấn luyện) và VC Confidence để có được chặn trên bé nhất của sai số thực. Phương pháp nhận dạng SVM là một mô hình thực thi nguyên tắc lý thuyết này.

SVM trong trường hợp tập mẫu khả tách tuyến tính

Đây là trường hợp đơn giản nhất. Trong trường hợp này, tập mẫu là một tập cá thể được phân chia tuyến tính bằng một siêu phẳng. Và SVM đi tìm siêu phẳng này.

Giai đoạn huấn luyện SVM

Giả sử tập mẫu có được gồm l phần tử là: (x1,y1), (x2,y2), …, (xl, yl)

trong đó xi ϵ Rn còn yi ϵ { - 1, 1} là phân lớp của xi. Cần xác định một siêu phẳng mà có thể tách biệt được hai lớp trên. Có thể có nhiều siêu phẳng như vậy và vấn đề là cần tìm ra siêu phẳng nào làm cho khoảng cách Euclid giữa hai lớp trên là lớn nhất. Lúc đó các vector có khoảng cách gần siêu phẳng nhất được gọi là support vector.

Giả sử phương trình siêu phẳng cần tìm là w.x + b = 0 trong đó w ϵ Rn là pháp vector của siêu phẳng. Ta có 2 bất phương trình sau:

wxi + b ≤ -1 với yi = -1 wxi + b ≥ +1 với yi=1 kết hợp hai bất phương trình trên:

yi(wxi + b) – 1 ≥ 0

lúc đó những support vector xi thỏa mãn phương trình w.xi + b = -1 thì nằm trên siêu phẳng H1, phương trình w.xi + b = 1 thì nằm trên siêu phẳng H2.

• Khoảng cách có dấu d1 từ gốc tọa độđến H1 là : d1= ( 1 - b)/||w||

• Khoảng cách có dấu d2 từ gốc tọa độđến H2 là : d2= (-l - b)/||w||

• Suy ra khoảng cách phân hoạch d giữa H1 và H2 là : d = |d1-d2| = 2/||w||

Do đó để có d lớn nhất thì ||w|| phải nhỏ nhất hay nói cách khác phải đi tìm cực tiểu của ½||w||2 (được biến đổi một chút để dễ tìm w sau này).

Tại sao lại phải cần tìm siêu phẳng ứng với khoảng cách phân hoạch lớn nhất?

Có thể giải thích điều này từ lý thuyết của nguyên tắc SRM, vì siêu phẳng này phân hoạch lập mẫu thành hai lớp tách biệt nên Remp(α)=0.

Còn VC Confidence thì sao?

Vapnik đã chứng minh rằng nếu các điểm x1, x2, …, xl nằm bên trong hình cầu bán kính R của không gian Rn và ||w||≤A thì VC Dimension của tập các siêu phẳng w.x + b = 0 là:

h min {[R2A2],n } + 1 trong đó [R2A2] là phần nguyên của R2A2. Do đó nếu chọn d

lớn thì ||w|| nhỏ, suy ra A nh thì VC dimension h sẽ nhỏ. Đó là mục liêu của nguyên tắc SRM. Hình sau minh họa tính chất này của ||w||.

Bao xung quanh các điểm mẫu xi là các hình cu bán kính 1/A. Siêu phẳng tìm được phải không được cắt các hình cầu (như vậy thì mới có d > 2/A). Nếu không có ràng buộc này thì tập siêu phẳng bao gồm tất cả các siêu phẳng trong không gian Rn. Tuy

nhiên với ràng buộc này, số lượng các siêu phẳng bị giới hạn lại. Có nghĩa là VC

dimension của tập siêu phẳng giới hạn sẽ nhỏ hơn VC dimension khi không bị giới hạn. ||w|| càng nhỏ (hay d càng lớn) thì số các siêu phẳng càng ít đi dẫn đến VC dimension càng giảm.

Phương án tìm cực tiểu của ½||w||2:

Bài toán:

Tìm cực tiểu của ½||w||2 theo w và b

với (adsbygoogle = window.adsbygoogle || []).push({});

yi(w.xi + b) – 1 ≥ 0 i=1,2,…,l

là loại bài toán tối ưu có ràng buộc, trong đó hàm mục tiêu là một hàm lồi và miền ràng buộc cũng là một tập lồi. Do có tính lồi nên để giải bài toán trên ta có thể chuyển qua giải bài toán đối ngẫu tương ứng.

Bài toán đối ngẫu sẽ là : Tìm cực đại của: ɵ(u) với u ϵ Rl , u ≥ 0 trong đó : WE7I = [_D `3)||¥||)− ∑ 7g N{}NE¥. 8N+ vI − 1|: ¥ ∈ €, v ∈ N‰3 c

Để giải bài toán đối ngẫu trước tiên ta phải tìm cực tiểu của:

¬E¥, vI = 3)||¥||)− ∑ 7g N{}NE¥. 8N+ vI − 1| = 0

N‰3 theo w và b (P. 2-1)

Vì L là hàm hai biến w, b bậc 2 không ràng buộc nên theo điều kiện Fermat, cực tiểu của L xảy ra tại w và b sao cho: ­®Ei,¯I ­i = ¥ − ∑ 7N}N8N = 0 => ¥ = ∑ 7g N}N8N N‰3 g N‰3 (P. 2-2) ±¬E¥, vI ±v =  7N}N = 0 g N‰3 Lúc đó giá trị cực tiểu của L là:

¬hE¥, vI = 12 ²|¥|²)−  7N{}NE¥. 8N + vI − 1| g N‰3 =  7N −12 g N‰3   7N7§}N}§8N8§ g §‰3 g N‰3

Như vậy bài toán đối ngẫu được viết thành: Tìm cực đại của ‹E7I =  7N g N‰3 −12   7N7§}N}§8N8§ g §‰3 g N‰3 Dựa trên 7N ≥ 0 [ = 1,2, … , X  7N}N = 0 g N‰3

Giải bài toán này ta sớm được u và từđó tính được w theo công thức (P.2-2). Để tính b, vận dụng điều kiện KKT cho bài toán gốc, ta có được:

7N{}NE¥ ⋅ 8N+ vI − 1| = 0 i = 1,2, … , X

Do đó đối với một i thì có hai trường hợp:

ui = 0: trong trường hợp này yi(w.xi + b)- 1 > 0 suy ra xi không nằm trên siêu phẳng biên H1 hay H2. Vì ui = 0 nên xi không tham gia vào việc cấu trúc w theo

công thức (P.2-2). Những xi này là không cần thiết và có thể được bỏ đi mà không ảnh hưởng đến w.

ui > 0: lúc này yi(w.xi + b) - 1 = 0 suy ra xi nằm trên siêu phẳng biên H1 hay H2. xi được gọi là support vector và tham gia vào việc tính w. Thường thì số lượng support vector nhỏ hơn rất nhiều so với số lượng mẫu.

Do đó để tính b chỉ cần chọn một i mà có ui > 0, lúc đó: yi(w.xi + b) – 1 = 0 nên b = (1/yi) – w.xi = yi – w.xi

Giai đoạn nhân dạng

Bây giờ giả sử có một mẫu dữ liệu cần nhận dạng x* nào đó, thì phân lớp y* của x* (-1 hay 1) được xác định thông qua công thức:

y∗= fEx∗I = signEw. x∗+ bI = signE u¼y¼x¼x∗ ½

¼‰3

+ bI

SVM trong trường hợp tập mẫu không phân hoạch tuyến tính được

Trường hợp tập mẫu có thể phân chia tuyến tính được chỉ là một trường hợp đặc biệt. Trong trường hợp tổng quát, tập mẫu là một tập không phân chia tuyến tính được bằng siêu phẳng (Hình 2.1-38).

Hình 2.1-38: Không thể phân hoạch tập mẫu trên bằng một siêu phẳng

Tuy nhiên ta vẫn muốn dùng siêu phẳng để phân chia tập mẫu này. Để có thể áp dụng được phương pháp trong phần trên, ta phải gán cho mỗi mẫu xi một sai số ξi để “xem như có thể phân chia tuyến tính”.

wxi + b ≥ 1 – ξi với yi=1 wxi + b ≤ -1 + ξi với yi=-1 ξi≥ 0 i=1,2,…,l

Với cách đặt như vậy thì sai số thực nghiệm Empirical Risk là: ∑ ¾À ¿ ¿‰Á

Cũng giống như phần trước, nếu cực tiểu ||w|| thì sẽ làm cho VC dimension nhỏ và từ đó VC Confidence nhỏ. Do đó để thực thi nguyên tắc SRM (cực tiểu cùng lúc

Empirical Risk và VC confidence), ta có thể cực tiểu biểu thức sau: (adsbygoogle = window.adsbygoogle || []).push({});

1

2 ²|¥)|² +   ÃN

g N‰3

Trong đó C là một hằng số dương tự chọn. Việc chọn C thể hiện nguyên tắc SRM. Nếu chọn C lớn sẽ làm cho Empirical Risk nhỏ - do tập trung cực tiểu. Còn nếu C nhỏ thì

làm cho VC confidence nhỏ - do cực tiểu w. (Cách này được gọi là C-SVM do dựa trên giá trị của khoảng cách lỗi, ngoài ra còn một phương án khác là tối thiểu số điểm lỗi, được gọi là v-SVM).

Vậy ta có thể phát biểu lại bài toán như sau: Cực tiểu : DE¥, v, ÃI = 12 ||¥)|| +   ÃN g N‰3 Với }NE¥. 8N + vI − 1 + ÃN ≥ 0 [ = 1, … , X ÃN ≥ 0

Bài toán đối ngẫu của bài toán trên sẽ là: Cực đại: WE7, +I +ớ[ 7 Ä g, + Ä g, 7 ≥ 0, + ≥ 0 Dựa trên WE7, +I = inf dp3)Å ||¥||)+  ∑ Ãg N N‰3 − Æ 7gN‰g N{}NE¥ ⋅ 8N+ vI − 1 + ÃN| −  v¼ξ¼ g ¼‰3 È Cũng theo điều kiện Fermat, cực tiểu của LEw, b,ξI = p12Ê ||¥||)+   ÃN g N‰3 −  7N{}NE¥ g N‰g ⋅ 8N+ vI − 1 + ÃN| −  v¼ξ¼ g ¼‰3 Xảy ra tại w,b,ξ sao cho: Ë®=Ì,¯,Í@ Ëi = ¥ − ∑ 7Ny¼x¼ = 0 ⇒ w = ∑ u½ ¼y¼x¼ ¼‰3 g N‰3 (P.2 - 6) Ë®=Ì,¯,Í@ ˯ = − ∑ 7g Ny¼ = 0 N‰3 (P.2 - 7) Ë®=Ì,¯,Í@ ËÍy =  − 7N − +N = 0 ⇒ 0 ≤ 7N ≤  (P.2 - 8)

Lúc đó giá trị cực tiểu của L là: LÏEw, b,ξI = p12Ê ||¥||)+   ÃN g N‰3 −  7N{}NE¥ g N‰g ⋅ 8N + vI − 1 + ÃN| −  v¼ξ¼ g ¼‰3 =  7N −12 g N‰3   7N7§}N}§8N8§ g §‰3 g N‰3

Như vậy bài toán đối ngẫu sẽđược viết lại thành: Tìm cực đại của ‹E7I =  7N g N‰3 −12   7N7§}N}§8N8§ g §‰3 g N‰3 Dựa trên 0 ≤ 7N ≤  [ = 1,2, … , X  7N}N = 0 g N‰3

Bài toán này hoàn toàn giống bài toán phân chia tuyến tính, chỉ có thêm điều kiện

ui ≤ C. Giải bài toán này ta tìm được u và từ đó tính được w theo công thức (P.2-6) tức:

w = ∑ uÐÑ ¼y¼x¼

¼‰3

Trong đó xi là các support vector và các vector lỗi (ứng với 0 < ui≤ C). Ns là số lượng support vector và vector lỗi.

Để tìm b, sử dụng điều kiện Karush-Kuhn-Tucker cho bài toán gốc ta có:

7N{}NE¥. 8N + vI − 1 + ÃN| = 0 (P.2 – 9)

+NÃN = 0 (P.2-10)

Chọn một ui sao cho 0 < ui < C. Lúc đó yi (w.xi + b) -1 + ξi = 0 để điều kiện (P.2-9) xảy ra. Do C - ui - vi = 0 suy ra vi > 0 nên có thêm ξi = 0 để điều kiện (P.2-9) xảy ra.

Lúc đó có thể tính được b = yi - wxi

Vậy là đã tìm được siêu phẳng phân chia một tập dữ liệu không thể phân hoạch tuyến tính. Siêu phẳng như vậy được gọi là siêu phẳng khoảng cách phân hoạch mềm (soft-

SVM phi tuyến

Trong trường hợp tổng quát, th (Hình 2.1-39). Giả sử các m

không gian giả thiết (hypothesis space). thể áp dụng một thủ thuậ

số chiều lớn hơn (d> n, d

space). Sau đó áp dụng ph hoạch trong không gian đ

không gian Rn.

Hình 2-39: Một mặt phân chia phi tuy

Ánh xạ từ không gian Rn Gọi ánh xạđược áp dụng là Ф: Rn -> Rd x -> Ф(x) Ví dụ: x = (x1, x2) ϵ R2 . Đ Ф (x) = (x12 , √283 Với ánh xạ trên thì mặt hình vuông [ mặt cong trong không gian R

trong không gian R3 này thì có th gian R2 thì phải dùng mộ (adsbygoogle = window.adsbygoogle || []).push({});

ng quát, thực tế mặt phân hoạch có thể là một m các mẫu xi thuộc không gian Rn, không gian này t (hypothesis space). Để tìm mặt phi tuyến trong

t là ánh xạ các vector mu xi từ Rn vào m

d có thể bằng ∞). Rd được gọi là không gian ng phương pháp SVM tuyến tính để tìm ra m ch trong không gian đặc trưng Rd. Siêu phẳng này sẽứng với

t phân chia phi tuyến có thể trở thành một siêu ph gian lớn hơn

vào không gian Rd:

ng là Ф , như vậy:

Định nghĩa hàm ánh xạФ: R2 -> R3 như sau:

838), x22 )

t hình vuông [-l,l]x[-l,l] trong không gian

t cong trong không gian R3 như trong Hình 2.1-40. Bây giờ dùng m này thì có thể chia mặt cong trên thành hai ph

ột đường cong mới có được kết quả phân chia t

t mặt phi tuyến bất kỳ , không gian này được gọi là

n trong không gian này, có vào một không gian Rd có i là không gian đặc trưng (feature tìm ra một siêu phẳng phân i mặt phi tuyến trong

t siêu phẳng trong không

ư sau:

l,l] trong không gian R2 sẽ trở thành một dùng một mặt phẳng t cong trên thành hai phần (mà trong không

Hình 2.1-40 Mặt phẳng [-1,1]x[1,-1] trong R2 thành mặt cong trong R3

Áp dụng siêu phẳng phân hoạch mềm (soft-margin hyperplane) trong không gian Rd

cho các mẫu Ф(xi) thì siêu phẳng này sẽ là :

f=∅ExI@ = ∑ u½ ¼y¼∅Ex¼I∅ExI

¼‰3 + b = 0 (P.2-11)

và từđó cũng có hàm phân hoạch là trong không gian Rn là hàm hp f . Đây là một hàm phi tuyến.

Cách tiếp cận trên gặp phải một vấn đề là hàm Ф(x) có thể có số chiều rất lớn (nếu

không gian Rd có d lớn), do đó tiêu tốn thời gian nhiều trong các phép tính. Tuy nhiên, có thể nhận xét rằng trong các phép tính Ф(x) chỉ xuất hiện dưới dạng tích vô hướng tức là dạng Ф(x)Ф(y) mà không xuất hiện đơn lẻ. Đây là một nhận xét quan trọng trong việc tìm ra quy tắc sau:

Thay vì sử dụng dạng tường minh của Ф(x) thì chỉ cần sử dụng hàm biểu diễn giá trị vô hướng Ф(x)Ф(y).

Đặt K(x,y) = Ф(x)Ф(y), K(x,y) được gọi là hàm hạt nhân (kernelfunction)

Như vậy là chỉ cần biết dạng của hàm hạt nhân K(x,y) mà không cần biết cụ thể ánh xạ Ф(x). Lúc đó hàm nhận dạng trở thành:

f°∅ExI = ∑ u½ ¼y¼KEx¼, xI

¼‰3 + b (P.2-12)

Tuy nhiên không thể chọn tùy ý hàm K(x,y) mà phải chọn K(x,y) sao cho tồn tại một hàm Ф mà K(x,y) = Ф(x)Ф(y). Điều kiện để bảo đảm vấn để này là điều kiện Mercer. (adsbygoogle = window.adsbygoogle || []).push({});

Sau đây là một ví dụ về K và K(x,y) = Ф(x)Ф(y):

Với

x = (x1,x2)ϵ R2

ФExI = E1, √2x3, √2x), x3), x)), √2x3x)I ϵ R6

thì K(x,y) = Ф(x)Ф(y) = (1+x.y)2

Tóm lại phương pháp SVM phi tuyến là tìm một hàm kernel K(x,y) sau đó giải bài

toán soft-margin hyperplane với việc thay x1x2 = K(x1,x2) để tìm ra u và b.

Cuối cùng xây dựng hàm nhận dạng đối với một mẫu thử x* nào đó là:

fEx∗I = signE u¼y¼KEx¼, x∗I

½ ¼‰3

+ bI

Còn một vấn đề là tìm hàm kernel K(x,y) như thế nào. Rõ ràng đây là một vấn đề phụ thuộc vào bài toán nhận dạng. Đối với những bài toán nhận dạng đơn giản trong đó sự phân bố các mẫu của hai lớp {-l,l} không quá phức tạp thì có thể tìm hàm K(x,y) đơn giản sao cho số chiều của Ф là không quá lớn.

Việc chọn hàm K(x,y) sao cho phù hợp là cần thiết vì nếu cứ chọn K(x,y) phức tạp thì phải trả giá là VC dimension lớn dù rằng có được Empirical Risk nhỏ.

Hình 2.1-41: Đường cong phân chia tập mẫu và các lỗi.

Trong ví dụ ở Hình 2-6 trên, hàm kernel là (1+x.y)2. Trường hợp này tập mẫu vẫn bị phân hoạch có lỗi (được đánh dấu bởi các dấu X, Empirical Risk ≠ 0). Lỗi này có thể là do nhiễu. Do đó hàm phân hoạch ứng với kernel này là phù hợp nhất. Việc dùng những hàm kernel phức tạp để Empirical Risk = 0 là không cần thiết và không đúng (vì nó sẽ xem lỗi như là một mẫu đúng).

Một số kernel phổ biến

Tiêu chuẩn đầu tiên để chọn một hàm kernel K là phải tồn tại Ф để K(x,y)= Ф(x)Ф(y) tức K phải thỏa điều kiện Mercer.

Giả sử có l điểm mẫu thành lập một ma trận K l x l như sau: Kij = K(xi,xj) i,j = 1,…,l.

Người ta đã chứng minh rằng nếu K là hàm kernel thì ma trn K là ma trn nửa xác định dương (semipositive define, các trị riêng của ma trận ≥ 0).

Một sốđặc tính của hàm kernel là:

Nếu K1(x,y), K2(x,y) là các hàm kernel thì K3(x,y) cũng là hàm kernel với:

l) K3(x,y) = K1(x,y) + K2(x,y)

2)K3(x,y)=aK1(x,y) aϵR+

3)K3(x,y)=K1(x,y)K2(x,y)

Từ các công thức trên có thể suy ra một số hàm kernel như sau: 1) Hàm đa thức:

Chiều của không gian đặc trưng ứng với kernel này là d=Cpn+p-1

Kernel này có thể chuyển tất cả các mặt cong bậc p trong không gian Rn thành siêu phẳng trong không gian đặc trưng.

2) Hàm bán kính căn bản Gaussian RBF (Radial Basis Function)

(adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu xây dựng hệ thống tương tác giữa người và máy thông qua nhận dạng cử chỉ bàn tay (Trang 52)