HỌC máy, NGUYỄN NHẬT QUANG, ĐHBKHN các PHƯƠNG PHÁP học có GIÁM sát học QUY nạp LUẬT

30 193 0
HỌC máy, NGUYỄN NHẬT QUANG, ĐHBKHN các PHƯƠNG PHÁP học có GIÁM sát học QUY nạp LUẬT

Đ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

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 quy nạp luật (Rule induction) „ 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 Quy nạp p luật – Giới thiệu (1) „ Để học tập luật (IF-THEN) cho toán phân loại • Phù hợp hàm mục tiêu (phân loại) biểu diễn tập luật (IF-THEN) Hàm mục tiêu: h ≡ {Luật1, Luật2, , Luậtm} Luậtj ≡ IF (Điều-kiệnj1 Λ Điều-kiệnj2 Λ Λ Điềukiệnjn) THEN Kết luậnj „ Các luật (IF-THEN) • Một phương pháp phổ biến để biểu diễn tri thức • Phương pháp biểu diễn dễ hiểu người dùng Học Máy – IT 4862 Quy nạp p luật – Giới thiệu (2) „ Nhắc lại: Học định (Decision tree learning) phép p học ọ ộ tập ập luật ậ logic g định ị đề có cho p • Bước 1: Học định • Bước 2: Biểu diễn đường (từ nút gốc đến nút lá) thành luật tương ứng „ Học tập luật • Học ọ yq y định: ị Tập ập luật ậ logic g định ị đề ợ học ọ đồng g thời • Học quy nạp luật: Tập luật logic định đề/vị từ học (từng luật một) „ Cá giải Các iải thuật th ật khác h để học h kiểu kiể luật l ật khác h • Các luật logic định đề (chỉ sử dụng ký hiệu hằng) ậ logic g vịị từ ((sử dụng ụ g ký ý hiệu ệ biến ký ý hiệu ệ vịị từ)) • Các luật – khả diễn đạt cao Học Máy – IT 4862 Quy nạp p luật – Ví dụ (1) „ Học tập luật logic định đề Vd: Hàm mục ụ tiêu (p (phân loại) ) Buy y_Computer p ợ biểu diễn bởi: IF (Age=Old Λ Student=No) THEN Buy_Computer=No IF (Student=Yes) THEN Buy_Computer=Yes IF (Age=Medium Λ Income=High) THEN Buy_Computer=Yes „ Học tập luật logic vị từ Vd: Hàm mục tiêu (khái niệm) Ancestor biểu diễn bởi: ( ,y) THEN Ancestor(x,y) ( ,y) IF Parent(x,y) IF Parent(x,y) Λ Ancestor(y,z) THEN Ancestor(x,z) ((Parent(x,y) ( ,y) ộ vịị từ thể ệ y cha/mẹ ẹ x)) Học Máy – IT 4862 Quy nạp p luật – Ví dụ (2) „ Luật: IF (Age=Old Λ Student=No) THEN Buy_Computer=No „ Những Rec ID X √ ví dụ phân loại xác luật trên? Age Income Student Credit_Rating Buy_Computer Young High No Fair No Medium High No Fair Yes Old Medium No Fair Yes Old L Low Y Yes E Excellent ll t N No Medium Low Yes Excellent Yes Young Medium No Fair No Old Medium Yes Fair Yes Medium High Yes Fair Yes Old Medium No Excellent No Học Máy – IT 4862 Quy nạp luật định đề – Huấn luyện „ Học tập luật theo chiến lược bao phủ gia tăng ((incremental covering g strategy) gy) • Bước 1: Học luật • Bước 2: Loại khỏi tập huấn luyện ví dụ học phân loại xác luật vừa học → Lặp lại bước để học luật khác (sử dụng tập huấn luyện sau loại bỏ) „ Quá trình học • H Học luật l ật tuần t ầ tự t (bao (b phủ hủ gia i tăng tă ới tập tậ huấn h ấ luyện) l ệ ) • Quá trình học tiếp tục (lặp) tùy theo mong muốn tập luật học bao phủ đến mức độ (hoặc toàn bộ) tập huấn luyện „ Tập luật học ắ thứ tự theo tiêu chí đánh giá hiệu (vd: độ xác phân loại) →Các luật kiểm tra theo g trật tự này, y thực p phân loại ví dụ tương lai Học Máy – IT 4862 Sequential-Covering(TargetAttribute, Attributes, TrainingSet, Threshold) LearnedRules ← {} Rule ← LEARN-ONE-RULE(TargetAttribute, Attributes, TrainingSet) while PERFORMANCE(Rule, TrainingSet) > Threshold LearnedRules ← LearnedRules ∪ Rule TrainingSet ← TrainingSet \ {các ví dụ phân loại xác Rule} Rule ← LEARN-ONE-RULE(TargetAttribute, Attributes, TrainingSet) end while Sắ xếp Sắp ế LearnedRules L dR l theo h đánh đá h giá iá PERFORMANCE ới tập ậ TrainingSet T i i S t return {LearnedRules, DefaultRule} • DefaultRule: D f ltR l IF ll THEN (Giá trị t ị phổ hổ biến biế hất ủ TargetAttribute tập TrainingSet) • LEARN-ONE-RULE: Hàm thực học luật tập TrainingSet • PERFORMANCE: Hàm đánh giá chất lượng (hiệu quả) luật học Học Máy – IT 4862 Quy nạp luật định đề – Phân loại „ Đối với ví dụ cần phân loại: • Cá Các luật l ật học h đ ẽ đ kiể tra kiểm t (khai (kh i thác) thá ) tuần t ầ tự t theo th trật tự thu giai đoạn huấn luyện ậ tìm ợ p phù hợp ợp với ví dụ ụ ((các điều kiện ệ g • Luật mệnh đề IF luật phù hợp với ví dụ) sử dụng để phân loại ví dụ → Ví dụ ụ ợ p phân loại dựa ự kết luận ậ ((nhãn lớp) p) g mệnh đề THEN luật • Nếu luật phù hợp với ví dụ, ví dụ phân loại luật mặc định (DefaultRule) → DefaultRule: Ví dụ phân vào lớp chiếm số đông tập huấn luyện Học Máy – IT 4862 Chiến lược bao phủ gia tăng – Các vấn đề „ Chuyển toán (phức tạp hơn) học tập luật thành chuỗi toán ((đơn g giản hơn), ), toán học ọ ộ luật ậ • Sau học luật, tất ví dụ học bị bao phủ (được phân loại xác) luật loại khỏi tập huấn luyện • Mỗi luật học cách độc lập với luật khác – Vấn đề: Nếu luật có phụ thuộc (tác động) lẫn nhau? „ Để tìm chuỗi luật, thực chiến lược tìm kiếm tham lam (greedy search) mà quay lui xét lại (without backtracking) • Không đảm bảo tìm tập nhỏ luật • Không đảm bảo tìm tập tối ưu (vd: khía cạnh phân loại xác) ác) lluật ật Học Máy – IT 4862 10 LEARN-ONE-RULE_2(TargetAttribute, Attributes, TrainingSet) Best_Pre-cond ← Ø // mệnh đề điều kiện tổng gq quát Candidate_Pre-conds ← {Best_Pre-cond} while (Attributes ≠ Ø) // 1 Sinh Si h tập ứng ứ cử ủ điề điều kiện kiệ cóó thể bổ sung (thêm (thê vào) ) mệnh ệ h đề IF ủ luật l ật All_constraints ← Tập điều kiện có dạng (A=v), A ∈ Attributes v giá trị A xảy ả TrainingSet New_candidate_Pre-conds ← for each pc ∈ Candidate_Pre-conds, for each c ∈ All_constraints, Tạo mệnh đề điều kiện (pc ∧ c) Loại khỏi tập New_candidate_Pre New candidate Pre-conds conds mệnh đề điều kiện trùng lặp mâu thuẫn // vd: (Ai=vj) Λ (Ai=vk) Học Máy – IT 4862 16 LEARN-ONE-RULE_2(TargetAttribute, Attributes, TrainingSet) // Xác định lại mệnh đề điều kiện tốt for each pc ∈ New_candidate_Pre-conds if (PERFORMANCE(pc, (PERFORMANCE(pc TrainingSet TrainingSet, TargetAttribute) > PERFORMANCE(Best_Pre-cond, TrainingSet, TargetAttribute)) then Best_Pre-cond ← pc // Xác định lại tập mệnh đề điều kiện (Giữ lại tối đa k phần tử!) Candidate_Pre-conds ← Tập gồm k phần tử tốt tập New_candidate_Pre-conds, dựa đánh giá PERFORMANCE end while return (Luật: IF Best_Pre-cond THEN prediction) (prediction giá trị (nhãn lớp) phổ biến TargetAttribute số ví dụ học (TrainingSet) phù hợp với Best_Pre-cond Học Máy – IT 4862 17 Đánh ggiá hiệu qquả luật (1) „ Hàm PERFORMANCE(.) sử dụng giải thuật nêu „ Đánh giá dựa tỷ lệ phân loại xác • D_trainR: Tập Tậ víí dụ d học h phù hù h hợp với ới mệnh ệ h đề điề điều kiệ kiện (IF) luật R R _ • n: Kích thước tập D_train • nc: Số lượng ví dụ tập D_trainR phân loại xác R PERFORMANCE ( R, D _ train R ) = Học Máy – IT 4862 nc n 18 Đánh ggiá hiệu qquả luật (2) „ Đánh giá dựa ước lượng (m-estimate) độ xác • p: Xác suất trước (tiên nghiệm) việc ví dụ, dụ lấy ngẫu nhiên từ tập liệu, phân lớp luật R →p độ xác giả định trước • m: Giá ttrịị ttrọng số ố hỉ định đị h mức ứ độ ả ảnh hh hưởng ủ xác suất ất trước t p đánh giá hiệu luật ─ Nếu m=0, phương pháp m-estimate trở thành phương pháp đánh giá dựa tỷ lệ phân loại xác nc + mp PERFORMANCE ( R, D _ train ) = n+m R Học Máy – IT 4862 19 Đánh ggiá hiệu qquả luật (3) „ Đánh giá dựa giá trị Entropy • c:: Số lượng giá trị thuộc tính phân loại (= Số lượng nhãn lớp) • pi: Tỷ lệ số lượng ví dụ tập D_trainR phân (gán) vào lớp thứ i PERFORMANCE ( R, D _ train R ) = − Entropy ( D _ train R ) c = ∑ pi log pi i =1 Học Máy – IT 4862 20 Các luật logic g vị từ „ Các định nghĩa hình thức logic vị từ • • • • Hằng (như logic định đề) – Vd: John Biến – Vd: x Vị từ – Vd : Male(John) Hà – Vd: Hàm Vd age(John) (J h ) • Term: hằng, biến, hàm term khác – Vd: age(x) • Literal: vị từ (hoặc phủ định vị từ) tập terms – Vd: Greater_Than(age(John),20), ¬Male(x) „ Một luật logic vị từ mệnh đề dạng chuẩn Horn • H Li(i=1 n) literals • Luật logic vị từ: IF L1 Λ Λ Ln THEN H • Dạng D chuẩn h ẩ Horn H ttương ứ ứng: H V ¬L1 V V ¬Ln Học Máy – IT 4862 21 Học luật logic vị từ – Giải thuật FOIL „ Để học tập luật logic vị từ (có chứa biến) • Các luật logic vị từ có khả diễn đạt cao nhiều so với l ật logic luật l i định đị h đề „ Giải thuật FOIL (“first-order inductive logic”) • Bắt đầu với tập rỗng (các luật học được) • Học H ột luật l ật mới, ới sau bổ sung vào tập tậ luật l ật học h đ ─ Tuần tự bổ sung literals kết hợp (conjunctive) vào luật mới, ví dụ sai (negative instance) phân loại (phù hợp) với luật → Một ví dụ sai ví dụ thỏa mãn mện đề điều kiện (IF) luật, có giá trị sai vị từ (trong mệnh đềTHEN) Khi xét literals ứng g viên,, cần lựa ự chọn ọ literal có giá g trịị đánh giá Foil_Gain lớn • Loại bỏ ví dụ (positive instances) luật • Lặp lại để học luật khác Cho đến không ví dụ (positive instances) ─ Học Máy – IT 4862 22 FOIL(TargetPredicate, Predicates, TrainingSet) PosSet ← The instances in TrainingSet for which TargetPredicate is true NegSet ← The instances in TrainigSet for which TargetPredicate is false Learned_rules ← Ø while (PosSet ≠ Ø) // Learn a new rule R ← The most general rule (i.e., the one that predicts TargetPredicate with no precondition) NegSet_R ← NegSet while (NegSet_R ( ≠ Ø) // Add a new literal to specialize R _ ← Generate candidate new literals for R, based Candidate_literals on Predicates Học Máy – IT 4862 23 FOIL(Target_predicate, Predicates, Examples) Best_literal ← argmaxL ∈ Candidate_literalsFoil_Gain(L,R) Add Best_literal Best literal to the preconditions of R NegSet_R ← {instances in NegSet_R that match the precondtions of R} end while Learned_rules ← {Learned_rules, R} PosSet ← PosSet \ {instances in PosSet covered by R} end while return Learned_rules Học Máy – IT 4862 24 Học luật logic vị từ – Phân loại Đối với ví dụ cần phân loại: ƒ Xét (kiểm (kiể tra) t ) tuần t ầ tự t luật l ật học h đ th theo đú thứ tự t chúng thu sau trình huấn luyện ƒ Luật tìm thỏa mãn ví dụ (là luật có mệnh đề điều kiện IF thỏa mãn/phù hợp với ví dụ) dùng để phân loại ƒ Ví dụ phân loại mệnh đề THEN luật ƒ Nếu luật phù hợp với ví dụ, ví dụ phân loại luật mặc định (default rule) ƒ Ví dụ gán nhãn lớp giá trị (nhãn lớp) phổ biến tập huấn luyện Học Máy – IT 4862 25 Sản sinh điều kiện cụ thể hóa FOIL „ Luật cần cụ thể hóa: L1 Λ Λ Ln → P(x1, ,xk) • L1, ,L Ln: Các literals tạo nên mệnh đề điều kiện luật • P(x1, ,xk): Literal tạo nên mệnh đề kết luận luật „ Sinh điều kiện cụ thể hóa luật cách bổ sung literal Ln+1 , là: • xi=xj, xi=c, xi>xj, xi≥xj; g xi xj biến tồn luật • Q(y1, ,ym); Q vị từ thuộc tập Predicates, yi biến số biến (yi) phải tồn luật • Dạng phủ định (negation) dạng literals nêu Học Máy – IT 4862 26 FOIL –Định hướng trình tìm kiếm „ Literal (trong số điều kiện cụ thể hóa - candidate specialization literals) nên bổ sung thêm vào luật? „ Giải thuật FOIL sử dụng hàm Foil_Gain để đánh giá hiệu việc bổ sung thêm literal vào luật „ Foil_Gain ưu tiên việc bổ sung literal cho phép mang g lại ộ luật ậ có nhiều ràng g buộc ộ g (p (positive bindings) ràng buộc sai (negative bindings) luật ban đầu (trước bổ sung literal) • Một ràng buộc biến ế (variable binding) phép gán (thay thế) ế biến số (giá trị) • Một ràng g buộc g (p (positive binding) g) ràng g buộc biến làm cho (mệnh đề THEN của) luật Học Máy – IT 4862 27 Hàm đánh giá Foil_Gain ⎛ p0 p1 ⎜ Foil _ Gain ( L , R ) = t ⎜ log − log p1 + n1 p + n0 ⎝ ⎞ ⎟⎟ ⎠ •R: Luật ban đầu (trước bổ sung literal L) •L: Literal ứng cử viên để bổ sung vào luật R •p0: Số lượng ràng buộc (positive bindings) luật R ợ g ràng g buộc ộ sai (negative ( g bindings) g ) luật ậ R •n0: Số lượng •p1: Số lượng ràng buộc luật (R+L) •n1: Số lượng ràng buộc sai luật (R+L) •t: Số lượng ràng buộc luật ban đầu R ràng buộc luật (R+L) (Số lượng ràng buộc biến ậ R (R+L) g đúng) g) làm cho luật Học Máy – IT 4862 28 Giải thuật FOIL – Các vấn đề „ Các luật học giải thuật FOIL bị hạn chế (giới hạn) mệnh đề Horn tổng quát → Các literals không phép chứa ký hiệu hàm (Lý do: Để giảm phức tạp việc tìm kiếm không gian khả năng) „ Các luật học giải thuật FOIL có khả diễn đ t cao đạt h (more ( expressive i th than)) mệnh ệ h đề Horn H tổng quát → Các literals xuất mệnh đề điều kiện luật (i.e., (i e L1, ,Ln) (được phép) dạng phủ định Học Máy – IT 4862 29 Tài liệu tham khảo • T M Mitchell Machine Learning McGraw-Hill, 1997 Học Máy – IT 4862 30 [...].. .Học một luật „ Các yêu cầu đối với hàm LEARN-ONE-RULE • Trả về một ộ luật ậ bao phủ p (phân (p loại ạ được) ợ ) một ộ số lượng ợ g lớn các ví dụ học → Các ví dụ học này phù hợp với các điều kiện của luật học được • Độ chính xác cao → Các phân loại bởi luật học được cần phải chính xác • Không cần thiết phải có độ bao phủ quá cao → Không cần thiết phải bao phủ (phân loại được) tất cả các ví dụ học. .. ¬Male(x) „ Một luật logic vị từ là một mệnh đề dạng chuẩn Horn • H và Li(i=1 n) là các literals • Luật logic vị từ: IF L1 Λ Λ Ln THEN H • Dạng D chuẩn h ẩ Horn H ttương ứ ứng: H V ¬L1 V V ¬Ln Học Máy – IT 4862 21 Học các luật logic vị từ – Giải thuật FOIL „ Để học một tập các luật logic vị từ (có chứa các biến) • Các luật logic vị từ có khả năng diễn đạt cao hơn nhiều so với các l ật logic luật l i định... đúng của luật mới (R+L) •n1: Số lượng các ràng buộc sai của luật mới (R+L) •t: Số lượng các ràng buộc đúng của luật ban đầu R cũng là các ràng buộc đúng của luật mới (R+L) (Số lượng các ràng buộc biến ậ R và (R+L) cùng g đúng) g) làm cho cả 2 luật Học Máy – IT 4862 28 Giải thuật FOIL – Các vấn đề „ Các luật học được bởi giải thuật FOIL bị hạn chế (giới hạn) hơn là các mệnh đề Horn tổng quát → Các literals... tìm kiếm học các luật theo hướng gia tăng cụ thể hóa (bổ sung dần các điều kiện) • Cho đến khi thu được luật cụ thể hóa tối đa (phần mệnh đề điều kiện liên quan đến tất cả các thuộc tính) „ Mặc dù việc sử dụng Beam search (trong việc học một luật) giúp giảm nguy cơ học được một luật không tối ưu; Nhưng việc sử dụng g Greedy y search (trong ( g việc học một tập các luật) ) vẫn có thể dẫn đến học được... Bắt đầu với một tập rỗng (các luật học được) • Học H một ột luật l ật mới, ới và à sau đó bổ sung vào à tập tậ các á luật l ật học h được đ ─ Tuần tự bổ sung các literals kết hợp (conjunctive) vào trong luật mới, cho đến khi không có ví dụ sai nào (negative instance) được phân loại (phù hợp) với luật mới → Một ví dụ sai là ví dụ thỏa mãn mện đề điều kiện (IF) của luật, nhưng có giá trị sai đối với vị... (phân loại được) tất cả các ví dụ học „ Giải pháp: Tìm kiếm (học) luật từ-tổng-quát-đến-cụ-thể • Bắt đầu với luật tổng quát nhất (không có điều kiện nào) • Bổ sung vào luật một điều kiện (đối với một thuộc tính), ưu tiên điều kiện giúp cải thiện tối đa hiệu năng của luật đối với các ví dụ học • Lặp lại bước trên để bổ sung thêm một điều kiện khác vào luật Học Máy – IT 4862 11 LEARN-ONE-RULE_1(TargetAttribute,... literals không được phép chứa các ký hiệu hàm (Lý do: Để giảm sự phức tạp của việc tìm kiếm trong không gian các khả năng) „ Các luật học được bởi giải thuật FOIL có khả năng diễn đ t cao hơn đạt h (more ( expressive i th than)) các á mệnh ệ h đề Horn H tổng quát → Các literals xuất hiện trong mệnh đề điều kiện của luật (i.e., (i e L1, ,Ln) có thể (được phép) ở dạng phủ định Học Máy – IT 4862 29 Tài liệu... bởi luật mặc định (default rule) ƒ Ví dụ được gán nhãn lớp bởi giá trị (nhãn lớp) phổ biến nhất trong tập huấn luyện Học Máy – IT 4862 25 Sản sinh các điều kiện cụ thể hóa trong FOIL „ Luật cần được cụ thể hóa: L1 Λ Λ Ln → P(x1, ,xk) • L1, ,L Ln: Các literals tạo nên mệnh đề điều kiện của luật • P(x1, ,xk): Literal tạo nên mệnh đề kết luận của luật „ Sinh ra các điều kiện cụ thể hóa của luật bằng cách... giống như ID3 • Học (phát triển) luật/ cây bằng cách bổ sung dần dần các điều kiện đối với các thuộc tính • Dừng, khi luật/ cây học được đạt tới mức hiệu năng chấp nhận được „ Nh Nhưng có ó sự khác khá nhau: h • Tại mỗi bước tìm kiếm, LEARN-ONE-RULE_1 chỉ đi theo một hướng cụ thể hóa điều kiện (A=v*) giúp đem lại hiệu năng cao nhất • ID3 phát triển một cây con gồm tất cả các giá trị có thể vi của A „... Học luật logic vị từ – Phân loại Đối với 1 ví dụ cần phân loại: ƒ Xét (kiểm (kiể tra) t ) tuần t ầ tự t các á luật l ật đã học h được đ th đúng theo đú thứ tự t của chúng thu được sau quá trình huấn luyện ƒ Luật đầu tiên tìm được thỏa mãn ví dụ (là luật có mệnh đề điều kiện IF thỏa mãn/phù hợp với ví dụ) sẽ được dùng để phân loại ƒ Ví dụ được phân loại bởi mệnh đề THEN của luật đó ƒ Nếu không có luật ... 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 quy nạp luật (Rule induction) „ Các phương pháp học. .. Bước 1: Học định • Bước 2: Biểu diễn đường (từ nút gốc đến nút lá) thành luật tương ứng „ Học tập luật • Học ọ yq y định: ị Tập ập luật ậ logic g định ị đề ợ học ọ đồng g thời • Học quy nạp luật: ... thức • Phương pháp biểu diễn dễ hiểu người dùng Học Máy – IT 4862 Quy nạp p luật – Giới thiệu (2) „ Nhắc lại: Học định (Decision tree learning) phép p học ọ ộ tập ập luật ậ logic g định ị đề có cho

Ngày đăng: 13/11/2015, 18:09

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan