Định nghĩa: cấu trúc phân cấp của các nút và nhánh; Phân lớp các mẫu bằng cách duyệt cây từ gốc tới các nút lá Cách xây dựng; Một số thuật toán chính. ID3, C4.5 (Information Gain Information Gain Ratio) CART (Gini Index); SLIQ, SPRINT (Gini Index)
Cây Quyết Định Cây định Định nghĩa: cấu trúc phân cấp nút nhánh • Nút gốc nút nội bộ: tên thuộc tính tập liệu • Nút lá: tên cj • Nhánh: tương ứng với giá trị thuộc tính Phân lớp mẫu cách duyệt từ gốc tới nút • Ví dụ: (precip=none, clothes=casual, shop=yes, weekend=yes) -> walk 2 Xây dựng định Một số thuật tốn • ID3, C4.5 (Information Gain/ Information Gain Ratio) • CART (Gini Index) • SLIQ, SPRINT (Gini Index) Ý tưởng • Xây dựng từ xuống (top-down) cách xác định thuộc tính cho kết phân lớp tốt • Thuộc tính cho đơn giản (Định luật Occam) • Heuristic: thuộc tính tạo nút có tính đồng cao (purest) • Sử dụng độ đo đồng nhất: Information Gain (Entropy), Information Gain Ratio, Gini Index • Điều kiện dừng: • Khơng cịn thuộc tính để phân lớp • Tất mẫu phân lớp 3 Độ lợi thơng tin - Information Gain Cho: • D: tập huấn luyện • Ci: tập lớp xác định trước, i = {1, …, m} • Ci, D: tập mẫu D thuộc lớp Ci Xác suất để mẫu bất kz D thuộc lớp Ci là: Thông tin kz vọng (entropy) để phân lớp mẫu D/ độ hỗn loạn D là: 4 Ví dụ: Tính Entropy • |D| = 14 •m=2 • C1 = yes • C2 = no • |C1, D| = • |C2, D| = Độ hỗn loạn D là: 5 Độ lợi thông tin - Information Gain Độ hỗn loạn D sau phân lớp theo thuộc tính A (thông tin cần thiết để chia tập D thành v tập {D1, D2, …, Dv} ứng với tập giá trị {a1, a2, …, av} thuộc tính A) là: Độ lợi thông tin để phân lớp tập D theo thuộc tính A là: Trước phân lớp Sau phân lớp theo A Ví dụ: Tính Information Gain • Lớp P = “Yes” • Lớp N = “No” • Info(D) = I(9, 5) = 0.94 I([9,5]) I([2,3], [4,0], [3,2]) Ví dụ - Xây dựng định Gain (Age) = 0.246 Gain (Incomce) = 0.029 Gain (Student) = 0.151 Gain (Credit-rating) = 0.048 Chọn thuộc tính Age làm nút gốc Tiếp tục tính Information Gain lựa chọn thuộc tính để phân lớp nhánh • Chỉ sử dụng mẫu có liên quan đến nút 8 Ví dụ: Xây dựng định 9 Information Gain Ratio Độ đo Gain có xu hướng thiên vị cho thuộc tính có nhiều giá trị (tạo nhiều nhánh) • Ví dụ: Tập D có thuộc tính X gồm 14 giá trị đơi khác InfoX(D)= 1/14 * I(1,0) * 14 = => Gain(X) = Info(D) – = 0.94 • Cần chuẩn hóa độ đo Gain Độ đo Gain Ratio quan tâm đến số lượng độ lớn nhánh lựa chọn thuộc tính phân lớp GainRatio(A) = Gain(A) / SplitInfoA(D) 10 10 Chỉ mục Gini – Gini index Chỉ mục gini để phân chia tập D thành v tập {D1, D2, …, Dv} theo thuộc tính A {a1, a2, …, av} Chọn thuộc tính có mục Gini nhỏ để phân chia tập liệu 13 13 Ví dụ: Gini index Chỉ mục gini cho thuộc tính Age: 14 14 Ví dụ - Gini index GiniAge (D) = 0.343 GiniIncome (D) = 0.44 GiniStudent (D) = 0.367 GiniCredit-rating (D) = 0.429 Chọn thuộc tính Age làm nút gốc Tiếp tục tính Gini index lựa chọn thuộc tính để phân lớp nhánh • Chỉ sử dụng mẫu có liên quan đến nút 15 15 Nhận xét độ đo Information Gain • Có xu hướng thiên vị cho thuộc tính có nhiều giá trị Information Gain Ratio • Có xu hướng chọn thuộc tính phân lớp tạo nhỏ nhiều so với khác Gini index • Có xu hướng thiên vị cho thuộc tính có nhiều giá trị • Gặp khó khăn số lượng lớp lớn • Có xu hướng chọn thuộc tính phân lớp tạo kích thước độ hỗn loạn 16 16 RÚT GỌN CÂY Rút gọn thực nào??? Tại phải rút gọn cây??? 18 Rút gọn (tỉa cây): • Xác định loại bỏ nhánh khơng ổn định cá biệt • Cây rút gọn có xu hướng nhỏ lại phức tạp nên dễ hiểu • Cây rút gọn phân lớp nhanh hơn, tốt 19 Các hướng tiếp cận để rút gọn cây: • Có hướng tiếp cận thơng thường để rút gọn cây: –Rút gọn trước (Pre-pruning) –Rút gọn sau(Post-pruning) –Kết hợp 20 RÚT GỌN TRƯỚC – Dừng giải thuật trước trở thành sinh trưởng đầy đủ – Các điều kiện thơng thường nút: • Dừng tất trường hợp (mẫu ) thuộc cùng lớp • Dừng khơng cịn thuộc tính để phân chia – Các điều kiện nghiêm ngặt hơn: • Khi phân hoạch cây, phân hoạch nút trả kết phép phân chia vượt ngưỡng cho phép phân hoạch tạm dừng->Khó khăn việc chọn ngưỡng • Dừng việc mở rộng nút hành không cải thiện độ đo (chẳng hạn, Gini information gain…) 21 RÚT GỌN SAU – Ý tưởng rút gọn sau bỏ số từ xây dựng hoàn chỉnh – Cây bỏ cách thay nhánh nút Nút có nhãn lớp lớp có tần số xuất cao thay 22 RÚT GỌN SAU Hình 1: Một định cần rút gọn kết rút gọn Ví dụ hình 1: Nút “A3?” chưa rút gọn Lớp xuất nhiều nút “classB”, rút gọn có nhánh thay nút “classB” 23 RÚT GỌN SAU – Rút gọn sau áp dụng CART ví dụ điển hình Trong thuật tốn này, độ phức tạp chi phí sử dụng để rút gọn – Ý tưởng phương pháp xem độ phức tạp chi phí hàm số theo số lượng tần suất lỗi (tần suất lỗi tỉ lệ phần trăm liệu có nhãn lớp khơng xác cây) – Thuật toán đáy Cứ nút – N tính giá trị độ phức tạp • Độ phức tạp chi phí N • Độ phức tạp chi phí nút N sau rút gọn • Sau so sánh giá trị này, giá trị sau rút gọn nhỏ rút gọn, ngược lại giữ nguyên – Ngồi áp dụng ngun lý MDL (Minimum Description Length) tức rút gọn dựa số lượng bit dùng để mã hóa thay đo lường tần suất lỗi 24 Ví dụ Cây T cần rút gọn Số ghi cạnh gồm số: Số bên trái số lượng mẫu đếm tập train, bên phải số lượng mẫu đếm tập test Xi thuộc tính kiểm tra xây dựng cây, node Các giá trị 0, node nhãn lớp (class label) 25 Ví dụ: kết rút gọn 26 HƯỚNG TIẾP CẬN KẾT HỢP – Tiếp cận rút gọn trước (Pre-prunung) tiếp cận rút gọn sau (Postpruning) sử dụng xen kẽ kết hợp để tạo tốt – Ngồi kết hợp nhiều thuộc tính phép phân chia đa trị để ngăn chặn việc trùng lắp xuất 27 ... RÚT GỌN CÂY Rút gọn thực nào??? Tại phải rút gọn cây? ?? 18 Rút gọn (tỉa cây) : • Xác định loại bỏ nhánh khơng ổn định cá biệt • Cây rút gọn có xu hướng nhỏ lại phức tạp nên dễ hiểu • Cây rút gọn.. .Cây định Định nghĩa: cấu trúc phân cấp nút nhánh • Nút gốc nút nội bộ: tên thuộc tính tập liệu • Nút... Xây dựng định Một số thuật tốn • ID3, C4.5 (Information Gain/ Information Gain Ratio) • CART (Gini Index) • SLIQ, SPRINT (Gini Index) Ý tưởng • Xây dựng từ xuống (top-down) cách xác định thuộc