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

Thông tin cơ bản

Định dạng
Số trang 30
Dung lượng 488,99 KB

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