Thuật Toán Cây Quyết Định C4.5

Slides:



Advertisements
Similar presentations
ĐỀ TÀI: GIỚI THIỆU CÁC HÀM LƯỢNG GIÁC THEO SÁCH PRECALCULUS JAMES STEWART – LOTHAR REDLIN – SALEEM WATSON.
Advertisements

Quản trị Rủi ro thiên tai và Biến đổi khí hậu
PHÁT TRIỂN VÀ SỬ DỤNG HỢP LÝ NGUỒN TÀI NGUYÊN NƯỚC
Báo cáo Cấu trúc đề thi PISA và Các dạng câu hỏi thi PISA
Sử dụng năng lượng hiệu quả
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
XÂY DỰNG VÀ PHÁT TRIỂN CHƯƠNG TRÌNH ĐÀO TẠO THEO ĐỀ XƯỚNG CDIO
Rainforest Alliance đào tạo cho các nông trại trà ở Việt Nam
Kiểm thử và đảm bảo chất lượng phần mềm
PHẦN 1. HỆ ĐIỀU HÀNH WINDOWS. 2 Nội dung trình bày  1.1. Thao tác cơ bản sử dụng máy tính  1.2. Màn hình nền desktop  1.3. Quản lý tệp tin và thư mục.
Qua hàng ngàn năm dựng nước và giữ nước, dân tộc ta đã để lại nhiều bài học vô giá. Nổi bật trong đó là tinh thần đoàn kết, ý thức cộng đồng. Hai truyền.
L/O/G/O NGUYÊN LÝ KẾ TOÁN Nguyễn Hữu Quy (MBA,CPA,APC)
1 ĐỒNG NAI ĐÁNH GIÁ TÌNH HÌNH VÀ ĐỀ XUẤT ÁP DỤNG HIỆU QUẢ MÔ HÌNH KINH TẾ DƯỢC TẠI BỆNH VIỆN ĐA KHOA ĐỒNG NAI NĂM 2017 Học viên: Nhóm 5 _ PP111.
TRƯỜNG ĐẠI HỌC THĂNG LONG
GIỚI THIỆU TRÌNH BIÊN DỊCH FREE PASCAL
Thực hiện các cuộc họp quan trọng
Sứ Mệnh GoCoast 2020 được thành lập bởi thống đốc Phil Bryant thông qua điều hành để phục vụ như là hội đồng cố vấn chính thức cho việc phân phối quỹ nhận.
QUẢN TRỊ THÀNH TÍCH Performance Management
TẬP HUẤN TÀI CHÍNH CÔNG ĐOÀN NĂM 2015
Ghi chú chung về khóa học
Tham gia Intel ISEF 2013 và một số kinh nghiệm chia sẻ
Thực hiện cải thiện chất lượng
Giới thiệu chương trình trách nhiệm xã hội của doanh nghiệp
KHAI PHÁ DỮ LIỆU (DATA MINING)
KIỂM ĐỊNH GIẢ THUYẾT THỐNG KÊ
THÔNG TIN MÔN HỌC Quản trị chuỗi cung ứng (Supply Chain Management): 45 tiết Tài liệu nghiên cứu Quản lý chuỗi cung ứng –Th.S. Nguyễn Kim Anh, Đại học.
THAM VẤN TÂM LÝ Bài Giới Thiệu.
Software testing Kiểm thử phần mềm
Ngôn ngữ lập trình C/C++
KHÓA TẬP HUẤN CÔNG BẰNG GIỚI VÀ CÁC DỰ ÁN PHÁT TRIỂN
Đức Hồng Y Nguyễn Văn Thuận cầu bầu
Module 6 – Managing for Sustainability
Khởi động SXSH với công cụ quản lý nội vi 5S
Hệ Thống Quản Lý An Toàn Thực Phẩm
CHẾ ĐỘ PHÁP LÝ VỀ CÔNG TY CỔ PHẦN
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Tổng Quan Về Lập Trình Hướng Đối Tượng
Thương mại điện tử HÀ VĂN SANG.
MKTNH Version 3 Giảng viên: ThS. Thái Thị Kim Oanh
Bài 2: Từ tiêu chuẩn sức khoẻ tới nơi làm việc lành mạnh
Giáo viên: Đặng Việt Cường
Chương 4: Những nguyên lý hỗ trợ FMS
XÂY DỰNG KẾ HOẠCH VÀ CHIẾN LƯỢC MARKETING
Chiến lược CSR –Là gì và làm thế nào để chúng ta sàng lọc lựa chọn?
UBND TỈNH ĐIỆN BIÊN SỞ GIÁO DỤC VÀ ĐÀO TẠO
Hướng dẫn THU THẬP, BẢO QUẢN VÀ VẬN CHUYỂN MẪU BỆNH PHẨM NGHI NHIỄM MERS-CoV PTN các tác nhân virut liên quan đến bệnh truyền từ động vật sang người.
Quản lý con người Quản lý người làm việc như những cá nhân và theo nhóm.
KỸ NĂNG HỌC TẬP KHOA QUẢN TRỊ KINH DOANH ThS. NGUYỄN HOÀNG SINH
Chapter 16: Chiến lược giá
BÀI GIẢNG QUẢN LÝ DỰ ÁN HỆ THỐNG THÔNG TIN CHƯƠNG 1
Giới Thiệu Tiêu Đề I.
Operators and Expression
Trách nhiệm giải trình của doanh nghiệp ở diện rộng
QUYỀN LỰC VÀ MÂU THUẪN TRONG NHÓM
MODULE 5: CÔNG CỤ 5S - QUẢN LÝ VẬN HÀNH CƠ BẢN
TỔNG QUAN VỀ NGHIÊN CỨU MARKETING
Chương 2 Căn bản về Cung và Cầu 1.
GIỚI THIỆU KHÁI QUÁT VỀ THỊ TRƯỜNG TÀI CHÍNH
QUẢN TRỊ TÍNH ĐA DẠNG THÔNG QUA NHIỀU HOẠT ĐỘNG KINH DOANH
GIỚI THIỆU CHUNG VỀ THIẾT KẾ DỮ LIỆU
HƯỚNG DẪN MÃ HÓA BỆNH TẬT, TỬ VONG THEO ICD - 10
OBJECT-ORIENTED ANALYSIS AND DESIGN WITH UML 2.0
NHÂN QUYỀN LÀ GÌ? Dẫn Nhập Nhân quyền và thu thập tài liệu: Bài Một.
Giảng viên: Lương Tuấn Anh
Trường CĐ CNTT HN Việt Hàn
Chương 8 NHỮNG VẤN ĐỀ QUẢN TRỊ CƠ BẢN TRONG THỰC THI CHIẾN LƯỢC
KHAI THÁC THỦY SẢN ĐẠI CƯƠNG
Chương 4: Tập gõ 10 ngón Chương 2: Học cùng máy tính
PHÂN TÍCH & THIẾT KẾ HƯỚNG ĐỐI TƯỢNG
Presentation transcript:

