Chương 4 - Các phương pháp học có giám sát (Học cây quyết định - Decision tree learning). Chương này trình bày những nội dung chính sau: Khái niệm học cây quyết định, biểu diễn cây quyết định, giải thuật ID3, lựa chọn thuộc tính kiểm tra, Entropy, information gain, học cây quyết định,... 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 định (Decision tree learning) 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 Học câyy q y định – Giới thiệu Học định (Decision tree –DT– learning) • Để học (xấp xỉ) hàm mục tiêu có giá trị rời rạc (discretevalued target function) – hàm phân lớp • Hàm phân lớp biểu diễn định Một định biểu diễn (diễn giải) tập luật IF-THEN (dễ đọc dễ hiểu) Học H â ết định đị h có ó thể thực th hiệ ả với ới liệu liệ có ó chứa nhiễu/lỗi (noisy data) Là ộ g p phương gp pháp p học ọ q quy y nạp ạp ((inductive learning) dùng phổ biến Được áp dụng thành công nhiều toán ứng d dụng thực th tế Học Máy – IT 4862 Ví dụ DT: Những tin tức mà quan tâm? “sport”? is present is absent “player”? is present Interested is absent Uninterested “football”? is present Interested is present Interested • (…,“sport”,…,“player”,…) → Interested • (…,“goal”,…) → Interested • (…, ( “sport” sport ,…)) → Uninterested Học Máy – IT 4862 is absent “goal”? is absent Uninterested Ví dụ DT: Một người có chơi tennis khơng? Outlook=? Sunny Overcast Humidity=? Rain Wind=? Yes High Normal No Yes Strong No Weak Yes • (Outlook=Overcast, Temperature=Hot, Humidity=High, Wind=Weak) → Yes (Outlook=Rain, a , Temperature=Mild, p d, Humidity=High, y g , Wind=Strong) St o g) • (O → No • (Outlook=Sunny, Temperature=Hot, Humidity=High, Wind=Strong) → No Học Máy – IT 4862 Biểu diễn câyy q y định ((1)) Mỗi nút (internal node) biểu diễn thuộc tính cần kiểm tra giá trị (an attribute to be tested) ví dụ Mỗi nhánh (branch) từ nút tương ứng với giá trị thuộc tính gắn với nút Mỗi nút (leaf node) biểu diễn phân lớp (a classification)) Một định học phân lớp ví dụ, ụ, g cách duyệt yệ câyy từ nút g gốc đến ộ nút → Nhãn lớp gắn với nút gán cho ví dụ cần phân lớp Học Máy – IT 4862 Biểu diễn câyy q y định ((2)) Một định biểu diễn phép tuyển (disjunction) kết hợp (conjunctions) ràng buộc giá trị thuộc tính ví dụ Mỗi đường (path) từ nút gốc đến nút tương ứng với kết hợp (conjunction) kiểm tra giá trị thuộc tính (attribute tests) Cây định (bản thân nó) phép tuyển (disjunction) kết hợp (conjunctions) Các ví dụ → Hãy xét định nêu trước… Học Máy – IT 4862 Những tin tức mà quan tâm? “sport”? is present is absent “player”? is present Interested “football”? is absent is present is absent Uninterested Interested “goal”? is present Interested [(“sport” [( spo t is sp present) ese t) is absent Uninterested ∧ (“player” p aye is sp present ese t)] ∨ [(“sport” is absent) ∧ (“football” is present)] ∨ [(“sport” [( sport is absent) ∧ (“football” football is absent) ∧ (“goal” goal is present)] Học Máy – IT 4862 Một người có chơi tennis khơng? Outlook=? Sunny Rain Overcast Humidity=? Wind=? Yes High Normal No Yes Strong Weak No Yes [(Outlook=Sunny) ∧ (Humidity=Normal)] ∨ (Outlook=Overcast) ∨ (Outlook [(Outlook=Rain) ∧ (Wind=Weak)] Học Máy – IT 4862 Giải thuật ID3 – Ý tưởngg Thực giải thuật tìm kiếm tham lam (greedy search) khơng gian định Xây dựng (học) định theo chiến lược top-down, nút gốc Ở nút, nút thuộc tính kiểm tra (test attribute) thuộc tính có khả phân loại tốt ví dụ học gắn với nút Tạo (sub-tree) nút cho giá trị thuộc tính kiểm tra, tra tập học tách (thành tập con) tương ứng với vừa tạo Mỗi thuộc tính phép xuất tối đa lần đ đường t â Quá trình phát triển (học) định tiếp tục khi… • Cây định phân loại hồn tồn (perfectly classifies) ví dụ học, • Tất thuộc tính sử dụng Học Máy – IT 4862 10 Ưu tiên trongg học câyy q y định ((2)) Đối với tập ví dụ học, tồn nhiều (hơn 1) y định ị p phù hợp ợp với ví dụ ụ học ọ nàyy câyy q Cây định (trong số đó) chọn? ID3 chọn định phù hợp tìm thấy trình tìm kiếm →Lưu ý q trình tìm kiếm, giải thuật ID3 không cân â nhắc hắ llạii llựa chọn h ttrước ((without ith t b backtracking) kt ki ) Chiến lược tìm kiếm giải thuật ID3 • Ưu tiên định đơn giản (ít mức độ sâu) • Ưu tiên định thuộc tính có giá trị Information Gain lớn thuộc tính kiểm tra nút gần ầ nút út gốc ố Học Máy – IT 4862 23 Các vấn đề trongg ID3 Cây định học phù hợp (over-fit) với ví dụ học Xử lý thuộc tính có kiểu giá trị liên tục (kiểu số thực) Các đá Cá đánh h giá iá phù hù h hợp h (tốt h Information I f ti Gain) G i ) việc xác định thuộc tính kiểm tra cho nút Xử lý ví dụ học thiếu giá trị thuộc tính (missing-value (missing value attributes) Xử lý thuộc tính có chi phí (cost) khác → Cải tiến giải thuật ID3 với tất vấn đề nêu giải quyết: giải thuật C4 C4.5 Học Máy – IT 4862 24 Over-fitting học định (1) Một định phù hợp hoàn hảo tập huấn luyện có phải giải pháp tối ố ưu? Outlook=? Sunny Humidity=? High Nếu tập huấn luyện có nhiễu/lỗi…? Vd: Một ví dụ nhiễu/lỗi (Ví dụ thực mang nhãn Yes, bị gán nhãn nhầm No): (O (Outlook=Sunny, Su y, Temperature=Hot, Humidity=Normal, Wind=Strong, PlayTennis=No) No Yes Normal Wind=? Strong Yes No Weak Yes Học định phức tạp hơn! ((chỉ ví dụ ụ nhiễu/lỗi)) Outlook=? Sunny Overcast Humidity=? High No Học Máy – IT 4862 Rain Overcast Yes Normal …được phát triển tiếp! Rain Wind=? Strong No Weak Yes 25 Over-fitting học định (1) Tiếp tục trình học định làm giảm độ xác tập thử nghiệm tăng độ xác tập học [Mitchell, 1997] Học Máy – IT 4862 26 Giải qquyết y vấn đề over-fittingg (1) ( ) chiến lược • Ngừng việc học (phát triển) ể ế định sớm hơn, trước đạt tới cấu trúc cho phép phân loại (khớp) hồn hảo tập huấn luyện • Học (phát triển) đầy đủ (tương ứng với cấu trúc hoàn toàn phù hợp tập huấn luyện), sau thực q trình tỉa (to post-prune) Chiến lược tỉa đầy đủ (Post-pruning over-fit trees) thường cho hiệu tốt thực tế → Lý do: Chiến lược “ngừng sớm” việc học cần phải đánh giá xác nên ngừng việc học (phát triển) – Khó xác định! Học Máy – IT 4862 27 Giải vấn đề over-fitting (2) Làm để chọn kích thước “phù hợp” ị định? • Đánh giá hiệu phân loại tập tối ưu (validation set) - Đây phương pháp thường sử dụng - f.f f f chính: hí h reduced-error d d pruning i and d rule l post-pruning t i • Áp dụng thí nghiệm thống kê (vd: chi-square test) để đánh giá xem việc mở rộng (hay cắt tỉa) nút có giúp cải thiện hiệu đối ố với tập huấn ấ luyện • Đánh giá độ phức tạp việc mã hóa (thể hiện) ví dụ học y q y định, ị , ngừng g g việc ệ học ọ (phát (p triển)) câyy q y định ị kích thước việc mã hóa tối thiểu - Dựa nguyên lý Minimum Description Length (MDL) ( ) + size(misclassifications(tree)) ( ( )) - Cần cực tiểu hóa: size(tree) Học Máy – IT 4862 28 Reduced-error pruning Mỗi nút (khớp hoàn toàn) kiểm tra để cắt tỉa Một nút bị cắt tỉa (sau cắt tỉa nút đó) đạt hiệu không tồi ban đầu ầ đối ố với tập tối ố ưu (validation set) Cắt tỉa nút bao gồm việc: • Loại bỏ toàn (sub (sub-tree) tree) gắn với nút bị cắt tỉa • Chuyển nút bị cắt tỉa thành nút (nhãn phân lớp) • Gắn với nút (nút bị cắt tỉa) nhãn lớp chiếm số đông tập h ấ luyện huấn l ệ gắn ắ với ới nút út Lặp lại việc cắt tỉa nút • Ln lựa chọn nút mà việc cắt tỉa nút tối đa hóa khả phân loại định tập tối ưu (validation set) • Kết thúc, việc cắt tỉa thêm nút làm giảm khả phân loại định tập tối ưu (validation set) Học Máy – IT 4862 29 Rule post-pruning Học (phát triển) định hoàn toàn phù hợp với tập huấn luyện Chuyển biểu diễn định học thành tập luật tương ứng (tạo luật cho đường từ nút gốc đến nút lá) Rút gọn (tổng quát hóa) luật (độc lập với luật khác), khác) cách loại bỏ điều kiện giúp mang lại cải thiện hiệu phân loại luật Sắp Sắ xếp ế lluật ật rút út gọn theo th khả (hiệu quả) phân loại, sử dụng thứ tự cho việc phân loại ví dụ tương lai Học Máy – IT 4862 Outlook=? Sunny Overcast Humidity=? High No Yes Normal Yes Rain Wind=? Strong Weak No Yes IF (Outlook=Sunny) Λ ((Humidity=Normal) y ) THEN (PlayTennis=Yes) 30 Các thuộc tính có ggiá trị liên tục Cần xác định (chuyển đổi thành) thuộc tính có giá trị rời rạc, cách chia khoảng giá trị liên tục thành tập khoảng (intervals) không giao Đối với thuộc tính (có giá trị liên tục) A, tạo thuộc tính kiểu nhị phân Av cho: Av A>v, sai ngược lại Làm để xác định giá trị ngưỡng v “tốt nhất”? → Chọn giá trị ngưỡng v giúp sinh giá trị Information Gain cao Ví dụ: • Sắp ắ xếp ế ví dụ học theo giá trị tăng dần ầ đối ố với thuộc tính Temperature • Xác định ví dụ học liền kề khác phân lớp • Có giá trị ngưỡng có thể: Temperature54 Temperature85 • Thuộc tính kiểu ể nhị phân Temperature54 chọn, Gain(S,Temperature54) > Gain(S,Temperature85) Temperature 40 48 60 72 80 90 PlayTennis No No Yes Yes Yes No Học Máy – IT 4862 31 Các đánh giá khác cho lựa chọn thuộc tính Xu hướng đánh giá Information Gain → Ưu tiên thuộc tính có nhiều giá trị thuộc tính có giá trị Vd: Thuộc tính Date có số ố lượng ấ lớn giá trị ể - Thuộc tính có giá trị Information Gain cao - Một thuộc tính phân loại hồn hảo tồn tập huấn luyện (thuộc tính phân chia ví dụ học thành ấ nhiều ề tập có kích thước nhỏ) - Thuộc tính chọn thuộc tính kiểm tra nút gốc (của định có mức độ sâu 1, rộng, rộng nhiều phân nhánh) Một đánh giá khác: Gain Ratio →Giảm ảnh hưởng thuộc tính có (rất) nhiều giá trị Gain( S , A) SplitInformation( S , A) Sv S SplitInfor mation ( S , A) = − ∑ log v S v ∈Values ( A ) S GainRatio( S , A) = Học Máy – IT 4862 (trong Values(A) tập giá trị thuộc tính A, Sv={x| x∈S, xA=v}) 32 Xử lý thuộc tính thiếu ggiá trị (1) Giả sử thuộc tính A ứng cử cho thuộc tính kiểm tra nút n Xử lý với ví dụ x khơng có (thiếu) giá trị thuộc tính A (tức là: xA khơng xác định)? Gọi Sn tập ví dụ học gắn với nút n có giá trị thuộc tính A →Giải pháp 1: xA giá trị phổ biến thuộc tính A g số ví dụ thuộc tập p Sn →Giải pháp 2: xA giá trị phổ biến thuộc tính A số ví dụ thuộc tập Sn có phân lớp với x Học Máy – IT 4862 33 Xử lý thuộc tính thiếu ggiá trị (2) →Giải pháp 3: • Tính xác suất pv giá trị v thuộc tính A • Gán phần (fraction) pv ví dụ x nhánh tương ứng nút n • Những ví dụ phần (fractional instances) sử dụng để tính giá trị Information Gain Ví dụ: • Một thuộc th ộ tí tính h kiểu kiể nhị hị phân hâ (0/1) A • Nút n bao gồm: - Một ví dụ x (thiếu giá trị A) - víí d dụ có ó giá iá ttrịị ới A bằ 1, - ví dụ có giá trị A p(xA=1) = 4/10 = 0.4 p(xA=0) = 6/10 = 0.6 Học Máy – IT 4862 Nút n A=1 A=0 • ví dụ có giá trị A =1 • ví dụ có giá trị A =0 • 0.4 x • 0.6 x 34 Các thuộc tính có chi p phí khác Trong số toán học máy, thuộc tính gắn với chi phí (độ quan trọng) khác • Ví dụ: Trong việc học để phân loại bệnh y tế, BloodTest có chi phí $150, TemperatureTest có chi phí $10 Xu hướng học định • Sử dụng nhiều tốt thuộc tính có chi phí thấp • Chỉ sử dụng thuộc tính có chi phí cao cần thiết (để giúp đạt phân loại đáng tin cậy) Làm để học định với chi phí thấp? → Sử dụng đánh giá khác IG cho việc xác định thuộc tính kiểm tra 2Gain ( S , A) − (Cost ( A) + 1) w Gain ( S , A) Cost ( A) [Tan and Schlimmer, 1990] [Nunez, 1988; 1991] Học Máy – IT 4862 (w (∈[0,1]) số xác định mức độ quan trọng chi phí I f Information ti Gain) G i ) 35 Học qquyết định – Khi nào? Các ví dụ học biểu diễn cặp (thuộc tính,giá trị) • Phù hợp với thuộc tính có giá trị rời rạc • Đối với thuộc tính có giá trị liên tục, phải rời rạc hóa Hàm mục tiêu có giá trị đầu giá trị rời rạc • Ví dụ: Phân loại ví dụ vào lớp phù hợp Rất phù hợp hàm mục tiêu biểu diễn dạng tách rời (disjunctive form) Tập huấn luyện chứa nhiễu/lỗi • Lỗi phân loại (nhãn lớp) ví dụ học • Lỗi ttrong giá iá ttrịị thuộc th ộ tính tí h biểu biể diễn diễ víí dụ d học h Tập huấn luyện chứa thuộc tính thiếu giá trị • Các g giá ttrịị đối đố với ột thuộc t uộc tính t không ô g xác ác định đị đối đố với ột số ví dụ học Học Máy – IT 4862 36 Tài liệu tham khảo • T M Mitchell Machine Learning McGraw-Hill, 1997 • M M N Nunez Economic E i i induction: d ti A case study t d I In Proceedings of the 3rd European Working Session on Learning, EWSL-88, pp.139-145 California: Morgan Kaufmann, 1988 • M Nunez The use of background knowledge in decision tree induction Machine Learning, 6(3): 231-250, 1991 • M M Tan and J J C C Schlimmer Schlimmer Two case studies in costcost sensitive concept acquisition In Proceedings of the 8th National Conference on Artificial Intelligence, AAAI-90, pp.854-860, 1990 Học Máy – IT 4862 37 ... 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 định (Decision tree learning) Các phương pháp học. .. nút gốc! Outlook=? Sunny Node1 SSunny ={2+, 3-} S Overcast Yes SOvercast={{4+, 0-} Học Máy – IT 4862 S={9+, 5-} Rain Node2 SRain R i ={3+, 2-} 18 Học câyy q y định – Ví dụ ((2)) Tại nút Node1,... Outlook=? S={9+, 5-} Sunny Overcast SSunny= {2+, 3-} H idit ? Humidity=? High Yes SOvercast= {4+, 0-} Node3 Node4 • Gain(SSunny, Wind) = = 0.019 SHigh= {0+, 3-} SNormal= {2+, 0-} Học Máy – IT 4862