Tiểu luận môn CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG ỨNG DỤNG MỘT SỐ THUẬT TOÁN TRONG MÔ HÌNH PHÂN LỚP CÂY QUYẾT ĐỊNH - CÀI ĐẶT CHƯƠNG TRÌNH DEMO THUẬT TOÁN ID3

72 934 2
Tiểu luận môn CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG ỨNG DỤNG MỘT SỐ THUẬT TOÁN TRONG MÔ HÌNH PHÂN LỚP CÂY QUYẾT ĐỊNH - CÀI ĐẶT CHƯƠNG TRÌNH DEMO 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

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN BÀI THU HOẠCH MÔN CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG MỘT SỐ THUẬT TỐN TRONG MƠ HÌNH PHÂN LỚP CÂY QUYẾT ĐỊNH - CÀI ĐẶT CHƯƠNG TRÌNH DEMO THUẬT TỐN ID3 Giảng viên phụ trách: GS.TSKH HOÀNG VĂN KIẾM Học viên thực hiện: LÊ PHÚ Q - CH1301108 TP Hồ Chí Minh, 10 - 2014 Lớp Cao học KHMT Khóa ĐH CNTT – ĐHQG TP.HCM LỜI CÁM ƠN Đầu tiên, em xin chân thành cám ơn thầy GS.TSKH Hoàng Văn Kiếm – người truyền đạt cho em kiến thức quý báu môn Công nghệ tri thức ứng dụng Tiếp theo, em xin gửi lời cám ơn đến thầy khoa phịng ban trường ĐH Công Nghệ Thông Tin tận tình giúp đỡ em thời gian học vừa qua Do kiến thức có hạn kinh nghiệm nghiên cứu khoa học thực tế không nhiều nên làm em khơng tránh khỏi thiếu sót Em mong nhận đóng góp q báu q thầy cô TpHCM, ngày 15 tháng 10 năm 2014 Lớp Cao học KHMT khóa Lê Phú Q HVTH: Lê Phú Q Lớp Cao học KHMT Khóa ĐH CNTT – ĐHQG TP.HCM NHẬN XÉT CỦA GIẢNG VIÊN ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………… HVTH: Lê Phú Quí Lớp Cao học KHMT Khóa ĐH CNTT – ĐHQG TP.HCM Mục lục Lời giới thiệu I Tổng quan hệ tri thức 1.1 Các khái niệm .6 1.2 Tiếp nhận, biểu diễn tri thức 1.3 Xây dựng hệ sở tri thức .7 1.3.1 Khối tri thức (cơ sở tri thức) 1.3.2 Khối điều khiển (động suy diễn) 1.3.3 Các loại tri thức 1.3.4 Các hệ tri thức phân loại theo ứng dụng .8 1.4 Thuật toán phương pháp biểu diễn tri thức? 1.5 Máy học khám phá tri thức 1.6 Các hệ thống quy nạp 10 II Tổng quan định .11 2.1 Giới thiệu chung 11 2.2 Các kiểu định 12 2.3 Ưu điểm định .12 2.4 Quy trình xây dựng định .13 2.5 Cách xây dựng định 13 2.5.1 Chọn thuộc tính phân tách 13 2.5.2 Phép kiểm tra để chọn phép phân tách tốt 15 2.6 Rút luật từ định 17 III Thuật toán phân lớp định 18 3.1 Thuật toán CLS 18 3.2 Thuật toán ID3 19 3.2.1 Giới thiệu .19 3.2.2 Ví dụ tốn chơi Golf để giải thích Cây định 19 3.2.3 Thuật giải ID3 xây dựng Cây định từ xuống 21 3.2.4 Thuộc tính dùng để phân loại tốt 22 3.2.5 Đánh giá hiệu suất Cây định 33 3.2.6 Khi nên sử dụng ID3 .33 3.3 Thuật toán C4.5 34 HVTH: Lê Phú Q Lớp Cao học KHMT Khóa ĐH CNTT – ĐHQG TP.HCM 3.3.1 Giới thiệu .34 3.3.2 Nội dung thuật toán C4.5 .35 3.3.3 Độ đo sử dụng để xác định điểm chia tốt 37 3.3.4 Một số vấn đề với thuộc tính .38 3.4.Thuật toán SPRINT .46 3.4.1 Lịch sử phát triển 46 3.4.2 Mã giã thuật toán SPRINT 46 3.4.3 SPRINT sử dụng Gini-index 47 VI Các vấn đề học định .49 4.1 Tránh Overfitting liệu 49 4.2 Giảm lỗi cắt tỉa 52 4.3 Luật POST-PRUNING 54 4.4 Kết hợp thuộc tính có giá trị liên tục 56 4.5 Các phương pháp thay cho thuộc tính lựa chọn 57 4.6 Xử lý huấn luyện thuộc tính thiếu giá trị .58 4.7 Xử lý thuộc tính có chi phí khác 59 V Chương trình thực nghiệm thuật toán ID3 59 5.1 Cài đặt chương trình 59 5.2 Giao diện chương trình .63 VI Tổng kết 66 VII Tài liệu tham khảo 66 HVTH: Lê Phú Quí Lớp Cao học KHMT Khóa ĐH CNTT – ĐHQG TP.HCM Lời giới thiệu Ngày với phát triển Công nghệ tri thức, nhà nghiên cứu mong muốn kết hợp với máy tính để giải vấn đề thực tế Với ứng dụng Công nghệ tri thức làm cho máy tính trở nên thơng minh hơn, xử lý tốt công việc phức tạp Trong nhiều lĩnh vực, ngành nghề hay hoạt động sinh hoạt thường ngày, người thường xuyên tiếp cận xử lý lượng thông tin liệu Các tập liệu tích lũy có kích thước ngày lớn, chứa nhiều thông tin ẩn dạng quy luật chưa khám phá Chính vậy, nhu cầu đặt cần tìm cách trích rút từ tập liệu luật phân lớp liệu hay dự đoán xu hướng liệu tương lai Để thực phân lớp liệu có nhiều phương pháp đề xuất như: phân lớp với định (Decision Tree Classification), phân lớp Bayesian (Bayesian Classifier), phân lớp K – hàng xóm gần (K – nearest neighbor classifier), mạng nơron, phân tích thống kê, … Trong phạm vi thu hoạch này, em xin trình bày mơ hình phân lớp với định – cơng cụ mạnh, phổ biến đặc biệt thích hợp với ứng dụng khai phá liệu, bên cạnh thu hoạch giới thiệu số thuật toán phổ biến sử dụng mơ hình phân lớp định như: ID3, C4.5, … Quá trình phân tích, đánh giá thuật tốn có ý nghĩa thực tiễn giá trị khoa học Tìm hiểu thuật tốn giúp tiếp thu phát triển mặt tư tưởng, kỹ thuật công nghệ tiên tiến thách thức nhà khoa học lĩnh vực data mining Từ triển khai cài đặt thử nghiệm mơ hình phân lớp liệu thực tế Mục tiêu thu hoạch: -Trình bày số thuật toán phổ biến sử dụng mơ hình phân lớp định - Xây dựng chương trình thực nghiệm thuật tốn ID3 HVTH: Lê Phú Q Trang Lớp Cao học KHMT Khóa ĐH CNTT – ĐHQG TP.HCM I Tổng quan hệ tri thức 1.1 Các khái niệm • Tri thức (knowledge) : hiểu biết lĩnh vực chủ đề • Lĩnh vực (domain): miền chủ đề trọng • Thể tri thức (knowledge representation): phương pháp cho phép mã hóa • tri thức sở tri thức hệ thống Hệ thống dựa tri thức (knowledge based system): hệ thống phần mềm, tri thức lĩnh vực tốn lập lưu trữ sở tri • thức, xử lý, đánh giá nhờ thành phần giải vấn đề độc lập với toán Cơ sở tri thức (knowledge base): thành phần phần bên cạnh thành • phần giải vấn đề hệ thống tri thức Công nghệ tri thức (knowledge engineering): phương pháp dùng để tiếp nhận, biểu diễn tri thức, xây dựng hệ sở tri thức khám phá tri thức (hay bao gồm tất hoạt động kèm theo vòng đời hệ thống dựa tri thức) Được xem nhánh nghiên cứu trí tuệ nhân tạo, phân tích tri thức lĩnh vực chuyển thành mơ hình tính tốn đưa vào máy tính để phục vụ cho nhu cầu cần thiết 1.2 Tiếp nhận, biểu diễn tri thức Tiếp nhận thụ động Tiếp nhận chủ động Gián tiếp: tri thức Đối với tri kinh điển thức tiềm ẩn, không rõ ràng hệ thống phải Trực tiếp: tri thức tự phân tích, suy kinh nghiệm chuyên diễn, khám phá để có gia lĩnh vực đưa thêm tri thức Biểu diễn tri thức Logic mệnh đề logic vị từ Hệ luật dẫn Đối tượng – thuộc tính – giá trị Mạng ngữ nghĩa Frame Script HVTH: Lê Phú Quí Trang Lớp Cao học KHMT Khóa ĐH CNTT – ĐHQG TP.HCM 1.3 Xây dựng hệ sở tri thức Các hệ sở tri thức có chức tách biệt nhau, trường hợp đơn giản có hai khối: khối tri thức khối điều khiển 1.3.1 Khối tri thức (cơ sở tri thức) Gồm có loại là: hệ sở tri thức đóng, hệ sở tri thức mở hệ sở tri thức kết hợp  Hệ sở tri thức đóng: xây dựng với số “tri thức lĩnh vực” ban đầu sử dụng suốt trình hoạt động hay suốt thời gian sống  Hệ sở tri thức mở: hệ sở tri thức tiên tiến hơn, có khả bổ sung tri thức trình hoạt động, khám phá  Hệ sở tri thức kết hợp: bao gồm kết hợp hệ đóng hệ mở, hệ kết hợp sở tri thức sở liệu, hay hệ sở tri thức với Các hệ sở tri thức kết hợp thường phát triển mạnh dựa tri thức liên ngành 1.3.2 Khối điều khiển (động suy diễn) Để tiến hành suy diễn nhằm tạo tri thức dựa kiện, tri thức cung cấp từ ngồi vào tri thức có sẵn hệ sở tri thức Hai kiểu suy diễn động suy diễn suy diễn tiến suy diễn lùi 1.3.3 Các loại tri thức Loại tri thức Ví dụ Tri thức thủ tục : diễn tả cách giải Các luật, chiến lược, lịch, vấn đề, cho biết phương hướng thủ tục giải phương trình bậc thực hoạt động hai, xây nhà, đăng ký kết hôn Tri thức mô tả (hay tri thức khai báo): Các khái niệm, đối tượng, cho biết vần đề thấy kiện mặt trời mọc phương nào, gồm khẳng định đơn giản, HVTH: Lê Phú Q Trang Lớp Cao học KHMT Khóa ĐH CNTT – ĐHQG TP.HCM nhận giá trị chân lý sai đông Tri thức meta (hay siêu tri thức): diễn Tri thức dạng tri thức khác tả tri thức tri thức, giúp chọn lựa tri cách sử dụng chúng áp dụng thức thích hợp số tri thức kinh dịch vào việc xây nhà giải vấn đề chọn hướng thích hợp Tri thức may rủi (hay tri thức Các luật may rủi heuristic): diễn tả luật may rủi, cung cách may rủi dẫn đắt trình lập luận, tri thức nơng cạn khơng bảo đảm tính xác, khoa học, xuất phát từ kinh nghiệm, từ tri thức giải vấn đề khứ Tri thức cấu trúc: diễn tả cấu trúc Các tập luật, quan hệ khái niệm, tri thức, cấu trúc thể qua cách khái niệm quan hệ đối tổ chức, mơ hình tri thức tượng 1.3.4 Các hệ tri thức phân loại theo ứng dụng Các hệ tri thức phân loại theo ứng dụng Hệ giải vấn đề Hệ hỗ trợ định danh Hệ dự báo, chuẩn đốn Các hệ có Các hệ mang Giống Các hệ thống có gắn với tính chất tính kết hợp hệ hỗ trợ sở tri thức Các hệ thống đóng, (cơ sở liệu đính thường ứng dụng đơi + tri thức với tính cơng nghiệp, điều có hệ mang ngành + hàm ngoại suy khiển tự động hóa, thường tính mở tốn học + …) HVTH: Lê Phú Quí Hệ điều khiển hệ thống thời gian Trang Lớp Cao học KHMT Khóa ĐH CNTT – ĐHQG TP.HCM với đối tượng cao thực, số có sử dụng sử dụng kết hợp lý thuyết mờ để xử nhà lãnh đạo lý 1.4 Thuật toán phương pháp biểu diễn tri thức? Đây câu hỏi gây thắc mắc có kết luận thuật tốn phương pháp biểu diễn tri thức Ví dụ: Xét tốn giải phương trình bậc hai với tri thức chứa đựng bên thực chất tri thức mã hóa dạng câu lệnh if…then…else chương trình Do khẳng định chương trình máy tính nhiều có tri thức tri thức lập trình viên chuyển thành câu lệnh chương trình Nhưng câu hỏi đặt đưa tri thức vào máy tính vấn đề? ta biết chương trình biên dịch khơng thể thêm vào hay điều chỉnh ta sửa lại mã nguồn (mà để sửa lại mã nguồn vấn đề có lập trình viên biết chỗ sửa, cịn người dùng thơng thường khơng biết) Hướng giải phải “mềm” hóa tri thức biểu diễn máy tính, tức tìm phương pháp để biểu diễn tri thức người cấu trúc liệu mà máy tính xử lý được, q trình biểu diễn tri thức 1.5 Máy học khám phá tri thức Học: tức tiếp thu tri thức để biết cách vận dụng Thực tế trình học diễn nhiều hình thức khác nhau, kiểu học bao gồm: học thuộc lòng (học vẹt), học theo kinh nghiệm (học dựa theo trường hợp), học theo kiểu nghe nhìn, học dựa tương tự, học giải thích, học số, học khái niệm, học qua thưởng phạt, học qua quan sát, qua suy luận, qua diễn dịch quy nạp, học sáng tạo Trong tương lai cịn nhiều kiểu học khác đời HVTH: Lê Phú Quí Trang Lớp Cao học KHMT Khóa ĐH CNTT – ĐHQG TP.HCM 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.5 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 Điều xảy thuộc tính Date hồn tồn độc lập tiên đố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 đoán định Đánh giá Gain Ratio định nghĩa biểu thức đánh giá Gain trước SplitInformation sau: HVTH: Lê Phú Q Trang 57 Lớp Cao học KHMT Khóa ĐH CNTT – ĐHQG TP.HCM 4.6 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 đoá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 • 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 HVTH: Lê Phú Q Trang 58 Lớp Cao học KHMT Khóa ĐH CNTT – ĐHQG TP.HCM 4.7 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 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 V Chương trình thực nghiệm thuật tốn ID3 5.1 Cài đặt chương trình Chương trình cài đặt mơi trường NET ngôn ngữ C#, dựa sở lý thuyết trình bày mục 3.2 Một số hàm chính: Hàm tính Entropy: • Cơng thức: Entropy (S) = - p+ log2 p+ - p- log2 p• Code: private double GetEntropy(int Positives , int Negatives) { if (Positives == 0) return 0; if (Negatives == 0) return 0; double Entropy; HVTH: Lê Phú Q Trang 59 Lớp Cao học KHMT Khóa ĐH CNTT – ĐHQG TP.HCM int total = Negatives + Positives; double RatePositves = (double)Positives / total; double RateNegatives = (double)Negatives / total; Entropy = -RatePositves * Math.Log(RatePositves, 2) - RateNegatives * Math.Log(RateNegatives, 2); return Entropy; } Hàm tính Gain: • Cơng thức: Gain(S, A) = Entropy(S) - Entropy (Sv) • Code: private double Gain(List Examples, Attribute A, string bestat) { double result; int CountPositives = 0; int[] CountPositivesA = new int[A.Value.Count]; int[] CountNegativeA = new int[A.Value.Count]; int Col = Attributes.IndexOf(A); for (int i = 0; i < A.Value.Count; i++) { CountPositivesA[i] = 0; CountNegativeA[i] = 0; } for (int i = 0; i < Examples.Count; i++) { int j = A.Value.IndexOf(Examples[i][Col].ToString()); if (Examples[i][Examples[0].Count - 1]=="co") { CountPositives++; CountPositivesA[j]++; } else { CountNegativeA[j]++; } } HVTH: Lê Phú Quí Trang 60 Lớp Cao học KHMT Khóa ĐH CNTT – ĐHQG TP.HCM result = GetEntropy(CountPositives, Examples.Count - CountPositives); for (int i = 0; i < A.Value.Count; i++) { double RateValue = (double)(CountPositivesA[i] + CountNegativeA[i]) / Examples.Count; result = result - RateValue * GetEntropy(CountPositivesA[i], CountNegativeA[i]); } Solution = Solution + "\n * Gain(" + bestat + "," + A.Name + ") = " + result.ToString(); return result; } Hàm chọn đặc tính tốt nhất: • Phương pháp: Dựa vào giá trị gain đặc tính, đặc tính có Gain lớn  Chọn đặc tính – đặc tính tốt • Code: private Attribute GetBestAttribute(List Examples, List Attributes, string bestat) { double MaxGain = Gain(Examples, Attributes[0], bestat); int Max = 0; for (int i = 1; i < Attributes.Count; i++) { double GainCurrent = Gain(Examples, Attributes[i], bestat); if (MaxGain < GainCurrent) { MaxGain = GainCurrent; Max = i; } } return Attributes[Max]; } Hàm thực giải thuật ID3: • Giải thuật: ID3_algorithm(Training_Set, Class_Labels, Attributes) HVTH: Lê Phú Q Trang 61 Lớp Cao học KHMT Khóa ĐH CNTT – ĐHQG TP.HCM Tạo nút Root định If tất ví dụ Training_Set thuộc lớp c Return Cây định có nút Root gắn với (có nhãn) lớp c If Tập thuộc tính Attributes rỗng Return Cây định có nút Root gắn với nhãn lớp ≡ Majority_Class_Label(Training Set) A ← Thuộc tính tập Attributes có khả phân loại “tốt nhất” Training_Set Thuộc tính kiểm tra cho nút Root ← A For each Giá trị v thuộc tính A Bổ sung nhánh nút Root, tương ứng với trường hợp: “Giá trị A v” Xác định Training_Setv = {ví dụ x | x ⊆ Training_Set, xA=v} If (Training_Setv rỗng) Then Tạo nút với nhãn lớp ≡ Majority_Class_Label(Training_Set) Gắn nút vào nhánh vừa tạo Else Gắn vào nhánh vừa tạo sinh ID3_algorithm(Training_Setv, Class_Labels, {Attributes \ A}) Return Root • Code: private TreeNode ID3(List Examples, List Attribute,string bestat) { Solution = Solution + " - Xét " + bestat + " -"; if (CheckAllPositive(Examples)) { Solution += "\n Tất mẫu khẳng định => Trả nút gốc với nhãn Có"; HVTH: Lê Phú Q Trang 62 Lớp Cao học KHMT Khóa ĐH CNTT – ĐHQG TP.HCM return new TreeNode(new Attribute("Có")); } if (CheckAllNegative(Examples)) { Solution += "\n Tất mẫu phủ định => Trả nút gốc với nhãn Không"; return new TreeNode(new Attribute("Không")); } if (Attribute.Count == 0) { Solution += "\n Các thuộc tính rỗng => Trả nút gốc có giá trị phổ biến "; return new TreeNode(new Attribute(GetMostCommonValue(Examples))); } Attribute BestAttribute = GetBestAttribute(Examples, Attribute, bestat); int LocationBA = Attributes.IndexOf(BestAttribute); TreeNode Root = new TreeNode(BestAttribute); for (int i = 0; i < BestAttribute.Value.Count; i++) { List Examplesvi = new List(); for (int j = 0; j < Examples.Count; j++) { if (Examples[j][LocationBA].ToString() == BestAttribute.Value[i].ToString()) Examplesvi.Add(Examples[j]); } if (Examplesvi.Count==0) { Solution +="\nCác thuộc tính rỗng => Trả nút gốc có giá trị phổ biến nhất"; return new TreeNode(new Attribute(GetMostCommonValue(Examplesvi))); } else { Solution += "\n"; Attribute.Remove(BestAttribute); Root.AddNode(ID3(Examplesvi, Attribute,BestAttribute.Value[i])); } } return Root; } 5.2 Giao diện chương trình Các bước chạy chương trình: - Đầu tiên, nạp liệu vào chương trình nút “Load liệu” Dữ liệu đưa lên bảng - Sau đó, nhấn nút “Run” chạy giải thuật Các bước giải Cây vẽ Giao diện chương trình: HVTH: Lê Phú Q Trang 63 Lớp Cao học KHMT Khóa ĐH CNTT – ĐHQG TP.HCM Bảng liệu: Kết thuật giải: Mơ hình định: HVTH: Lê Phú Quí Trang 64 Lớp Cao học KHMT Khóa ĐH CNTT – ĐHQG TP.HCM Giao diện chính: HVTH: Lê Phú Quí Trang 65 Lớp Cao học KHMT Khóa ĐH CNTT – ĐHQG TP.HCM VI Tổng kết Công nghệ phân lớp liệu đã, phát triển mạnh mẽ trước khao khát tri thức người Trong năm qua, phân lớp liệu thu hút quan tâm nhà nghiên cứu nhiều lĩnh vực khác máy học (machine learning), hệ chuyên gia (expert system), thống kê (statistics) Công nghệ ứng dụng nhiều lĩnh vực thực tế như: thương mại, nhà băng, maketing, nghiên cứu thị trường, bảo hiểm, y tế, giáo dục Trong khn khổ tìm hiểu nghiên cứu đề tài này, thu hoạch tiến hành nghiên cứu công nghệ phân lớp liệu dựa định đồng thời cịn phân tích, đánh giá thuật toán phân lớp liệu ID3, C4.5… dựa định Từ giúp có nhìn tổng quan ưu nhược điểm khả ứng dụng thuật tốn VII Tài liệu tham khảo [1] GS.TSKH Hồng Văn Kiếm, Bài giảng môn Công nghê tri thức ứng dụng, Đại học Công nghê thông tin, 2014 [2] GS.TSKH Hoàng Kiếm, TS Đỗ Phúc, TS Đỗ Văn Nhơn, Giáo trình hệ sở tri thức Đại học quốc gia TPHCM – 2009 HVTH: Lê Phú Quí Trang 66 Lớp Cao học KHMT Khóa ĐH CNTT – ĐHQG TP.HCM [3] TS Hoàng Thị Lan Giao, Bài giảng Khai phá liệu- Cây định [4] Wikipedia - Bách khoa toàn thư mở - Cây định Wikipedia – Bách khoa toàn thư mở - Cây định http://en.wikipedia.org/wiki/Decision_tree [5] Roosevelt dos Santos Júnior ID3 Decision Tree Algorithm in C# http://www.codeproject.com/Articles/5276/ID3-Decision-Tree-Algorithm-in-C HVTH: Lê Phú Quí Trang 67 ... Từ tri? ??n khai cài đặt thử nghiệm mơ hình phân lớp liệu thực tế Mục tiêu thu hoạch: -Trình bày số thuật tốn phổ biến sử dụng mơ hình phân lớp định - Xây dựng chương trình thực nghiệm thuật tốn ID3. .. IBM .Trong thuật toán phân lớp liệu dựa định, C4.5 SPRINT hai thuật toán tiêu biểu cho hai phạm vi ứng dụng khác C4.5 thuật toán hiệu dùng rộng rãi ứng dụng phân lớp với lượng liệu nhỏ cỡ vài... Khối tri thức (cơ sở tri thức) Gồm có loại là: hệ sở tri thức đóng, hệ sở tri thức mở hệ sở tri thức kết hợp  Hệ sở tri thức đóng: xây dựng với số ? ?tri thức lĩnh vực” ban đầu sử dụng suốt trình

