1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Học máy (IT 4862): Chương 4.5 - Nguyễn Nhật Quang

47 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Chương 4 - Các phương pháp học có giám sát (Máy vectơ hỗ trợ - Support vector machine). Chương này trình bày những nội dung chính sau: Giới thiệu về máy vectơ hỗ trợ, mặt siêu phẳng phân tách, mặt siêu phẳng có lề cực đại, dữ liệu phân tách được tuyền tính, tính toán mức lề, cực đại hóa mức lề, bài toán tối ưu,... Mời các bạn cùng tham khảo nội dung chi tiết.

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) tố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 tốn mức lề (2) „ Tính tố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 tố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 tố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 tố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 tố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 q 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 tố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 tốn q 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 tố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 tố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 ... 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 tốn mức lề... 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... 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ày đăng: 08/05/2021, 18:58