Bài giảng Học máy - Các phương pháp học có giám sát: Học quy nạp luật - Rule induction cung cấp cho người học các kiến thức: Phương pháp học quy nạp luật, các bài toán ví dụ, phân loại, chiến lược bao phủ gia tăng, Learn - one - Rule, đánh giá hiệu quản của một luật, các luật logic vị từ,... 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 Học mạng nơron nhân tạo (Artificial neural network) 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ạng nơ-ron nhân tạo – Giới thiệu (1) Mạng nơ-ron nhân tạo (Artificial neural network – ANN) Mô hệ thống nơ-ron sinh học (các não người) ANN cấu trúc (structure/network) tạo nên số lượng nơ-ron (artificial neurons) liên kết với Mỗi nơ-ron Có đặc tính vào/ra Th hiệ Thực ột tính tí h tốn t cục ((một ột hàm hà cục bộ) Giá trị đầu nơ-ron xác định Đặc tính vào/ra Các liên kết với nơ-ron khác (Có thể) đầu vào bổ sung Học Máy – IT 4862 Mạng nơ-ron nhân tạo – Giới thiệu (2) ANN xem cấu trúc xử lý thông tin cách p phân tán song g song g mức cao ANN có khả học (learn), nhớ lại (recall), khái quát hóa (generalize) từ liệu học –bằng cách gán điều chỉnh (thích nghi) giá trị trọng số ố (mức độ quan trọng) liên kết nơ-ron Chứ Chức ă (hà (hàm mục tiê tiêu)) ủ ột ANN đ xác đị định h Kiến trúc (topology) mạng nơ-ron Đặc tính vào/ra nơ nơ-ron ron Chiến lược học (huấn luyện) Dữ liệu ệ học ọ Học Máy – IT 4862 ANN – Các ứng dụng điển hình (1) Xử lý ảnh Computer vision Xử lý tín hiệu Ví dụ: d Phâ Phân tí tích h tí tín hiệu hiệ hì hình h thái đị địa chấn, hấ động độ đất Nhận dạng mẫu Ví dụ: So khớp, khớp tiền xử lý, lý phân đoạn phân tích ảnh, ảnh computer vision, vision nén ảnh, xử lý hiểu ảnh thay đổi theo thời gian Ví dụ: Trích chọn thuộc tính, phân loại phân tích tín hiệu ra-đa, đa, nhận dạng hiểu giọng nói, nhận dạng dấu vân tay, nhận dạng ký tự (chữ số), nhận dạng mặt người, phân tích chữ viết tay Y tế Ví dụ: Phân tích hiểu tín hiệu điện tim, chẩn đốn loại bệnh, xử lý ảnh lĩnh vực y tế Học Máy – IT 4862 ANN – Các ứng dụng điển hình (2) Các hệ thống quân Các hệ thống tài Ví dụ: Cài đặt song song toán thỏa mãn ràng buộc, tìm lời giải cho h tốn t người ời đưa đ hà hàng, điề khiển điều khiể khoa kh học h nghiên hiê cứu ứ ề người máy (robotics) Các hệ thống lượng Ví dụ: Phân tích thị trường chứng khoán, đánh giá giá trị bất động sản, kiểm tra truy cập thẻ tín dụng, dụng kinh doanh cổ phiếu Lập kế hoạch, điều khiển, tìm kiếm Ví dụ: Phát thủy lơi, lơi phân loại nhiễu ra-đa đa Ví dụ: Đánh giá trạng thái hệ thống, phát khắc phục cố, dự đoán tải (khối lượng) công việc, đánh giá mức độ an toàn .(và ( nhiều ều lĩnh vực ực bà toá toán khác!) ác ) Học Máy – IT 4862 Cấu trúc hoạt động nơ-ron Các tín hiệu đầu vào (input signals) nơ-ron (xi, i=1 m) i=1 m) Mỗi tín hiệu đầu vào xi gắn với trọng số wi Trọng ọ g số điều chỉnh ((bias)) w0 (với x0=1) Đầu vào tổng thể (Net input) hàm tích hợp ủ tí tín hiệu hiệ đầu đầ vào – Net(w,x) x0=1 x1 x2 … xm Hàm tác động/truyền (Activation/transfer function) tính giá trị đầu nơ-ron – f(Net(w,x)) w0 w1 w2 Σ wm Các tín hiệu đầu vào nơ-ron Giá trị đầu (Output) ( ) (x) nơ-ron: Out=f(Net(w,x)) Học Máy – IT 4862 Giá trị đầ đầu nơ-ron (Out) Đầu vào tổng thể (Net) Hàm tác động (truyền) ((f)) Đầu vào tổngg thể dịch chuyển y Đầu vào tổng thể (net input) thường tính tốn hàm tuyến tính m m i =1 i =0 Net = w0 + w1 x1 + w2 x2 + + wm xm = w0 + ∑ wi xi = ∑ wi xi Ý nghĩa tín hiệu dịch chuyển (bias) w0 → Họ hàm phân tách Net=w N t 1x1 phân tách đ ợc ví dụ thành lớp (two classes) → Nhưng: họ hàm Net=w1x1+w0 có thể! Net Net = w1x1 Net Net = w1x1 + w0 x1 Học Máy – IT 4862 x1 Hàm tác động: Giới hạn cứng (Hard-limiter) Còn gọi hàm ngưỡng (threshold function) Giá trị đầu ầ lấy ấ giá trị θ giá trị ngưỡng ⎧1, nêu Net ≥ θ Out ( Net ) = hl1( Net , θ ) = ⎨ nêu nguoc lai ⎩0, Nhược ợ điểm: không g liên tục, ụ , đạo hàm không liên tục Out ( Net ) = hl 2( Net , θ ) = sign( Net , θ ) Out Binary hard-limiter Bipolar hard-limiter θ Out Net θ Net -1 Học Máy – IT 4862 Hàm tác động: Logic ngưỡng (Threshold logic) ⎧ ⎪ 0, if Net < −θ ⎪⎪ Out ( Net ) = tl ( Net , α , θ ) = ⎨α ( Net + θ ), ) if − θ ≤ Net ≤ − θ α ⎪ ⎪ 1, if Net > − θ ⎪⎩ α O t Out = max(0, min(1, α ( Net + θ ))) Còn gọi hàm tuyến tính bã hị bão hịa ((saturating t ti linear li ffunction) ti ) Kết hợp hàm tác động: tuyến tính giới hạn chặt α xác định độ dốc ố khoảng tuyến tính ((α >0)) -θ (1/α)-θ Net 1/α Nhược điểm: Liên tục – đ hàm đạo hà khô không liên liê ttục Học Máy – IT 4862 10 Giải thuật BP – Lan truyền ngược (4) f(Net1) x1 δ4 w42 δ2 f(Net2) w52 x2 f(Net4) δ5 f(Net6) Out6 f(Net5) f(Net3) Học Máy – IT 4862 δ2 = f '(Net )(w42 δ4 + w52 δ5 ) 54 Giải thuật BP – Lan truyền ngược (5) f(Net1) δ4 x1 f(Net4) f(Net2) x2 δ3 w43 w53 f(Net3) Học Máy – IT 4862 δ5 f(Net6) Out6 f(Net5) δ3 = f '(Net3 )(w43δ4 + w53δ5 ) 55 Giải thuật BP – Cập nhật trọng số (1) w1x 1 x1 f(Net1) δ1 w1x2 f(Net4) f(Net6) f(Net ( 2) x2 Out6 f(Net5) f(Net3) Học Máy – IT 4862 w1 x1 = w1 x1 + ηδ x1 w1 x = w1 x + ηδ x 56 Giải thuật BP – Cập nhật trọng số (2) f(Net1) x1 w2 x1 δ2 f(Net4) f(Net6) f(Net2) x2 w2 x2 Out6 f(Net5) f(Net3) Học Máy – IT 4862 w x1 = w x1 + ηδ x1 w x = w x + ηδ x 57 Giải thuật BP – Cập nhật trọng số (3) f(Net1) x1 f(Net4) f(Net6) f(Net2) x2 w3x1 w3x2 Out6 f(Net5) δ3 f(Net3) Học Máy – IT 4862 w3 x1 = w3 x1 + ηδ x1 w3 x = w3 x + ηδ x 58 Giải thuật BP – Cập nhật trọng số (4) f(Net1) x1 δ4 w41 w42 f(Net2) x2 f(Net4) w43 f(Net6) Out6 f(Net5) w41 = w41 + ηδ 4Out1 f(Net3) w42 = w42 + ηδ 4Out2 w43 = w43 + ηδ 4Out3 Học Máy – IT 4862 59 Giải thuật BP – Cập nhật trọng số (5) f(Net1) x1 f(Net4) f(Net2) w 51 w52 x2 f(Net3) w53 δ5 f(Net6) Out6 f(Net5) w51 = w51 + ηδ 5Out1 w52 = w52 + ηδ 5Out2 w53 = w53 + ηδ 5Out3 Học Máy – IT 4862 60 Giải thuật BP – Cập nhật trọng số (6) f(Net1) x1 f(Net4) f(Net6) f(Net2) x2 f(Net5) f(Net3) Học Máy – IT 4862 δ6 w64 Out6 w65 w64 = w64 + ηδ6Out w65 = w65 + ηδ6Out 61 BP: Khởi tạo giá trị trọng số Thông thường, trọng số khởi tạo với giá trị nhỏ ngẫu nhiên Nếu trọng số có giá trị ban đầu lớn Các hàm xích-ma (sigmoid functions) đạt trạng thái bão hòa sớm Hệ thống tắc điểm cực tiểu cục (local minimum) trạng thái không đổi (very flat plateau) gần điểm bắt đầu Các gợi ý cho w0abb (liên kết từ nơ nơ-ron ron b tới nơ nơ-ron ron a) Ký hiệu na số lượng nơ-ron tầng với nơ-ron a w0ab ∈ [−1/na, 1/na] Ký hiệu ka số lượng nơ-ron có liên kết (tiến) đến nơ-ron a (=số lượng liên kết đầu vào nơ-ron a) w ab ∈ [ − / k a ,3 / k a ] Học Máy – IT 4862 62 BP: Tốc độ học ((Learningg rate)) Ảnh hưởng quan trọng đến hiệu khả hội tụ giải thuật học BP Một giá iá trị t ị η lớn lớ có ó thể đẩy đẩ nhanh h h hội tụ t ủ trình t ì h học, h h có ó thể làm cho hệ thống bỏ qua điểm tối ưu toàn cục rơi vào điểm tối ưu cục Một giá trị η nhỏ làm cho trình học kéo dài lâu Thường chọn theo thực nghiệm (experimentally) toán Các giá trị tốt tốc độ học lúc bắt đầu (q trình học) khơng tốt ộ thời điểm sau đấyy Nên sử dụng tốc độ học thích nghi (động) Sau cập nhật trọng số, kiểm tra xem việc cập nhật trọng số có giúp làm giảm giá trị lỗi a Δη = , if ΔE < consistently -bη , if ΔE > 0 , otherwise Học Máy – IT 4862 (a, b > 0) 63 BP: Momentum Phương pháp Gradient descent chậm η nhỏ, d động dao độ mạnh h ế η lớn lớ αΔw(t’) -η∇E(t’+1) η∇E(t +1) + αΔw(t αΔw(t’)) Δw(t’)) Δw(t A’ Để giảm mức độ dao động, cần đưa vào thành phần momentum Δw(t) = -η∇E(t) + αΔw(t-1) α (∈[0,1]) tham số momentum (thường lấy =0.9) Một quy tắc, dựa thí nghiệm để chọn giá trị hợp lý nghiệm, cho tốc độ học momentum là: (η+α) >≈ 1; α>η để tránh dao động Học Máy – IT 4862 -η∇E(t’+1) B Δw(t) A B’ -η∇E(t+1) αΔw(t) -η∇E(t+1) ∇E(t+1) + αΔw(t) Δ (t) Gradient descent hàm lỗi bậc đơn giản Quỹ đạo bên trái không sử dụng momentum Quỹ đạo bên phải có sử dụng momentum 64 BP: Số lượng nơ-ron tầng ẩn Kích thước (số nơ-ron) tầng ẩn câu hỏi quan trọng việc áp dụng mạng nơ-ron lan truyền tiến nhiều tầng để ể giải ế toán thực tế ế Trong thực tế, khó để xác định xác số lượng nơron cần thiết để đạt độ xác mong muốn hệ thống Kích thước tầng ẩn thường xác định qua thí nghiệm (experimentally/trial and test) Gợi ý Bắt đầu với số lượng ợ g nhỏ nơ-ron tầng g ẩn ((=tỷ ỷ lệ ệ nhỏ so với số lượng tín hiệu đầu vào) Nếu mạng hội tụ, bổ sung thêm nơ-ron vào tầng ẩn Nếu mạng hội tụ, tụ xem xét sử dụng nơ-ron tầng ẩn Học Máy – IT 4862 65 ANNs – Giới hạn học Các hàm nhị phân (Boolean functions) Bất ấ kỳ hàm nhị phân ể học ANN sử dụng tầng ẩn Cá hà Các hàm liê liên ttục (C (Continuous ti ffunctions) ti ) Bất kỳ hàm liên tục bị giới hạn (bounded continuous function) g học ọ ợ (xấp ( p xỉ)) ộ ANN sử dụng ụ g tầng g ẩn [Cybenko, 1989; Hornik et al., 1989] Bất kỳ hàm mục tiêu học (xấp xỉ) ANN sử dụng tầng ẩn [Cybenko [Cybenko, 1988] Học Máy – IT 4862 66 ANNs – Ưu điểm, Nhược điểm Các ưu điểm Bản chất (về cấu trúc) hỗ trợ tính tốn song song mức (rất) cao Khả chịu nhiễu/lỗi, nhờ kiến trúc tính tốn song song Có thể thiết kế để tự thích nghi (các trọng số, cấu trúc mạng) Các nhược điểm Khơng có quy tắc tổng quát để xác định cấu trúc mạng th tham số ốh học tối ưu cho h ột (lớp) (lớ ) ttoán hất định đị h Khơng có phương pháp tổng qt để đánh giá hoạt động bên ANN (vì vậy, hệ thống ANN bị xem “hộp đen”) Rất khó (khơng thể) đưa giải thích cho người dùng Rất khó để dự đốn hiệu hệ thống tương lai (khả g khái q quát hóa hệ thống g học)) Học Máy – IT 4862 67 ANNs – Khi nào? Mỗi ví dụ biểu diễn tập gồm (rất) nhiều thuộc tính kiểu rời rạc kiểu số Miền giá trị đầu hàm mục tiêu có kiểu số thực, kiểu rời rạc, kiểu vectơ Tập liệu chứa nhiễu/lỗi Dạng hàm mục tiêu không xác định (biết) trước Không cần thiết (hoặc khơng quan trọng) phải đưa giải thích cho người g dùng g kết q Chấp nhận thời gian (khá) lâu cho trình huấn luyện Yêu cầu thời gian (khá) nhanh cho việc phân loại/dự đoán Học Máy – IT 4862 68 ... 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 Học mạng nơron nhân tạo (Artificial neural network) Các phương. .. (Artificial neural network) 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ạng nơ-ron nhân tạo – Giới thiệu (1) Mạng nơ-ron nhân tạo (Artificial neural... tầng Học Máy – IT 4862 16 ANN – Các quy tắc học kiểu học mạng nơ-ron nhân tạo Học tham số (Parameter learning) → Mục tiêu thay đổi thích nghi trọng số (weights) liên kết mạng nơ-ron Học