Ngày đăng: 20/05/2015, 08:39

Từ khóa liên quan

Mục lục

  • Lời giới thiệu

  • I. Tổng quan về hệ tri thức

    • 1.1. Các khái niệm

    • 1.2. Tiếp nhận, biểu diễn tri thức

    • 1.3. Xây dựng các hệ cơ sở tri thức

      • 1.3.1. Khối tri thức (cơ sở tri thức)

      • 1.3.2. Khối điều khiển (động cơ suy diễn)

      • 1.3.3. Các loại tri thức

      • 1.3.4. Các hệ tri thức phân loại theo ứng dụng

      • 1.4. Thuật toán là một phương pháp biểu diễn tri thức?

      • 1.5. Máy học và khám phá tri thức

      • 1.6. Các hệ thống quy nạp

      • II. Tổng quan về cây quyết định

        • 2.1. Giới thiệu chung

        • 2.2. Các kiểu cây quyết định

        • 2.3. Ưu điểm của cây quyết định

        • 2.4. Quy trình xây dựng cây quyết định

        • 2.5. Cách xây dựng cây quyết định

          • 2.5.1. Chọn thuộc tính phân tách

          • 2.5.2. Phép kiểm tra để chọn phép phân tách tốt nhất

          • 2.6. Rút ra các luật từ cây quyết định

          • III. Thuật toán phân lớp cây quyết định

            • 3.1. Thuật toán CLS

            • 3.2. Thuật toán ID3

              • 3.2.1. Giới thiệu

              • 3.2.2. Ví dụ bài toán chơi Golf để giải thích Cây quyết định

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

Tài liệu liên quan