Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 47 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
47
Dung lượng
533,82 KB
Nội dung
Học Máy (IT 4862) Nguyễn ễ Nhật hậ Quang quangnn-fit@mail.hut.edu.vn Trường Đại học Bách Khoa Hà Nội Viện Công nghệ thông tin truyền thông Năm học 2011-2012 Nội dung d môn ô học: h Giới thiệu chung g Đánh giá hiệu hệ thống học máy Các phương pháp học dựa xác suất Các phương pháp học có giám sát Máy vectơ hỗ trợ (Support vector machine) Các phương pháp học không giám sát L cộng Lọc ộ tác tá Học tăng cường Học Máy – IT 4862 Máy vectơ hỗ trợ - Giới thiệu (1) Máy vectơ hỗ trợ (Support vector machine - SVM) đề cử V V Vapnik đồng nghiệp ông vào năm 1970s Nga, sau trở nên tiếng phổ biến vào năm 1990s SVM phương pháp phân lớp tuyến tính (linear classifier), với mục đích xác định siêu phẳng (hyperplane) để phân tách hai lớp liệu – ví dụ: lớp ví dụ có nhãn dương (positive) lớp ví dụ có nhãn âm (negative) Các hàm nhân (kernel functions), gọi hàm biến đổi (transformation functions), dùng cho trường hợp phân lớp phi tuyến Học Máy – IT 4862 Máy vectơ hỗ trợ - Giới thiệu (2) SVM có tảng lý thuyết chặt chẽ – dựa nhiều định lý toán học SVM phương pháp tốt (phù hợp) toán phân lớp có không gian biểu diễn thuộc tính lớn – đối tượng cần phân lớp biểu diễn tập lớn thuộc tính SVM biết ế đến ế số ố phương pháp phân lớp tốt toán phân lớp văn (text/document classification) Học Máy – IT 4862 Máy vectơ hỗ trợ - Giới thiệu (3) Các vectơ ký hiệu chữ đậm nét! Biểu Biể diễn diễ tập tậ r víí dụ d huấn h ấ luyện l ệ (training (t i i examples) l ) {(x1, y1), (x2, y2), …, (xr, yr)}, xi vectơ đầu vào biểu diễn không gian X ⊆ Rn yi nhãn lớp (giá trị đầu ra), yi ∈ {1,-1} yi=1: lớp dương (positive); yi=-1: lớp âm (negative) ⎧ nêu 〈 w ⋅ x i 〉 + b ≥ Đối với ví dụ xi: yi = ⎨ ⎩− nêu 〈 w ⋅ x i 〉 + b < SVM xác định hàm phân tách tuyến tính f(x) = 〈w ⋅ x〉 + b [Eq.1] [Eq.2] w vectơ trọng số ố thuộc tính; b giá trị số ố thực Học Máy – IT 4862 Mặt siêu phẳng phân tách Mặt siêu phẳng phân tách ví dụ huấn luyện lớp dương ví dụ huấn luyện lớp âm: 〈w ⋅ x〉 + b = Còn gọi ranh giới (bề mặt) định Tồn nhiều mặt siêu phẳng phân tách tách Chọn nào? [Liu, 2006] Học Máy – IT 4862 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 Lý thuyết học máy mặt siêu phẳng phân tách tối thiểu hóa giới hạn lỗi (phân lớp) mắc phải [Liu, 2006] Học Máy – IT 4862 SVM – Dữ liệu phân tách tuyến tính Giả sử tập liệu (tập ví dụ huấn luyện) phân tách ợ ộ cách tuyến y tính Xét ví dụ lớp dương (x+,1) ví dụ lớp âm (x-,-1) gần siêu phẳng phân tách H0 (+b=0) Định nghĩa siêu phẳng lề song song với H+ qua x+, song song với H0 H- q qua a x-, song song với ới H0 H+: +b = [[Eq.3] q ] H-: < +b = -1 cho: +b ≥ 1, yi = +b ≤ -1,, yi = -1 Học Máy – IT 4862 Tính toán mức lề (1) Mức lề (margin) khoảng cách siêu phẳng lề H+ H- Trong hình vẽ nêu trên: d+ khoảng cách H+ H0 d- khoảng cách H- H0 (d+ + d−) mức lề Theo lý thuyết đại số vectơ, khoảng cách (trực giao) từ ột điểm điể xi đến đế mặt ặt siêu iê phẳng hẳ (〈w (〈 ⋅ x〉〉 + b = 0) là: | 〈w ⋅ xi 〉 + b | || w || ||w|| độ dài w: 2 || w ||= < w ⋅ w > = w1 + w2 + + wn Học Máy – IT 4862 [Eq.4] [[Eq.5] q ] 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 biểu biể thức [Eq.3-4]: [Eq 4] | 〈w ⋅ x+ 〉 + b | |1| d+ = = = || w || || w || || w || Tính toán d- – khoảng cách từ x- đến (〈w ⋅ x〉 + b = 0) [Eq.6] Áp dụng biểu thức [Eq.3-4]: | 〈 w ⋅ x − 〉 + b | | −1 | = = d− = || w || || w || || w || Tí h toán Tính t mức ứ lề margin = d + + d − = || w || Học Máy – IT 4862 [Eq.7] [Eq.8] 10 Ranh ggiới qquyết định p phân lớp p Ranh giới định phân lớp siêu phẳng: r 〈 w * ⋅x〉 + b* = ∑ α i yi 〈 x i ⋅ x〉 + b* = i =1 → Rất nhiều ví dụ ụ học ọ xi có g giá trịị αi g 0! ((chính đặc ặ điểm thưa thớt – sparsity – phương pháp SVM) Đối với ví dụ cần phân loại z, phân loại bởi: sign(〈w*⋅z〉+b*) Cần xác định giá trị phù hợp tham số C (trong hàm tối ưu mục tiêu) → Thường xác định cách sử dụng tập liêu tối ưu (validation set) Học Máy – IT 4862 33 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 xác định dựa tập vectơ hỗ trợ Chỉ vectơ hỗ trợ, trợ hệ số nhân Lagrange chúng khác Đối với ví dụ huấn luyện khác (không phải vectơ hỗ trợ) hệ số nhân Lagrange chúng trợ), Việc xác định vectơ hỗ trợ (trong số ví dụ huấn luyện) đòi hỏi phải giải toán tối ưu bậc hai Trong biểu thức đối ngẫu (LD) biểu thức biểu diễn siêu phẳng phân tách, ví dụ huấn luyện xuất bên tích vô hướng (inner/dot-products) vectơ Học Máy – IT 4862 34 SVM phân lớp phi tuyến – Non-linear SVM Lưu ý: Các công thức phương pháp SVM đòi hỏi tập liệu phải phân lớp tuyến tính (có/không nhiễu) Trong nhiều toán thực tế, tập liệu phân lớp phi tuyến (non-linearly separable) Phương pháp phân loại SVM phi tuyến (Non-linear (Non linear SVM): Bước Chuyển đổi không gian biểu diễn đầu vào ban đầu sang không gian khác (thường có số chiều lớn nhiều) → Dữ liệu biểu diễn không gian (đã chuyển đổi) phân lớp tuyến tính (linearly separable) Bước Áp dụng lại công thức bước phương pháp phân lớp SVM tuyến tính Không gian biểu diễn ban đầu: Không gian đầu vào (input space) Không gian biểu diễn sau chuyển đổi: Không gian đặc trưng (f t (feature space)) Học Máy – IT 4862 35 Chuyển đổi khôngg gian g biểu diễn (1) Ý tưởng việc ánh xạ (chuyển đổi) biểu diễn liệ từ không liệu khô gian i b ban đầ đầu X sang ột không khô gian i khác F cách áp dụng hàm ánh xạ phi tuyến φ φ:X →F x a φ ( x) Trong không gian chuyển đổi, tập ví dụ học ban đầu {(x1, y1), (x2, y2), …, (xr, yr)} biểu diễn (ánh xạ) t tương ứ ứng: {(φ(x1), y1), (φ(x2), y2), …, (φ(xr), yr)} Học Máy – IT 4862 36 Chuyển y đổi khôngg gian g biểu diễn ((2)) [Liu, 2006] • Trong ví dụ này, không gian sau chuyển đổi có số chiều không gian ban đầu (2 chiều) • Nhưng thông thường, số chiều không gian sau chuyển đổi (feature space) lớn (nhiều) số chiều không gian ban đầu ầ ((input space)) Học Máy – IT 4862 37 Non-linear SVM – Bài toán tối ưu Sau trình chuyển đổi không gian biểu diễn, toán tối ưu: r 〈 w ⋅ w〉 LP = + C ∑ ξi Cực tiểu hóa: Với điều kiện: i =1 ⎧ yi (〈 w ⋅ φ (x i )〉 + b ) ≥ − ξ i , ∀i = r ⎨ ⎩ ξ i ≥ 0, ∀i = r [Eq.34] Bài toán (tối ưu) đối ngẫu: r Cực đại hóa: Với điều kiện: r LD = ∑ α i − ∑ α iα j yi y j 〈φ (x i ) ⋅ φ (x j )〉 i , j =1 i =1 ⎧ r ⎪ ∑ α i yi = ⎨ i =1 ⎪⎩0 ≤ α i ≤ C , ∀i = r [Eq.35] Ranh giới định phân lớp siêu phẳng phân tách: r f (z ) = 〈 w * ⋅φ (z )〉 + b* = ∑ α i yi 〈φ (x i ) ⋅ φ (z )〉 + b *) = [Eq 36] [Eq.36] i =1 Học Máy – IT 4862 38 Chuyển đổi khôngg gian g – Ví dụ Xét không gian biểu diễn ban đầu có chiều, chọn h hà hàm ánh h xạ từ không khô gian i b ban đầ đầu (2 (2-D) D) sang không gian (3-D) sau: 2 ( x1 , x2 ) a ( x1 , x2 , x1 x2 ) Xét ví dụ học (x=(2, (x=(2 3) 3), y=-1) không gian ban đầu (2-D) Trong không gian sau chuyển đổi (3-D) (3-D), ví dụ học biểu diễn sau: (φ((x)=(4, ) ( , 9,, 8.49), ), y=-1) y ) Học Máy – IT 4862 39 Chuyển đổi khôngg gian g – Trở ngại g Việc chuyển đổi không gian cách trực tiếp gặp vấn đề số chiều không gg gian q lớn (curse ( of dimensionality) y) Ngay với không gian ban đầu có số chiều không lớn, hàm chuyển đổi (ánh xạ) thích hợp trả khô gian không i ới có ó số ố chiều hiề ất lớn lớ → “thích hợp” mang ý nghĩa hàm chuyển đổi cho phép xác định không gian mà tập liệu phân lớp tuyến tính Vấn đề: Chi phí tính toán lớn việc chuyển đổi khô gian không i ttrực tiếp tiế Rất may, việc chuyển đổi không gian trực tiếp không cần t ết thiết… Học Máy – IT 4862 40 Các hàm nhân – Kernel functions Trong biểu thức đối ngẫu ([Eq.35]) biểu thức siêu phẳng phân tách ([ p ([Eq.36]): q ]) Việc xác định trực tiếp (cụ thể) giá trị φ(x) φ(z) không cần thiết Chỉ cần tính giá trị tích vô hướng vectơ 〈φ(x)⋅φ(z)〉 → Việc chuyển đổi không gian trực tiếp không cần thiết! Nếu tính tích vô hướng vectơ 〈φ(x)⋅φ(z)〉 trực tiếp từ vectơ x z, không cần phải xác định (không cần biết): vectơ đặc trưng (trong không gian sau chuyển đổi) φ(x), hàm chuyển đổi (ánh xạ) φ Trong phương pháp SVM, mục tiêu đạt thông qua việc sử dụng hàm nhân (kernel functions), ký hiệu K K(x z) = 〈φ(x)⋅φ(z)〉 K(x,z) [Eq 37] [Eq.37] Học Máy – IT 4862 41 Hàm nhân – Ví dụ Hàm nhân đa thức K(x z) = 〈x⋅z〉d K(x,z) [Eq.38] Xét hàm nhân đa thức với bậc d=2, vectơ biểu diễn g không gg gian chiều: x=(x ( 1,x2) z=(z ( 1,z2) 〈 x ⋅ z〉 = ( x1 z1 + x z ) 2 2 = x1 z1 + x1 z1 x z + x z 2 2 2 = 〈( x1 , x , x1 x ) ⋅ ( z1 , z , z1 z )〉 = 〈φ (x) ⋅ φ (z )〉 = K (x, z ) Ví dụ thể hàm nhân 〈x⋅z〉2 tích vô hướng vectơ φ(x) φ(z) không gian sau chuyển đổi Học Máy – IT 4862 42 Kernel trick Diễn giải chi tiết bước tính toán ví dụ mang mục đích giải thích (minh họa) Trong thực tế, ta không cần phải tìm (xác định) hàm ánh xạ φ Bởi vì: Ta áp dụng hàm nhân cách trực tiếp →Thay tất giá trị tích vô hướng vectơ 〈φ(x)⋅φ(z)〉 [Eq.35-36] hàm nhân chọn K(x,z) K(x z) (ví dụ: hàm nhân đa thức 〈x 〈x⋅z〉 z〉d [Eq.38]) Chiến lược gọi kernel trick! Học Máy – IT 4862 43 Kernel function – How to know? Làm để biết hàm hàm nhân hay không – mà không cần thực bước suy diễn (phân tích) cụ thể ví dụ minh họa? → Là Làm để biết ột hàm hà có ó phải hải ột tích tí h vô ô hướng vectơ không gian đó? Câu hỏi trả lời định lý Mercer (Mercer’s theorem) →Nằm Nằ ài phạm h vii ủ giảng iả này! ! Học Máy – IT 4862 44 Các hàm nhân thườngg dùngg Đa thức: K(x,z) = (〈 x ⋅ z〉 + θ ) ; : θ ∈ R,d ∈ N d Gaussian RBF (Gaussian radial basis function) K(x,z) = e − x−z 2σ ; t : σ > Xích-ma (Sigmoidal) K(x,z) = (β 〈 x ⋅ z〉 − λ) = Học Máy – IT 4862 1+ e − ( β 〈 x⋅z 〉 − λ ) ; : β,λ ∈ R 45 Phân lớp SVM – Các vấn đề SVM làm việc với không gian đầu vào số thực → Đối với thuộc ộ tính định ị danh ((nominal), ), cần chuyển y g giá trịị định ị danh thành giá trị số SVM làm việc (thực phân lớp) với lớp → Đối với toán phân lớp gồm nhiều lớp, cần chuyển thành tập toán phân lớp gồm lớp, sau giải riêng rẽ toán lớp → Ví dụ: chiến lược “one-against-rest” Siêu phẳng phân tách (ranh giới định phân lớp) xác định SVM thường khó hiểu người dùng Vấn đề (khó giải thích định phân lớp) nghiêm trọng, hàm nhân (kernel functions) sử dụng SVM thường dùng toán ứng dụng mà việc giải thích hoạt động (quyết định) hệ thống cho người dùng yêu cầu ầ quan trọng Học Máy – IT 4862 46 Tài liệu tham khảo •B Liu Web Data Mining: Exploring Hyperlinks, g Data Springer, p g 2006 Contents, and Usage •C J C Burges A Tutorial on Support Vector Machines for Pattern Recognition Data Mining and Knowledge Discovery, 2(2): 121-167, 1998 Học Máy – IT 4862 47 [...]... 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! Học Máy – IT 4862 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... bằng cách sử dụng một tập dữ liêu tối ưu (validation set) Học Máy – IT 4862 33 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ợ) ,... 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ợ! Đối ố với các ví dụ khác (không phải là các vectơ hỗ trợ) thì αi=0 Học Máy – IT 4862 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-KuhnTucker là cần đối với một lời giải tối... 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ơ Học Máy – IT 4862 34 SVM phân lớp phi tuyến – Non-linear SVM Lưu ý: Các công thức trong phương pháp SVM đòi... định dựa trên rất ít (sparse) các giá trị αi Rất nhiều ví dụ học nằm ngoài khoảng lề (margin area) area), và chúng có giá trị αi bằng 0 Các ví dụ nằm trên lề (yi(〈w⋅xi〉+b)=1 – chính là các vectơ hỗ trợ) , thì có giá trịị αi khác không g g ((0 ... ô học: h Giới thiệu chung g Đánh giá hiệu hệ thống học máy Các phương pháp học dựa xác suất Các phương pháp học có giám sát Máy vectơ hỗ trợ (Support vector machine) Các phương pháp. .. vector machine) Các phương pháp học không giám sát L cộng Lọc ộ tác tá Học tăng cường Học Máy – IT 4862 Máy vectơ hỗ trợ - Giới thiệu (1) Máy vectơ hỗ trợ (Support vector machine - SVM)... nằm phạm vi giảng! Học Máy – IT 4862 19 Tính giá trị w* b* Gọi SV tập vectơ hỗ trợ SV tập tập r ví dụ huấn luyện ban đầu →αi>0 vectơ hỗ trợ xi →αi=0 vectơ vectơ hỗ trợ xi Sử dụng biểu ể