TIẾP CẬN KÝ HIỆU gIẢI THUẬT QUY NẠP CÂY QUYẾT ĐỊNH ID3 Bởi Huynh Tram Vo TIẾP CẬN KÝ HIỆU gIẢI THUẬT QUY NẠP CÂY QUYẾT ĐỊNH ID3 Giới thiệu Giải thuật quy nạp cây ID3 (gọi tắt là ID3) là một giải thuật[.]
TIẾP CẬN KÝ HIỆU: gIẢI THUẬT QUY NẠP CÂY QUYẾT ĐỊNH ID3 TIẾP CẬN KÝ HIỆU: gIẢI THUẬT QUY NẠP CÂY QUYẾT ĐỊNH ID3 Bởi: Huynh Tram Vo TIẾP CẬN KÝ HIỆU: gIẢI THUẬT QUY NẠP CÂY QUYẾT ĐỊNH ID3 Giới thiệu Giải thuật quy nạp ID3 (gọi tắt ID3) giải thuật học đơn giản tỏ thành công nhiều lĩnh vực ID3 giải thuật hay cách biểu diễn tri thức học nó, tiếp cận việc quản lý tính phức tạp, heuristic dùng cho việc chọn lựa khái niệm ứng viên, tiềm việc xử lý liệu nhiễu ID3 biểu diễn khái niệm (concept) dạng định (decision tree) Biểu diễn cho phép xác định phân loại đối tượng cách kiểm tra giá trị số thuộc tính Như vậy, nhiệm vụ giải thuật ID3 học định từ tập ví dụ rèn luyện (training example) hay gọi liệu rèn luyện (training data) Hay nói khác hơn, giải thuật có: • Đầu vào: Một tập hợp ví dụ Mỗi ví dụ bao gồm thuộc tính mơ tả tình huống, hay đối tượng đó, giá trị phân loại • Đầu ra: Cây định có khả phân loại đắn ví dụ tập liệu rèn luyện, hy vọng phân loại cho ví dụ chưa gặp tương lai Ví dụ, xét tốn phân loại xem ta ‘có chơi tennis’ ứng với thời tiết khơng Giải thuật ID3 học định từ tập hợp ví dụ sau: 1/12 TIẾP CẬN KÝ HIỆU: gIẢI THUẬT QUY NẠP CÂY QUYẾT ĐỊNH ID3 Bảng 9.1 - Tập liệu rèn luyện cho khái niệm ‘Có chơi tennis khơng?’ Tập liệu bao gồm 14 ví dụ Mỗi ví dụ biểu diễn cho tình trạng thời tiết gồm thuộc tính quang cảnh, nhiệt độ, độ ẩm gió; có thuộc tính phân loại ‘chơi Tennis’ (có, khơng) ‘Khơng’ nghĩa khơng chơi tennis ứng với thời tiết đó, ‘Có’ nghĩa ngược lại Giá trị phân loại có hai loại (có, khơng), hay cịn ta nói phân loại tập ví dụ khái niệm thành hai lớp (classes) Thuộc tính ‘Chơi tennis’ cịn gọi thuộc tính đích (target attribute) Mỗi thuộc tính có tập giá trị hữu hạn Thuộc tính quang cảnh có ba giá trị (âm u, mưa, nắng), nhiệt độ có ba giá trị (nóng, mát, ấm áp), độ ẩm có hai giá trị (cao, TB) gió có hai giá trị (mạnh, nhẹ) Các giá trị ký hiệu (symbol) dùng để biểu diễn toán Từ tập liệu rèn luyện này, giải thuật ID3 học định có khả phân loại đắn ví dụ tập này, đồng thời hy vọng tương lai, phân loại ví dụ khơng nằm tập Một định ví dụ mà giải thuật ID3 quy nạp là: 2/12 TIẾP CẬN KÝ HIỆU: gIẢI THUẬT QUY NẠP CÂY QUYẾT ĐỊNH ID3 Hình 9.1 - Cây định cho khái niệm ‘Có chơi tennis khơng?’ Các nút định biểu diễn cho kiểm tra thuộc tính đó, giá trị có thuộc tính tương ứng với nhánh Các nút thể phân loại ví dụ thuộc nhánh đó, giá trị thuộc tính phân loại Sau giải thuật quy nạp định, sử dụng để phân loại tất ví dụ hay thể (instance) tương lai Và định không thay đổi ta cho thực lại giải thuật ID3 tập liệu rèn luyện khác Ứng với tập liệu rèn luyện có nhiều định phân loại tất ví dụ tập liệu rèn luyện Kích cỡ định khác tùy thuộc vào thứ tự kiểm tra thuộc tính Vậy để học định phân loại tất ví dụ tập rèn luyện? Một cách tiếp cận đơn giản học thuộc lịng tất ví dụ cách xây dựng mà có cho ví dụ Với cách tiếp cận định khơng phân loại cho ví dụ chưa gặp tương lai Vì phương pháp giống hình thức ‘học vẹt’, mà không học khái quát khái niệm cần học Vậy, ta nên học định tốt? Occam’s razor số lập luận khác cho ‘giả thuyết có khả giả thuyết đơn giản thống với tất quan sát’, ta nên luôn chấp nhận câu trả lời đơn giản đáp ứng cách đắn liệu Trong trường hợp giải thuật học cố gắng tạo định nhỏ phân loại cách đắn tất ví dụ cho Trong phần kế tiếp, vào giải thuật ID3, giải thuật quy nạp định đơn giản thỏa mãn vấn đề vừa nêu 3/12 TIẾP CẬN KÝ HIỆU: gIẢI THUẬT QUY NẠP CÂY QUYẾT ĐỊNH ID3 Giải thuật ID3 xây dựng định từ trên–xuống ID3 xây dựng định (cây QĐ) theo cách từ xuống Lưu ý thuộc tính nào, phân vùng tập hợp ví dụ rèn luyện thành tập tách rời, mà ví dụ phân vùng (partition) có giá trị chung cho thuộc tính ID3 chọn thuộc tính để kiểm tra nút dùng trắc nghiệm để phân vùng tập hợp ví dụ; thuật tốn xây dựng theo cách đệ quy cho phân vùng Việc tiếp tục thành viên phân vùng nằm lớp; lớp trở thành nút Vì thứ tự trắc nghiệm quan trọng việc xây dựng QĐ đơn giản, ID3 phụ thuộc nhiều vào tiêu chuẩn chọn lựa trắc nghiệm để làm gốc Để đơn giản, phần mô tả giải thuật dùng để xây dựng QĐ, với việc giả định hàm chọn trắc nghiệm thích hợp Phần trình bày heuristic chọn lựa ID3 Ví dụ, xem xét cách xây dựng QĐ ID3 hình sau từ tập ví dụ rèn luyện bảng 9.1 Hình 9.2 - Một phần định xây dựng Bắt đầu với bảng đầy đủ gồm 14 ví dụ rèn luyện, ID3 chọn thuộc tính quang cảnh để làm thuộc tính gốc sử dụng hàm chọn lựa thuộc tính mơ tả phần Trắc nghiệm phân chia tập ví dụ cho thấy hình 9.2 với phần tử phân vùng liệt kê số thứ tự chúng bảng * ID3 xây dựng định theo giải thuật sau: Function induce_tree(tập_ví_dụ, tập_thuộc_tính) begin 4/12 TIẾP CẬN KÝ HIỆU: gIẢI THUẬT QUY NẠP CÂY QUYẾT ĐỊNH ID3 if ví dụ tập_ví_dụ nằm lớp then return nút gán nhãn lớp else iftập_thuộc_tính rỗng then return nút gán nhãn tuyển tất lớp tập_ví_dụ else begin chọn thuộc tính P, lấy làm gốc cho tại; xóa P khỏi tập_thuộc_tính; với giá trị V P begin tạo nhánh gán nhãn V; Đặt vào phân_vùngV ví dụ tập_ví_dụ có giá trị V thuộc tính P; Gọi induce_tree(phân_vùngV, tập_thuộc_tính), gắn kết vào nhánh V end end end ID3 áp dụng hàm induce_tree cách đệ quy cho phân vùng Ví dụ, phân vùng nhánh “Âm u” có ví dụ tồn dương, hay thuộc lớp ‘Có’, nên ID3 tạo nút với nhãn lớp ‘Có’ Cịn phân vùng hai nhánh cịn lại vừa có ví dụ âm, vừa có ví dụ dương Nên tiếp tục chọn thuộc tính “Độ ẩm” để làm trắc nghiệm cho nhánh Nắng, thuộc tính Gió cho nhánh Mưa, ví dụ phân vùng nhánh thuộc lớp, nên giải thuật ID3 kết thúc ta có QĐ hình 9.3 5/12 TIẾP CẬN KÝ HIỆU: gIẢI THUẬT QUY NẠP CÂY QUYẾT ĐỊNH ID3 Hình 9.3 - Cây định xây dựng xong Lưu ý, để phân loại ví dụ, có QĐ khơng cần sử dụng tất thuộc tính cho, phân loại tất ví dụ * Các khả có phân vùng (partition): Trong trình xây dựng QĐ, phân vùng nhánh có dạng sau: • Có ví dụ thuộc lớp khác nhau, chẳng hạn có ví dụ âm dương phân vùng “Quang cảnh = Nắng” ví dụ => giải thuật phải tiếp tục tách lần • Tất ví dụ thuộc lớp, chẳng hạn toàn âm toàn dương phân vùng “Quang cảnh = Âm u” ví dụ => giải thuật trả nút với nhãn lớp • Khơng cịn ví dụ => giải thuật trả • Khơng cịn thuộc tính => nghĩa liệu bị nhiễu, giải thuật phải sử dụng luật để xử lý, chẳng hạn luật đa số (lớp có nhiều ví dụ dùng để gán nhãn cho nút trả về) 6/12 TIẾP CẬN KÝ HIỆU: gIẢI THUẬT QUY NẠP CÂY QUYẾT ĐỊNH ID3 Từ nhận xét này, ta thấy để có QĐ đơn giản, hay có chiều cao thấp, ta nên chọn thuộc tính cho tạo nhiều phân vùng chứa ví dụ thuộc lớp tốt Một phân vùng có ví dụ thuộc lớp, ta nói phân vùng có tính Vậy, để chọn thuộc tính kiểm tra giảm thiểu chiều sâu QĐ, ta cần phép đo để đo tính phân vùng, chọn thuộc tính kiểm tra tạo nhiều phân vùng tốt ID3 sử dụng lý thuyết thơng tin để thực điều Thuộc tính thuộc tính dùng để phân loại tốt nhất? Quinlan (1983) người đề xuất việc sử dụng lý thuyết thông tin để tạo định cơng trình ơng sở cho phần trình bày Lý thuyết thơng tin Shannon (1948) cung cấp khái niệm entropy để đo tính (hay ngược lại độ pha trộn) tập hợp Một tập hợp tất phần tử tập hợp thuộc loại, ta nói tập hợp có độ pha trộn thấp Trong trường hợp tập ví dụ, tập ví dụ tất ví dụ có giá trị phân loại Khi tập ví dụ nói: ta biết chắn giá trị phân loại ví dụ thuộc tập này, hay ta có lượng thơng tin tập cao Khi tập ví dụ có độ pha trộn cao nhất, nghĩa số lượng ví dụ có giá trị phân loại cho loại tương đương nhau, ta khơng thể đốn xác ví dụ có giá trị phân loại gì, hay nói khác hơn, lượng thơng tin ta có tập Vậy, điều ta mong muốn chọn thuộc tính để hỏi cho chia tập ví dụ ban đầu thành tập ví dụ nhanh tốt Vậy trước hết, ta cần có phép đo để đo độ tập hợp, từ so sánh tập ví dụ tốt Phần trình bày cơng thức tính entropy tập hợp Entropy đo tính tập ví dụ Khái niệm entropy tập S định nghĩa Lý thuyết thông tin số lượng mong đợi bít cần thiết để mã hóa thơng tin lớp thành viên rút cách ngẫu nhiên từ tập S Trong trường hợp tối ưu, mã có độ dài ngắn Theo lý thuyết thơng tin, mã có độ dài tối ưu mã gán –log2p bits cho thơng điệp có xác suất p Trong trường hợp S tập ví dụ, thành viên S ví dụ, ví dụ thuộc lớp hay có giá trị phân loại Entropy có giá trị nằm khoảng [0 1], Entropy(S) = tập ví dụ S tồn ví dụ thuộc loại, hay S Entropy(S) = tập ví dụ S có ví dụ thuộc loại khác với độ pha trộn cao 7/12 TIẾP CẬN KÝ HIỆU: gIẢI THUẬT QUY NẠP CÂY QUYẾT ĐỊNH ID3 < Entropy(S) < ? tập ví dụ S có số lượng ví dụ thuộc loại khác không Để đơn giản ta xét trường hợp ví dụ S thuộc loại âm (-) dương (+) Hình 9.4 minh họa phụ thuộc giá trị entropy vào xác suất xuất ví dụ dương Hình 9.4 - Entropy(S) Cho trước: • Tập S tập liệu rèn luyện, thuộc tính phân loại có hai giá trị, giả sử âm (-) dương (+) • p+ phần ví dụ dương tập S • p_ phần ví dụ âm tập S Khi đó, entropy đo độ pha trộn tập S theo công thức sau: Một cách tổng quát hơn, ví dụ tập S thuộc nhiều hai loại, giả sử có c giá trị phân loại cơng thức entropy tổng quát là: Entropy(S) = ∑ci = − pilog2pi Lượng thông tin thu đo mức độ giảm entropy mong đợi Entropy số đo đo độ pha trộn tập ví dụ, định nghĩa phép đo hiệu suất phân loại ví dụ thuộc tính Phép đo gọi lượng thơng tin thu được, đơn giản lượng giảm entropy mong đợi gây việc phân chia ví dụ theo thuộc tính 8/12 TIẾP CẬN KÝ HIỆU: gIẢI THUẬT QUY NẠP CÂY QUYẾT ĐỊNH ID3 Một cách xác hơn, Gain(S,A) thuộc tính A, tập S, định nghĩa sau: Gain(S,A) = Entropy(S) − ∑v ∈ Values(A) ∣Sv∣ ∣S∣ Entropy(Sv) Values(A) tập hợp có giá trị thuộc tính A, Sv tập S chứa ví dụ có thuộc tính A mang giá trị v Câu hỏi : Áp dụng giải thuật ID3 kết hợp với công thức entropy gain để tạo định đơn giản cho tốn phân loại xem ta ‘có chơi tennis’ từ tập liệu rèn luyện cho bảng 9.1 Tìm kiếm khơng gian giả thuyết ID3 Cũng phương pháp học quy nạp khác, ID3 tìm kiếm khơng gian giả thuyết giả thuyết phù hợp với tập liệu rèn luyện Khơng gian giả thuyết mà ID3 tìm kiếm tập hợp định có ID3 thực phép tìm kiếm từ đơn giản đến phức tạp, theo giải thuật leo-núi (hill climbing), rỗng, sau xem xét giả thuyết phức tạp mà phân loại ví dụ rèn luyện Hàm đánh giá dùng để hướng dẫn tìm kiếm leo núi phép đo lượng thông tin thu Hình 9.5 - Khơng gian tìm kiếm ID3 9/12 TIẾP CẬN KÝ HIỆU: gIẢI THUẬT QUY NẠP CÂY QUYẾT ĐỊNH ID3 Từ cách nhìn ID3 giải thuật tìm kiếm khơng gian giả thuyết, ta có số nhận xét sau: • Khơng gian giả thuyết định ID3 không gian đầy đủ định thuộc tính cho tập rèn luyện Điều có nghĩa khơng gian mà ID3 tìm kiếm chắn có chứa định cần tìm • Trong tìm kiếm, ID3 trì giả thuyết Vì vậy, giải thuật khơng có khả biểu diễn tất định khác có khả phân loại liệu có • Giải thuật ID3 khơng có khả quay lui tìm kiếm Vì vậy, gặp phải hạn chế giống giải thuật leo núi, hội tụ cực tiểu địa phương • Vì ID3 sử dụng tất ví dụ bước để đưa định dựa thống kê, nên kết tìm kiếm ID3 bị ảnh hưởng vài liệu sai (hay liệu nhiễu) • Trong q trình tìm kiếm, giải thuật ID3 có xu hướng chọn định ngắn định dài Đây tính chất thiên lệch quy nạp ID3 Đánh giá hiệu suất định: Một định sinh ID3 đánh giá tốt có khả phân loại trường hợp hay ví dụ gặp tương lai, hay cụ thể có khả phân loại ví dụ khơng nằm tập liệu rèn luyện Để đánh giá hiệu suất định người ta thường sử dụng tập ví dụ tách rời, tập khác với tập liệu rèn luyện, để đánh giá khả phân loại 10/12 TIẾP CẬN KÝ HIỆU: gIẢI THUẬT QUY NẠP CÂY QUYẾT ĐỊNH ID3 ví dụ tập Tập liệu gọi tập kiểm tra (validation set) Thông thường, tập liệu sẵn có chia thành hai tập: tập rèn luyện thường chiếm 2/3 số ví dụ tập kiểm tra chiếm 1/3 Chuyển luật Thông thường, định chuyển dạng luật để thuận tiện cho việc cài đặt sử dụng Ví dụ định cho tập liệu rèn luyện bảng 9.1 chuyển thành số luật sau : If (Quang-cảnh =nắng) ∧ (Độ ẩm = Cao) Then Chơi-Tennis = No If (Quang-cảnh =nắng) ∧ (Độ ẩm = TB) Then Chơi-Tennis = Yes If (Quang-cảnh =Âm u) Then Chơi-Tennis = Yes … Khi nên sử dụng ID3 Giải thuật ID3 giải thuật học đơn giản phù hợp với lớp toán hay vấn đề biểu diễn ký hiệu Chính vậy, giải thuật thuộc tiếp cận giải vấn đề dựa ký hiệu (symbol – based approach) Tập liệu rèn luyện bao gồm ví dụ mơ tả cặp “Thuộc tính – giá trị”, ví dụ ‘Chơi tennis’ trình bày suốt chương này, ‘Gió – mạnh’, hay ‘Gió – nhẹ’,… ví dụ có thuộc tính phân loại, ví dụ ‘chơi_tennis’, thuộc tính phải có giá trị rời rạc, có, khơng 11/12 TIẾP CẬN KÝ HIỆU: gIẢI THUẬT QUY NẠP CÂY QUYẾT ĐỊNH ID3 Tuy nhiên, khác với số giải thuật khác thuộc tiếp cận này, ID3 sử dụng ví dụ rèn luyện dạng xác suất nên có ưu điểm bị ảnh hưởng vài liệu nhiễu Vì vậy, tập liệu rèn luyện chứa lỗi thiếu vài giá trị số thuộc tính Một giải pháp thường áp dụng liệu bị thiếu sử dụng luật đa số, chương trình tiền xử lý liệu điền vào vị trí cịn trống giá trị có tần số xuất cao thuộc tính Bên cạnh vấn đề trình bày phần này, ID3 thảo luận nhiều vấn đề liên quan để tránh cho định không bị ảnh hưởng nhiều (overfitting) vào liệu rèn luyện, để tổng quát hơn, phân loại cho trường hợp chưa gặp Có nhiều giải pháp đưa cắt tỉa lại định sau học, cắt tỉa luật sau chuyển dạng luật Một vấn đề khác vài thuộc tính có giá trị liên tục Giải vấn đề dẫn đến việc sinh nhiều hệ sau ID3, giải thuật bật số C4.5 (Quinlan 1996) Ngoài ra, số kỹ thuật tạo để thao tác liệu nhằm tạo định khác tập liệu rèn luyện cho kỹ thuật bagging and boosting 12/12 ... Một định ví dụ mà giải thuật ID3 quy nạp là: 2/12 TIẾP CẬN KÝ HIỆU: gIẢI THUẬT QUY NẠP CÂY QUY? ??T ĐỊNH ID3 Hình 9.1 - Cây định cho khái niệm ‘Có chơi tennis khơng?’ Các nút định biểu diễn cho... tìm kiếm ID3 9/12 TIẾP CẬN KÝ HIỆU: gIẢI THUẬT QUY NẠP CÂY QUY? ??T ĐỊNH ID3 Từ cách nhìn ID3 giải thuật tìm kiếm khơng gian giả thuyết, ta có số nhận xét sau: • Khơng gian giả thuyết định ID3 không... phải có giá trị rời rạc, có, khơng 11/12 TIẾP CẬN KÝ HIỆU: gIẢI THUẬT QUY NẠP CÂY QUY? ??T ĐỊNH ID3 Tuy nhiên, khác với số giải thuật khác thuộc tiếp cận này, ID3 sử dụng ví dụ rèn luyện dạng xác suất