Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 78 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
78
Dung lượng
881,07 KB
Nội dung
1 ĐẠI HỌC THÁI NGUYÊN ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ THÔNG TIN DƢƠNG THỊ NHUNG NGHIÊN DƢƠNG THỊCỨU NHUNG PHƢƠNG PHÁP CÂY QUYẾT ĐỊNH VÀ CÀI ĐẶT MƠ PHỎNG THUẬT TỐN ID3 Chuyên ngành: Khoa học máy tính NGHIÊN CỨU PHƢƠNG PHÁP CÂY QUYẾT Mã số: 60.48.01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS.TS VŨ ĐỨC THI Thái Nguyên 2010 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn LỜI CAM ĐOAN Tơi xin cam đoan tồn nội dung luận văn tự sƣu tầm, tra cứu thông tin mạng internet, số sách tham khảo để xếp, hoàn thiện cho phù hợp với nội dung yêu cầu đè tài Đến nay, nội dung luận văn chƣa đƣợc công bố hay xuất dƣới hình thức Nếu sai tơi xin chịu hồn tồn trách nhiệm Ngày 10 tháng 10 năm 2010 Tác giả Dƣơng Thị Nhung Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn LỜI CẢM ƠN Để hoàn thành luận văn nhận đƣợc giúp đỡ tận tình thầy Khoa Cơng nghệ thơng tin – Đại học Thái Nguyên, thầy cô viện công nghệ thông tin – viện Khoa học công nghệ Việt Nam, bạn bè đông nghiệp Đặc biệt PGS.TS Vũ Đức Thi, ngƣời thầy trực tiếp hƣớng dẫn tơi q trình nghiên cứu thực luận văn Nhân dịp xin đƣợc bày tỏ lời cảm ơn tới tất thầy cô giáo viện Công nghệ thông tin – Viện Khoa học công nghệ Việt Nam, thầy cô khoa Công nghệ thông tin – Đại học Thái nguyên giảng dạy tạo điều kienẹ thuận lợi giúp đỡ chúng tơi q trình học tập, nghiên cứu Tơi xin trân trọng cảm ơn PGS.TS Vũ Đức Thi – Viện công nghệ thông tin, ngƣời thầy trực tiếp hƣớng dẫn, đƣa ý tƣởng, định hƣớng, đóng góp ý kiến chun mơn tận tình giúp đỡ tơi suốt trình nghiên cứu thực luận văn Tôi xin cảm ơn bạn bè đồng nghiệp gia đình giúp đỡ, đóng góp ý kiến động viên tơi suốt qua trình học, q trình nghiên cứu hồn thành luận văn Tác giả Dƣơng Thị Nhung Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn MỤC LỤC LỜI MỞ ĐẦU Phần 1: TỔNG QUAN VỀ PHÁT HIỆN TRI THỨC VÀ KHAI PHÁ DỮ LIỆU 1.1 Khái quát chung phát tri thức khai phá liệu 1.2 Quá trình khám phá tri thức 1.2.1 Hình thành định nghĩa toán 1.2.2 Thu thập tiền xử lý liệu 1.2.3 KPDL rút tri thức .5 1.2.4 Phân tích kiểm định kết 1.2.5 Sử dụng tri thức phát đƣợc 1.3 Quá trình KPDL 1.3.1 Gom liệu ( gatherin ) 1.3.2 Trích lọc liệu ( selection ) 1.3.3 Làm tiền xử lý liệu ( cleansing preprocessing preparation ) 1.3.4 Chuyển đổi liệu ( transformation ) .7 1.3.5 Phát trích mẫu liệu ( pattern extraction and discovery) 1.3.6 Đánh giá kết ( evaluation of result ) 1.4 Chức KPDL 1.5 Các kỹ thuật KPDL 1.5.1 Phân lớp liệu: .8 1.5.2 Phân cụm liệu: 1.5.3 Khai phá luật kết hợp: .9 1.5.4 Hồi quy: 1.5.5 Giải thuật di truyền: 1.5.6 Mạng nơron: 1.5.7 Cây định 10 1.6 Các dạng liệu khai phá đƣợc 10 1.7 Các lĩnh vực liên quan ứng dụng KPDL 10 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 1.7.1 Các lĩnh vực liên quan đến khám phá tri thức KPDL .10 1.7.2 Ứng dụng KPDL .11 1.8 Các thách thức hƣớng phát triển KPDL 12 Phần 2: CÂY QUYẾT ĐỊNH VÀ CÁC THUẬT TOÁN KHAI PHÁ DỮ LIỆU BẰNG CÂY QUYẾT ĐỊNH 13 2.1 Cây định 13 2.1.1 Mô tả 13 2.1.2 Định nghĩa định .13 2.1.3 Ƣu điểm định 15 2.1.4 Vấn đề xây dựng định 16 2.1.5 Rút luật từ định 17 2.2 Các thuật toán KPDL định 18 2.2.1 Thuật toán CLS 18 2.2.2 Thuật toán ID3 23 2.2.3 Thuật toán C4.5 .38 2.2.4 Thuật toán SLIQ .52 2.2.5 Cắt tỉa định 61 2.2.6 Đánh giá kết luận thuật toán xây dựng định 66 Phần 3: CÀI ĐẶT MƠ PHỎNG THUẬT TỐN ID3 69 3.1 Mơ tả tốn 69 3.2 Màn hình nhập liệu chƣơng trình 69 3.3 Màn hình phân tích liệu đƣa kết chƣơng trình 70 Phần 4: KẾT LUẬN 71 TÀI LIỆU THAM KHẢO 72 Tài Liệu Tiếng Việt 72 Tài Liệu Tiếng Anh 72 Danh Sách Website 72 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn LỜI MỞ ĐẦU Trong nhiều năm qua, với phát triển công nghệ thông tin ứng dụng công nghệ thông tin nhiều lĩnh vực đời sống xã hội, lƣợng liệu đƣợc quan thu thập lƣu trữ ngày nhiều lên Theo thống kê lƣợng liệu có khoảng từ 5% đến 10% liệu ln đƣợc phân tích, số cịn lại ngƣời ta khơng biết phải làm với chúng Tuy nhiên ngƣời tiếp tục thu thập lƣu trữ liệu cho chúng ẩn chứa giá trị định đó, chẳng hạn cung cấp cho họ thơng tin đƣa định chiến lựoc cách nhanh chóng lúc Chính lƣợng liệu đƣợc lƣu trữ ngày nhiều lên đến mức khổng lồ phƣơng pháp quản trị khai thác liệu truyền thống ngày không đáp ứng đƣợc nhu cầu thực tế làm phát triển khuynh hƣớng kỹ thuật Kỹ thuật khám phá tri thức KPDL (Khai phá liệu) Kỹ thuật khám phá tri thức KPDL đƣợc nghiên cứu, ứng dụng nhiều lĩnh vực khác giới Tại Việt Nam, kỹ thuật tƣơng đối mẻ nhiên đƣợc nghiên cứu dần đƣa vào số ứng dụng thực tế; đặc biệt lĩnh vực giáo dục đào tạo chƣa có ứng dụng thiết thực Hiện vấn đề khám phá tri thức KPDL thu hút đƣợc quan tâm nhiều ngƣời nhiều công ty phát triển ứng dụng công nghệ thông tin nƣớc ta Luận văn bao gồm nội dung sau: Chƣơng 1: Tổng quan phát tri thức khai phá liệu Chƣơng 2: Cây định thuật toán khai phá liệu định Chƣơng 3: Cài đặt mơ thuật tóan ID3 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Phần 1: TỔNG QUAN VỀ PHÁT HIỆN TRI THỨC VÀ KHAI PHÁ DỮ LIỆU 1.1 Khái quát chung phát tri thức khai phá liệu Trong vài thập kỷ gần đây, khả tạo sinh lƣu trữ liệu ngƣời tăng lên nhanh chóng Lƣợng liệu lớn đƣợc lƣu trữ dẫn đến địi hỏi cấp bách phải có kỹ thuật mới, công cụ tự động trợ giúp ngƣời cách thông minh việc chuyển đổi lƣợng lớn liệu thành thơng tin hữu ích tri thức Vì mà kỹ thuật khám phá tri thức (Knowledge Discovery) đời ngày phát triển để đáp ứng nhu cầu ngƣời việc xử lý kho liệu lớn Vậy tri thức gì? Thơng thƣờng coi liệu nhƣ dãy bit, số ký hiệu, “đối tƣợng” đƣợc gửi cho chƣơng trình dƣới định dạng định Chúng ta sử dụng bit để đo lƣờng thơng tin xem nhƣ liệu đƣợc lọc bỏ dƣ thừa, đƣợc rút gọn tới mức tối thiểu Bít đƣợc dùng làm đơn vị đặc trƣng cho liệu Chúng ta xem tri thức nhƣ thơng tin tích hợp, bao gồm kiện mối quan hệ chúng Các mối quan hệ đƣợc hiểu, đƣợc phát ra, đƣợc học Nói cách khác, tri thức coi liệu có độ trừu tƣợng tổ chức cao Hiện khám phá tri thức phát triển mạnh mẽ nhiều ngành học thuật Nó đƣợc kết hợp với việc quản lý sở liệu, khoa học thống kê, học máy, nghiên cứu mối quan hệ lĩnh vực nhằm rút tri thức có ích từ tập hợp lớn liệu Khám phá tri thức trình nhận biết logic, lạ, tri thức tiềm tàng hữu ích từ sở liệu, cuối việc hiểu đƣợc mẫu mơ hình liệu Cịn thuật ngữ KPDL (Khai phá liệu) đời vào năm cuối thập kỷ 1980 Có nhiều định nghĩa khác "KPDL" đƣợc đƣa Giáo sƣ Tom Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Mitchell đƣa định nghĩa KPDL nhƣ sau: “KPDL việc sử dụng liệu lịch sử để khám phá qui tắc cải thiện định tƣơng lai.” Với cách tiếp cận ứng dụng hơn, tiến sĩ Fayyad phát biểu: ”KPDL thƣờng đƣợc xem việc khám phá tri thức sở liệu, q trình trích xuất thơng tin ẩn, trƣớc chƣa biết có khả hữu ích, dƣới dạng quy luật, ràng buộc, qui tắc sở liệu.” Cịn nhà thống kê xem " KPDL nhƣ q trình phân tích đƣợc thiết kế thăm dò lƣợng cực lớn liệu nhằm phát mẫu thích hợp và/ mối quan hệ mang tính hệ thống biến sau hợp thức hố kết tìm đƣợc cách áp dụng mẫu phát đƣợc cho tập liệu" Nói chung, KPDL cốt lõi q trình khám phá tri thức Nó gồm có giải thuật KPDL chuyên dùng, dƣới số quy định hiệu tính tốn chấp nhận đƣợc KPDL nhằm tìm mẫu mới, mẫu có tính chất khơng tầm thƣờng, thơng tin tiềm ẩn mang tính dự đốn chƣa đƣợc biết đến có khả mang lại ích lợi Nói tóm lại, mục đích chung việc khám phá tri thức KPDL tìm mẫu đƣợc quan tâm và/ mơ hình tồn sở liệu, nhƣng chúng lại bị che dấu số lƣợng lớn liệu 1.2 Quá trình khám phá tri thức Quá trình khám phá tri thức đƣợc tiến hành qua bƣớc sau: Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Hình 1.1 Quá trình khám phá tri thức 1.2.1 Hình thành định nghĩa tốn Đây bƣớc tìm hiểu lĩnh vực ứng dụng hình thành tốn, bƣớc định cần rút tri thức dạng nhƣ nào, đồng thời lựa chọn phƣơng pháp KPDL thích hợp với mục đích ứng dụng chất liệu 1.2.2 Thu thập tiền xử lý liệu Trong bƣớc liệu đƣợc thu thập dạng thô (nguồn liệu thu thập từ kho liệu hay nguồn thông tin internet) Trong giai đoạn liệu đƣợc tiền xử lý để biến đổi cải thiện chất lƣợng cho phù hợp với phƣơng pháp KPDL đƣợc chọn lựa bƣớc Bƣớc thƣờng chiếm nhiều thời gian trình khám phá tri thức Các cơng việc tiền xử lý liệu bao gồm : Xử lý liệu bị mất/ thiếu: Các liệu bị thiếu đƣợc thay giá trị thích hợp Khử trùng lặp: đối tƣợng liệu trùng lặp bị loại bỏ Kỹ thuật không đƣợc sử dụng cho tác vụ có quan tâm đến phân bố liệu Giảm nhiễu: liệu nhiễu đối tƣợng tách rời khỏi phân bố chung bị loại bỏ khỏi tập liệu Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Chuẩn hố: thơng thƣờng chuẩn hố miền giá trị liệu cho phù hợp Rời rạc hố: việc biến đổi liệu dạng số liệu với giá trị rời rạc Rút trích xây dựng đặc trƣng từ thuộc tính có Giảm chiều: loại bỏ bớt thuộc tính chứa thơng tin 1.2.3 KPDL rút tri thức Đây bƣớc quan trọng tiến trình khám phá tri thức Kết bƣớc trích đƣợc mẫu và/hoặc mơ hình ẩn dƣới khối lƣợng lớn liệu Một mơ hình biểu diễn cấu trúc tổng thể thành phần hệ thống hay hệ thống sở liệu, miêu tả cách liệu đƣợc nảy sinh Còn mẫu cấu trúc cục có liên quan đến vài biến vài trƣờng hợp sở liệu 1.2.4 Phân tích kiểm định kết Bƣớc thứ tƣ hiểu tri thức tìm đƣợc, đặc biệt làm sáng tỏ mơ tả dự đốn Trong bƣớc này, kết tìm đƣợc đƣợc biến đổi sang dạng phù hợp với lĩnh vực ứng dụng dễ hiểu cho ngƣời dùng 1.2.5 Sử dụng tri thức phát đƣợc Trong bƣớc này, tri thức khám phá đƣợc đƣợc củng cố, kết hợp lại thành hệ thống, đồng thời giải xung đột tiềm tri thức Các mơ hình rút đƣợc đƣa vào hệ thống thông tin thực tế dƣới dạng môdun hỗ trợ việc đƣa định Các giai đoạn trình khám phá tri thức có mối quan hệ chặt chẽ với bối cảnh chung hệ thống Các kỹ thuật đƣợc sử dụng giai đoạn trƣớc ảnh hƣởng đến hiệu giải thuật đƣợc sử dụng giai đoạn Các bƣớc q trình khám phá tri thức đƣợc lặp lặp Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 59 B(Bad) 1 1 1 1 G(Good) 2 Gini 0.267 0.417 0.444 0.333 Bảng 2.7 Tính giá trị gini điểm tách thuộc tính Age + Với v= 26.5 B G L(Left):N1 R(Righ):N2 Gini(N1)=1-(1/1)2-(0/1)2=1-12=0 Gini(N2)=1-(1/5)2-(4/5)2=1-0.22-0.82=0.32 Gini(v=26.5)=(1/6)*0+(5/6)*0.32=0.267 + Với v = 35 ta có: B G L(Left):N1 1 R(Righ):N2 Gini(N1)=1-(1/2)2-(1/2)2=1-0.52-0.52=0.5 Gini(N2)=1-(1/4)2-(3/4)2=1-0.252-0.752=0.375 Gini(v=35)=(2/6)*0.5+(4/6)*0.75=0.417 + Với v = 42.5 ta có: L(Left):N1 B G Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 60 R(Righ):N2 Gini(N1)=1-(1/3)2-(2/3)2=1-0.3332-0.6672=0.444 Gini(N2)=1-(1/3)2-(2/3)2=1-0.3332-0.6672=0.444 Gini(v=42.5)=(3/6)*0.444+(3/6)*0.444=0.444 + Với v= 50 ta có: B G L(Left):N1 R(Righ):N2 1 Gini(N1)=1-(1/4)2-(3/4)2=1-0.252-0.752=0.375 Gini(N2)=1-(1/2)2-(1/2)2=1-0.52-0.52=0.5 Gini(v=50)=(4/6)*0.375+(2/6)*0.5=0.333 Từ kết ta thấy Gini(v=26.5)=0.267 giá trị nhỏ nhất, chọn điểm tách cho thuộc tính Age v=26.5 Khi ta có: Age(Age26.5 N1:B N2: Salary [2] [1,3,4,5,6] Thực tƣơng tự trình phân tách cho nút N2 ta thu đƣợc kết nhƣ hình sau: Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 61 Age[1,2,3,4,5,6 (Age26.5 B Salary [2] [1,3,4,5,6] ≤50 Salary50 B G [4] [1,3,5,6] Hình 2.16: Cây kết sử dụng thuật toán SLIQ với tập liệu bảng 2.5 2.2.5 Cắt tỉa định Ta thấy việc xây dựng cách phát triển nhánh đầy đủ theo chiều sâu để phân lớp hoàn toàn liệu huấn luyện đơi gặp khó khăn trƣờng hợp liệu bị nhiễu (Noisy Data) bị thiếu (Missing Data), số lƣợng mẫu nhỏ không đủ để đại diện cho quy luật; tức tạo nút có số mẫu nhỏ Trong trƣờng hợp này, thuật tốn phát triển ta dẫn đến tình mà ta gọi tình trạng "Over fitting" định Để giải tình trạng Over fitting ngƣời ta sử dụng phƣơng pháp cắt tỉa định Cắt tỉa việc làm: nút cây, xác khơng chia tách cao xác đƣợc chia tách, thay nút tƣơng ứng, nhãn nút đƣợc gán nhãn lớp đa số (phổ biến) tập mẫu nút Có hai chiến lƣợc cắt tỉa định a) Tiền cắt tỉa (Prepruning): Tiền cắt tỉa nghĩa dừng sớm việc phát triển trƣớc vƣơn đến điểm mà việc phân lớp mẫu huấn luyện đƣợc hoàn thành Nghĩa Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 62 trình xây dựng cây, nút khơng đƣợc tách thêm bƣớc nhƣ kết phép tách rơi vào ngƣỡng gần nhƣ chắn Nút trở thành nút đƣợc gán nhãn nhãn lớp phổ biến tập mẫu nút b) Hậu cắt tỉa (Postpruning): Chiến thuật ngƣợc với chiến thuật tiền cắt tỉa Tức là, đƣợc phát triển đầy đủ sau thực cắt tỉa (Trong trình xây dựng cho phép tình trạng Over fitting xẩy ra) Nó cho phép phát triển đầy đủ sau cắt tỉa bỏ nhánh không hợp lý Nếu nút mà bị cắt trở thành nút nhãn đƣợc gán nhãn lớp phổ biến trƣớc Trong thực tế, hậu cắt tỉa phƣơng pháp thành cơng cho việc tìm giả thuyết xác cao Chiến thuật hậu cắt tỉa đƣợc tiến hành thơng qua việc tính tốn lỗi nhƣ sau: Giả sử ta gọi: E(S) lỗi tĩnh (Static error hay expected error) nút S; BackUpError(S) lỗi từ nút S (Back Up Error); Error(S) lỗi nút S Các giá trị đƣợc tính nhƣ sau : Error(S) = Min(E(S), BackUpError(S)) E(S) = (N - n + 1) / (N + 2) Trong đó: N tổng số mẫu nút S, n số mẫu lớp phổ biến S Trong trƣờng hợp tổng qt, thuộc tính lớp có K giá trị (K lớp) thì: E(S) = (N-n+K-1) / (N+K) BackUpError(S) = Pi Error(Si ) i Trong đó: Si nút S, Pi tỷ lệ số mẫu Si số mẫu S Nhƣ nút có lỗi Error(Si) = E(Si) nút khơng có nút dẫn đến khơng có lỗi BackUpError Nếu BackUpError(S) >= E(S) chiến thuật hậu cắt tỉa định cắt nút S ( nghĩa cắt bỏ S) Số hóa Trung tâm Học liệu – Đại học Thái Ngun http://www.lrc-tnu.edu.vn 63 Ví dụ 1: Ta có trƣớc cắt tỉa nhƣ hình 2.17 sau: A [6+, 4-] B C [4+, 2-] [2+, 2-] [3+, 2-] [1+, 0-] D [1+, 0-] 0.429 0.333 [1+, 2-] 0.333 [1+, 1-] [0+, 1-] 0.5 0.333 Hình 2.17 Cây trƣớc cắt tỉa Tiến hành tính lỗi cho nút ta có: Xét nút B ta có: N= 6, n= E(B) = (6-4+1 )/(6+2) = 0.375 BackUpError(B) = (5/6)* 0.429 + (1/6)* 0.333 = 0.413 Error(B) = Min(E(B), BackUpError(B)) = Min (0.375, 0.413) = 0.375 Do BackUpError(B) > E(B) nên cắt bỏ nút B Xét nút D ta có: N= 3, n= E(D) = (3-2+1) /(3+2)= 0.4 BackUpError(D) = (2/3)* 0.5 + (1/3)* 0.333 = 0.444 Error(D) = Min(E(D), BackUpError(D)) = Min (0.4, 0.444) = 0.4 Do BackUpError(D) > E(D) nên cắt bỏ nút B Xét nút C ta có: N=4, n=4 E(C) = (4-2+1) /(4+2)=0.5 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 64 BackUpError(D) = (3/4)* 0.4 + (1/4)* 0.333 = 0.383 Error(C) = Min(E(C), BackUpError(C)) = Min (0.5, 0.383) = 0.383 Do BackUpError(C) < E(C) nên không cắt bỏ nút C Xét nút A ta có: N=10, n=6 E(A) = (10-6+1) /(10+2)=0.417 BackUpError(A) = (6/10)* 0.375 + (4/10)* 0.383 = 0.378 Error(A) = Min(E(A), BackUpError(A)) = Min (0.417, 0.378) = 0.378 Do BackUpError(A) < E(A) nên không cắt bỏ nút A Sau thực cắt bỏ nút B D ta thu đƣợc sau sau: A [6+, 4-] [4+, 2-] C 0.375 [2+, 2-] [1+, 2-] [1+, 0-] 0.4 0.333 Hình 2.18 Cây sau cắt tỉa Tóm lại, cắt tỉa nhằm tối ƣu hố kết Tối ƣu kích cỡ độ xác việc phân lớp cách cắt bỏ nhánh không phù hợp (over fitted branches) Để thực việc cắt tỉa có số thuật toán sau đây: Thuật toán CART, gọi tắt cắt tỉa chi phí phức tạp (Cost - Complexity prunning) Thuật toán sử dụng tập hợp tách rời mẫu học để đánh giá tính hữu dụng việc hậu cắt tỉa nút Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 65 Cắt tỉa bi quan (Pessimistic pruning) Kỹ thuật cắt tỉa áp dụng phƣơng pháp thống kê để đánh giá việc mở rộng cắt tỉa nút Nó đƣợc dùng để cắt tỉa đƣợc xây dựng thuật toán ID3, C4.5 Kỹ thuật mô tả độ dài tối thiểu - MDL (Minimum Description Length) Kỹ thuật không cần thiết phải kiểm tra mẫu thƣờng đƣợc sử dụng thuật toán SLIQ, SPRINT Nguyên tắc cắt tỉa MDL: Nguyên tắc cắt tỉa MDL gọi nguyên tắc mô tả độ dài tối thiểu Nguyên tắc đƣợc phát biểu nhƣ sau: "Mẫu tốt mô tả liệu mẫu mà miêu tả liệu có tổng chi phí mơ tả dƣới dạng bit tối thiểu" Tổng chi phí mã hố đƣợc tính theo cơng thức: cost(M,D) = cost(D|M)+cost(M) (5.4) Trong đó, cost(M) chi phí mã hố mẫu M, cost(D|M) chi phí mã hố liệu đƣợc mơ tả thơng qua mẫu M Các chi phí mã hố gồm: Chi phí mã hố liệu: đƣợc tính thơng qua tổng số lỗi rút q trình xây dựng Chi phí mã hố mẫu: nút định đƣợc mã hố theo cách sau: Với nút có có chi phí bit Với nút có 0, (con trái phải) có có chi phí bit Với nút cây, nút có chi phí log23 bit Nhƣ chi phí lần phân chia định phụ thuộc vào kiểu thuộc tính đƣợc kiểm tra để phân chia Sự phụ thuộc thể nhƣ sau: Thuộc tính số: Mỗi lần phân chia tập mẫu đƣợc chia thành tập không chia phí mã hố khơng thay đổi bit Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 66 Thuộc tính phân loại rời rạc: Chi phí lần tách phụ thuộc vào số giá trị phân loại rời rạc thuộc tính Nếu A tập hợp giá trị khẳng định (yes, +) thuộc tính CSplit = Ln|A| Nguyên tắc cắt tỉa MDL đánh giá độ dài mã nút để định có cắt tỉa hay khơng, có cắt cắt con, cắt hai con, không cắt tỉa nút Chi phí cắt tỉa đƣợc tính công thức sau: CLeaf (t ) L(t ) ErrorSt CBoth (t ) L(t ) LSplit C (t1) C (t 2) CLeft (t ) L(t ) LSplit C (t1) C ' (t 2) (5.5) CRight (t ) L(t ) LSplit C ' (t1) C (t 2) Trong C' (ti) chi phí mã hố nút cha, LSplit độ dài điểm tách MDL sử dụng chiến lƣợc cắt tỉa sau: Cắt tỉa hoàn tồn: Nếu CLeaf (t) < CBoth(t) cắt tỉa nhánh nút biến nút trở thành nút Cắt tỉa thành phần: CLeaf (t) < CLeft (t ) CLeaf (t) < CRight (t ) Sử dụng tất chi phí đƣợc tính trƣớc để chọn vị trí có độ dài ngắn Cắt tỉa hỗn hợp: Trƣớc tiên sử dụng phƣơng pháp cắt tỉa toàn để thu đƣợc nhỏ hơn, sau xem xét tiếp giá trị CBoth, CLeft, CRight để định cắt tỉa 2.2.6 Đánh giá kết luận thuật toán xây dựng định Các thuật toán xây dựng định vừa đƣợc trình bày theo thứ tự thời gian đời theo q trình phát triển có tính chất kế thừa lẫn chúng - Thuật toán CLS: thuật toán xây dựng đinh đời sớm CLS thƣờng áp dụng cho CSDL có số lƣợng thuộc tính Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 67 nhỏ, mối quan hệ thuộc tính khơng q phức tạp, giá trị thuộc dạng phân loại rời rạc Cịn CSDL lớn có chứa thuộc tính mà giá trị liên tục CLS làm việc khơng hiệu Do thuật tốn CLS chƣa có tiêu chuẩn lựa chọn thuộc tính q trình xây dựng mà với tập liệu đầu vào áp dụng thuật toán CLS cho nhiều kết khác Nhƣng thuật toán đơn giản, dễ cài đặt, phù hợp việc hình thành ý tƣởng giải nhiệm vụ đơn giản - Thuật toán ID3: thuật toán ID3, Quinlan khắc phục đƣợc hạn chế thuật toán CLS ID3 cho kết tối ƣu thuật toán CLS Khi áp dụng thuật toán ID3 cho tập liệu đầu vào thử nhiều lần cho kết thuộc tính ứng viên bƣớc trình xây dựng đƣợc lựa chọn trƣớc Tuy nhiên thuật toán chƣa giải đƣợc vấn đề thuộc tính số, liên tục, số lƣợng thuộc tính cịn bị hạn chế ID3 làm việc không hiệu với liệu bị nhiễu bị thiếu - Thuật toán C4.5: để khắc phục hạn chế thuật toán ID3, Quinlan đƣa thuật tốn C4.5 Thuật tốn phân lớp liệu có chứa thuộc tính số (hoặc thuộc tính liên tục), thuộc tính đa trị giải đƣợc vấn đề liệu bị nhiễu bị thiếu Tuy nhiên C4.5 có hạn chế làm việc không hiệu với sở liệu lớn chƣa giải đƣợc vấn đề nhớ - Thuật toán SLIQ: Thuật toán phân lớp có hiệu tập liệu lớn SLIQ làm việc không phụ thuộc vào số lƣợng lớp, thuộc tính số lƣợng ghi tập liệu SLIQ cải thiện đƣợc vấn đề nhớ có pha tiền xử lý phân loại liệu, thời điểm có danh sách lớp thƣờng trú nhớ danh sách lớp lại đƣợc lƣu đĩa SLIQ có kỹ thuật cắt tỉa mơ tả độ dài tối thiểu MDL hữu hiệu Có thể nói SLIQ thuật toán phân lớp nhanh, xác, chi phí thấp Tuy nhiên, cài đặt thuật tốn SLIQ phức tạp thƣờng đƣợc cài đặt để khai thác sở liệu lớn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 68 Hiện thuật toán liệu nói chung khai phá liệu định nói riêng đƣợc tiếp tục nghiên cứu, cải tiến để vƣợt qua đƣợc khó khăn, thách thức việc khai phá liệu rút tri thức có ích, đáp ứng nhu cầu thực tế Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 69 Phần 3: CÀI ĐẶT MƠ PHỎNG THUẬT TỐN ID3 Để minh họa cho lý thuyết trình bày luanạ văn, phần tác giả trình bày trình xây dựng cài đặt tốn mơ kỹ thuật khai phá liệu định: Với mục đích mô cho phàn lý thuyết sở liệu đƣợc sử dụng chƣơng trình tập mẫu nhỏ Bài toán đƣợc cài đặt theo thuật toán ID3 3.1 Mơ tả tốn Tìm hiểu xem màu tóc nào, thuộc độ tuổi nên nhuộm Vào: Tập liệu màu tóc, độ tuổi, chiều cao cân nặng ngƣời Ra: Một định T phân lớp theo màu tóc, độ tuổi, chiều cao Ngơn ngữ: Visual Studio 2005 3.2 Màn hình nhập liệu chƣơng trình Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 70 3.3 Màn hình phân tích liệu đƣa kết chƣơng trình Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 71 Phần 4: KẾT LUẬN Với mục đích học tập, nghiên cứu lĩnh vực khai phá liệu, luận văn tác gải trình bày kết tìm hiểu lĩnh vực Các nội dung tìm hiểu là: Tổng quan phát tri thức khai phá liệu Trình bày chi tiết định thuật toán xây dựng định nhƣ thuật toán CLS, ID3, C4.5, SLIQ Xây dựng tốn mơ vấn đề lý thuyết nghiên cứu Luận văn giải tốt nội dung, u cầu nghiên cứu đặt ra, có ví dụ minh họa Trên sở lý thuyết tác giả cài đặt mô khai phá liệu định, toán đƣợc cài đặt theo thuật tốn ID3 Qua tác giả lĩnh hội đựợc nhiều kiến thức lĩnh vực khám phá tri thức, khai phá liệu, đặc biệt định kỹ thuật khai phá liệu định Thuy nhiên, nhiều vấn đề mà tác giả cịn phải tiếp tục nghiên cứu, tìm hiểu thêm kỹ thuật khai phá liệu khác mà luận văn chƣa đề cập đến nhƣ: Luật kết hợp, mạng Nơron, phân nhóm, phân cum, Hƣớng phát triển tiếp đề tài Về lý thuyết, đề tài đƣợc tiếp tục nghiên cứu phát triển thuật toán khai phá liệu định khác nhƣ: EC4.5, SPRINT, C5, RAINFORET, Về chƣơng trình mơ phỏng, cài đặt thuật tốn theo thuật tốn khác có hiệu hơn, làm việc với sở liệu lớn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 72 TÀI LIỆU THAM KHẢO Tài Liệu Tiếng Việt [1] GS.TS Đỗ Phúc, Bài giảng khai thác liệu, Đại học Quốc gia TP Hồ Chí Minh, 2007 [2] Nguyễn Thanh Thuỷ, Khai phá liệu - kỹ thuật ứng dụng, Hà Nội, 2001 [3] Võ Huỳnh Tâm - Trần Ngân Bình, Giáo trình trí tuệ nhân tạo, Chƣơng Học máy, Nhà xuất Đại học Cần Thơ [4] Vũ Đức Thi, Cơ sở liệu – kiến thức thực hành, nhà xuất thống kê, 1991 [5] Nguyễn Văn Thu, Khai phá liệu định, luận văn thạc sĩ khoa học, đại học sƣ phạm Hà Nội, 2006 Tài Liệu Tiếng Anh [6] Jaiwei Han and Micheline Kamber, Data Mining: Concepts and Techniques (2001) [7] G.piatetsky - Shapiro and W.J Frawley AAAI/MIT Press Knowledge Discovery in Databases [8] Michael J.A Berry - Gordon S Linoff, Data Mining Techniques For Marketing, Sales, and Customer Relationship Management Second [9] Edition Amos Storkey, Slide Learning from Data Decision trees, School of Informatics university of Edinburgh, Semester 1, 2004 [10] U.S Fayyad, G Piatetsky-Shapiro, P Smyth, R Uthurusamy, Advances in Knowledge Discovery and Data Mining, AAAI/MIT Press, 1996 Danh Sách Website [11] Knowledge Discovery Nuggets: http://www.kdnuggets.com/ [12] Wikipedia - Bách khoa toàn thƣ mở - Cây định http://en.wikipedia.org/wiki/Decision tree Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 73 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ... 2: CÂY QUYẾT ĐỊNH VÀ CÁC THUẬT TOÁN KHAI PHÁ DỮ LIỆU BẰNG CÂY QUYẾT ĐỊNH 2.1 Cây định 2.1.1 Mô tả Cây định (decision tree) công cụ dùng để phân lớp kiện, có cấu trúc Mỗi định tƣợng trƣng cho định. .. 2: CÂY QUYẾT ĐỊNH VÀ CÁC THUẬT TOÁN KHAI PHÁ DỮ LIỆU BẰNG CÂY QUYẾT ĐỊNH 13 2.1 Cây định 13 2.1.1 Mô tả 13 2.1.2 Định nghĩa định .13 2.1.3 Ƣu điểm định. .. xây dựng định 16 2.1.5 Rút luật từ định 17 2.2 Các thuật toán KPDL định 18 2.2.1 Thuật toán CLS 18 2.2.2 Thuật toán ID3 23 2.2.3 Thuật toán C4.5