CHƢƠNG 3 MỘT SỐ LƢỢC ĐỒ ỨNG DỤNG CO-TRAINING
3.1. Co-training trong bài tốn phân lớp với vector hỗ trợ kết hợp trong khơng gian
3.1.2. Giới thiệu về SVM
Thuật tốn SVM là sự tổng quát hĩa phi tuyến của thuật tốn hình tượng tổng quát (generalized portrait) được phát triển ở Liên Xơ vào những năm 60 (Vapnik và Lerner 1963, Vapnik và Chervonenkis 1964). Thuật tốn này cĩ nền tảng dựa trên lý thuyết học thống kê hay lý thuyết VC (Vapnik – Chervonenkis) đã được phát triển quaVapnik và Chervonenkis 3 thập kỉ bởi Vapnik và Chervonenkis (1974) và Vapnik (1982, 1995) [50]. Một cách sơ lược, lý thuyết VC mơ tả được những tính chất của máy học làm cho chúng cĩ sự tổng quát tốt cho những dữ liệu chưa biết. Trong khoảng 10 năm trở lại đây, SVM được phát triển rộng rãi trên tồn thế giới bắt đầu từ phịng thí nghiệm AT&T Bell bởi Vapnik và các cộng sự. Ứng dụng đầu tiên của SVM vào cơng nghiệp chính là OCR (Optical Character Recognition) - nhận dạng chữ viết tay. Trong khoảng một thời gian ngắn, SVM chứng tỏ được ưu thế so với hệ thống tốt nhất lúc bấy giờ trong cả OCR lẫn nhận dạng đối tượng (Object Recognition). Ngồi ra, áp dụng vào hồi quy và dự đốn chuỗi thời gian SVM cũng cho những kết quả rất tốt. Mặc dù trên thế giới SVM là một lĩnh vực nghiên cứu rất sơi động, ở nước ta SVM vẫn chưa được quan tâm nhiều. Sau đây ta xét một số khái niệm trong kiến trúc của SVM và xét thuật tốn học SVM.
a) Siêu phẳng tách .
Giả sử ta cĩ khơng gian véctơ H cĩ tích vơ hướng và tập các véctơ mẫu x1,...,xm H. Các siêu phẳng trong H được biểu diễn dưới dạng:
{xH| <w,x> + b = 0}, w H , b R. (3.1) Trong cơng thức trên w là véctơ vuơng gĩc với siêu phẳng: nếu w cĩ độ dài đơn vị thì <w,x> là độ dài của x theo hướng w (độ dài hình chiếu của véctơ x xuống véctơ w). Như vậy, tập (3.1) bao gồm các véctơ cĩ cùng độ dài theo hướng w.
Trong cơng thức trên, ta cĩ thể tự do nhân w và b với một số khác khơng bất kỳ. Để hạn chế sự tự do này ta đưa ra định nghĩa sau:
Định nghĩa 3.1 ( Siêu phẳng chuẩn) Cặp (w,b) HxR được gọi là dạng chuẩn của siêu phẳng (3.1) tương ứng với x1,...,xm H nếu nĩ được co dãn (scale) sao cho
1 | , | min ,.., 1 m w x b i , (3.2)
hay nĩi cách khác điểm gần siêu phẳng nhất cĩ khoảng cách đến siêu phẳng là 1/||w||
Đối với bài tốn nhận dạng mẫu, mỗi vectơ xi được kết hợp với một nhãn yi {-1,1}. Hàm quyết định tuyến tính được xác định như sau:
fw,b: H {-1,1}
x fw,b(x) = sign(<w,x> +b)
và <w,x>+b=0 được gọi là siêu phẳng tách biệt. Đối chiếu với định nghĩa 3.1 ta thấy cĩ tương ứng 2 siêu phẳng chuẩn khác nhau được phân biệt bởi hướng của nĩ ứng với cặp (w,b) và (-w,-b), ta sẽ xột kỹ bài toỏn này trong phần sau.
b) Khái niệm Biên và Lề
Khơng gian giả thuyết của SVM là khơng gian các siêu phẳng, trong khơng gian hai chiều R2 thì siêu phẳng là một đường thẳng. Cho trước dữ liệu huấn luyện, một siêu phẳng tách biệt là một siêu phẳng tách (phân chia) được thực sự các mẫu huấn luyện âm và các mẫu huấn luyện dương, lỗi huấn luyện bằng 0. Hình 13 dưới đây biểu diễn 2 siêu phẳng tách biệt trong khơng gian hai chiều.
Hình 13. Hai siêu phẳng tách biệt và lề của chúng.
Gọi d+ (d-) là khoảng cách ngắn nhất từ siêu phẳng tới một mẫu dương (âm). Ta giới thiệu một thuật ngữ mới gọi là lề (margin), đượcđịnh nghĩa là khoảng cách từ
điểm gần nhất tới siêu phẳng tách biệt, lề của siêu phẳng chính là tổng d+ + d-. Trong hình trên ta thấy 2 siêu phẳng 1 và 2, trong đĩ siêu phẳng 1 cĩ lề lớn hơn siêu phẳng 2.
c) Vai trị của lề
Lề đĩng một vai trị quyết định trong thiết kế thuật tốn học SVM. Ta hãy định nghĩa lại nĩ một cách hình thức
Định nghĩa 3.2 (Lề hình học) Cho siêu phẳng {xH | <w.x> + b = 0} , ta gọi
(w,b)(x,y) := y(<w,x> + b)/||w|| (3.3) là lề hình họccủa điểm (x,y) Hx{-1,1}. Giá trị nhỏ nhất
(w,b) :=
m i 1,...,
min
(w,b)(xi,yi) (3.4)
gọi là lề hình học của (x1,y1),...,(xm,ym) Từ đây nếu khơng cĩ chú thích gì ta coi (w,b)
là lề hình học của tập luyện và để ngắn gọn ta bỏ luơn cả chữ hình học mà khơng sợ mất ý nghĩa.
Với mỗi điểm (x,y) được phân lớp đúng, lề đơn giản là khoảng cách từ điểm x đến siêu phẳng (dễ thấy bằng kiến thức hình học thơng thường). Ngược lại nếu điểm đĩ bị phân lớp sai thì lề ứng với khoảng cách âm từ điểm đĩ đến siêu phẳng. Cuối cùng để ý rằng, với siêu phẳng chuẩn, lề là 1/||w|| (hình 12). Định nghĩa của siêu phẳng chuẩn làm cho độ dài của w tương ứng với một đại lượng hình học cĩ ý nghĩa.
Cĩ nhiều cách lý giải việc ta tin rằng phân chia dữ liệu huấn luyện với lề lớn sẽ tốt cho dữ liệu kiểm tra, đi từ đơn giản đến phức tạp. Đánh giá đơn giản nhất cĩ thể được trình bày như sau. Bởi vì các dữ liệu huấn luyện và các dữ liệu kiểm tra đều được sinh ra từ cùng một phân bố, nên khá hợp lý khi giả sử rằng hầu hết các mẫu kiểm tra đều nằm gần (trong H) ít nhất là một mẫu huấn luyện. Với mục tiêu là sự đơn giản, ta hãy giả sử trường hợp tất cả các điểm kiểm tra đều được sinh ra bằng cách thêm nhiễu vào mẫu luyện. Cụ thể hơn, cho 1 điểm luyện (x,y), ta sinh ra điểm kiểm tra cĩ dạng (x+x,y), trong đĩ x H cĩ chuẩn bị chặn bởi r>0. Rõ ràng, nếu ta cố phân chia tập luyện với lề > r thì ta sẽ phân lớp đúng trên tồn bộ tập kiểm tra (xem hình 10)
Hình 14. Thờm nhiễu vào cỏc mẫu
Bài tốn phân lớp 2 chiều: phân chia „o‟ và „+‟ bằng siêu phẳng. Siêu phẳng tối ưu cĩ lề > nhiều r sẽ phân lớp đúng với mẫu cĩ nhiễu. Ngược lại, nếu ta dùng thuật tốn perceptron (cũng xây dựng hàm tách biệt tuyến tính nhưng khơng tối ưu) trên dữ liệu cĩ nhiễu thì ta sẽ thu được siêu phẳng tối ưu ở giới hạn limr
d) Huấn luyện SVM tuyến tính. SVM tuyến tính là SVM cĩ thể tìm được siêu phẳng tuyến tính tối ưu.
Hình 15. Siêu phẳng tách biệt tuyến tính
Từ ví dụ về siêu phẳng tối ưu trong hình 15, với các mẫu dương là các chấm đen (phía phải siêu phẳng) và các mẫu âm là các khoanh trịn trắng nhỏ (phía trái siêu phẳng). Phương trình của siêu phẳng tuyến tính là: w.x +b =0. Siêu phẳng đi qua gốc tọa độ khi b= 0. Cho trước phương trình trên và một hằng số dương a, thì các mẫu dương xi được xác định bởi bắt đẳng thức: w.xi+ b ≥ a và các mẫu âm xi được xác định bởi bất đẳng thức: w.xi+ b ≤ -a.
Trên hình 15 các mẫu thử nằm trên 2 siêu phẳng H1 và H2 được gọi là các vector hỗ trợ. Các vector này quyết định vị trí của siêu phẳng tối ưu. Khi đã tìm được hai tham số w và b thích hợp thì một mẫu mới x được xác định nằm trong lớp y bởi siêu phẳng tối ưu SVM nhờ xác định :
y= sgn(w.x +b) (3.5) Bài tốn quy về bài tốn đi tìm siêu phẳng tối ưu hay tìm pháp tuyến w.
Hình 16 dưới đây biểu diễn siêu phẳng tách biệt chuẩn khi hằng số a=1. Rõ ràng để lề là lớn nhất thì ||w|| phải nhỏ nhất
Hình 16. Siêu phẳng tách biệt chuẩn.
Như vậy ta lập được bài tốn tối ưu để tìm siêu phẳng tốt nhất
2 b , w || w || 2 / 1 ) w ( min
Bài tốn này gọi là bài tốn tối ưu hố gốc. Để giải bài tốn tối ưu trên, ta dùng phương pháp nhân tử Lagarăng để chuyển nĩ về bài tốn đối ngẫu.
Với các nhân tử Lagrang dương i , i=1,...,lta xây dựng hàm Lagrang
l i i l i i i iy w x b w b w L 1 1 2 ) , ( || || 2 / 1 ) , , ( trong đĩ =(1,...,l)
Theo lý thuyết tối ưu hố, ta cần cực tiểu hàm Lagrang L(w,b,) theo biến w và b, cực đại theo i. Như vậy sau khi giải bài toỏn tối ưu trên ta cơng thức húa bài toỏn tỡm siờu phẳng tuyến tớnh tối ưu bằng việc tớnh biểu thức (3.6) sau:
Trong đĩ C là một hằng số quyết định sự đánh đổi giữa độ lớn của lề và số lỗi huấn luyện của siêu phẳng SVM. Khi C tăng thì lề giảm và lỗi phân lớp cũng giảm theo. Người ta chứng minh được rằng 10<=C<=100 là khoảng giá trị tốt nhất của C.
(2.2) (3.6)
Thay vào 3.5 trở thành : y= sign( l i i i i x x b y 1 ) , ) trong đĩ b được xác định nhờ điều kiện Karush-Kuhn-Tucker (KKT) như sau:
0 ) , , ( L w b w i iyixi w =1,...,d (1) 0 ) , , ( i i iy b w L b (2) yi(w.xi + b) - 1 0 (3) i 0 (4) i(yi(<w,xi>+ b) - 1 ) = 0 i (5) Mặt khác, vì bài tốn của ta là bài tốn quy hoạch lồi nên điều kiện KKT ((1)- (5)) sẽ là điều kiện cần và đủ để w, b, là nghiệm tối ưu.
e) Huấn luyện SVM phi tuyến.
Trong bài tốn phân lớp khi tập dữ liệu huấn luyện khơng được phân tách một cách tuyến tính thì cái hay của SVM là nĩ cĩ thể tổng quát hố cho trường hợp hàm quyết định phi tuyến bằng cách dùng một mẹo mà người ta hay gọi là “mẹo hàm nhân (kernel-trick)”. Ý tưởng là ta sẽ ánh xạ dữ liệu vào khơng gian khác, thường là cĩ số chiều cao hơn thậm chí là vơ hạn chiều và áp dụng SVM trên khơng gian đĩ (xem hình 17). Điều này nghe cĩ vẻ vơ lý vì thực hiện tính tốn trên khơng gian cĩ số chiều cao hơn chắc chắn là sẽ khĩ khăn hơn, nhưng may thay ta cĩ thể sử dụng hàm nhân (kernel function) để tính tích vơ hướng của 2 vectơ trong khơng gian mới bằng phép tốn của 2 véctơ trong khơng gian cũ (k(xi, xj) = (xi).(xj)). Như vậy, thậm chí ta khơng cần quan tâm đến ánh xạ của ta là cái gì, mà chỉ cần quan tâm đến hàm nhân (cĩ một số điều kiện cho hàm nhân để cĩ tính chất trên). Nhờ cĩ kĩ thuật này mà SVM chứa đựng một lớp lớn các thủ tục phân lớp như đa thức, mạng RBF (Radial Basis Function), mạng nơron như là một trường hợp riêng. Bên cạnh những ưu điểm, SVM cịn một số những hạn chế đĩ là: mở rộng cho trường hợp nhiều lớp; lựa chọn hàm nhân và tham số thích hợp cho nĩ.
Áp dụng ánh xạ trên ta cĩ 3.6 trở thành:
Hai hàm nhân được sử dụng rộng rãi nhất là hàm RBF và hàm mũ : + Hàm RBF :
+ Hàm mũ: ((x.y)+θ)E
Trong hàm mũ θ thường được chọn giá trị là 1 do đĩ 2 tham số cịn lại trong các hàm nhân trên γ và E được gọi chung là tham số hàm nhân p. Quy về bài tốn ban đầu, bài tốn đi tìm giả thuyết tốt nhất phân lớp đúng mọi mẫu x (chưa biết) trong X ta cĩ giả thuyết h được xác định bởi 3.7 sau:
3.1.3. Khơng gian tƣờng thuật
Khơng gian tường thuật được xây dựng nhằm hỗ trợ cho bài tốn phân lớp. Phần định nghĩa được giới thiệu trong mục a, luật phân lớp được giới thiệu trong mục b.
a) Định nghĩa
Một giả thuyết h H là phù hợp với tập dữ liệu huấn luyện I+ và I- (kí hiệu là cons(h,<I+,I- >) nếu và chỉ nếu nĩ thỏa mãn điều kiện ràng buộc sau:
cons(h,<I+,I- >) ↔ ( xi )(yi = h(xi)) (3.8)
Hay nĩi cách khác một giả thuyết phù hợp với tập dữ liệu huấn luyện nếu nĩ phân lớp đúng tất cả các mẫu. Chú ý rằng nĩ khơng cĩ nghĩa rằng tất các các mẫu đều được phân lớp đúng bởi vì cịn tồn tại các mẫu khơng nhìn thấy trong tập đầu khơng
được xét đến ở đây. Khơng gian giả thuyết tương ứng với khơng gian giả thuyết H và dữ liệu huấn luyện <I+,I- > được định nghĩa là:
VS(I+,I-) = {h H| cons(h,<I+,I- >) } (3.9)
b) Luật phân lớp
Luật phân lớp trong khơng gian tường thuật là luật đa số. Cho trước một khơng gian giả thuyết VS(I+,I- ) và một mẫu x cĩ thể nhận các lớp thuộc tập Y được phân lớp theo luật sau:
Ví dụ: Hình sau biểu diễn phép phân lớp đúng các mẫu theo luật, riêng với mẫu đỏ nằm giữa 2 siêu phẳng (2 giả thuyết ) thì khơng được phân lớp đúng (nhập nhằng).
Hình 18. Nhập nhằng trong phân lớp khi mẫu nằm giữa hai siêu phẳng
Vùng màu nâu (vùng đậm hơn) được gọi là vùng nhập nhằng của khơng gian tường thuật. Những điểm rơi vào vùng này khơng được phân lớp hoặc được phân lớp sai.
Từ luật phân lớp trên ta cĩ 2 định lý sau:
Định lý 1: Nếu khơng gian giả thuyết VS(I+,I-)khác rỗng thì ta cĩ:
Định lý 2: Nếu khơng gian giả thuyết VS(I+,I-)khác rỗng thì ta cĩ:
h2 h1 h2 h1
3.1.4. Version Space Support Vector Machines (VSSVM)
VSSVM là một hướng tiếp cận trong phân lớp đáng tin, đây là sự kết hợp giữa SVM và VS nhằm tăng miền bao phủ miền nghiệm đúng trong quá trình phân lớp. Ví dụ trên hình 18 ta thấy một mẫu rơi đúng giữa hai siêu phẳng h1 và h2, theo h1 nĩ được mang nhãn lớp là âm, nhưng với h2 nĩ mang nhãn lớp dương, chính vì vậy mà cuối cùng mẫu thử này khơng được gán nhãn hoặc cĩ thể bị gán nhãn sai. Chính vì lý do đĩ mà VSSVM là một giải pháp nhằm hạn chế tối đa số mẫu khơng được phân lớp hoặc bị phân lớp sai.
*Định nghĩa:
VSSVMs là các khơng gian tường thuật cĩ thể được kiểm tra thất bại bằng SVMs. Khơng gian giả thuyết của VSSVMs là khơng gian giả thuyết H(p) của SVMs. VSSVMs được định nghĩa như sau: Cho trước khơng gian giả thuyết H(p), một hằng số C và tập dữ liệu huấn luyện <I+, I->, VSSVMs kí hiệu là là:
Hình 19 dưới đây biểu diễn sơ đồ của luật phân lớp trong thuật tốn phân lớp của VSSVM.
Hình 19. Sơ đồ của luật phân lớp VSSVM
Trong các ứng dụng thực tế thì việc cực đại vùng bao phủ của VSSVMs là vơ cùng quan trọng. Điều này cĩ thể thực hiện bằng hai cách; cách một là tìm giá trị thích hợp của tham số hàm nhân (p) và hằng số C, sai số cho phép chấp nhận được, cách hai là sử dụng kỹ thuật đồng diễn (Ensemble techniques). Co-training chính là một trong các kỹ thuật đồng diễn quan trọng nhất. .
3.1.5. Co-training trong bài tốn VSSVM
Phần này được dành giới thiệu các mơ hình dùng co-training trong máy học VSSVM. Đầu tiên là sự kết hợp của co-training trong VSSVM được thể hiện trong mơ hình thứ nhất, ở đây hai bộ học VSSVM1 và VSSVM2 được xây dựng trong hai khơng gian giả thuyết khác nhau. Trong mơ hình thứ hai hai bộ học VSSVM1 và VSSVM2 được xây dựng dựa trên hai hàm nhân khác nhau. Mỗi bộ học với tập dữ liệu huấn luyện riêng L1 và L2, nhưng ban đầu cùng được khởi tạo bằng tập dữ liệu huấn luyện L, tập dữ liệu đã được gán nhãn.
Input: Một mẫu x để phân lớp, Tập dữ liệu huấn luyện I+, I- ,
Hàm nhân và tham số nhân của hàm nhân p, Tham số C của SVM.
Output: Phân lớp cho x.
Xây dựng một siêu phẳng Nếu ⌐cons( ), ) thì
trả về 0; Xây dựng một siêu phẳng ; Xây dựng một siêu phẳng ; Nếu ⌐cons( ) và cons( thì trả về giá trị +1; Nếu cons( ) và ⌐cons( thì trả về giá trị -1;
Mơ hình thứ nhất
Hình 20. Mơ hình thứ nhất co-training trong VSSVM
Rõ ràng quá trình học sẽ khơng thể tiến hành được nếu một trong hai bộ phân lớp VSSVM rỗng, hay khơng cịn giả thuyết nào thỏa mãn phân tách đúng tất cả các mẫu . Nếu điều kiện cả hai bộ phân lớp cùng khơng rỗng được thỏa mãn thì quá trình học cịn được duy trì. Lúc đầu quá trình huấn luyện hai bộ học này là quá trình học cĩ giám sát (học trên tập huấn luyện đã gán nhãn).
Tư tưởng của mơ hình thứ nhất là thử quá trình học trên tập các mẫu giàu thơng tin I1 (Infomative instances) của bộ học VSSVM1 và tập các mẫu giàu thơng I2 của bộ học VSSVM2. Dùng bộ học một VSSVM
1 phân lớp tập I2 dựa trên phân bố Dl và Dùng bộ học hai VSSVM
2 phân lớp tập I1 dựa trên phân bố Dl. Sau đĩ