Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 29 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
29
Dung lượng
0,95 MB
Nội dung
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG BÀI THU HOẠCH CHUYÊN ĐỀ KHAI THÁC DỮ LIỆU VÀ KHO DỮ LIỆU MƠ HÌNH CÂY QUYẾT ĐỊNH THUẬT TỐN C4.5 Giáo viên hướng dẫn: PGS.TS Đỗ Phúc Học viên thực hiện: Thái Hồng Quang CH1101033 Lớp: Thạc sỹ CNTT qua mạng khoá 06 Lời giới thiệu Mơ hình định phương pháp phổ biến áp dụng nhiều thực tế cho toán phân lớp dự đoán Chương giới thiệu chung mơ hình định, số độ đo phổ biến áp dụng thuật toán, thuật toán ID3, C4.5, số vấn đề mở rộng định Giới thiệu Mơ hình học định phương pháp cho việc xấp xỉ hàm mục tiêu có giá trị rời rạc biểu diễn dạng định Cây định sau học biểu diễn lại dạng luật if-then để tăng khả dễ đọc Đây phương pháp sử dụng phổ biến số thuật toán học quy nạp, áp dụng thành cơng ứng dụng y khoa tài chẩn đốn bệnh hay đánh giá rủi ro tín dụng 1.1 Cây định số ứng dụng Cây định phương pháp phân lớp thuộc nhóm học có giám sát (supervised learning) như: dựa luật (rule-based), mạng Bayes (naïve Bayes), mạng nơron, SVM,… Ứng dụng định dùng phân lớp dự đoán như: Dự báo thời tiết (dự báo trời nắng, mưa hay âm u,…) dựa số yếu tố nhiệt độ, sức gió, độ ẩm,… Dự báo kinh doanh (doanh số tháng tới tăng hay giảm) dựa yếu tố số tiêu dùng, yếu tố xã hội, kiện,… Tín dụng ngân hàng (khả chi trả tín dụng khách hàng vay mượn) Thị trường chứng khoán (giá vàng, cổ phiếu tăng hay giảm) 1.2 Biểu diễn định Từ nhu cầu thực tế trên, mục tiêu xây dựng định có thuộc tính định (là lớp có sẵn hay thuộc tính cần dự đốn) dựa thuộc tính quan sát Ví dụ tốn dự báo thơi tiết thuộc tính định thời tiết với lớp “nắng”, “mưa”, “âm u” thuộc tính điều kiện nhiệt độ, sức gió, độ ẩm,… Thành phần định: An Am Ai C2 C1 C1 Ak C2 C3 C3 Nút Ck: nhãn lớp thứ k (thuộc tính định C) Nút gốc, nút Ai : thuộc tính Ai (thuộc tính điều kiện) Nhánh Vij: trường hợp thứ j (giá trị, khoảng giá trị) Ai Khoảng giá trị trường hợp phép so sánh (>,=,54 Temperature>85 Vì Information gain (Temperature>54) > Information gain (Temperature>85) nên giá trị Temperature>54 chọn Giá trị thuộc tính tự động tạo so sánh với thuộc tính ứng cử viên khác có sẵn cho việc phát triển định Fayyad Irani (1993) thảo luận phần mở rộng để tiếp cận theo cách chia tách thuộc tính liên tục vào nhiều khoảng hai khoảng dựa ngưỡng Utgoff Brodley (1991) Murthy cộng (1994) thảo luận cách tiếp cận xác định tính cách kết hợp tuyến tính số thuộc tính có giá trị liên tục 4.2.1 Các phƣơng pháp thay cho thuộc tính lựa chọn Có khuynh hướng tự nhiên Information gain thuộc tính chọn với nhiều giá trị thuộc tính khác với vài giá trị Ví dụ, xét thuộc tính Date có nhiều giá trị xảy (ví dụ ngày tháng năm 1979) Nếu ta thêm thuộc tính vào bảng ví dụ định có Play Tennis hay khơng, ta thấy thuộc tính có khả phân loại mạnh 22 Điều xảy thuộc tính Date hồn tồn độc lập tiên đoán hàm mục tiêu liệu đào tạo Vậy thuộc tính có bị sai hay khơng? Thật ra, thuộc tính đặt cho tập liệu có nhiều giá trị mà phân chia tập liệu đào tạo thành tập nhỏ Do đó, có thu thập thơng tin cao tập liệu đào tạo, cơng cụ tiên đốn khơng tốt hàm mục tiêu trường hợp khác Một cách để tránh điều chọn lựa thuộc tính dựa số đánh giá khác sử dụng thuộc tính Information gain Một độ đo sử dụng thành công Gain Ratio Phương pháp sử dụng độ đo cản trở thuộc tính tương tự Date việc kết hợp biểu thức gọi Split Information Trong S1 đến Sc tập c kết trường hợp từ phân hoạch S thuộc tính đánh giá với c A Để ý SplitInformation thực entropy S với với liên quan giá trị thuộc tính A Điều ngược với việc sử dụng Entropy trước xem xét entropy S với liên quan đến giá trị mục tiêu mà giá trị tiên đốn định Đánh giá Gain Ratio định nghĩa biểu thức đánh giá Gain trước SplitInformation sau: 4.2.2 Xử lý huấn luyện thuộc tính thiếu giá trị Trong số trường hợp định liệu thiếu giá trị số thuộc tính Ví dụ, y khoa mong muốn tiên đoán kết bệnh nhân dựa nhiều kiểm tra phịng thí nghiệm, kiểm tra thử máu tập bệnh nhân cho phép Trong trường hợp thơng thường phải ước đốn giá trị thiếu dựa trường hợp mà thuộc tính có giá trị biết Xét trường hợp mà Gain(S,A) tính tốn nút n định để xác định thuộc tính A thuộc tính tốt để kiểm tra nút định Giả sử (x,c(x)) tập liệu đào tạo S giá trị A(x) đến Một chiến thuật liên quan đến thao tác thiếu giá trị thuộc tính gán cho giá trị chiếm hầu hết tập liệu huấn luyện nút n Một thủ tục thứ hai phức tạp gán kết xảy cho giá trị A đơn giản gán giá trị chung cho A(x) Khả nhận cách quan sát tần số giá trị khác cho A số ví dụ nút n Ví dụ: Giả sử thuộc tính A ứng cử cho thuộc tính kiểm tra nút n Ta phải 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 số ví dụ thuộc tậ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 23 Giải pháp 3: Tính xác suất pv giá trị v thuộc tính A o Gán phần (fraction) pv ví dụ x nhánh tương ứng nút n o Những ví dụ phần (fractional instances) sử dụng để tính giá trị Information Gain Một thuộc tính kiểu nhị phân (0/1) A Nút n Nút n bao gồm: ví dụ có giá trị A = 0.4 x ví dụ có giá trị A = 0.6 x Một ví dụ x (giá trị thiếu A) - ví dụ có giá trị A - ví dụ có giá trị A P(xA = 1) = 4/10 = 0.4 5.2.3 Xử lý thuộc tính có chi phí khác Trong số công đoạn việc học thuộc tính thực thể có liên hệ đến giá Giả sử bác sĩ cần phân loại chuẩn đoán bệnh, vấn đề đặt bác sĩ phải cho bệnh nhân thực kiểm tra xét nghiệm mà chi phí nhỏ Những kiểm tra xét nghiệm thuộc tính cần phải xét đến định Khi đó, cần sử dụng cách đánh giá khác InformationGain nhằm xác định thuộc tính kiểm tra (w *0,1+ số xác định Ga in( Gai n (S , A) mức độ quan trọng chi phía S , A) Cost( A) −1 Information Gain) (Cost( A)1) w 24 Trong trường hợp vậy, ta ưu tiên định sử dụng thuộc tính chi phí thấp, dựa thuộc tính có giá cao cần tạo phân loại đáng tin cậy ID3 sửa đổi để chuyển thành thuộc tính tính toán phải trả việc đưa biểu thức giá trị sang định lượng lựa chọn thuộc tính SplitInfo(S , Outlook) 5 4 5 = - log - log - log 2 14 14 14 14 14 14 = 1.577 GainRatio(S,When)= Gain(S,When)/SplitInfo(S,When)=0.261/2.217= 0.118 GainRatio(S,Outlook)= Gain(S,Outlook)/SplitInfo(S,Outlook)=0.246/1.577= 0.156 Ta thấy thuộc tính Outlook có Gain Ratio lớn chọn Outlook làm thuộc tính phân tách Gain Ratio gặp số vấn đề có phần mẫu số SplitInfo: A SplitInfo hay thấp (khi |Sj | |S|) Khi Gain Ratio khơng xác định lớn Cách giải quyết: Tính Gain cho thuộc tính lấy giá trị Gain trung bình (Gain_Average) Sau áp dụng Gain Ratio thuộc tính có Gain > Gain_Average 5.2.2 Gini Index Độ đo Gini Index sử dụng thuật toán CART (Classification And Regression Tree) Thuật toán CART sử dụng toán xây dựng phân lớp hồi quy.[2] Độ đo Gini có đặc điểm xây dựng tạo phân tách nhị phân cho thuộc tính Aj (phân hoạch thuộc Aj phân hoạch không thuộc Aj) Cho tập huấn luyện S, lớp {C1, C2,…Cn} Cơng thức tính Gini tập S Với pi xác suất để mẫu S thuộc lớp Ci Gini(S) = mẫu S thuộc lớp Một số ký hiệu: DOM(A) = {a1,a2,…av} tập giá trị thuộc tính A VA DOM(A) VA tập hợp S tạo giá trị thuộc tính A v |VA|= -2 (không lấy tập A) VA = DOM(A) \ VA SV gồm phần tử S lấy giá trị thuộc tính A VA SV gồm phần tử S lấy giá trị thuộc tính A VA Cơng thức tính độ đo Gini cho tập S phân hoạch theo thuộc tính A Chọn thuộc tính có Gini(S,A) NHỎ NHẤT làm thuộc tính phân tách Ví dụ 5: với bảng liệu Play Tennis ? Xét thuộc tính Outlook A=Outlook; DOM(A)={sunny, rain, overcast} VA1 = {sunny,rain}; VA2 = {sunny,overcast}; VA3 = {rain,overcast} VA4 = {overcast} = VA1 ; VA5 = {rain} = VA2 ; VA6 = {sunny} = VA3 Vậy Gini(S, Outlook)= 0.357 Tương tự tính được: Gini(S,Temp)=0.45; Gini(S,Humidity)=0.367; Gini(S,Wind)=0.429 Chọn Outlook làm thuộc tính phân tách có giá trị Gini nhỏ Demo 6.1 Chương trình liệu mẫu Chương trình viết ngôn ngữ C# chạy Windows Mẫu liệu gồm file Training_data.xls 6.2 Giới thiệu chương trình Các nút để khởi tạo a Menu load file Excel b Menu C4.5 sử dụng thuật toán C4.5 để tạo luật c Menu Rules tạo luật từ kết thục thi thuật toán C4.5 Cây Thư mục Hiển thị phân cấp kết sau thi sử dụng thuật toán C4.5 Vùng Data hiển thị Data training từ excel vào chương trình Vùng cuối thể luật rút trích từ thuật tốn C4.5 6.2 Một số đánh giá chương trình Chương trình xây dựng đủ bước sử dụng kĩ thuật định vào phân lớp gồm tạo cây, sinh luật, phân lớp tập luật sinh Tốc độ thuật tốn cịn chậm sử dụng nhiều giải thuật đệ quy chương trình Sẽ gặp nhiều khó khăn load data lớn Kết luận Trong khuôn khổ khóa luận tốt nghiệp này, tơi nghiên cứu, phân tích, đánh giá thuật tốn phân lớp liệu dựa định C4.5 thuật toán xử lý đầy đủ vấn đề trình phân lớp liệu: lựa chọn thuộc tính tốt nhất, lưu trữ phân chia liệu, xử lý giá trị thiếu, tránh vừa,cắt tỉa cây,…Với lý C4.5 trở thành thuật toán phổ biến ứng dụng vừa nhỏ Quá trình triển khai, cài đặt thử nghiệm với đánh giá hiệu mơ hình phân lớp C4.5 tiến hành Và thu nhiều kết có ý nghĩa thực tiến, kết gợi mở hướng nghiên cứu tiếp theo.Do giới hạn thời gian đồ án mơn học nên tơi chưa thể hồn thiện chương trình với tính tốt Tơi xin chân thành Cảm ơn PGS.TS Đỗ Phúc tận tình hướng dẫn chúng tơi tiếp cận mơn “Khai phá liệu kho liệu” làm tảng lý thuyết cho việc nghiên cứu ứng dụng vào thực tiễn mong tảng giúp nghiên cứu vào ứng dụng khai phá liệu dự án nghiên cứu thị trường công nghệ thong tin Tài liệu tham khảo [1] Tom M Mitchell, “Machine Learning”, 1997 [2] Lior Rokach, Oded Maimon, Data Mining and Knowledge Discovery Hanbook, Chap 09 [3] Jiawei Han, Micheline Kamber, “Data Mining: Concepts and Techniques”, 2nd Edition, 2006 ... SplitInfo(S ,When) Thuật toán C4.5 3.1 Giới thiệu C4.5 Với đặc điểm C4.5 thuật toán phân lớp liệu dựa định hiệu phổ biến ứng dụng khai phá sở liệu có kích thước nhỏ C4.5 sử dụng chế lưu trữ liệu thường... giới thiệu Mơ hình định phương pháp phổ biến áp dụng nhiều thực tế cho toán phân lớp dự đoán Chương giới thiệu chung mơ hình định, số độ đo phổ biến áp dụng thuật toán, thuật toán ID3, C4.5, số vấn... thi thuật toán C4.5 Cây Thư mục Hiển thị phân cấp kết sau thi sử dụng thuật toán C4.5 Vùng Data hiển thị Data training từ excel vào chương trình Vùng cuối thể luật rút trích từ thuật toán C4.5