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

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

30 4 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 (Học quy nạp luật - Rule induction). Chương này trình bày những nội dung chính sau: 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 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 tố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ỏ) „ Q 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 ệ ) • Q 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 khơng có 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à khơng có 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 cịn 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 khơng có 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 ... với Best_Pre-cond Học Máy – IT 4862 12 LEARN-ONE-RULE_1 [Mitchell, 1997] Học Máy – IT 4862 13 LEARN-ONE-RULE_1 – Các vấn đề „ LEARN-ONE-RULE_1 có chiến lược tìm kiếm giống ID3 • Học (phát triển)... loại luật học cần phải xác • Khơng cần thiết phải có độ bao phủ q cao → Không cần thiết phải bao phủ (phân loại được) tất ví dụ học „ Giải pháp: Tìm kiếm (học) luật từ-tổng-qt-đến-cụ-thể • Bắt... ật Học Máy – IT 4862 10 Học luật „ Các yêu cầu hàm LEARN-ONE-RULE • Trả ộ luật ậ bao phủ p (phân (p loại được) ợ ) ộ số lượng ợ g lớn ví dụ học → Các ví dụ học phù hợp với điều kiện luật học

Ngày đăng: 08/05/2021, 18:59