Thuật Toán Cây Quyết Định C4.5 Sinh viên: Lưu Công Tố Người hướng dẫn: Vũ Tiến Thành

Outline Thuật toán Cây quyết định Thuật toán C4.5 Định nghĩa. Xây dựng cây quyết định. Đặc điểm cây quyết định. Thuật toán C4.5 Lịch sử Pseudocode, các công thức và ví dụ. Cơ chế chống quá vừa dữ liệu, chống thiếu dữ liệu thuộc tính. Chuyển sang luật Ứng dụng. C4.5 và See5/C5.0 Hướng phát triển.

Thuật toán cây quyết định Định nghĩa: Cây quyết định là biểu đồ quyết định phát triển có cấu trúc dạng cây: Gốc: Node trên cùng cây. Node trong: biểu diễn 1 kiểm tra hoặc 1 thuộc tính đơn Node lá: biểu diễn lớp. Nhánh: Kết quả kiểm tra của node trên Gốc Node Trong Node Lá Nhánh Node Lá Node Lá

Ví dụ cây quyết định

Thuật toán cây quyết định Xây dựng cây quyết định gồm 2 bước: Phát triển cây quyết định: đi từ gốc, đến các nhánh, phát triển quy nạp theo hình thức chia để trị. Chọn thuộc tính “tốt” nhất bằng một độ đo đã định trước Phát triển cây bằng việc thêm các nhánh tương ứng với từng giá trị của thuộc tính đã chọn Sắp xếp, phân chia tập dữ liệu đào tạo tới node con Nếu các ví dụ được phân lớp rõ ràng thì dừng. Ngược lại: lặp lại bước 1 tới bước 4 cho từng node con Cắt tỉa cây: nhằm đơn giản hóa, khái quát hóa cây, tăng độ chính xác

Thuật toán cây quyết định VD: thuật toán Hunt sử dụng trong C4.5, CDP... S={S1,S2,…,Sn} là tập dữ liệu đào tạo C={C1,C2,…,Cm} là tập các lớp TH1: Si (i=1…n) thuộc về Cj => Cây quyết định là 1 lá ứng Cj. TH2: S thuộc về nhiều lớp trong C. Chọn 1 test trên thuộc tính đơn có nhiều giá trị O={O1,..Ok} (k thường bằng 2). Test từ gốc của cây, mỗi Oi tạo thành 1 nhánh, chia S thành các tập con có giá trị thuộc tính = Oi. Đệ quy cho từng tập con => cây quyết định gồm nhiều nhánh, mỗi nhánh tương ứng với Oi.

