Nghiên cứu phương pháp cây quyết định và cài đặt mô phỏng thuật toán ID3

73 455 0
Nghiên cứu phương pháp cây quyết định và cài đặt mô phỏng thuật toán ID3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

1 LỜI CẢM ƠN Để hoàn thành luận văn nhận giúp đỡ tận tình thầy cô 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 trình nghiên cứu thực luận văn Nhân dịp xin 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 đỡ 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 chuyên môn tận tình giúp đỡ 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 suốt qua trình học, trình nghiên cứu hoàn thành luận văn Tác giả Dương Thị Nhung MỤC LỤC 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 .7 1.2.3.KPDL rút tri thức 1.2.4.Phân tích kiểm định kết 1.2.5.Sử dụng tri thức phát 1.3.Quá trình KPDL .8 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 ) .9 1.3.4.Chuyển đổi liệu ( transformation ) 10 1.3.5.Phát trích mẫu liệu ( pattern extraction and discovery) 10 1.3.6.Đánh giá kết ( evaluation of result ) .10 1.4.Chức KPDL 10 1.5.Các kỹ thuật KPDL 11 1.5.1.Phân lớp liệu: 11 1.5.2.Phân cụm liệu: 11 1.5.3.Khai phá luật kết hợp: 11 1.5.4.Hồi quy: .12 1.5.5.Giải thuật di truyền: .12 1.5.6.Mạng nơron: 12 1.5.7.Cây định .12 1.6.Các dạng liệu khai phá 13 1.7.Các lĩnh vực liên quan ứng dụng KPDL 13 1.7.1.Các lĩnh vực liên quan đến khám phá tri thức KPDL .13 1.7.2.Ứng dụng KPDL 14 1.8.Các thách thức hướng phát triển KPDL 15 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 16 2.1Cây định 16 2.1.1Mô tả .16 2.1.2Định nghĩa định 16 2.1.3Ưu điểm định .18 2.1.4Vấn đề xây dựng định 19 2.1.5Rút luật từ định 20 2.2Các thuật toán KPDL định 20 2.2.1Thuật toán CLS 21 2.2.2 Thuật toán ID3 .26 2.2.3 Thuật toán C4.5 41 2.2.4 Thuật toán SLIQ 54 2.2.5 Cắt tỉa định 62 2.2.6.Đánh giá kết luận thuật toán xây dựng định .68 Phần 3: CÀI ĐẶT MÔ PHỎNG THUẬT TOÁN ID3 70 3.1 Mô tả toán 70 3.2 Màn hình nhập liệu chương trình 70 3.3 Màn hình phân tích liệu đưa kết chương trình 71 Phần 4: KẾT LUẬN 72 TÀI LIỆU THAM KHẢO 73 Tài Liệu Tiếng Việt 73 Tài Liệu Tiếng Anh 73 Danh Sách Website 73 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 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 phân tích, số lại người ta 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 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 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 (KDD - Knowledge Discovery and Data Mining) Kỹ thuật khám phá tri thức KPDL 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 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 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 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 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 dãy bit, số ký hiệu, “đối tượng” gửi cho chương trình định dạng định Chúng ta sử dụng bit để đo lường thông tin xem liệu lọc bỏ dư thừa, rút gọn tới mức tối thiểu Bít dùng làm đơn vị đặc trưng cho liệu Chúng ta xem tri thức thông tin tích hợp, bao gồm kiện mối quan hệ chúng Các mối quan hệ hiểu, phát ra, 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ó 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 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" đưa Giáo sư Tom Mitchell đưa định nghĩa KPDL 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 xem việc khám phá tri thức sở liệu, trình trích xuất thông tin ẩn, trước chưa biết có khả hữu ích, dạng quy luật, ràng buộc, qui tắc sở liệu.” Còn nhà thống kê xem " KPDL trình phân tích 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 hoá kết tìm cách áp dụng mẫu phát cho tập liệu" Nói chung, KPDL cốt lõi trình khám phá tri thức Nó gồm có giải thuật KPDL chuyên dùng, số quy định hiệu tính toán chấp nhận 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ự đoán chưa 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 quan tâm và/ mô hình tồn sở liệu, 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 tiến hành qua bước sau: Hình 1.1 Quá trình khám phá tri thức 1.2.1 Hình thành định nghĩa toán Đây bước tìm hiểu lĩnh vực ứng dụng hình thành toán, bước định cần rút tri thức dạng 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 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 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 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 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 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 Chuẩn hoá: thông thường chuẩn hoá miền giá trị liệu cho phù hợp Rời rạc hoá: 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 mẫu và/hoặc mô hình ẩn 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 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ự đoán Trong bước này, kết tìm 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 Trong bước này, tri thức khám phá 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 đưa vào hệ thống thông tin thực tế 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 sử dụng giai đoạn trước ảnh hưởng đến hiệu giải thuật sử dụng giai đoạn Các bước trình khám phá tri thức lặp lặp lại số lần, kết thu được lấy trung bình tất lần thực 1.3 Quá trình KPDL KPDL hoạt động trọng tâm trình khám phá tri thức Thuật ngữ KPDL số nhà khoa học gọi khám phá tri thức sở liệu ( knowledge discovery in database ), Fayyad Smyth Piatestky-Shapiro đưa năm 1989 Quá trình gồm có bước: Hình 1.2 Quá trình KPDL Quá trình KPDL bắt đầu với kho liệu thô kết thúc với tri thức chiết xuất Các bước trình sau: 1.3.1 Gom liệu ( gatherin ) Tập hợp liệu bước KPDL Bước lấy liệu từ sở liệu, kho liệu, chí liệu từ nguồn cung ứng web 1.3.2 Trích lọc liệu ( selection ) Ở giai đoạn liệu lựa chọn phân chia theo số tiêu chuẩn 1.3.3 Làm tiền xử lý liệu ( cleansing preprocessing preparation ) Giai đoạn thứ ba giai đoạn hay bị lãng, thực tế bước quan trọng trình KPDL Một số lỗi thường mắc phải gom liệu liệu không đầy đủ không thống nhất, thiếu chặt chẽ Vì liệu thường chứa giá trị vô nghĩa khả kết nối lại với 10 Ví dụ Sinh viên có tuổi =200 Giai đoạn thứ ba nhằm xử lý liệu Những liệu dạng thường xem thông tin dư thừa, giá trị Bởi trình quan trọng Nếu liệu không làm sạchtiền xử lý - chuẩn bị trước gây nên kết sai lệch nghiêm trọng sau 1.3.4 Chuyển đổi liệu ( transformation ) Trong giai đoạn này, liệu tổ chức sử dụng lại Mục đích việc chuyển đổi liệu làm cho liệu phù hợp với mục đích KPDL 1.3.5 Phát trích mẫu liệu ( pattern extraction and discovery) Đây bước tư KPDL Ở giai đoạn nhiều thuật toán khác sử dụng để trích mẫu từ liệu Thuật toán thường dùng để trích mẫu liệu thuật toán phân loại liệu, kết hợp liệu, thuật toán mô hình hoá liệu 1.3.6 Đánh giá kết ( evaluation of result ) Đây giai đoạn cuối trình KPDL, giai đoạn mẫu liệu chiết xuất phần mềm KPDL Không phải mẫu liệu hữu ích, bị sai lệch Vì cần phải đưa tiêu chuẩn đánh giá độ ưu tiên cho mẫu liệu để rút tri thức cần thiết 1.4 Chức KPDL KPDL có hai chức chính: mô tả (description) dự đoán (prediction) Công việc KPDL mô tả mô tả tính chất đặc tính chung liệu sở liệu, nghĩa phân tích mô tả tập mẫu biết (a set of known sample) khả nhận thức người nhằm giúp họ hiểu rõ hơn, sâu liệu Còn công việc KPDL dự đoán thực việc suy luận dựa liệu hành dự báo, nghĩa phân tích tập liệu huấn luyện tạo vài mô hình cho phép dự đoán mẫu chưa biết (unseen new examples) 59 Age list Age ID 23 30 Salary list Class list Salary ID ID Class Leaf 15 G {Root} 40 B {Root} 40 60 G {Root} 45 65 B {Root} 55 75 G {Root} 55 100 G {Root} Bảng 2.6 liệu sau tiền xử lý phân loại: Chọn thuộc tính phân tách: Thuộc tính Age: 23, 30, 40, 45, 55 23 B G 30 40 45 55 1 Gini(Age = 23)=1-(1/6)2- (0/6)2 = 1- (0.333)2= 0.972 Gini(Age = 30)=1-(0/6)2- (1/6)2 = 1- (0.333)2= 0.972 Gini(Age = 40)=1-(0/6)2- (1/6)2 = 1- (0.333)2= 0.972 Gini(Age = 45)=1-(0/6)2- (1/6)2 = 1- (0.333)2= 0.972 Gini(Age = 55)=1-(1/6)2- (1/6)2 = 1- (0.333)2-(0.333)2=0.944 Gini(Age) = (1/6)*(0.972) + (1/6)*0.972 + (1/6)*0.972 + (1/6)*0.972 + (2/6)*0.944 = 0.962 Thuộc tính Salary: 15, 40, 60, 65, 75, 100 15 40 60 65 75 100 60 B G 1 0 1 0 Gini(Salary = 15)=1-(1/6)2- (0/6)2 = 1- (0.333)2= 0.972 Gini(Salary = 40)=1-(1/6)2- (0/6)2 = 1- (0.333)2= 0.972 Gini(Salary = 60)=1-(0/6)2- (1/6)2 = 1- (0.333)2= 0.972 Gini(Salary = 65)=1-(0/6)2- (1/6)2 = 1- (0.333)2= 0.972 Gini(Salary = 75)=1-(0/6)2- (1/6)2 = 1- (0.333)2=0.972 Gini(Salary = 100)=1-(0/6)2- (1/6)2 = 1- (0.333)2= 0.972 Gini(Salary) = (1/6)*(0.972) + (1/6)*0.972 + (1/6)*0.972 + (1/6)*0.972 + (1/6)*(0.972)+(1/6)*(0.972) = 0.972 Vậy ta có : Gini (Age) = 0.962 < Gini(Salary) = 0.972 =>Chọn thuộc tính Age gán nhãn {Root} = {Age} Age? [1,2,3,4,5,6] Xét thuộc tính Age ta lập bảng sau: Id Class Age Giá trị B G G G B G 23 30 40 45 55 55 xếp Giá trị điểm tách B(Bad) G(Good) Gini 26.5 ≤ > 1 0.267 35 42.5 ≤ > ≤ > 1 1 2 0.417 0.444 Bảng 2.7 Tính giá trị gini điểm tách thuộc tính Age + Với v= 26.5 50 ≤ > 1 0.333 61 L(Left):N1 R(Righ):N2 B 1 G 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ó: L(Left):N1 R(Righ):N2 B 1 G 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 R(Righ):N2 B 1 G 2 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ó: L(Left):N1 R(Righ):N2 B 1 G Gini(N1)=1-(1/4)2-(3/4)2=1-0.252-0.752=0.375 62 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 kết hình sau: 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 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ỏ 63 Trong trường hợp này, thuật toá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 chia tách, thay nút tương ứng, nhãn nút 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 hoàn thành Nghĩa trình xây dựng cây, nút không tách thêm bước kết phép tách rơi vào ngưỡng gần chắn Nút trở thành nút 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à, 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 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 tiến hành thông qua việc tính toán lỗi 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ị tính sau : Error(S) = Min(E(S), BackUpError(S)) 64 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 quát, thuộc tính lớp có K giá trị (K lớp) thì: E(S) = (N-n+K-1) / (N+K) BackUpError(S) = ∑ P Error(S ) i i i Trong đó: Si nút S, Pi tỷ lệ số mẫu Si số mẫu S Như nút có lỗi Error(S i) = E(Si) nút nút dẫn đến 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) Ví dụ 1: Ta có trước cắt tỉa 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 65 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 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 sau sau: 66 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 hoá 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 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ó dùng để cắt tỉa 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 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 phát biểu 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ạng bit tối thiểu" Tổng chi phí mã hoá tính theo công thức: cost(M,D) = cost(D|M)+cost(M) (5.4) 67 Trong đó, cost(M) chi phí mã hoá mẫu M, cost(D|M) chi phí mã hoá liệu mô tả thông qua mẫu M Các chi phí mã hoá gồm: Chi phí mã hoá liệu: tính thông qua tổng số lỗi rút trình xây dựng Chi phí mã hoá mẫu: nút định mã hoá 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 kiểm tra để phân chia Sự phụ thuộc thể sau: Thuộc tính số: Mỗi lần phân chia tập mẫu chia thành tập không chia phí mã hoá không thay đổi bit 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 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) CRight (t ) = L(t ) + LSplit + C ' (t1) + C (t 2) Trong C' (ti) chi phí mã hoá nút cha, LSplit độ dài điểm tách MDL sử dụng chiến lược cắt tỉa sau: (5.5) 68 Cắt tỉa hoàn toà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í 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 nhỏ hơn, sau xem xét tiếp giá trị C Both, 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 trình bày theo thứ tự thời gian đời theo 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 nhỏ, mối quan hệ thuộc tính không 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 toán CLS chưa có tiêu chuẩn lựa chọn thuộc tính 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 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 lựa chọn trước Tuy nhiên thuật toán chưa giải vấn đề thuộc tính số, liên tục, số lượng thuộc tính 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 toán C4.5 Thuật toán phân lớp liệu có chứa thuộc 69 tính số (hoặc thuộc tính liên tục), thuộc tính đa trị giải 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 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 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 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 toán SLIQ phức tạp thường cài đặt để khai thác sở liệu lớn Hiện thuật toán liệu nói chung khai phá liệu định nói riêng tiếp tục nghiên cứu, cải tiến để vượt qua 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ế 70 Phần 3: CÀI ĐẶT MÔ PHỎNG THUẬT TOÁ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 toá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 sử dụng chương trình tập mẫu nhỏ Bài toán cài đặt theo thuật toán ID3 3.1 Mô tả toá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 71 3.3 Màn hình phân tích liệu đưa kết chương trình 72 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 thuật toán CLS, ID3, C4.5, SLIQ Xây dựng toán mô vấn đề lý thuyết nghiên cứu Luận văn giải tốt nội dung, yê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ài đặt theo thuật toá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ả 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 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 toán theo thuật toán khác có hiệu hơn, làm việc với sở liệu lớn 73 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 ... 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. .. 41 2.2.4 Thuật toán SLIQ 54 2.2.5 Cắt tỉa định 62 2.2.6.Đánh giá kết luận thuật toán xây dựng định .68 Phần 3: CÀI ĐẶT MÔ PHỎNG THUẬT TOÁN ID3 70 3.1 Mô tả toán ... 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 16 2. 1Cây định 16 2.1. 1Mô tả .16 2.1. 2Định nghĩa định 16 2.1.3Ưu điểm định