Thuật toán cây quyết định Điểm mạnh của cây quyết định: Sinh ra các quy tắc hiểu được: chuyển đổi được sang tiếng Anh hoặc SQL. Thực thi trong lĩnh vực hướng quy tắc. Dễ dàng tính toán trong khi phân lớp. Xử lý với thuộc tính liên tục và rời rạc. Thể hiện rõ ràng những thuộc tính tốt nhất: phân chia dữ liệu từ gốc. Điểm yếu của cây quyết định: Dễ xảy ra lỗi khi có nhiều lớp: do chỉ thao tác với các lớp có giá trị dạng nhị phân. Chi phí tính toán đắt để học: do phải đi qua nhiều node để đến node lá cuối cùng

Thuật toán C4.5 Là sự phát triển từ CLS và ID3. ID3 (Quinlan, 1979)- 1 hệ thống đơn giản ban đầu chứa khoảng 600 dòng lệnh Pascal Năm 1993, J. Ross Quinlan phát triển thành C4.5 với 9000 dòng lệnh C. Hiện tại: phiên bản See5/C5.0. Tư tưởng thuật toán: Hunt, chiến lược phát triển theo độ sâu.

Thuật toán C4.5 Pseudocode: Kiểm tra case cơ bản Với mỗi thuộc tính A tìm thông tin nhờ việc tách thuộc tính A Chọn a_best là thuộc tính mà độ đo lựa chọn thuộc tính “tốt nhất” Dùng a_best làm thuộc tính cho node chia cắt cây. Đệ quy trên các danh sách phụ được tạo ra bởi việc phân chia theo a_best, và thêm các node này như là con của node (1) ComputerClassFrequency(T); (2) if OneClass or FewCases return a leaf; Create a decision node N; (3) ForEach Attribute A ComputeGain(A); (4) N.test=AttributeWithBestGain; (5) if (N.test is continuous) find Threshold; (6) ForEach T' in the splitting of T (7) If ( T' is Empty ) Child of N is a leaf else (8) Child of N=FormTree(T'); (9) ComputeErrors of N; return N

Thuật toán C4.5 Độ đo lựa chọn thuộc tính “tốt nhất”: information gain và gain ratio Tần suất các case Sj thuộc về giá trị phân lớp Cj RF (Cj, S)= |Sj| |S| Chỉ số thông tin cần thiết cho sự phân lớp: I(S) S={S1,S2,…,Sx)

Thuật toán C4.5 Độ đo lựa chọn thuộc tính “tốt nhất”: Information gain: Test B chia S={S1,S2,…,St) Test B sẽ được chọn nếu có G(S, B) đạt giá trị lớn nhất. Thông tin tiềm năng (potential information) của bản thân mỗi phân hoạch: Gain ratio = G(S, B) / P(S, B) lớnnhất => chọn test B

Thuật toán C4.5 Ví dụ: s1 (yes) 9 case,s2 (no) 5 case I(S) = I(s1,s2) = I(9, 5) = 0.940 A = age =>S={S1,S2,S3} S1 (age<30), S2(30-40), S3 (>30). I (S1): s11(yes &<30) =2, s22(no&<30) =3 I (S1) = (s11,s21) =0,971 Gain (S, age) = =I(s1,s2) – Σ|Si| / |S|* I(Si) = 0.246 A = income: Gain (S, A) = 0.029 A = student: Gain (S, A) = 0.151 A = credit_rating: Gain (S, A) = 0.048 A= age có Gain lớn nhất =>chọn làm thuộc tính phát triển tại node đang xét

Thuật toán C4.5 Xử lý “quá vừa” dữ liệu: Xử lý những giá trị thiếu: Cho phép cây quá vừa dữ liệu, sau đó cắt tỉa cây. Xử lý những giá trị thiếu: Là case có thuộc tính không có giá trị. information gain và potential information: S0 = case thuộc S có giá trị thuộc tính = null. Nếu test B được chọn, C4.5 phân chia các case trong S0 về các tập con Si

Thuật toán C4.5 Chuyển đổi sang luật: cắt tỉa cây Dạng luật: if A and B and C… then class X. Không thỏa mãn điều kiện chuyển về lớp mặc định. Xây dựng luật: 4 bước Mỗi đường đi từ gốc đến lá là một luật mẫu. Đơn giản luật mẫu bằng cách bỏ dần điều kiện mà không ảnh hưởng tới độ chính xác của luật. Các luật đã cắt tỉa được nhóm lại theo giá trị phân lớp tạo ra các tập con. Với mỗi tập con, xem xét để lựa chọn luật để tối ưu hóa độ chính xác dự đoán của lớp gắn với tập luật đó. Sắp xếp các tập luật trên theo tần số lỗi. Lớp mặc định được tạo ra bằng cách xác định các case trong tập S không chứa trong các luật hiện tại và chọn lớp phổ biến nhất trong các case đó làm lớp mặc định. Ước lượng đánh giá: các luật được ước lượng trên toàn tập S, loại bỏ luật làm giảm độ chính xác của sự phân lớp. Hoàn thành: 1 tập các quy tắc đơn giản được lựa chọn cho mỗi lớp

Thuật toán C4.5 Đặc điểm C4.5: Chiếm thời gian sử dụng CPU và bộ nhớ lớn: vd với 10k tới 100k case, tạo cây quyết định tăng từ 1,4s lên 61s, tạo luật tăng từ 32s lên 9,715s. Sử dụng cơ chế lưu dữ liệu thường trú trong bộ nhớ => ứng dụng với database nhỏ ( tần số lỗi lặp lại 4% với database 20000 cases). Có cơ chế xử lý thiếu, lỗi hoặc quá vừa dữ liệu. Luật tạo ra đơn giản.

Thuật toán C4.5 Ứng dụng vào bài toán phân lớp dữ liệu: Bước 1 (Học): xây dựng mô hình mô tả tập dữ liệu; khái niệm đã biết Input: tập dữ liệu có cấu trúc được tạo mô tả bằng các thuộc tính Output: Các luật If…Then Bước 2 (Phân loại): dựa trên mô hình đã xây dựng để phân lớp dữ liệu mới: đi từ gốc đến các nút lá nhắm rút ra lớp của đối tượng cần xét.

Thuật toán C4.5 Ứng dụng vào bài toán phân lớp dữ liệu: Xử lý với dữ liệu thuộc tính liên tục: Sử dụng kiểm tra dạng nhị phân: value(V) < h với h là hằng số ngưỡng (threshold) h được tìm bằng cách: Quick sort sắp xếp các case trong S theo các giá trị của thuộc tính liên tục V đang xét =>V = {v1, v2, …, vm} hi = (vi + v(i+1))/2. Test phân chia dữ liệu:V <= hi hay V>hi => chia V thành V1={v1,v2,…, vi} và V2 = {vi+1, vi+2, …, vm} và có hi (i=1…m-1) Tính Information gain hay Gain ratio với từng hi. Ngưỡng có giá trị của Information gain hay Gain ratio lớn nhất sẽ được chọn làm ngưỡng phân chia của thuộc tính đó.

C4.5 và C5.0 Luật: C5.0 chính xác hơn, nhanh hơn, tốn ít bộ nhớ hơn. Cây quyết định: nhanh hơn, nhỏ hơn Blue: C5.0

C4.5 và C5.0 Boost: tạo và kết hợp nhiều lớp phân loại tăng chính xác dự đoán Kiểu dữ liệu mới: vd ngày,tháng Blue: C5.0

Hướng nghiên cứu Cây ổn định: Phân ly cây phức tạp: Tần số lỗi của cây được xây dựng từ data case được cấu trúc thấp hơn nhiều so với data case không nhìn thấy được. VD: với 20k case được cấu trúc, tỉ lệ lỗi là 4%, Cũng 20k case và có 1 case không được kiểm tra, tỉ lệ lỗi 11,7% Yêu cầu đặt ra: xây dựng cây mà tỉ lệ lỗi là xấp xỉ nhau cho cả 2 trường hợp. Phân ly cây phức tạp: Có thể chia cắt cây phức tạp thành các cây nhỏ, đơn giản mà kết quả không đổi ?

Tài liệu tham khảo Nguyễn Thị Thùy Linh (2005). Thuật toán phân lớp cây quyết định, Khóa luận tốt nghiệp đại học, Trường Đại học Công nghệ, 2005. [WKQ08] Xindong Wu, Vipin Kumar, J. Ross Quinlan, Joydeep Ghosh, Qiang Yang, Hiroshi Motoda, Geoffrey J. McLachlan, Angus Ng, Bing Liu, Philip S. Yu , Zhi-Hua Zhou, Michael Steinbach, David J. Hand, Dan Steinberg (2008). Top 10 algorithms in data mining, Knowl Inf Syst (2008) 14:1–37 http://rulequest.com/see5-comparison.html http://en.wikipedia.org/wiki/ID3_algorithm http://en.wikipedia.org/wiki/C4.5_algorithm http://en.wikipedia.org/wiki/Decision_tree

Cảm ơn thầy, anh chị và các bạn đã theo dõi!