Ngày đăng: 15/04/2017, 20:47

Từ khóa liên quan

Mục lục

  • 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 về phát hiện tri thức và khai phá dữ liệu.

    • 1.2. Quá trình khám phá tri thức

      • 1.2.1. Hình thành và định nghĩa bài toán

      • 1.2.2. Thu thập và tiền xử lý dữ liệu

      • 1.2.3. KPDL và rút ra các tri thức

      • 1.2.4. Phân tích và kiểm định kết quả

      • 1.2.5. Sử dụng các tri thức phát hiện được

      • 1.3. Quá trình KPDL

        • 1.3.1. Gom dữ liệu ( gatherin )

        • 1.3.2. Trích lọc dữ liệu ( selection )

        • 1.3.3. Làm sạch và tiền xử lý dữ liệu ( cleansing preprocessing preparation ).

        • 1.3.4. Chuyển đổi dữ liệu ( transformation )

        • 1.3.5. Phát hiện và trích mẫu dữ liệu ( pattern extraction and discovery)

        • 1.3.6. Đánh giá kết quả ( evaluation of result )

        • 1.4. Chức năng của KPDL

        • 1.5. Các kỹ thuật KPDL

          • 1.5.1. Phân lớp dữ liệu:

          • 1.5.2. Phân cụm dữ liệu:

          • 1.5.3. Khai phá luật kết hợp:

          • 1.5.4. Hồi quy:

          • 1.5.5. Giải thuật di truyền:

          • 1.5.6. Mạng nơron:

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan