1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khai phá dữ liệu bằng cây quyết định và ứng dụng trong hệ hỗ trợ quyết định

90 3 0

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆ VIỆN ĐẠ ĐẠI HỌ HỌC MỞ MỞ HÀ NỘ NỘI LUẬ LUẬN VĂN THẠ THẠC SỸ SỸ CHUYÊN NGÀNH CÔNG NGHỆ THÔNG TIN KHAI PHÁ DỮ DỮ LIỆ LIỆU BẰ BẰNG CÂY QUYẾ QUYẾT ĐỊ ĐỊNHVÀ ỨNG DỤ DỤNG TRONG HỆ HỆ HỖ TRỢ TRỢ QUYẾ QUYẾT ĐỊ ĐỊNH NGUYỄN BÁ QUANG HÀ NỘ NỘI – 2015 BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆ VIỆN ĐẠ ĐẠI HỌ HỌC MỞ MỞ HÀ NỘ NỘI LUẬ LUẬN VĂN THẠ THẠC SỸ SỸ KHAI PHÁ DỮ DỮ LIỆ LIỆU BẰ BẰNG CÂY QUYẾ QUYẾT ĐỊ ĐỊNHVÀ ỨNG DỤ DỤNG TRONG HỆ HỆ HỖ TRỢ TRỢ QUYẾ QUYẾT ĐỊ ĐỊNH NGUYỄN BÁ QUANG CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN MÃ SỐ: 60.48.02.01 HƯỚ HƯỚNG DẪ DẪN KHOA HỌ HỌC: PGS, TS ĐOÀN VĂN BAN HÀ NỘ NỘI - 2015 LỜI CAM ĐOAN Tôi xin cam đoan toàn nội dung luận văn “Khai phá liệu định ứng dụng hệ hỗ trợ định” tự nghiên cứu, sưu tầm, tra cứu thông tin số sách, báo khoa học, tài liệu tham khảo mạng internet để xếp, hoàn thiện cho phù hợp với nội dung yêu cầu đề tài ii Đến nay, nội dung luận văn chưa công bố hay xuất hình thức Nếu sai tơi xin chịu hồn tồn trách nhiệm Hà Nội, ngày 30 tháng 12 năm 2015 Học viên Nguyễn Bá Quang iii LỜI CẢM ƠN Tôi xin chân thành cảm ơn PGS,TS Đoàn Văn Ban dành nhiều thời gian, tâm huyết định hướng hướng dẫn cho nghiên cứu đề tài Tôi xin chân thành cảm ơn tới thầy cô tham gia giảng dạy quản lý Viện đại Học Mở Hà Nội, đồng chí làm cơng tác thi đua khen thưởng Sở Giáo dục Đào tạo Hà Nội, đồng nghiệp trường THPT Quảng Oai tạo nhiều điều kiện thuận lợi để tơi hồn thành tốt luận văn Mặc dù có nhiều cố gắng, nhiên hạn chế thời gian nghiên cứu lực, luận văn tránh khỏi thiếu sót Tơi mong nhận góp ý bổ sung thầy cô bạn đọc Hà Nội, tháng 12 năm 2015 Học viên Nguyễn Bá Quang MỤC LỤC ĐẶT VẤN ĐỀ CHƯƠNG TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 1.1 Khai phá tri thức khai phá liệu 1.2 Lý phải khai phá liệu 1.3 Trình tự thực trình khai phá liệu 1.3.1 Tập hợp liệu 1.3.2 Trích lọc liệu 1.3.3 Làm tiền xử lý liệu 1.3.4 Chuyển đổi liệu 1.3.5 Phát trích mẫu liệu 1.3.6 Đánh giá kết mẫu 1.4 Chức khai phá liệu 1.5 Các kĩ thuật khai phá liệu 1.5.1 Phân lớp liệu 1.5.2 Phân cụm liệu 1.5.3 Khai phá luật kết hợp 10 1.5.4 Hồi quy 11 1.6 Các dạng liệu khai phá 11 1.7 Ứng dụng khai phá liệu 12 1.8 Tổng kết chương 12 CHƯƠNG KHAI PHÁ DỮ LIỆU BẰNG CÂY QUYẾT ĐỊNH 13 2.1 Khái niệm định – vấn đề khai phá liệu định 13 2.1.1 Các khái niệm đồ thị 13 2.1.2 Khái niệm định 14 2.1.3 Các kiểu định 15 i 2.1.4 Ưu - nhược điểm định khai phá liệu 16 2.2 Quy trình khai phá liệu sử dụng định 19 2.3 Kĩ thuật xây dựng định 19 2.4 Một số thuật toán khai phá liệu định 20 2.4.1 Thuật toán CLS 20 2.4.2 Thuật toán ID3 25 2.4.3 Thuật toán C4.5 35 2.4.4 Thuật toán Học định nhanh 38 2.4.5 Thuật toán SLIQ 43 2.4.6 Thuật toán SPRINT 51 2.5 Kĩ thuật cắt tỉa định 59 2.6 Tổng kết chương 61 CHƯƠNG ỨNG DỤNG CÂY QUYẾT ĐỊNH TRONG HỆ HỖ TRỢ QUYẾT ĐỊNH 64 3.1 Tổng quan công tác thi đua khen thưởng ngành giáo dục 64 3.1.1 Danh hiệu thi đua, hình thức, đối tượng tiêu chuẩn khen thưởng ngành giáo dục 65 3.1.2 Quy trình đăng kí thi đua - đề nghị xét duyệt định khen thưởng 67 3.2 Xây dựng định hỗ trợ định thi đua khen thưởng 68 3.3 Phần mềm hỗ trợ định khen thưởng 73 3.3.1 Cấu trúc kho liệu 73 3.3.2 Kết cài đặt phần mềm 75 3.3.3 Đánh giá tính hiệu chương trình 78 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 79 TÀI LIỆU THAM KHẢO 80 ii DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT KÝ HIỆU VIẾT TẮT /TIẾNG ANH BEST C4.5 CLS CSDL CSTĐ DOMAIN GD ID3 ID NT NAIVE BAYES NOISY DATA SLIQ SPRINT TREENOTE/NOTE TEST TT UCI VALUE WWW VIẾT ĐẦY ĐỦ - NGHĨA TIẾNG VIỆT Tốt Thuật toán C4.5 Thuật toán CLS Cơ sở liệu Chiến sĩ thi đua Miền giá trị/miền xác định Giáo dục Thuật toán ID3 Mã định danh Thuật toán Naive Tree Thuật toán Naive Bayes Dữ liệu nhiễu Thuật toán SLIQ Thuật toán SPRINT Nút cây/Nút Kiểm tra Tập thể Bộ liệu mẫu Giá trị World wide web – mạng toàn cầu iii DANH MỤC BẢNG BIỂU Bảng 2.1: Tập liệu huấn luyện định chơi thể thao 20 Bảng 2.2: Bảng đánh giá độ tuổi mức lương 44 Bảng 2.3: Các bảng liệu sau tiền xử lý phân loại xếp 45 Bảng 2.4: Bảng tổng hợp liệu kết sau thuộc tính Tuổi chọn làm thuộc tính phân tách 47 Bảng 2.5: Bảng thống kê mức độ nguy hiểm lái xe độ tuổi 51 Bảng 2.6: Cấu trúc danh sách thuộc tính tạo SPRINT 51 Bảng 3.1: Tập liệu huấn luyện, hình thức thi đua – khen thưởng cá nhân 68 Bảng 3.2: Tập liệu huấn luyện, hình thức thi đua – khen thưởng tập thể 70 iv DANH MỤC HÌNH ẢNH Hình 1.1: Q trình khai phá tri thức sở liệu Hình 2.1: Mơ khái niệm định 13 Hình 2.2: Ví dụ định 14 Hình 2.3: Cây tạo thuộc tính “Bầu trời” chọn 21 Hình 2.4: Cây mở rộng thuộc tính “Độ ẩm” chọn 21 Hình 2.5: Cây kết áp dụng thuật toán CLS với liệu bảng 2.1, thứ tự lựa chọn thuộc tính Bầu trời, Độ ẩm, Gió 22 Hình 2.6: Cây kết áp dụng thuật tốn CLS với liệu 2.1, thứ tự lựa chọn thuộ Hình 2.7: Cây thu sử dụng thuật tốn ID3 với thuộc tính “Bầu trời” chọn 28 Hình 2.8: Cây phát triển thuộc tính Độ ẩm chọn để làm thuộc tính triển khai 31 Hình 2.9: Cây sau xét thuộc tính Độ ẩm với nhánh có giá trị “Cao” “Trung bình” 31 Hình 2.10: Cây sau tiếp tục xét thuộc tính Bầu trời với nhánh có giá trị “U ám” 32 Hình 2.11: Cây kết áp dụng thuật toán ID3 với liệu bảng 2.1 32 Hình 2.12: Cây định chơi thể thao 33 Hình 2.13: Cây kết sử dụng thuật toán SLIQ với tập liệu bảng 2.2 49 Hình 2.14: Ước lượng điểm phân chia với thuộc tính liên tục 53 Hình 2.15: Ước lượng điểm phân chia với thuộc tính rời rạc 53 Hình 2.16: Cây định thể kết phân chia thuộc tính nút 55 Hình 2.17: Biểu đồ so sánh thời gian thực thuật tốn SPRINT SLIQ 57 Hình 3.1: Quy trình đăng ký thi đua 65 Hình 3.2: Quy trình đề nghị xét duyệt định khen thưởng 66 Hình 3.3: Giao diện nhập thơng tin hồ sơ đăng kí thi đua – khen thưởng cá nhân tập thể dành cho đơn vị cấp sở 72 Hình 3.4: Sơ đồ thực thể liên kết kho liệu thành tích khen thưởng Sở Giáo dục Đào tạo 73 Hình 3.5: Cửa sổ đăng nhập quản trị 74 Hình 3.6: Giao diện chức sau đăng nhập 75 Hình 3.7: Giao diện nhập thông tin hồ sơ thi đua - khen thưởng 75 v ĐẶT VẤN ĐỀ Đặt vấn đề Ngành khoa học công nghệ thông tin có mục tiêu nghiên cứu phương pháp thu thập, lưu trữ, xử lý truyền thông tin phục vụ cho ngành lĩnh vực khác đời sống Tuy nhiên, với lượng liệu khổng lồ, đa dạng nay, phương pháp quản trị khai thác sở liệu truyền thống không đáp ứng đủ nhu cầu thực tế, giải vấn đề phân loại tài ngun thơng tin ứng dụng cách hiệu lĩnh vực cụ thể; đặc biệt phân tích đưa liệu để hỗ trợ việc định.Từ trạng thách thức làm phát triển khuynh hướng kĩ thuật để giải vấn đề hiệu hơn, Kĩ thuật phát tri thức khai phá liệu(Knowledge Discovery and Data Mining) Kĩ thuật phát tri thức khai phá liệu nghiên cứu, ứng dụng rộng rãi nhiều lĩnh vực khác nước giới, Việt Nam kĩ thuật nghiên cứu dần đưa vào ứng dụng Bước quan trọng trình khai phá liệu (Data Mining), giúp người sử dụng thu tri thức hữu ích từ CSDL nguồn liệu khổng lồ khác để từ làm sở định xử lý liệu thu Một kĩ thuật để khai phá liệu “cây định” Nhận thấy thiết thực vấn đề gợi ý giảng viên hướng dẫn, chọn đề tài “Khai phá liệu định ứng dụng hệ hỗ trợ định” Mục tiêu nghiên cứu + Tìm hiểu tổng quan khai phá liệu, khái niệm bản, bước thực hiện, kĩ thuật khai phá liệu, ứng dụng khai phá liệu lĩnh vực + Tìm hiểu khái niệm định, kiểu định số kĩ thuật khai phá liệu định + Tìm hiểu tốn định khen thưởng ngành giáo dục, quy trình xét duyệt định khen thưởng, lựa chọn thuật toán để xây dựng công cụ hỗ trợ định khen thưởng công tác quản lý thi đua khen thưởng Sở Giáo dục Đào tạo (gọi Hệ hỗ trợ định thi đua khen thưởng) Đối tượng phạm vi nghiên cứu + Các khái niệm, bước thực khai phá liệu ứng dụng khai phá liệu lĩnh vực + Các kĩ thuật liên quan tới xây dựng định + Các ứng dụng phù hợp triển khai Hệ hỗ trợ định công tác thi đua khen thưởng Sở Giáo dục Đào tạo Hà Nội Phương pháp nghiên cứu + Nghiên cứu qua tài liệu như: sách, sách điện tử, báo, thông tin tài liệu website tài liệu liên quan + Phân tích, tổng hợp lý thuyết, nghiên cứu luật thi đua khen thưởng nói chung ngành giáo dục củaViệt Nam nói riêng + Nghiên cứu quy trình đăng ký thi đua, đề xuất khen thưởng quy trình định công nhận kết thi đua - khen thưởng Kết cấu luận văn Ngoài phần mở đầu kết luận, kết cấu luận văn gồm 03 chương: Chương 1:Tổng quan khai phá liệu Chương 2:Khai phá liệu định Chương 3: Ứng dụng định trongHệ hỗ trợ định CHƯƠNG TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 1.1 Khai phá tri thức khai phá liệu Khai phá tri thức trình tìm kiếm sở liệu mẫu đắn, mới, có ích tiềm tàng hiểu với người sử dụng Quá trình khám phá tri thức gồm nhiều khâu, khâu có vai trị tầm quan riêng Quá trình khai phá tri thức (KDD - Knowledge Discovery in Database)[13] gồm trình khác theo thứ tự sau: Làm liệu(data cleaning & preprocessing): Loại bỏ nhiễu liệu không cần thiết 2.Tích hợp liệu (data integration): q trình hợp liệu thành kho liệu (data warehouses & data marts) sau làm tiền xử lý (data cleaning & preprocessing) Trích chọn liệu (data selection): trích chọn liệu từ kho liệu sau chuyển đổi dạng thích hợp cho trình khai thác tri thức Quá trình bao gồm việc xử lý với liệu nhiễu (noisy data), liệu không đầy đủ (incomplete data), v.v Chuyển đổi liệu: Các liệu chuyển đổi sang dạng phù hợp cho trình xử lý Khai phá liệu(data mining)[4], [12]: Là bước quan trọng nhất, sử dụng phương pháp thông minh để chắt lọc mẫu liệu Ước lượng mẫu (knowledge evaluation): Q trình đánh giá kết tìm thơng qua độ đo Biểu diễn tri thức (knowledge presentation): Quá trình sử dụng kỹ thuật để biểu diễn thể trực quan cho người dùng Bước sử dụng thuật toán đặc biệt để chiết xuất mẫu từ liệu Về chất, giai đoạn để rút trích tìm mẫu, mơ hình, tri thức tiềm ẩn có sở liệu phục vụ cho việc mơ tả dự đốn Dữ liệu Mẫu Khai phá Dữ liệu Hình 1.1: Quá trình khai phá tri thức sở liệu[20] Như vậy, khai phá liệu khâu quan trọng trình khai phá tri thức Khai phá liệu (Data Mining) định nghĩa trình chắt lọc hay khai phá tri thức từ lượng lớn liệu Thuật ngữ Data-Mining ám việc tìm kiếm tập hợp nhỏ có giá trị từ số lượng lớn liệu thơ Có nhiều thuật ngữ dùng có nghĩa tương tự với từ Data Mining Knowledge Mining (khai phá tri thức), Knowledge Extraction(chắt lọc tri thức), Data/Patern Analysis(phân tích liệu/mẫu), Data Archaeology (khảo cổ liệu), Data Dredging (nạo vét liệu), Khai phá liệu tập hợp kỹ thuật sử dụng để tự động khai thác tìm mối quan hệ lẫn liệu tập hợp liệu khổng lồ phức tạp, đồng thời tìm mẫu tiềm ẩn tập liệu đó[4] 1.2 Lý phải khai phá liệu Khoảng thập kỷ trở lại đây, lượng thông tin lưu trữ thiết bị điện tử (đĩa cứng, flash disk, DVD-ROM, v.v.) không ngừng tăng lên Sự tích lũy liệu xảy với tốc độ bùng nổ Người ta ước đoán lượng thơng tin tồn cầu tăng gấp đơi sau khoảng hai năm theo số lượng kích cỡ sở liệu (CSDL) tăng lên cách nhanh chóng Người ta lưu trữ liệu cho ẩn chứa giá trị định Tuy nhiên theo thống kê có lượng nhỏ liệu nàylà ln phân tích, số cịn lại khơng biết phải làm làm với liệu này, họ tiếp tục thu thập lưu trữ hy vọng liệu cung cấp cho họ thông tin quý giá cách nhanh chóng để đưa định kịp thời vào lúc (Ví dụ với 30 40 triệu ghi thông tin khách hàng chi tiết, việc biết triệu khách hàng số sống địa điểm chưa đủ Ta muốn biết liệu triệu khách hàng có thuộc nhóm tuổi cụ thể khơng ta muốn biết thu nhập trung bình họ để ta tập trung vào nhu cầu khách hàng tốt hơn) Chính vậy, phương pháp quản trị khai thác sở liệu truyền thống ngày không đáp ứng thực tế làm phát triển khuynh hướng kỹ thuật Khai phá liệu 1.3 Trình tự thực trình khai phá liệu 1.3.1 Tập hợp liệu Tập hợp liệu (gatherin) bước khai phá liệu 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 Là bước tuyển chọn tập liệu cần khai phá từ tập liệu lớn (databases, data warehouses, data repositories) ban đầu theo số tiêu chí định Q trình bao gồm việc xử lý với liệu bị nhiễu (noisy data), liệu không đầy đủ (incomplete data), v.v 1.3.3 Làm tiền xử lý liệu Giai đoạn thứ ba giai đoạn hay bị lãng, thực tế bước quan trọng trình khai phá liệu 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ơng có khả kết nối liệu(Ví dụ: Sinh viên có tuổi=200) Giai đoạn thứ ba nhằm xử lý liệu trên(dữ liệu vô nghĩa, liệu khơng có khả kết nối) Những liệu dạng thường xem thông tin dư thừa, khơng có giá trị Bởi q trình quan trọng Nếu liệu khơng làm sạch- tiền xử lý (cleaning preprocessing) - 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 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 (transformation) làm cho liệu phù hợp với mục đích khai phá liệu 1.3.5 Phát trích mẫu liệu Đây bước tư khai phá liệu Ở giai đoạn nhiều thuật toán khác sử dụng để trích mẫu từ liệu Thuật tố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 tốn mơ hình hố liệu 1.3.6 Đánh giá kết mẫu Đây giai đoạn cuối trình khai phá liệu, giai đoạn mẫu liệu chiết xuất phần mềm khai phá liệu Không phải mẫu liệu hữu ích, đơi cịn 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 khai phá liệu Khai phá liệu có hai chức mơ tả (description) dự đốn (prediction), đó: - Chức khai phá liệu 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 nhằm giúp hiểu rõ hơn, sâu liệu - Chức khai phá liệu 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 1.5 Các kĩ thuật khai phá liệu Trong thực tế có nhiều kỹ thuật khai phá liệu khác nhằm thực hai chức mô tả dự đốn - Kỹ thuật khai phá liệu mơ tả: có nhiệm vụ mơ tả tính chất đặc tính chung liệu CSDL có Một số kỹ thuật khai phá nhóm là: phân cụm liệu (clustering), tổng hợp (summarisation), trực quan hố (visualization), phân tích phát triển độ lệch (evolution and deviation analyst), - Kỹ thuật khai phá liệu dự đốn: có nhiệm vụ đưa dự đoán dựa vào suy diễn sở liệu thời Một số kỹ thuật khai phá nhóm là: phân lớp (classification), hồi quy (Regression), định (Decision tree), thống kê (statictics), mạng nơ-ron (neural network), luật kết hợp,… Một số kỹ thuật phổ biến thường sử dụng để khai phá liệu là: 1.5.1 Phân lớp liệu Mục tiêu phân lớp liệu dự đốn nhãn lớp cho mẫu liệu Quá trình gồm hai bước: xây dựng mơ hình sử dụng mơ hình để phân lớp liệu(mỗi mẫu lớp) Mơ hình sử dụng để dự đoán nhãn lớp mà độ xác mơ hình chấp nhận được[4], [13] * Mạng nơ-ron Đây kỹ thuật khai phá liệu ứng dụng phổ biến Kỹ thuật phát triển dựa tảng toán học vững vàng, khả huấn luyện kỹ thuật dựa mơ hình thần kinh trung ương người Kết mà mạng nơ-ron học có khả tạo mơ hình dự báo, dự đốn với độ xác độ tin cậy cao Nó có khả phát xu hướng phức tạp mà kỹ thuật thông thường khác khó phát Có nhiều kiến trúc khác cho mạng nơ-ron số chúng sử dụng cách kết nối mạng khác chiến lược học khác để thực nhiệm vụ Khi sử dụng mạng nơ-ron phải phân biệt hai giai đoạn: giai đoạn mã hóa mạng nơ-ron học mẫu liệu huấn luyện, thực nhiệm vụ giai đoạn giải mã mạng sử dụng để phân lớp, làm dự báo thực nhiệm vụ học liên quan Có nhiều dạng mạng nơ-ron có loại sau: - Mạng lớp nơ-ron (Perceptron), - Mạng lan truyền ngược (Back propagation networks), - Mạng tự tổ chức Konhonen (Kohonen self – organizedmap) Phương pháp mạng nơ-ron phức tạp q trình tiến hành gặp nhiều khó khăn: địi hỏi nhiều thời gian, nhiều liệu, nhiều lần kiểm tra thử nghiệm * Cây định Kỹ thuật định công cụ mạnh hiệu việc phân lớp dự báo Các đối tượng liệu phân thành lớp Các giá trị đối tượng liệu chưa biết dự đoán, dự báo Tri thức rút kỹ thuật thường mô tả dạng tường minh, đơn giản, trực quan, dễ hiểu người sử dụng Để xây dựng định có nhiều cách [1.], [10], [16], nhìn chung ta có khung chung cho q trình sau: - Lựa chọn thuộc tính “tốt nhất” nhờ độ đo lựa chọn (thường Entropy) - Mở rộng cách thêm vào nhánh với giá trị thuộc tính - Sắp xếp mẫu huấn luyện cho nút - Kiểm tra: mẫu huấn luyện phân loại dừng, ngược lại lặp lại trình cho nút - Tỉa bớt nút không ổn định 1.5.2 Phân cụm liệu Phân cụm liệu kỹ thuật khai phá liệu nhằm tìm kiếm, phát cụm, mẫu liệu tự nhiên tiềm ẩn quan trọng tập liệu lớn để từ cung cấp thơng tin, tri thức cho việc định Phân cụm liệu phân chia sở liệu lớn thành nhóm liệu với đối tượng tương tự Trong nhóm, số chi tiết khơng quan tâm đến để đổi lấy liệu đơn giản hóa Hay ta hiểu “Phân cụm liệu trình tổ chức đối tượng thành nhóm mà đối tượng nhóm tương tự theo tính chất đó, đối tượng khơng tương tự tính chất nhóm khác”[7] Phân cụm liệu q trình nhóm tập đối tượng tương tự tập liệu vào cụm cho đối tượng thuộc cụm tương đồng đối tượng thuộc cụm khác khơng tương đồng Phân cụm liệu ví dụ phương pháp học khơng có thầy Khơng giống phân lớp liệu, phân cụm liệu không đòi hỏi phải định nghĩa trước mẫu liệu huấn luyện Vì thế, coi phân cụm liệu cách học quan sát, phân lớp liệu học ví dụ, … Ngồi phân cụm liệu cịn sử dụng bước tiền xử lí cho thuật toán khai phá liệu khác phân loại mơ tả đặc điểm, có tác dụng việc phát cụm 1.5.3 Khai phá luật kết hợp Mục tiêu phương pháp phát đưa mối liên hệ giá trị liệu sở liệu Đầu giải thuật luật kết hợp tập luật kết hợp tìm Phương pháp khai phá luật kết hợp gồm có hai bước: Bước 1: Tìm tất tập mục phổ biến Một tập mục phổ biến xác định thơng qua tính độ hỗ trợ thoả mãn độ hỗ trợ cực tiểu Bước 2: Sinh luật kết hợp mạnh từ tập mục phổ biến, luật phải thoả mãn độ hỗ trợ độ tin cậy cực tiểu Chẳng hạn có luật: âm nhạc, thể thao => thiếu nhi, nghĩa người mua sách âm nhạc thể thao mua sách thiếu nhi Lúc ta quan tâm đến số lượng trường hợp khách hàng thỏa mãn luật sở liệu hay độ hỗ trợ (support) cho luật Độ hỗ trợ cho luật phần trăm số ghi có sách âm nhạc, thể thao thiếu nhi hay tất người thích ba loại sách nói Tuy nhiên, giá trị độ hỗ trợ khơng đủ, có trường hợp ta có nhóm 10 tương đối người đọc ba loại lại có nhóm với lực lượng lớn người thích sách thể thao, âm nhạc mà khơng thích sách thiếu nhi Trong trường hợp tính kết hợp yếu độ hỗ trợ tương đối cao, cần thêm độ đo thứ hai độ tin cậy (confidence) Độ tin cậy phần trăm ghi có sách thiếu nhi số ghi có sách âm nhạc thể thao 1.5.4 Hồi quy Hồi quy kỹ thuật thống kê cho phép dự đoán trị (số) liên tục, cho phép ước lượng mối liên kết biến Phương pháp hồi quy tương tự phân lớp liệu Nhưng khác chỗ dùng để dự đốn giá trị liên tục cịn phân lớp liệu dùng để dự đoán giá trị rời rạc * Phân tích hồi quy kỹ thuật thống kê lĩnh vực phân tích liệu xây dựng mơ hình từ thực nghiệm, cho phép mơ hình hồi quy vừa khám phá dùng cho mục đích dự báo (prediction), điều khiển (control), hay học (learn) chế tạo liệu * Phân loại: - Hồi quy tuyến tính phi tuyến - Hồi quy đơn biến đa biến - Hồi quy có thơng số, phi thơng số thơng số kết hợp - Hồi quy đối xứng bất đối xứng 1.6 Các dạng liệu khai phá Là cơng nghệ nói chung, khai phá liệu áp dụng cho loại liệu miễn liệu có ý nghĩa cho ứng dụng mục tiêu Các hình thức liệu cho ứng dụng khai phá liệu sở liệu: - CSDL quan hệ - CSDL đa chiều - CSDL giao dịch - CSDL quan hệ - đối tượng - CSDL không gian thời gian - CSDL đa phương tiện 11 Khai phá liệu áp dụng cho hình thức khác liệu (ví dụ: luồng liệu, liệu yêu cầu liệu trình tự, biểu đồ mạng liệu, liệu văn liệu từ WWW) 1.7 Ứng dụng khai phá liệu Khai phá liệu khơng phải cách tiếp cận mới, song lại thu hút nhiều quan tâm nhà nghiên cứu phát triển nhờ vào ứng dụng thực tiễn Dưới số ứng dụng điển hình sử dụng phổ biến lĩnh vực cụ thể: - Nhận dạng mẫu(Pattern recognition) - Tin - sinh (Bio-informatics) - Khai phá liệu văn bản, liệu web (Textmining & Webmining) - Trong tài thị trường chứng khốn (Finance & Stock market) - Trong điều trị y học (Medical treatment) - Trong bảo hiểm (Insurance) - Phát gian lận (Fraud detection) - Các ứng dụng phát cô lập lỗi hệ thống mạng viễn thông (Network fault isolation) 1.8 Tổng kết chương Khai phá liệu môn khoa học liên ngành: Cơ sở liệu, học máy thống kê toán học, nghiên cứu kỹ thuật nhằm phát thơng tin có giá trị, tiềm ẩn sở liệu lớn Khai phá liệu định kỹ thuật số kỹ thuật thường sử dụng để khai phá liệu nhằm tìm kiếm tri thức có ích hỗ trợ định công tác quản lý nhà lãnh đạo quan, tổ chức doanh nghiệp, v.v 12 CHƯƠNG 2.KHAI PHÁ DỮ LIỆU BẰNG CÂYQUYẾT ĐỊNH 2.1 Khái niệm định – vấn đề khai phá liệu định 2.1.1 Các khái niệm đồ thị Khái niệm đồ thị Là cấu trúc rời rạc gồm đỉnh cạnh nối đỉnh Được mơ tả hình thức: G = (V, E) V gọi tập đỉnh (vertices) E gọi tập cạnh (edges).Có thể coi E tập cặp (u, v) với u v hai đỉnh V[3] Đường đồ thị Đường độ dài n từ đỉnh u đến đỉnh v, n số nguyên dương, đồ thị G = (V, E) dãy x0 , x1 ,…, x n-1 , xn u = x0 , v = xn , (xi , xi+1 ) ∈ E, i = 0, 1, 2,…, n-1 Đồ thị liên thông Đồ thị vô hướng G = (V, E) gọi liên thông ln tìm đường hai đỉnh Khái niệm chu trình Đỉnh u gọi đỉnh đầu, đỉnh v gọi đỉnh cuối đường Đường có đỉnh đầu trùng với đỉnh cuối (tức u = v) gọi làchu trình Khái niệm cây: Cây đồ thị mà hai đỉnh nối với đường Nói cách khác, đồ thị liên thơng khơng có chu trình Cây (có gốc) có đỉnh chọn gốc cạnh định hướng trùng với hướng đường đơn từ gốc tới đỉnh Trong có gốc, có cạnh từ đỉnh x đến đỉnh y đỉnh x gọi cha đỉnh y, y x 13 Hai đỉnh cha gọi anh em, đỉnh khơng có gọi hay đỉnh ngồi, đỉnh không gọi đỉnh 2.1.2 Khái niệm định Cây định cấu trúc biễu diễn dạng Trong đó, nút (internal node) biễu diễn thuộc tính, nhánh (branch) biễu diễn giá trị có thuộc tính, mỗinútlá (leaf node) biểu diễn lớp định đỉnh gọi gốc (root) Cây định dùng để phân lớp cách xuất phát từ gốc di chuyển theo nhánh gặp nút Trên sở phân lớp chuyển đổi luật định.[10], [20] nhánh Hình 2.1: Mô khái niệm Cây định Cây định (decision tree) phương pháp mạnh phổ biến cho hai nhiệm vụ khai phá liệu phân loại dự báo Mặt khác, định cịn chuyển sang dạng biểu diễn tương đương dạng tri thức luật If-Then Cây định sử dụng để xây dựng kế hoạch nhằm đạt mục tiêu mong muốn Các định dùng để hỗ trợ trình định Cây định dạng đặc biệt cấu trúc Tạo định q trình phân tích sở liệu, phân lớp đưa dự đoán Cây định tạo thành cách chia (đệ quy) tập liệu thành tập liệu con, tập tạo thành chủ yếu từ phần tử lớp Lựa chọn thuộc tính để tạo nhánh thông qua Entropy Gain 14 Học máy định – thường nói ngắn gọn Cây định phương pháp thông dụng khai phá liệu Khi đó, định mơ tả cấu trúc cây, đó, nút đại diện cho phân loại cành đại diện cho kết hợp thuộc tính dẫn tới phân loại Một định học cách chia tập hợp nguồn thành tập dựa theo kiểm tra giá trị thuộc tính Q trình lặp lại cách đệ quy cho tập dẫn xuất Quá trình đệ quy hồn thành khơng thể tiếp tục thực việc chia tách nữa, hay phân loại đơn áp dụng cho phần tử tập dẫn xuất Cây định mô tả kết hợp kỹ thuật tốn học tính tốn nhằm hỗ trợ việc mơ tả, phân loại tổng qt hóa tập liệu cho trước.Dữ liệu cho dạng ghi có dạng:(x,y)=( x1, x2, x3, xk,y)Biến phụ thuộc (dependant variable)y biến mà cần tìm hiểu, phân loại hay tổng quát hóa.x1, x2, x3, biến giúp ta thực công việc Hình 2.2: Ví dụ định 2.1.3 Các kiểu định Cây định cịn có hai tên khác: - Cây hồi quy (Regression tree): ước lượng hàm giá có giá trị số thực thay sử dụng cho nhiệm vụ phân loại(ví dụ: ước tính giá ngơi nhà khoảng thời gian bệnh nhân nằm viện) 15 - Cây phân loại (Classification tree): y biến phân loại như: giới tính (nam hay nữ), kết trận đấu (thắng hay thua) 2.1.4 Ưu - nhược điểm định khai phá liệu So với phương pháp khai phá liệu khác, kỹ thuật khai phá liệu định có số ưu - nhược điểm sau[1.], [16]: + Ưu điểm: - Khả sinh quy tắc hiểu được: Cây định có khả sinh quy tắc chuyển đổi sang mơ hình dạng quy tắc (hay cịn gọi mơ hình dạng luật IF THEN ) ưu điểm bật kỹ thuật này, cho dù hình dáng định lớn phức tạp tập liệu lớn việc theo đường dễ dàng theo nghĩa phổ biến rõ ràng Do việc giải thích cho phân lớp hay dự đoán tương đối rõ ràng trực quan - Khả thực thi lĩnh vực hướng quy tắc: Quy tắc quy nạp nói chung định nói riêng lựa chọn hồn hảo cho lĩnh vực có quy tắc thực Ta thấy, lĩnh vực từ di truyền đến q trình cơng nghiệp chứa quy tắc ẩn, không rõ ràng phức tạp tối nghĩa liệu nhiễu Cây định lựa chọn tự nhiên nghi ngờ tồn quy tắc ẩn, khơng minh bạch - Dễ tính tốn phân lớp: Như biết, định chứa nhiều định dạng, thực tế, thuật toán sử dụng để tạo định thường tạo với số phân nhánh thấp kiểm tra đơn giản nút Những test điển hình là: so sánh số, xem xét phần tử tập hợp phép nối đơn giản Khi thực thi máy tính, test chuyển thành toán hạng logic số nguyên toán hạng thực thi nhanh khơng tốn chi phí thời gian Đây ưu điểm quan trọng môi trường thương mại, mơ hình dự đốn thường sử dụng để phân lớp hàng triệu chí hàng tỉ ghi - Khả xử lý với hai thuộc tính liên tục rời rạc: Cây định xử 16 lý “tốt” với thuộc tính liên tục thuộc tính rời rạc Tuy nhiên, thuộc tính liên tục cần nhiều tài ngun tính tốn Những thuộc tính rời rạc gây vấn đề với mạng nơ-ron kỹ thuật thống kê lại thực dễ dàng thao tác với điều kiện phân chia (splitting criteria) định, nhánh tương ứng với phân tách tập liệu theo giá trị thuộc tính chọn để phát triển nútđó Các thuộc tính liên tục dễ dàng phân chia việc chọn số gọi ngưỡng tập giá trị xếp thuộc tính Sau chọn ngưỡng tốt nhất, tập liệu phân chia theo test nhị phân ngưỡng - Thể rõ ràng thuộc tính tốt nhất:Các thuật toán xây dựng định đưa thuộc tính mà phân chia tốt tập liệu huấn luyện nút gốc Từ thấy thuộc tính quan trọng cho việc dự đoán hay phân lớp + Nhược điểm: Với ưu điểm bật nêu trên, định không tránh khỏi tồn hạn chế - Cây định khơng thích hợp cho tốn với mục tiêu dự đốn giá trị thuộc tính liên tục thu tập, huyết áp hay lãi xuất ngân hàng, Cây định khó giải với liệu thời gian liên tục không bỏ nhiều công sức cho việc đặt biểu diễn liệu theo mẫu liên tục - Dễ gây lỗi có nhiều lớp: số định thao tác với lớp giá trị nhị phân dạng “Có/Khơng” Số khác lại định ghi vào số lớp bất kỳ, dễ xảy lỗi số mẫu huấn luyện ứng với lớp nhỏ Điều thể nhanh, rõ với mà có nhiều tầng hay có nhiều nhánh nút - Chi phí tính tốn “đắt” để đào tạo: Q trình phát triển định “đắt” mặt tính tốn định có nhiều nút (internal node) trước đến cuối Tại nút, cần tính độ đo (hoặc tiêu chuẩn phân chia) thuộc tính, với thuộc tính liên tục phải thêm thao tác xếp lại tập liệu theo thứ tự giá trị thuộc tính đó, sau chọn thuộc tính 17 phát triển tương ứng phân chia tốt Một vài thuật tốn sử dụng tổ hợp thuộc tính kết hợp với có trọng số để phát triển định Quá trình cắt tỉa “đắt” nhiều ứng cử phải tạo so sánh - Việc thao tác với thuộc tính liên tục định hồn tồn khơng đơn giản với thuộc tính rời rạc:Thuộc tính rời rạc có tập giá trị (domain) xác định từ trước tập hợp giá trị rời rạc; ví dụ loại ô tô thuộc tính rời rạc với tập giá trị là: {xe tải, xe khách, xe con, taxi} Việc phân chia liệu dựa vào phép kiểm tra giá trị thuộc tính rời rạc chọn ví dụ cụ thể có thuộc tập giá trị thuộc tính hay khơng: value(A) ∈ X với X ⊂ domain(A) Đây phép kiểm tra logic đơn giản, khơng tốn nhiều tài ngun tính tốn Trong đó, với thuộc tính liên tục (thuộc tính dạng số) tập giá trị khơng xác định trước Chính vậy, trình phát triển cây, cần sử dụng kiểm tra dạng nhị phân: value(A) ≤ θ Với θ ngưỡng (threshold) xác định dựa giá trị riêng biệt hay cặp giá trị liền (theo thứ tự xếp) thuộc tính liên tục xem xét tập liệu đào tạo Điều có nghĩa thuộc tính liên tục A tập liệu đào tạo có n giá trị phân biệt cần thực n-1 lần kiểm tra value(A) ≤ θi với i = n-1 để tìm ngưỡng θbest tốt tương ứng với thuộc tính Việc xác định giá trị θ tiêu chuẩn tìm θbest tốt tùy vào chiến lược thuật toán [10] -Vấn đề khớp liệu: “Quá khớp liệu” khó khăn đáng kể học định phương pháp học khác Đặc biệt số lượng ví dụ tập liệu đào tạo q ít, hay có “nhiễu” liệu Có thể hiểu “quá khớp” tượng định chứa số đặc trưng riêng tập liệu đào tạo, lấy tập liệu đào tạo để kiểm tra lại mơ hình phân lớp độ xác cao, liệu tương lai khác sử dụng lại khơng đạt độ xác Có hai phương pháp tránh “quá khớp liệu” định Thứ dừng phát triển sớm, trước đạt tới điểm phân lớp hoàn hảo tập liệu đào tạo; thứ hai làcho phép “quá khớp” liệu, sau cắt, tỉa Nhưng 18 dù thực phương pháp vấn đề mấu chốt tiêu chuẩn sử dụng để xác định kích thước hợp lý cuối 2.2 Quy trình khai phá liệu sử dụng định Bước 1: Xây dựng mô hình + Chuẩn bị liệu huấn luyện (mẫu có nhãn, bảng định) từ liệu tác nghiệp + Xây dựng định (bằng thuật toán) + Xây dựng tập luật định Bước 2: Kiểm tra mơ hình + Chuẩn bị liệu kiểm tra (mẫu có nhãn, bảng định) + Kiểm tra độ xác mơ hình định (tập luật định) để định dùng hay huấn luyện tiếp Bước 3: Thực thi mơ hình (dự báo) + Gán nhãn cho mẫu (chưa có nhãn) 2.3 Kĩ thuật xây dựng định Xây dựng định công đoạn quan trọng việc sử dụng định để khai phá liệu Quá trình xây dựng định gồm ba bước sau[10], [16]: Bước 1: Tạo định Tại bước việc tạo định gốc, đến nhánh phát triển quy nạp theo cách thức chia để trị đạt định với tất gán nhãn lớp.Các cơng việc bước gồm: B1.1.Chọn thuộc tính “tốt nhất” độ đo định trước; B1.2.Phát triển việc sinh nhánh tương ứng với giá trị thuộc tính chọn; B1.3.Sắp xếp, phân chia tập liệu đào tạo với nút con; B1.4.Nếu ví dụ phân lớp rõ ràng dừng; Ngược lại lặp lại bước B1.1 đến bước B1.4 cho nút 19 Bước 2: Cắt tỉa định Bước nhằm mục đích đơn giản hóa khái qt hóa, từ làm tăng độ xác định cách loại bỏ phụ thuộc vào mức độ nhiễu (noise) liệu huấn luyện mang tính chất thống kê, hay biến đổi mà đặc tính riêng biệt liệu huấn luyện Bước truy cập liệu định phát triển bước trình thực nghiệm cho thấy bước khơng tốn nhiều tài ngun tính tốn, với phần lớn thuật toán, Bước chiếm khoảng 1% tổng thời gian xây dựng mơ hình phân lớp Bước 3: Đánh giá Tại bước cần đánh giá độ xác kết thu Việc đánh giá kết đơn giản cách cho tập kiện vào so sánh nhãn lớp dự đoán với nhãn lớp thực tế đạt Tiêu chí để đánh giá độ xác định tỷ số mẫu phân lớp xác tổng số mẫu đưa vào 2.4 Một số thuật toán khai phá liệu định 2.4.1 Thuật toán CLS Thuật toán Hovland Hint giới thiệu Concept Learning System sau gọi tắt thuật toán CLS Thuật toán CLS thiết kế theo chiến lược chia để trị từ xuống [2]: - Đầu vào: Tập liệu mẫu, thuộc tính phân lớp; - Đầu ra: Cây định (tập liệu phân lớp); Quá trình thực sau: Bước1:Tạo nút T, nút gồm tất mẫu tập huấn luyện; Bước 2:Nếu tất mẫu T có thuộc tính định mang giá trị "CĨ" (hay thuộc lớp), gán nhãn cho nút T "CÓ" dừng lại T lúc nút lá; Bước 3:Nếu tất mẫu T có thuộc tính định mang giá trị "KHƠNG" (hay thuộc lớp), gán nhãn cho nút T "KHÔNG" dừng lại T lúc nút lá; Bước 4:Trường hợp ngược lại mẫu tập huấn luyện thuộc hai lớp 20 "CĨ" "KHƠNG" thì: B4.1:Chọn thuộc tính X tập thuộc tính tập mẫu liệu, X có giá trị v1,v2, …vn; B4.2:Chia tập mẫu T thành tập T1, T2,….,Tn chia theo giá trị X; B4.3:Tạo n nút Ti (i=1,2…n) với nút cha nút T; B4.4:Tạo nhánh nối từ nút T đến nút Ti (i=1,2…n) thuộc tính X; Bước 5:Thực lặp cho nút Ti(i =1,2 n) quay lại bước 2; Ta nhận thấy bước thuật tốn, thuộc tính chọn để triển khai tuỳ ý Điều nói lên áp dụng thuật tốn CLS để xây dựng tập mẫu huấn luyện, định thu phụ thuộc vào việc chọn thuộc tính mở rộng bước Để kiểm chứng khẳng định ta xét ví dụ sau: Ví dụ 2.1:Cho tập liệu huấn luyện thể bảng hình 2.1, xâydựng định chơi thể thao Bảng 2.1: Tập liệu huấn luyện định chơi thể thao Gió Quyết địnhchơithể thao Cao Yếu Khơng Nóng Cao Mạnh Khơng U ám Nóng Cao Yếu Có Mưa Bình thường Cao Yếu Có Mưa Mát Trung bình Yếu Có Mưa Mát Trung bình Mạnh Khơng U ám Mát Trung bình Mạnh Có Nắng Bình thường Cao Yếu Khơng Nắng Mát Trung bình Yếu Có 10 Mưa Bình thường Trung bình Yếu Có 11 Nắng Bình thường Trung bình Mạnh Có 12 U ám Bình thường Cao Mạnh Có 13 U ám Nóng Trung bình Yếu Có 14 Mưa Bình thường Cao Mạnh Khơng Ngày Bầu trời Nhiệt độ Nắng Nóng Nắng Độ ẩm Bảng liệu tập mẫu mô tả định chơi thể thao Trong 21 bảng, thuộc tính Ngày dùng để định danh (chỉ số) Các thuộc tính Bầu trời, Nhiệt độ, Độ ẩm, Gió thuộc tính ứng viên dùng để xét Cịn thuộc tính Quyết định chơi thể thao thuộc tính khẳng định dùng để phân lớp mẫu liệu Khi định xây dựng theo thuật toán CLS tập liệu bảng 2.1 xây dựng sau: 1) Chọn thuộc tính Bầu trời = {Nắng, U ám, Mưa} ta có hình 2.3 Bầu trời [1,2,3,4,5,6,7,8,9,10,11,12,13,14] Nắng “?” [1,2,8,9,11] U ám “Có” [3,7,12,13] Mưa “?” [4,5,6,10,14] Hình 2.3: Cây tạo thuộc tính “Bầu trời” chọn Với giá trị thuộc tính Bầu trời = "U ám" giá trị thuộc tính “QĐ chơi thể thao” ngày {3,7,12,13} đếu có giá trị “Có”, chúng thuộc lớp "Có", nút có nhãn "Có" 2) Tiếp theo chọn thuộc tính Độ ẩm = {Cao, Trung bình} để mở rộng cho nhánh bên trái cây, hình 2.4 bên 22 Bầu trời [1,2,3,4,5,6,7,8,9,10,11,12,13,14] U ám Nắng “?” [4,5,6,10,14] “Có” [3,7,12,13] Độ ẩm [1,2,8,9,11] Cao Mưa Trung bình “Có” [9,11] “Khơng” [1,2,8] Hình 2.4: Cây mở rộng thuộc tính “Độ ẩm” chọn 3) Chọn thuộc tính Gió = {Yếu, Mạnh} để mở rộng cho nhánh bên phải, hình 2.5 đây: Bầu trời [1,2,3,4,5,6,7,8,9,10,11,12,13,14] Nắng Độ ẩm [1,2,8,9,11] Cao Cao “Không” [1,2,8] U ám Mưa “Gió” [4,5,6,10,14] “Có” [3,7, 12,13] Trung Trung bình bình Mạnh “Có” [9,11] “Khơng” [6,14] Yếu “Có” [4,5,10] Hình 2.5: Cây kết áp dụng thuật toán CLS với liệu bảng 2.1,thứ tự lựa chọn thuộc tính Bầu trời, Độ ẩm, Gió Hình 2.5 kết thu áp dụng thuật toán CLS cho tập liệu huấn luyện bảng 2.1 với thứ tự thuộc tính Bầu trời, Độ ẩm, Gió Nếu áp dụng thuật toán CLS với thứ tự khác thuộc tính ta thu kết 23 có hình dạng khác Trường hợp ta áp dụng thuật toán CLS để xây dựng với thứ tựcác thuộc tính chọn Bầu trời, Nhiệt độ, Gió, Độ ẩm kết có dạng hình 2.6 Bầu trời [1,2,3,4,5,6,7,8,9,10,11,12,13,14] U ám Nắng Nhiệt độ [1,2,8,9,11] Nóng Cao “Khơng” [1,2] Cao “Khơng” [9] “Gió” “Có” [3,7, 12,13] Mát bình Trung Bình thường [4,5,6,10,14] Mạnh “Có” Độ ẩm [8,11] Mưa “Khơng” [10] [6,14] Yếu “Có” [4,5,10] Trung bình “Có” [12] Hình 2.6: Cây kết áp dụng thuật toán CLS với liệu bảng 2.1,thứ tự lựa chọn thuộc tính Bầu trời, Nhiệt độ, Gió, Độ ẩm Ví dụ khẳng định sử dụng thuật toán CLS để xây dựng việc chọn thứ tự thuộc tính mở rộng ảnh hưởng tới hình dạng độ rộng, độ sâu hay nói cách khác ảnh hướng đến độ phức tạp Vì vấn đề đặt thứ tự thuộc tính chọn đểtriển khai tốt nhất? Thuật toán ID3 đề cập giải vấn đề 24 2.4.2 Thuật toán ID3 Thuật tốn ID3 cơng bốchính thức Quinlan năm 1986 [11] ID3 thuật toán đơn giản tỏ thành công nhiều lĩnh vực ID3 biểu diễn khái niệm dạng định Biểu diễn cho phép xác định phân loại đối tượng cách kiểm tra giá trị số thuộc tính Nhiệm vụ thuật toán ID3 học định từ tập liệu huấn luyện - Đầu vào: Một tập hợp mẫu liệu, mẫu bao gồm thuộc tính mơ tả tình đối tượng giá trị phân loại - Đầu ra: Cây định có khả phân loại đắn đối tượng tập liệu huấn luyện, hy vọng phân loại cho liệu chưa gặp tương lai Thuật toán ID3 xem cải tiến CLS với khả lựa chọn thuộc tính tốt để tiếp tục triển khai bước ID3 xây dựng định từ trênxuống (top -down) tập đối tượng thuộc tính Tại nút cây, tiến hành việc kiểm tra thuộc tính nhằm tìm thuộc tính tốt dùng để phân chia tập đối tượng mẫu, theo giá trị thuộc tính chọn để mở rộng Quá trình thực cách đệ quy đối tượng phân vùng thuộc lớp, lớp trở thành nút ID3 sử dụng tới hai hàm Entropy Gain[11]để thực điều Entropy: đặc trưng độ hỗn tạp (dùng để đo tính nhất) tập liệu bất kỳ, trường hợp đơn giản, giả sử mẫu liệu có hai thuộc tính phân lớp có giá trị "CĨ" (+), giá trị "KHƠNG" (-) Ta ký hiệu: S tập mẫu thuộc lớp âm “KHÔNG” lớp dương “CÓ”; P+ tỷ lệ mẫu có giá trị thuộc tính định "CĨ" S; P- tỷ lệ mẫu có giá trị thuộc tính định "KHƠNG" S, ta có: 25 ( ) ( ) Entropy (S ) = − P + log P + − P − log P − (2.1) Trường hợp tổng quát, tập S có n phân lớp ta có cơng thức sau: Entropy (S ) = n (2.2) ∑ (− Pi log (Pi )) i =1 Trong Pi tỷ lệ mẫu thuộc lớp i tập hợp S mẫu kiểm tra Các trường hợp đặc biệt: - Nếu tất mẫu thành viên tập S thuộc lớp Entropy(S) = 0; - Nếu tập S có số mẫu phân bổ vào lớp Entropy(S) = 1; - Các trường hợp cịn lại < Entropy(S) < 1; Information Gain (gia lượng thông tin - gọi tắt Gain): đại lượng dùng để đo tính hiệu thuộc tính lựa chọn cho việc phân lớp Đại lượng tính thơng qua hai giá trị Information Entropy Cho tập liệu S gồm có n thuộc tính Ai (i=1,2…n) giá trị Information thuộc tính Ai ký hiệu Information(Ai) xác định công thức: n Si i =1 S I ( S,A i ) = −∑ Entropy ( Si ) (2.3) Giá trị Gain thuộc tính A tập S ký hiệu Gain(S,A) tính theo cơng thức: Gain ( S,A ) = Entropy ( S) − I ( S,A ) = Entropy ( S) − ∑ v∈value( A ) Sv S Entropy ( Sv ) (2.4) Trong đó:  S tập ban đầu mẫu với thuộc tính A Các giá trị v tương ứng giá trị thuộc tính A  Sv tập S mà có thuộc tính A mang giá trị v  |Sv| số phần tử tập Sv  |S| số phần tử tập S 26 Trong q trình xây dựng định theo thuật tốn ID3, bước triển khai ta cần tính giá trị Gain thuộc tính Thuộc tính có giá trị Gain lớn chọn thuộc tính để triển khai Hàm xây dựng định thuật toán ID3 sau: TreeNode function Buildtree(S, A){ if (mọi mẫu S nằm lớp) return nút gán nhãn lớp đó; else if (A rỗng) return nút gán nhãn tuyển tất lớp S; // lớp phổ biến tập S else { chọn A.best có giá trị Gain max A với tập mẫu S làm gốc cho sinh; A=A-A.best; // xoa A.best khoi A foreach (giá trị A.best) { Tạo nhánh gán nhãn ai; Đặt vào Sicác mẫu S có giá trị thuộc tính A.best; Buildtree(Si, A); Gắn kết vào nhánh ai; } } } Để minh hoạ cho thuật tốn ID3 ta xét ví dụ: Ví dụ 2.2:Cho tập liệu huấn luyện S thể bảng 2.1, xây dựng định chơi thể thao Tập S gồm 14 mẫu liệu, thuộc tính Ngày thuộc tính định danh Các thuộc tính ứng viên, thuộc tính Quyết định chơi thể thao thuộc tính phân lớp Ta có: S gồm 14 mẫu [9+,5-] Tính giá trị Gain cho thuộc tính ta có: 27 (1) Với thuộc tính Bầu trời = {Nắng = “N”, U ám = “U”, Mưa = “M”} ta có: + Bầu trời = “N” có mẫu nhận giá trị "Có", mẫu nhận giá trị "Không" [2+,3] + Bầu trời = “U” có mẫu nhận giá trị "Có", mẫu nhận giá trị "không" [4+,0] + Bầu trời = “M” có mẫu nhận giá trị "Có" mẫu nhận giá trị "Khơng" [3+,2-] Khi đó: S = [9+,5-] 9 5 log2 − log2 14 14 14 14 = 0.410 + 0.531 = 0.940 Entropy(S ) = Entropy([9+,5 −]) = − Ta có: + SN = [2+,3-] nên: Entropy(S N ) = Entropy([2+,3 −]) = − 2 3 log − log 14 14 14 14 = 0.401 + 0.476 = 0.877 + SU = [4+,0-] nên: Entropy(SU ) = Entropy([4+,0 −]) = − 4 4 log2 − log2 14 14 14 14 = 0.516 + SM = [3+,2-] nên: Entropy(SU ) = Entropy([3+,2 −]) = − 3 2 log2 − log2 14 14 14 14 = 0.476 + 0.401 = 0.877 Từ kết ta tính được: Gain(S,Bầu trời) = Entropy(S ) − ∑ v∈{N ,U , M } 28 Sv S Entropy(S v ) 5 Entropy (S N ) − Entropy (SU ) − Entropy (S M 14 14 14 5 = 0.940 − × 0.877 − × 0.516 − × 0.877 = 0.166 14 14 14 = Entropy (S ) − ) (2) Với thuộc tính Nhiệt độ = {Nóng, Bình thường, Lạnh} cách tính tương tự trên, ta có kết tính tốn sau: Ta có: Entropy (S) = 0.940 Gain(S, Nhiệt độ) = 0.940 − × 0.802 − × 0.917 − × 0.748 = 0.104 14 14 14 (3) Với thuộc tính Độ ẩm = {Cao,Trung bình} ta có kết tính sau: Ta có: Entropy (S) =0.940 Gain(S,Độ ẩm) = 0.940 − 7 × 0.993− × 0.796 = 0.046 14 14 (4) Xét thuộc tính Gió = {Mạnh, Yếu} ta có kết tính sau: Ta có: Entropy(S) =0.940 Gain(S,Độ ẩm) = 0.940 − × 0.952 − × 0.925 = 0.003 14 14 Từ (1),(2),(3),(4) ta nhận thấy thuộc tính “Bầu trời” có giá trị Gain lớn Vậy ta chọn thuộc tính “Bầu trời” thuộc tính dùng để triển khai Thuộc tính “Bầu trời” chọn làm nhãn cho nút gốc Do thuộc tính “Bầu trời” có giá trị Bầu trời = {Nắng, U ám, Mưa} nên nhánh tạo từ nút gốc có nhãn tương ứng, thu có dạng hình 29 Bầu trời [1,2,3,4,5,6,7,8,9,10,11,12,13,14] U ám Nắng “?” [1,2,8,9,11] [2+,3-] Mưa “?” “?” [3,7,12,13] [4+,0-] [4,5,6,10,14] [3+,2-] Hình 2.7: Cây thu sử dụng thuật toán ID3 với thuộc tính “Bầu trời” chọn - Xét nhánh bên trái với giá trị “Nắng”: Ta nhận thấy, mẫu nhánh không thuộc lớp, phải tính giá trị Gain thuộc tính ứng viên cịn lại Ta có: Entropy(SNắng) = Entropy([2+,3 −]) = − log2 3 − log2 = 0.971 5 Tính Gain cho thuộc tính ứng viên cịn lại để chọn thuộc tính mở rộng ta có: Với thuộc tính Nhiệt độ = {Nóng, Bình thường, Mát} + Bầu trời = “Nắng” Nhiệt độ = “Nóng” khơng có mẫu nhận giá trị "Có", có mẫu nhận giá trị "Không" [0+,2-]; + Bầu trời = “Nắng” Nhiệt độ = “Bình thường” có mẫu nhận giá trị "Có", mẫu nhận giá trị "Khơng" [1+,1-]; + Bầu trời = “Nắng” Nhiệt độ = “Mát” có mẫu nhận giá trị "Có" mẫu nhận giá trị "Khơng" [1+,0-] Khi ta có: Entropy(SNóng) = Entropy([0+,2 −]) = − log2 2 − log2 = 0.529; 5 1 5 Entropy(SBình thường) = Entropy([1+,1 −]) = − log2 − log2 30 = 0.929; (5) (6) Entropy(SMát) = Entropy([1+,0 −]) = − log2 0 − log2 = 0.464; 5 (7) Từ (5),(6) (7) dẫn đến: Sv ∑ Gain(Snắng,Nhiệt độ) = Entropy(Snắng) - v ∈ Nhietdo S Entropy (S v ) 2 = 0.971 − × 0.529 − × 0.929 − × 0.464 = 0.295; 5 - Xét thuộc tính Độ ẩm = {Cao,Trung bình} + Bầu trời = “Nắng” Độ ẩm = “Cao” khơng có mẫu nhận giá trị "Có" có mẫu nhận giá trị "Khơng" [0+,3-]; + Bầu trời = “Nắng” Độ ẩm = “Trung bình” có mẫu nhận giá trị "Có" khơng có mẫu nhận giá trị "Khơng" [2+,0-] Khi ta có: Entropy(SCao) = Entropy([0+,3 −]) = − log2 3 − log2 = 0.442; 5 5 Entropy(STrung bình) = Entropy([2+,0 −]) = − log2 0 − log2 = 0.529; 5 (8) (9) Từ (8) (9) ta có: ∑ Gain(SNắng,Độ ẩm) = Entropy(Snắng) - v∈Dô âm Sv S Entropy(S v ) = 0.971− × 0.442 − × 0.529 = 0.494 - Xét tiếp thuộc tính Gió = {Mạnh,Yếu} + Bầu trời = “nắng” Gió = “Mạnh” có mẫu nhận giá trị "Có" mẫu nhận giá trị "Không" [1+,1-]; + Bầu trời = “Nắng” Gió = “Yếu” có mẫu nhận giá trị "Có" mẫu nhận giá trị "Khơng" [2+,1-] 31 Khi ta có: Entropy(SMạnh) = Entropy([1+,1-]) 1 1 = − log2 − log2 = 0.464 + 0.464 = 0.929; 5 5 Entropy(SYếu)= Entropy([2+,1-]) 2 1 = − log − log = 0.529 + 0.464 = 0.993; 5 5 Từ hai kết ta có: Gain(SNắng,Gió) = Entropy(Snắng) - ∑ v∈ Giã = 0.971 − Sv S Entropy ( Sv ) × 0.928 − × 0.993 = 0.004 5 Từ kết tính tốn suy thuộc tính “Độ ẩm” có giá trị Gain lớn nhất, thuộc tính “Độ ẩm” chọn làm thuộc tính để triển khai cây, kết hình 2.8 sau: Bầu trời [1,2,3,4,5,6,7,8,9,10,11,12,13,14] U ám Nắng Độ ẩm [1,2,8,9,11] [2+,3-] Cao “?” [1,2,8] [0+,3-] “?” [3,7,12,13] [4+,0-] Mưa “?” [4,5,6,10,14] [3+,2-] Trung bình “?” [9,11] [2+,0-] Hình 2.8: Cây phát triển thuộc tính Độ ẩm chọn để làm thuộc tính triển khai Tại nút có nhãn Độ ẩm xét nhánh: + Với nhánh Độ ẩm = “Cao” ta thấy tất mẫu thuộc lớp 32 "không" => nút nhãn nút gán "Không" + Với nhánh Độ ẩm = “Trung bình” ta thấy tất mẫu thuộc lớp "có" => nút với nhãn nút gán "Có" Như ta thu có dạng hình 2.9 sau: Bầu trời [1,2,3,4,5,6,7,8,9,10,11,12,13,14] Nắng Độ ẩm [1,2,8,9,11] [2+,3-] Cao U ám Mưa “?” “?” [3,7,12,13] [4+,0-] [4,5,6,10,14] [3+,2-] Trung bình “Khơng” “Có” [1,2,8] [9,11] Hình 2.9: Cây sau xét thuộc tính Độ ẩm với nhánh có giá trị “Cao” “Trung bình” Ta tiếp tục xét nhánh cây, Bầu trời = “U ám”, ta nhận thấy mẫu [3,7,12,13] thuộc lớp "Có" => nút với nhãn nút "Có" thu sau: Bầu trời [1,2,3,4,5,6,7,8,9,10,11,12,13,14] Nắng Độ ẩm [1,2,8,9,11] [2+,3-] Cao U ám “Có” [3,7,12,13] Mưa “?” [4,5,6,10,14] [3+,2-] Trung bình “Khơng” “Có” [1,2,8] [9,11] Hình 2.10: Cây sau tiếp tục xét thuộc tính Bầu trờivới nhánh giữacó giá trị “U ám” 33 Tương tự, ta xét nhánh bên phải cây, thuộc tính Bầu trời = “Mưa”, ta nhận thấy mẫu thuộc nhánh khơng thuộc lớp, cần phải tiếp tục mở rộng Tiếp tục tính giá trị Gain thuộc tính “Gió” “Nhiệt độ” cịn lại, thực tương tự mở rộng nhánh bên trái cây, ta thu kết hình Bầu trời [1,2,3,4,5,6,7,8,9,10,11,12,13,14] Nắng Độ ẩm “Gió” “?” [3,7,12,13] Cao Cao [1,2,8] MưaMư “Có” “?” “Khơng” U ám Trung Trung bình bình “Có” [9,11] Mạnh Yếu “Khơng” “Có” [6,14] [4,5,10] Dưới kết rút gọn: Hình 2.11:làCây quảđịnh áp dụng thuật toán ID3 với liệu bảng Bầu trời Nắng U ám Mưa “Gió” Độ ẩm Có Cao Cao Khơng Mạnh Trung bình Trung bình Có Khơng Yếu Có Hình 2.12: Cây định chơi thể thao Với việc tính tốn giá trị Gain để lựa chọn thuộc tính tối ưu cho việc triển khai cây, thuật toán ID3 xem cải tiến thuật toán CLS Tuy nhiên, thuật toán ID3 khơng có khả xử lý liệu có chứa thuộc tính số - 34 thuộc tính liên tục khó khăn việc xử lý liệu thiếu liệu nhiễu Vấn đề giải thuật toán C4.5 sau 2.4.3 Thuật toán C4.5 Thuật toán C4.5 phát triển cơng bố Quinlan vào năm 1996[17][19] Thuật tốn C4.5 thuật toán cải tiến từ thuật toán ID3 với việc cho phép xử lý tập liệu có thuộc tính số làm việc với tập liệu bị thiếu bị nhiễu Nó thực phân lớp tập mẫu liệu theo chiến lược ưu tiên theo chiều sâu (depth - first) Thuật tốn xét tất phép thử để phân chia tập liệu cho chọn phép thử có giá trị GainRatio tốt GainRatio đại lượng để đánh giá độ hiệu thuộc tính dùng để thực phép tách thuật toán để phát triển định GainRatio tính dựa kết tính tốn đại lượng Information Gain theo công thức sau: GainRatio ( X , T ) = Gain ( X , T ) SplitInfo ( X , T ) (2.5) Với: SplitInfo ( X , T ) = − ∑ i∉value ( X ) Ti T × log Ti T (2.6) Trong đó: - Value(X) tập giá trị thuộc tính X; - Ti tập tập T ứng với thuộc tính X = giá trị vi Đối với thuộc tính liên tục, tiến hành phép thử nhị phân cho giá trị thuộc tính Để thu thập giá trị Entropy gain tất phép thử nhị phân cách hữu hiệu ta tiến hành xếp liệu theo giá trị thuộc tính liên tục bằng thuật tốn xếp (ví dụ Quicksort) Thuật toán xây dựng định C4.5 Mơ tả thuật tốn dạng giả mã sau: TreeNotefunction Buildtree(T){ 35 ; if (nếu mẫu thuộc lớp có mẫu khác lớp) return nút lá; else Tạo nút định N; foreach(với thuộc tính A) Tính giá trị Gain(A); Tại nút N, thực việc kiểm tra để chọn thuộc tính có giá trị Gain tốt (lớn nhất); N.test = thuộc tính có Gain lớn nhất; if (N.test thuộc tính liên tục) Tìm ngưỡng cho phép tách N.test; for(Với tập T’ tách từ tập T){ // * T’ tách theo quy tắc: - Nếu N.test thuộc tính liên tục tách theo ngưỡng bước - Nếu N.test thuộc tính phân loại rời rạc tách theo giá trị thuộc tính *// if (T' rỗng) Gán nút nút N nút lá; Else Gán nút nút trả cách gọi đệ quy lại hàm Buildtree(T'), với tập T'; } Tính tốn lỗi nút N; Trả nút N;} Một số công thức sử dụng: n Ti i =1 T Info X (T ) = − ∑ × Info (Ti ) Gain( X ) = Info(T ) − InfoX (T ) (2.7) (2.8) Công thức (2.8) sử dụng làm tiêu chuẩn để lựa chọn thuộc tính phân lớp Thuộc tính chọn thuộc tính có giá trị Gain tính theo (2.8) đạt giá trị lớn Một số cải tiến thuật tốn C4.5 1) Làm việc với thuộc tính đa trị Tiêu chuẩn (2.8) có khuyết điểm khơng chấp nhận thuộc tính đa trị Vì thuật toán C4.5 đưa đại lượng GainRatio SplitInfo (SplitInformation), chúng xác định theo công thức sau: 36 P= ( freq C j , T ) T n Ti i =1 T SplitInfo ( X ) = − ∑ GainRatio ( X ) = × log Ti (2.9) T Gain ( X ) SplitInfo ( X ) (2.10) Giá trị SplitInfo đại lượng đánh giá thông tin tiềm thu thập phân chia tập T thành n tập hợp GainRatio tiêu chuẩn để đánh giá việc lựa chọn thuộc tính phân loại 2) Làm việc với liệu bị thiếu Thuật toán vừa xây dựng áp dụng với giả thuyết tất mẫu liệu có đủ thuộc tính Nhưng thực tế, xảy tượng liệu bị thiếu, nghĩa số mẫu liệu có vài thuộc tính khơng xác định, mâu thuẫn, khơng bình thường (ở ta xem xét kỹ với trường hợp liệu bị thiếu) Đơn giản không đưa mẫu với giá trị bị thiếu vào, làm dẫn đến tình trạng thiếu mẫu học Giả sử T tập hợp gồm mẫu cần phân loại, Xlà phép kiểm tra theo thuộc tính L, U số lượng giá trị bị thiếu thuộc tính L, ta có: k Info(T ) = − ∑ ( freq C j , T T −U j =1 n Info X (T ) = − ∑ j =1 T T −U ) × log (  freq C j , T   T −U 2 ( ) × log T j )   (2.11) (2.12) Trong trường hợp này, tính tần số freq(Ci , T) ta tính riêng mẫu với giá trị thuộc tính L xác định, (2.8) thay công thức (2.13) sau: Gain ( X ) = T −U T × (Info (T ) − Info X (T )) (2.13) Tương tự với công thức (2.13), phép kiểm tra có N giá trị đầu vào tiêu 37 chuẩn (2.13) tính trường hợp chia N tập hợp ban đầu thành (N+1) tập hợp Giả sử phép thử X có giá trị O1,O2, On lựa chọn theo tiêu chuẩn (2.13), ta cần xử lý với liệu bị thiếu? Giả sử mẫu từ tập T với đầu Oi có liên quan đến tập Ti khả mẫu thuộc tập hợp Ti Giả sử mẫu Ti có số xác định xác suất thuộc tập Ti: - Nếu mẫu có giá trị thuộc tính L có trọng số - Ngược lại, mẫu liên quan đến tập T1,T2, Tn với xác suất tương ứng là: T1 T2 Tn , , , | T | −U | T | −U | T | −U Qua đó, ta dễ thấy tổng xác suất n Ti i =1 T −U ∑ =1 Kết luận: xác suất xuất giá trị bị thiếu tỷ lệ thuận với xác suất xuất giá trị không thiếu Đánh giá độ phức tạp: Với m kích thước liệu huấn luyện n số lượng thuộc tính, thuật tốn C4.5 chuẩn có độ phức tạp O(m.n2) 2.4.4 Thuật toán Học định nhanh Thuật tốn cơng bố JiangSu HarryZhang thuộc khoa Khoa học máy tính đại học New Brunswick thuộc Canada[14] Thuật toán Học định nhanh có độ phức tạp thời gian O(m.n), m kích thước liệu huấn luyện n số lượng thuộc tính Đây cải thiện đáng kể so với độ phức tạp O(m.n2) thuật toán học định C4.5chuẩn[17], với mức tăng thêm khơng gian có O(n) Các thí nghiệm cho thấy thuật toán thực cạnh tranh với C4.5 độ xác số lượng lớn liệu chuẩn UCI, thực tốt nhanh C4.5 đáng kể số lượng lớn liệu phân lớp dạng văn Thuật toán thuật toán xây dựng cốt 38 lõi kết hợp với kỹ thuật mở rộng quy mô khác khả tăng tốc Với giả định sau: - Tất thuộc tính liệu dạng phi số, thuộc tính sau xảy lần đường từ đến gốc - Số lớp số lượng giá trị thuộc tính nhiều so với m sau loại bỏ - Tất liệu huấn luyện nạp vào nhớ Trong phát triển cây, kinh nghiệm tìm kiếm đóng vai trị quan trọng việc xác định phân lớp chi phí tính tốn Hầu hết thuật toán học định đại thơng qua kinh nghiệm tìm kiếm túy, chủ yếu đo độ tinh khiết tập kết sau áp dụng thuộc tính chia tách để phân vùng liệu huấn luyện Gia lượng thông tin(Information Gain -IG) định nghĩa sử dụng rộng rãi phương thức tìm kiếm chuẩn: IG ( S, X ) = Entropy ( S) − ∑ Sx S Entropy ( Sx ) (2.14) Trong S tập hợp trường đào tạo, X thuộc tính x giá trị nó, Sx tập hợp S bao gồm trường hợp với X = x, Entropy (S) định nghĩa sau: C Entropy ( S) = − ∑ PS ( ci ) logPS ( ci ) (2.15) i =1 Trong PS (ci) ước tính tỷ lệ phần trăm trường hợp thuộc citrong S, |C| số lớp Entropy(Sx)được định nghĩa tương tự Lưu ý rằng, xây dựng trình đệ quy phân vùng liệu huấn luyện S liệu liên kết đào tạo với nút hành Theo đó, PS (ci) thực P (ci | xp) toàn liệu huấn luyện, nơi Xp tập thuộc tính dọc theo đường từ nút vào thư mục gốc, gọi đường thuộc tính, xp phép gán giá trị cho biến Xp Tương tự vậy, PSx(ci) 39 P(ci|xp,x) toàn liệu đào tạo Trong trình xây dựng cây, thuộc tính ứng viên (các thuộc tính khơng Xp) kiểm tra cách sử dụng công thức (2.14), giá trị Information-gain cao chọn để xác định thuộc tính chia tách Phần tốn nhiều thời gian trình đánh giá P(ci | xp, x) để tính Entropy (Sx) Nó phải qua trường hợp Sx, phần tử số lặp theo ứng viên thuộc tính X Điều dẫn đến độ phức tạp thuật toán bằngO(| S | n) Lưu ý, tập hợp liệu cấp toàn liệu đào tạo có kích thước m, độ phức tạp cho cấp độ O(m.n) Do đó, thuật tốn học định chuẩn có độ phức tạp O(m.n2) Quan sát cho thấy khơng cần phải qua S cho thuộc tính ứng viên để ước tính P(ci | xp, x) Theo lý thuyết xác suất, ta có: P(ci x p ,x) = P(ci x p )P(x x p ,ci ) = P(x x p ) P(ci x p )P(x x p , ci ) ∑ C i =1 P(ci x p )P(x x p , ci ) (2.16) Giả sử thuộc tính ứng viên độc lập với đường giao thuộc tính xp lớp, tức là: P(X x p ,C) = P(X C) (2.17) Sau ta có: P(ci x p , x) ≈ P(ci x p )P(x ci ) ∑ C P(ci x p )P(x ci ) i =1 (2.18) Việc đạt thông tin thu Công thức (2.18) (2.14) gọi Gia lượng thông tin độc lập–IIG (independent information gain) Lưu ý công thức (2.18), P (x | ci) tỷ lệ phần trăm trường với X = x C = ci 40 toàn liệu huấn luyện trước tính toán lưu trữ với phức tạp O(m.n) trước q trình xây dựng với mức tăng thêm khơng gian O (n), P (ci | xp) tỷ lệ phần trăm trường hợp thuộc lớp ci S tính tốn cách qua S lần lấy O(| S |) Vì vậy, cấp cây, thời gianđể tính P(ci | xp, x)khi sử dụng công thức(2.18) O(m), thuật tốn C4.5 O(m.n) cách sử dụng cơng thức (2.16) Để tính tốn IIG, phải tính S x công thức (2.14) Nếu xem xét S phân vùng cho thuộc tính ứng viên X, độ phức tạp tương ứng O(m.n) May mắn S x = P (x | xp) tính xấp xỉ mẫu số công thức S (2.18) thời gian O(m) Trong thuật tốn C4.5 phải O(m.n) Chi phí để lựa chọn thuộc tính chia tách dựa trênIIG tương tự cách tính Gia lượng thơng tin thuật tốn C4.5 Đối với nút tại, IIG(S,X) phải tính tốn cho thuộc tính ứng viên, chi phí thời gian O(n) cho nút Tổng chi phí thời gian để lựa chọn thuộc tính phân chia tồn O(k n), với k số lượng nút bên Trong trường hợp xấu nhất, chứa trường hợp nhất, số lượng nút nội O(m) Như vậy, tổng chi phí thời gian để lựa chọn thuộc tính chia tách O(m.n) Lưu ý làthuật tốn C4.5 cho chi phí tương tự chọn thuộc tính chia tách Tổng thời gian cho việc phát triển tổng thời gian dự toán xác suất, phân vùng, chọn thuộc tính chia tách Do đó, độ phức tạp việc phát triển sử dụng IIG O(m.n) So với độ phức tạp O(m.n2) C4.5 dựa độ lợi thơng tin (IG) thực cải tiến đáng kể Giả định độc lập điều kiện cơng thức (2.17) tương tự giả định độc lập có điều kiện tiếng Naive Bayes, cho tất thuộc tính độc lập cho lớp học, định nghĩa sau: n P(X 1, X , , X n C) = ∏ P(X i C) i =1 Thuật toán NT 41 (2.19) Các thuật toán dựng dựa giả định độc lập có điều kiện gọi Thuật toán NT (naive tree), minh họa sau: Đầu vào: Π tập hợp thuộc tínhứng viên, S tập hợp nhãn trường Đầu ra: Một địnhT AlgorithmNT(Π, S) Bước 1:Nếu (S lớp rỗng) (Π trống) Return T Bước 2: Tính PS(ci) S cho lớp ci Bước 3: Lặp với thuộc tính X Π : tính IIG(S,X)(dựa theo cơng thức 2.14 2.18) Bước 4: Đặt thuộc tính Xmax làm cho IIG lớn làm Gốc Bước 5: Phân vùng tập S thành tập Sx dựa vào Xmax Bước 6: Lặp với tất x thuộc Xmax B6.1 Tính Tx=NT(Π−Xmax, Sx) B6.2.Thêm Tx Xmax Bước 7:ReturnT Trước gọi thuật toán NT, tập hợp xác suất P(X | C) cần tính tốn liệu đào tạo cho thuộc tính lớp, độ phức tạp O(m.n) Dựa theo phân tích trước đó, tổng độ phức tạp thuật tốn NT O(m n) Sự khác biệt lớn NT C4.5 Bước Thuật tốn C4.5 tính gia lượng thông tin (IG) cách sử dụng P(ci | xp, x) cho thuộc tính ứng viênXmất chi phí O(m.n) Trong NT, P(ci | xp, x) tính xấp xỉ sử dụng công thức (2.18) chi phí O(m) Lưu ý thuật tốn NT trên, không áp dụng với thuộc tính số đơn giản Thuật tốn NT xử lý thuộc tính số cách sau : 1)Trong tiền xử lý, tất thuộc tính số rời rạc hóa k rời rạc, với k = m 2) Trong việc lựa chọn thuộc tính chia tách, thuộc tính số đối xử 42 giống thuộc tính khơng phải số 3) Khi thuộc tính số lựa chọn, điểm tách tìm thấy cách sử dụng cách C4.5 Sau đó, phân vùng tương ứng thực bước 5, gọi hàm đệ quy cho tập bước (Một thuộc tính số lựa chọn lần việc chọn thuộc tính nút hậu duệ.) Lưu ý rằng, không thay đổi cách lựa chọn thuộc tính chia tách NT có thuộc tính số, ta sử dụng cách C4.5 để chọn điểm chia tách sau thuộc tính số lựa chọn Do đó, độ phức tạp thời gian cho việc lựa chọn tách thuộc tính cho NT giữ nguyên, lợi C4.5 Bằng trực giác, kích thước tạo thuật tốn NT có xu hướng lớn áp dụng thuật toán C4.5 Vấn đề khắc phục cách cắt tỉa theo phương pháp cắt tỉa áp dụng cho C4.5, sau rút gọn khơng cịn lớn phương pháp dùng thuật toán C4.5 2.4.5 Thuật toán SLIQ Thuật toán SLIQ (Supervised Learning In Quest)[18]được gọi thuật toán phân lớp leo thang nhanh Thuật toán thực hai kiểu thuộc tính rời rạc thuộc tính liên tục Thuật tốn có sử dụng kỹ thuật tiền xử lý xếp (Presorting) trước xây dựng cây, giải vấn đề giảm chi phí nhớ cho thuật tốn ID3 Thuật tốn SLIQ có sử dụng giải thuật cắt tỉa hữu hiệu Thuật toán SLIQ thực phân lớp hiệu tập liệu lớn không phụ thuộc vào số lượng lớp, số lượng thuộc tính số lượng mẫu tập liệu Xây dựng định theo thuật toán chia làm giai đoạn: 1) Giai đoạn tạo  Vào: tập liệu học T  Ra: phân loại tập T Hàm:MakeTree(TrainingData T){ 43 partition (T) ;} 2) Giai đoạn phân chia tập liệu T Thủ tục phân loại tập T có giả mã sau: void function Partition (Data T) { If (tất giá trị tập T thuộc lớp) return nút lá; else{ ; ; Partition(T1); Partition(T2); } }  Chỉ số chia tách (Spliting index) Vấn đề đặt thủ tục Partition(T) làm để đánh giá thuộc tính tốt cho việc lựa chọn thuộc tính để chia tách? Để đánh giá thuộc tính tốt đó, thuật toán SLIQ đưa vào đại lượng, gọi số hàm gini, số gini định nghĩa sau: - Nếu T gồm n lớp giá trị gini T ký hiệu gini(T) xác định công thức: gini(T ) = − ∑ p 2j (2.20) Trong pj tần suất xuất lớp j tập mẫu T - Nếu T tách làm tập T1 T2 số gini T tách ký hiệu gini(T)split xác định công thức sau: gini (T )split = T1 T gini (T1 ) + T2 gini (T2 ) T (2.21) Sau tính tốn số gini cho nút, thuộc tính có số gini nhỏ chọn để thực tiếp việc triển khai Kỹ thuật tiền xử lý phân loại 44 Kỹ thuật tiền xử lý phân loại (Presorting Technique) tạo lược đồ cách xếp liệu tạo nút Ứng với thuộc tính có danh sách riêng tạo tập giá trị thuộc tính định danh mẫu liệu Mỗi danh sách riêng gọi danh sách lớp (Class list) Các danh sách tạo tương ứng nhãn gắn với mẫu học Thuật toán SLIQ yêu cầu thời điểm có danh sách lớp danh sách thuộc tính lưu trữ nhớ máy tính, danh sách cịn lại lưu đĩa  Đánh giá phân chia Thuật toán đánh giá phân chia: void function EvaluateSplits(){ for (Với thuộc tính A){ - Duyệt danh sách giá trị thuộc tính A; for (với giá trị v danh sách thuộc tính) - Tìm mục tương ứng danh sách lớp, sau tìm lớp tương ứng với nút 1; - Cập nhật biểu đồ lớp vào nút 1; if (A thuộc tính số) for (với nút cây) - Tìm tập tập A có số tách tốt nhất; } } Cập nhật danh sách lớp Thuật toán cập nhật danh sách lớp: void function UpdateLabels(){ for (A sử dụng phép tách){ - Duyệt danh sách thuộc tính A; for (value(v) in ListAttr(A)){ -Tìm mục tương ứng với danh sách lớp x; -Tìm lớp c chứa giá trị v cách áp dụng kiểm tra phân chia nút c tham chiếu từ e; 45 - Cập nhật nhãn lớp cho lớp e vào lớp c; - Cập nhật nút tham chiếu e vào nút tương ứng cho lớp C; } } } Ta xét ví dụ sau: Ví dụ 2.3: Sử dụng thuật toán SLIQ với kỹ thuật tiền xử lý phân loại, sử dụng thuật toán đánh giá phân chia, cập nhật danh sách lớp để phân lớp liệu với bảng liệu 2.2 Trong bảng liệu, TUỔI, LƯƠNG thuộc tính ứng viên, XẾP LOẠI thuộc tính phân lớp (G=Tốt; B=Kém) Bảng 2.2: Bảng đánh giá độ tuổi mức lương ID TUỔI LƯƠNG XẾP LOẠI 30 65 G 23 15 B 40 75 G 55 40 B 55 100 G 45 60 G - Tiền xử lý phân loại: Từ tập liệu học sau bước tiền xử lý phân loại xếp liệu, khởi tạo nút gốc (root) ta thu danh sách lớp bảng 2.3 Bảng 2.3: Các bảng liệu sau tiền xử lý phân loại xếp Danh sách Tuổi Danh sách Lương TUỔI LƯƠNG ID ID 46 Danh sách Xếp loại ID XẾP LOẠI NÚT LÁ 23 15 G {Root} 30 40 B {Root} 40 60 G {Root} 45 65 B {Root} 55 75 G {Root} 55 100 G {Root} - Chọn thuộc tính phân tách: 1) Thuộc tính Tuổi: 23, 30, 40, 45, 55 23 30 40 45 55 B 0 G 1 1 Áp dụng công thức 2.20 2.21 để tính số Gini(Tuổi) ta thu kết sau: 1 0 Gini (23 ) = −   −   6 6 2 2 2 2 0 1 Gini (30 ) = −   −   6 6 0 1 Gini (40 ) = −   −   6 6 0 1 Gini (45 ) = −   −   6 6 1 1 Gini (55 ) = −   −   6 6 = − 167 = 972 ; = − 167 = 972 ; = − 167 = 972 ; = − 167 = 972 ; = − 167 − 167 = 944 ; 1  1  1  1  Gini ( Ti)Split =  × 0.972  +  × 0.972  +  × 0.972  +  × 0.972  6  6  6  6  1  +  × 0.944  = 0.805 6  2) Thuộc tính Lương: 15, 40, 60, 65, 75, 100 47 15 40 60 65 75 100 B 1 0 0 G 0 1 1 Áp dụng công thức 2.20 2.21 để tính số Gini(Lương) ta thu kết sau: 2 1 0 Gini (15 ) = −   −   = − 167 = 972 ; 6 6 2 2 2 2 0 1 Gini (40 ) = −   −   6 6 0 1 Gini (60 ) = −   −   6 6 0 1 Gini (65 ) = −   −   6 6 0 1 Gini (75 ) = −   −   6 6 0 1 Gini (100 ) = −   −   6 6 = − 167 = 972 ; = − 167 = 972 ; = − 167 = 972 ; = − 167 = 972 ; = − 167 = 972 ; 1  1  1  1  Gini ( L- ơng)Split = ì 0.972 + × 0.972  +  × 0.972  +  × 0.972  7  7  7  7  1  1  +  × 0.972  +  × 0.972  = 0.972 7     Ta thấy: Gini(Tuổi) = 0.805 < Gini(Lương) = 0.972 => Chọn thuộc tính Tuổi gán nhãn {Root} = {Tuổi} Xét thuộc tính Tuổi ta lập bảng 2.4 sau: Bảng 2.4: Bảng tổng hợp liệu kết sau thuộc tính Tuổi chọn làm thuộc tính phân tách ID Xếp loại B G G G B G Tuổi Giá trị xếp 23 30 40 45 55 55 48 B 26.5 ≤ > 1 ≤ G Gini 0.267 Giá trị điểm tách 35 > 42.5 ≤ > 1 ≤ > 3 0.417 50 0.444 0.417 Tính giá trị Gini điểm tách thuộc tính Tuổi + Tại điểm tách v = 26.5 ta có: L (trái): N1 R (phải):N2 B 1 G 1 0 Gini ( N ) = −   −   1 1 2 1 4 Gini ( N ) = −   −   5 5 = − 12 = = − 2 − = 32 1 5 Gini (26 ) =   × +   × 0.32 = 0.267 6 6 + Tại điểm tách v = 35 ta có: L (trái): N1 R (phải):N2 B 1 G 2 1 1 Gini( N1 ) = −   −   = − 0.52 − 0.52 = 0.5  2  2 2 1 3 Gini (N ) = −   −   = − 25 − 75 = 375 4 4 2 4 Gini (26 ) =   × +   × 375 = 417 6 6 + Tại điểm tách v = 42.5 ta có: B L (trái): N1 R (phải):N2 1 49 G 2 2 1  2 Gini(N1 ) = −   −   = − 0.3332 − 0.6672 = 0.444  3  3 2 1  2 Gini(N ) = −   −   = − 0.3332 − 0.6672 = 0.444  3   3 3 Gini (42 ) =   × 0.444 +   × 0.444 = 0.444 6 6 + Tại điểm tách v = 50 ta có: L (trái): N1 R (phải):N2 B 1 G 2 2 1 3 Gini( N1 ) = −   −   = − 0.252 − 0.752 = 0.375  4  4 1 1 Gini(N ) = −   −   = − 0.5 − 0.52 = 0.5  2  2 4 2 Gini (50 ) =   × 375 +   × 0.5 = 0.417 6 6 Từ kết ta thấy Gini(26.5) = 0.267 giá trị nhỏ nhất, chọn điểm tách cho thuộc tính Tuổi v=26.5 ta có: Tuổi Tuổi> 26.5 Tuổi ≤ 26.5 N2: Lương [1,3,4,5,6] N1:B [3] Thực tương tự trình phân tách cho nút N2 ta thu kết hình sau: Tuổi[1,2,3,4,5,6] Tuổi ≤ 26.5 B [2] Tuổi≤ 26.5 Tuổi> 26.5 50 Lương [1,3,4,5,6] Lương < 50 Hình 2.13: Cây kết sử dụng thuật toán SLIQ với tập liệu bảng 2.2 2.4.6 Thuật toán SPRINT SPRINT (Scalable PaRallelization Induction of decision Trees) đề xuất nhóm gồm tác giả John Shafer, Rakesh Agrawal Manish Mehta [15], đời thuật toán loại bỏ tất giới hạn nhớ, thực thi nhanh có khả mở rộng Thuật toán thiết kế cho phép nhiều vi xử lý làm việc đồng thời để xây dựng mơ hình phân lớp đơn, đồng Hiện nay, SPRINT thương mại hóa, thuật tốn tích hợp sẵn vào công cụ khai phá liệu hãng IBM SPRINT cải tiến thuật toán SLIQ, thuật tốn SLIQ SPRINT có cải tiến để tăng khả mở rộng thuật toán như: 1) Khả xử lý tốt với thuộc tính liên tục thuộc tính rời rạc 2) Cả hai thuật toán sử dụng kỹ thuật xếp trước lần liệu, lưu trữ thường trú đĩa liệu lớn chứa vừa nhớ Vì xếp liệu lưu trữ đĩa đắt, nên với chế xếp trước, liệu phục vụ cho trình phát triển cần xếp lần Sau bước phân chia liệu nút, thứ tự ghi danh sách trì, khơng cần phải xếp lại thuật tốn C4.5 [17] Từ làm giảm tài ngun tính tốn sử dụng giải pháp lưu trữ liệu thường trú đĩa 51 Cả thuật toán sử dụng cấu trúc liệu giúp cho việc xây dựng định dễ dàng Tuy nhiên, cấu trúc liệu lưu trữ SLIQ SPRINT khác nhau, dẫn đến khả mở rộng, song song hóa khác hai thuật toán Tương tự thuật toán SLIQ, việc xây dựng định theo thuật toán SPRINT chia làm giai đoạn (Tạo Phân chia tập liệu) Kỹ thuật phân chia liệu thành danh sách thuộc tính riêng biệt lần SLIQ đề xuất Dữ liệu sử dụng SLIQ gồm nhiều danh sách thuộc tính lưu trữ thường trú đĩa (mỗi thuộc tính tương ứng với danh sách), danh sách đơn chứa giá trị lớp lưu trữ thường trú nhớ chính, điều cho thấy kích thước danh sách lớp tỷ lệ thuận với ghi đầu vào, kích thước q lớn, danh sách lớp khơng vừa nhớ hiệu thuật tốn SLIQ giảm, hạn chế thuật toán SLIQ Tuy nhiên, SPRINT khắc phục hạn chế SLIQ cách không sử dụng danh sách lớp cư trú nhớ mà thay vào danh sách chia tách xếp giữ nguyên thuộc tính phân lớp danh sách, danh sách tạo có cấu trúc Ví dụ 2.4:Cho tập liệu đào tạo T bảng 2.5 đây, TUỔI độ tuổi, LOẠI XE loại xe ô tô, thuộc tính ứng viên, NGUY CƠ thuộc tính phân lớp, ID thuộc tính định danh bảng Bảng 2.5: Bảng thống kê mức độ nguy hiểm lái xe độ tuổi ID TUỔI LOẠI XE NGUY CƠ 23 Gia đình Cao 17 Thể thao Cao 43 Thể thao Cao 68 Gia đình Thấp 32 Xe tải Thấp 20 Gia đình Cao 52 Sau bước thực phân tách thuộc tính ta kết danh sách thuộc tính có cấu trúc bảng đây: Bảng 2.6: Cấu trúc danh sách thuộc tính tạo SPRINT TUỔI ID 17 NGUY CƠ Cao LOẠI XE ID Gia đình NGUY CƠ Cao 20 Cao Thể thao Cao 23 Cao Thể thao Cao 32 Thấp Gia đình Thấp 43 Cao Xe tải Thấp 68 Thấp Gia đình Cáo SPRINT tạo danh sách (danh sách thuộc tính) cho thuộc tính tập liệu giống SLIQ, điểm khác danh sách bao gồm thuộc tính, nhãn lớp (thuộc tính phân lớp), số ghi ID (được đánh số từ tập liệu ban đầu) Danh sách thuộc tính liên tục xếp thứ tự theo giá trị thuộc tính tạo Mặt khác, tồn danh sách thuộc tính lưu trữ đĩa, mà SPRINT loại bỏ giới hạn nhớ, có khả ứng dụng với sở liệu thực tế có số lượng lên tới hàng tỉ ghi  Biểu đồ SPRINT sử dụng biểu đồ(histogram) để lập bảng thống kê phân phối lớp ghi danh sách thuộc tính, từ dùng vào việc ước lượng điểm phân chia cho danh sách Có hai dạng biểu đồ khác biểu diễn cho hai loại thuộc tính thuộc tính liên tục thuộc tính rời rạc Đối với thuộc tính liên tục, biểu đồ ký hiệu Ctrên Cdưới, chúng sử dụng để chứa phân lớp ghi nút xác định trước Trong đó, Ctrên chứa phân lớp ghi xử lý, Cdưới chứa phân lớp ghi chưa xử lý Đối với thuộc tính rời rạc có biểu đồ gắn với nút Tuy nhiên, SPRINT sử dụng biểu đồ chứa phân lớp ứng với giá trị thuộc 53 tính cho trước, ta gọi biểu đồ ma trận đếm  Chỉ số chia tách SPRINT sử dụng số Gini để tìm thuộc tính tốt làm thuộc tính kiểm tra nút cây, cách tính áp dụng theo cơng thức(2.14) (2.15) Để tìm điểm phân chia cho nút, cần duyệt danh sách thuộc tính nút ước lượng phân chia dựa thuộc tính gắn với nút đó.Sau tính tốn số gini cho nút, thuộc tính có số gini nhỏ chọn làm điểm chia tách để thực tiếp việc triển khai - Thực với thuộc tính liên tục: giá trị kiểm tra giá trị nằm cặp giá trị liền kề thuộc tính Để tìm điểm phân chia cho thuộc tính nút định, biểu đồ khởi tạo với Cdướibằng Ctrên phân lớp tất ghi nút Hai biểu đồ cập nhật ghi đọc Mỗi trỏ chạy, số gini tính điểm phân chia nằm giá trị vừa đọc giá trị đọc Khi đọc hết danh sách thuộc tính lúc tính toàn số gini điểm phân chia cần xem xét Căn vào kết ta chọn số gini có giá trị thấp điểm phân chia thuộc tính liên tục xem xét nút Việc tính gini hồn tồn dựa vào biểu đồ Nếu tìm điểm phân chia tốt kết lưu lại biểu đồ vừa gắn danh sách thuộc tính khởi tạo lại trước xử lý với thuộc tính 54 Liệt kê biểu đồ phân lớp Cao Thấp Danh sách thuộc tính TUỔI 17 ID 20 Cao 23 Cao 32 Thấp 43 Cao 68 Thấp Vị trí NGUY CƠ  Vị trí Cao  Vị trí Con trỏ Ctrên 0 Vị trí Cdưới Cao Thấp Con trỏ Ctrên Vị trí Cdưới Cao Thấp  Vị trí Con trỏ Ctrên Vị trí Cdưới 0 Hình 2.14: Ước lượng điểm phân chia với thuộc tính liên tục - Thực với thuộc tính rời rạc: q trình tìm điểm phân chia tốt tính dựa biểu đồ danh sách thuộc tính Trước tiên, cần duyệt tồn danh dách thuộc tính để thu số lượng phân lớp ứng với giá trị thuộc tính rời rạc, kết lưu vào biểu đồ “ma trận đếm” Sau đó, cần tìm tất tập có từ giá trị thuộc tính xét, coi điểm phân chia tính số gini tương ứng Các thơng tin cần cho việc tính tốn số gini có “ma trận đếm” Bộ nhớ cấp cho “ma trận đếm” giải phóng sau tìm điểm phân chia tốt Ma trận đếm Danh sách thuộc tính KIỂU XE ID NGUY CƠ Gia đình Cao Thể thao Thể thao Cao Thấp Gia đình Cao Thể thao 2 Cao Xe tải Gia đình Thấp Xe tải Thấp Gia đình Cao Hình 2.15: Ước lượng điểm phân chia với thuộc tính rời rạc 55 Ví dụ, cho tập liệu T mô tả bảng 2.4, sau chia tách thuộc tính ta kết bảng 2.6, việc tính số Gini để tìm điểm phân chia tốt thực sau: 1) Xét thuộc tính liên tục TUỔI - Tại điểm TUỔI = 17 ta có: Cao Thấp Tuổi 17   2  2  Gini ( Tuæi ≤ 17) = −    +    =   1        2  2  Gini ( Tuæi > 17) = −    +    = − ( 0.36 + 0.16) = 0.48  5  5    1 5 Gini (17 ) Split =   × +   × 0.48 = 0.4 6 6 - Tại điểm TUỔI = 20 ta có: Cao Thấp Tuổi 20 2  2  2  Gini( Age ≤ 20) = −    +    =        2  2  Gini( Age > 20) = −    +    = − 0.5 = 0.5        2 4 Gini (20 ) Split =   × +   × 0.5 = 0.33 6 6 - Tại điểm TUỔI = 23 ta có: Cao Thấp Tuổi 23 56   2  2  Gini ( Tuæi ≤ 23) = −    +    =  3        2  2  Gini ( Tuæi > 23) = 1−    +    = 0.44  3  3    3 3 Gini (23 ) Split =   × +   × 0.44 = 0.22 6 6 - Tương tự tính với điểm Tuổi 32, 43, 68 cịn lại so sánh ta thấy kết Gini(23) = 0.22 (tức vị trí Tuổi 27.5 Tuổi ≤ 27.5 L [1,5,0] R [4,2,3] Hình 2.16: Cây định thể kết phân chia thuộc tính nút Với thuộc tính chọn TUỔI hình 2.15 làm thuộc tính phân chia nút đó, việc phân chia danh sách thuộc tính nút đơn giản Nếu thuộc tính liên tục, cần cắt danh sách thuộc tính vị trí phân chia thành phần gán cho nút tương ứng Nếu thuộc tính rời rạc cần duyệt tồn danh sách áp dụng phần kiểm tra (test) xác định để chuyển ghi danh sách ứng với nút Trong trường hợp thuộc tính LOẠI XE cịn lại nút khơng có thuộc tính kiểm tra để áp dụng cho giá trị thuộc tính để phân vùng ghi Do vậy, ta sử dụng ID giống trường hợp đặc biệt danh sách thuộc tính Đây thuộc tính định danh dùng kết nối ghi danh sách thuộc tính Cụ thể phân vùng danh sách thuộc tính (TUỔI) cần chèn giá trị trường ID ghi vào cấu trúc thăm dò (bảng băm) để 57 đánh dấu nút mà ghi tương ứng danh sách thuộc tính khác phân chia tới Khi có tập tất ID, ta thực duyệt danh sách thuộc tính cịn lại bảng băm với ID ghi Các thông tin nhận cho biết với nút đặt vào ghi tương ứng Nếu bảng băm lớn so với nhớ, trình phân chia thực thành nhiều bước Bảng băm tách thành nhiều phần cho vừa với nhớ, danh sách thuộc tính phân chia theo phần bảng băm Quá trình lặp cho phần lại danh sách thuộc tính thuộc tính phân tách  SPRINT thể hiệu với tập liệu có kích thước q lớn SPRINT khơng nhằm mục đích làm tốt SLIQ với tập liệu mà danh sách thuộc tính phân lớp nằm vừa nhớ Mục tiêu thuật toán nhằm vào tập liệu q lớn so với thuật tốn khác có khả tao mơ hình phân lớp hiệu từ Mặt khác, SPRINT cịn thiết kế cho phép dễ dàng song song hóa, việc song song hóa SPRINT hiệu với chế xử lý liệu song song SPRINT đạt chuẩn cho việc xếp liệu cân khối lượng công việc cách phân phối danh sách thuộc tính cho N vi xử lý máy tính theo kiến trúc Shared-nothing Việc song song hóa thuật tốn SPRINT nói riêng song song hóa mơ hình phân lớp liệu dựa định nói chung hệ thống shared-memory multiprocessor hay cịn gọi hệ thống shared-everthing Các tác giả thuật toán SPRINT đưa số kết thực nghiệm mơ hình phân lớp SPRINT so sánh với SLIQ thể biểu đồ hình 2.16, qua ta thấy: - Về thời gian: SLIQ hiệu SPRINT SLIQ lưu trữ danh sách lớp thường trú nhớ nên tốc độ đọc liệu nhanh SPRINT - Về độ lớn liệu: SPRINT tỏ hiệu hẳn SLIQ SPRINT lưu trữ danh sách thuộc tính đĩa, khơng giới hạn số lượng ghi, cịn SLIQ lưu trữ danh sách lớp nhớ kích thước danh sách lớp lớn xo với nhớ SLIQ khơng thể thao tác 58 Hình 2.17: Biểu đồ so sánh thời gian thực thuật toán SPRINT SLIQ[15] 2.5 Kĩ thuật cắt tỉa định Với kỹ thuật xây dựng định trên, 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 mẫu liệu huấn luyện; thuật toán CLS thuật toán ID3 gặp khó khăn trường hợp liệu bị nhiễu (noisy data) liệu bị thiếu (missing data) 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 toán phát triển ta dẫn đến tình mà ta gọi tình trạng "quá khớp liệu" định Quá khớp liệu khó khăn việc nghiên cứu ứng dụng định Để giải tình trạng người ta sử dụng phương pháp cắt tỉa định Có hai phương pháp thường sử dụng để cắt tỉa định Tiền cắt tỉa (Prepruning) Hậu cắt tỉa(Postpruning) 1) Tiền cắt tỉa Chiến thuật tiến cắt tỉa nghĩa dừng sớm việc phát triển trước chạm đế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ở 59 thành nút gán nhãn nhãn lớp phổ biến tập mẫu nút 2) Hậu cắt tỉa Chiến thuật ngược với chiến thuật tiền cắt tỉa Nó cho phép phát triển đầy đủ sau cắt tỉa Nghĩa xây dựng sau thực cắt bỏ nhánh khơng hợp lý Trong q trình xây dựng theo chiến thuật hậu cắt tỉa cho phép tình trạng khớp liệu xảy 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ế, phương pháp 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 tố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)) 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 BackupErro r (S ) = ∑ Pi Error (S ) i 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 (tức cắt bỏ S) 60 Như vậy, việc cắt tỉa nhằm tối ưu hoá kết quả, 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ó kỹ thuật - 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ử dụng kỹ thuật cắt tỉa có thuật tốn CART, gọi tắt chi phí phức tạp (Cost - Complexity prunning) - Áp dụng phương pháp thống kê để đánh giá cắt bỏ nhánh có độ tin cậy mở rộng tiếp nhánh có độ xác cao Kỹ thuật cắt tỉa gọi cắt tỉa bi quan thường sử dụng để cắt tỉa xây dựng theo thuật toán ID3 C4.5 - Kỹ thuật mô tả độ dài tối thiểu (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 2.6 Tổng kết chương Các thuật toán xây dựng định vừa trình bày có điểm mạnh điểm yếu riêng Đối với thuật toán CLS: thuật toán đời sớm Nó áp dụng cho CSDL có thuộc tính, giá trị thuộc tính dạng rời rạc Cịn CSDL lớn có chứa thuộc tính mà giá trị liên tục CLS cho kết khơng tối ưu Thuật tốn cho kết khác với tập liệu đầu vào Bởi vì, thuật tốn chưa có tiêu chí để lựa chọn thuộc tính trình xây dựng 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 này, Quinlan khắc phục hạn chế thuật toán CLS Thuật tốn làm việc có hiệu quả, 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 Bởi thuộc tính ứng viên lựa chọ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 cịn bị hạn chế giải hạn chế với vấn đề liệu bị nhiễu bị thiếu 61 Thuật toán C4.5: Để tiếp tục khắc phục hạn chế mà thuật toán ID3 gặp phải, Quinlan cải tiến đề xuất thuật tốn C4.5 (có thể coi phiên sau ID3) Thuật toán C4.5 giải vấn đề làm việc với thuộc tính số (liên tục), thuộc tính có nhiều giá trị, giải vấn đề liệu bị thiếu bị nhiễu C4.5 thực việc phân ngưỡng với thuộc tính số phép tách nhị phân đưa vào đại lượng GainRatio thay cho đại lượng Gain ID3 Để giải vấn đề thuộc tính có nhiều giá trị Ngồi C4.5 cịn có bước cắt tỉa nhánh khơng phù hợp Tuy nhiên yếu điểm thuật tốn chưa giải vấn đề chi phí nhớ làm việc với CSDL cực lớn Thuật toán Học định nhanh: Thuật toán khắc phục phần nhược điểm thuật toán C4.5 độ phức tạp thuật toán Thay chi phí O(m.n2) C4.5 thuật toán cải tiến học định nhanh O(m.n) Tuy nhiên, sau thực xong thuật toán phải tiếp tục áp dụng phương pháp cắt tỉa (tương tự phương pháp áp dụng cho C4.5) để thu gọn Thuật tốn SLIQ: phân lớp có hiệu tập liệu lớn hàng triệu ghi, 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ý xếp, thời điểm có danh sách lớp thường trú nhớ SLIQ có kỹ thuật cắt tỉa mơ tả độ dài tối thiểu (Minimum Description Length), hữu hiệu Nó thuật tốn phân lớp nhanh, xác, chi phí thấp, áp dụng cho sở liệu lớn Tuy nhiên, hạn chế SLIQ kích thước danh sách lớp lớn so với nhớ việc phân lớp bị ảnh hưởng mạng lại kết khơng xác, việc cài đặt thuật toán phức tạp Thuật toán SPRINT: xây dựng phát triển nhằm khắc phục hạn chế SLIQ cách không sử dụng danh sách lớp thường trú nhớ mà SPRINT sử dụng loại danh sách có cấu trúc Do vậy, SPRINT có khả ứng dụng với sở liệu thực tế có số lượng ghi cực lớn, lên tới hàng tỉ Mặc dù có nhiều cải tiến, nhiều thuật tốn xây dựng định đời, thuật toán có ưu điểm hạn chế định, nhìn chung 62 cịn nhiều vấn đề khó khăn phức tạp nhiều thách thức Khai phá liệu định Như vấn đề liệu bị thiếu giá trị thuộc tính CSDL Vấn đề CSDL lớn số lượng thuộc tính số lượng ghi, vấn đề nhớ Trên thực tế thuật toán xây dựng định cải tiến, nghiên cứu phát triển 63 CHƯƠNG 3.ỨNG DỤNG CÂY QUYẾT ĐỊNHTRONG HỆ HỖ TRỢ QUYẾT ĐỊNH Với phần lý thuyết trình bày trên, phần tác giả lựa chọn cài đặt thuật toán khai phá liệu định trình bày chương vào thực tế cho toán hỗ trợ định khen thưởng công tác quản lý thi đua - khen thưởng Sở Giáo dục Đào tạo Hà Nội (sau gọi Hệ hỗ trợ định) Mục tiêu việc xây dựng hệ hỗ trợ định nhằm phân lớp liệu thành tích khen thưởng để hỗ trợ việc định khen thưởng ngành Giáo dục, công việc cần thiết, góp phần tin học hóa quản lý nhà nước giảm thiểu khối lượng công việc mà cán chuyên trách phải làm Để ứng dụng vào thực tế Hệ hỗ trợ định phải đảm bảo thực nội dung sau: - Phải tự động phân loại đưa kết danh sách cá nhân, tập thể thuộc ngành giáo dục đạt thành tích tính đến thời điểm (ở tác giả xét đến thành tích thi đua – khen thưởngmà cấp Sở trực tiếp cơng nhận); - Phải hỗ trợ cán quản lý chuyên trách thẩm định hồ sơ đề xuất khen thưởng cá nhân, tập thể năm đưa định đạt(Đ) hay không đạt(K); - Tốc độ thời gian xử lý liệu để đưa kết phải chấp nhận được; kết năm thời lưu trữ để áp dụng cho năm Về việc lựa chọn thuật toán để cài đặt ứng dụng này, sở ưu điểm hạn chế thuật toán tác giả lựa chọn thuật toán SLIQ để cài đặt xây dựng Hệ hỗ trợ định 3.1 Tổng quan công tác thi đua khen thưởng ngành giáo dục Trong công tác quản lý thi đua khen thưởng ngành giáo dục, hàng năm Bộ trưởng Bộ Giáo dục Đào tạo phát động phong trào thi đua thường xuyên, thi đua 64 theo đợt theo chuyên đề toàn ngành giáo dục, lựa chọn tập thể, cá nhân có thành tích xứng đáng để khen thưởng theo thẩm quyền trình cấp có thẩm quyền xét tặng danh hiệu thi đua, hình thức khen thưởng theo quy định pháp luật chịu trách nhiệm công tác thi đua, khen thưởng ngành giáo dục Với chức đơn vị cấp dưới, Phòng thi đua – khen thưởng thuộc Sở Giáo dục Đào tạo vào nhiệm vụ, tiêu cụ thể kế hoạch công tác hàng năm dài hạn công tác thi đua- khen thưởng để tham mưu, để xuất với lãnh đạo cấp chủ trương, nội dung chương trình, kế hoạch, biện pháp thi đua, tổ chức kiểm tra phong trào thi đua, công tác khen thưởng, tham mưu sơ kết, tổng kết phong trào thi đua, nhân rộng điển hình tiên tiến, để xuất khen thưởng kiến nghị đổi công tác thi đua, khen thưởng Căn vào nội dung phong trào thi đua Sở phát động, khối, cụm thi đua tổ chức để đơn vị ký giao ước thi đua gửi kế hoạch hoạt động, nội dung ký cam kết thi đua đơn vị chuyên trách công tác thi đua khen thưởng thuộc Sở Giáo dục Đào tạo theo quy định hàng năm Đối với việc xét duyệt, công nhận vinh danh cá nhân, tập thể đạt danh hiệu thi đua – khen thưởng cấp Sở trực tiếp thực (trong thẩm quyền) có trách nhiệm tập hợp hồ sơ, xét duyệt tiêu chuẩn trước trình UBND cấp tỉnh Bộ giáo dục Thủ tướng phủ xem xét, cơng nhận Điều kiện tiên để đạt danh hiệu thi đua tiêu chuẩn cho hình thức khen thưởng phần áp dụng tác giả tham khảo Văn hợp Luật Thi đua Khen thưởng số: 16/VBHN-VPQH, có hiệu lực từ ngày 31/12/2013 Nghị định, Thông tư hướng dẫn thực luật có liên quan 3.1.1 Danh hiệu thi đua, hình thức, đối tượng tiêu chuẩn khen thưởng ngành giáo dục 1) Danh hiệu thi đua • Đối với cá nhân - Lao động tiên tiến; 65 - Chiến sĩ thi đua sở; - Chiến sĩ thi đua cấp bộ, ngành, tỉnh, đoàn thể trung ương; - Chiến sĩ thi đua tồn quốc; • Đối với tập thể - Tập thể lao động xuất sắc; - Tập thể lao động tiên tiến; - Cờ thi đua cấp bộ, ngành, tỉnh, đoàn thể trung ương; - Cờ thi đua Chính phủ; 2) Hình thức, đối tượng tiêu chuẩn khen thưởng • Huân chương (cá nhân, tập thể) - Huân chương Sao vàng; - Huân chương Hồ Chí Minh; - Hn chương Độc lập (hạng nhất, nhì, ba); - Huân chương Lao động (hạng nhất, nhì, ba); • Danh hiệu vinh dự Nhà nước (cá nhân) - Anh hùng Lao động; - Nhà giáo ưu tú; - Nhà giáo nhân dân; • Giải thưởng (cá nhân) - Giải thưởng Hồ Chí Minh; - Giải thưởng nhà nước; • Kỷ niệm chương, Huy hiệu (cá nhân) - Kỷ niệm chương: Vì nghiệp giáo dục • Bằng khen, Giấy khen (cá nhân, tập thể) - Bằng khen cấp Bộ, tỉnh, ngành, đoàn thể trung ương; - Bằng khen Thủ tướng Chính phủ; 66 3.1.2 Quy trình đăng kí thi đua - đề nghị xét duyệt định khen thưởng Căn vào Văn hợp Luật thi đua – khen thưởng số 16/VBHN-VPQH Văn phịng Quốc hội có hiệu lực từ 31 tháng 12 năm 2013; Nghị định số 65/2014/NĐ-CP Chính phủ có hiệu lực từ 20 tháng năm 2014, xây dựng tiêu chuẩn để xét thi đua – khen thưởng cá nhân tổ chức - Đầu năm học, đơn vị trực thuộc Sở (các trường phổ thơng; phịng giáo dục quận – huyện; trung tâm ) gửi bảng tập hợp đăng kí thi đua – khen thưởng tập thể, cá nhân theo mẫu Phòng thi đua – khen thưởng thuộc Sở giáo dục làm pháp lý để dự trù kế hoạch - Đến cuối năm học, đơn vị trực thuộc Sở tập hợp hồ sơ thi đua cá nhân, tập thể theo tiêu chuẩn danh hiệu để gửi lên Phòng thi đua – khen thưởng Sở giáo dục đào tạo - Phòng thi đua – khen thưởng có trách nhiệm báo cáo lãnh đạo Sở tổ chức thành lập Hội đồng bình xét thi đua – khen thưởng để đánh giá hồ sơ Các hồ sơ đạt danh hiệu thi đua khen thưởng thẩm quyền cấp Sở Giám đốc Sở trực tiếp công nhận Đối vớicác hồ sơ thi đua – khen thưởng cấp Tỉnh, Bộ, Trung ương phải hội đồng thi đua cấp Sở xét duyệt đầy đủ tiêu chí; sau Giám đốc Sở lập tờ trình danh sách hồ sơ thi đua cao gửi UBND cấp tỉnh cấp bộ, xem xét công nhận Các đơn vị trực thuộc Sở Giám đốc Sở Báo cáo Lãnh đạo đơn vị Các cá nhân, tập thể Phòng Thi đua - Khen thưởng 67 Hình 3.1: Quy trình đăng ký thi đua Hội đồng xét duyệt thi Giám đốc Sở đua- khen thưởng Phòng Thi đua - Khen Các đơn vị thưởng trực thuộc Sở Hình 3.2: Quy trình đề nghị xét duyệt định khen thưởng 3.2 Xây dựng định hỗ trợ định thi đua khen thưởng Bước 1: Lượng hóa liệu Bước 2: Phân tích liệu Bước3: Triển khai giải thuật SLIQ Bước 4: Xây dựng định Bước 5: Tạo luật từ định Dưới tiêu chí đánh giá thi đua – khen thưởng cá nhân, liệu mô tả sau: Loại SKKN: Là điểm xếp loại đánh giá cho sáng kiến cá nhân, tổ chức nhằm cải tạo, thay đổi hoạt động chuyên môn, quản lý ngành Có giá trị sau: + O: khơng xếp loại + C: xếp loại C + B: xếp loại B + A: xếp loại A 68 Số lần đạt: số lần cá nhân đạt danh hiệu liên tiếp Tiêu chuẩn giúp xác định (dự báo) cho cá nhân đăng kí thi đua mức cao Các giá trị bao gồm: + Dưới lần: 2+ Từ lần trở lên: 2+ +Dưới lần: 3+ Từ lần trở lên: 3+ Bằng khen: hình thức khen thưởng cá nhân nhận, tùy theo cấp có loại khen tương ứng sau: + CSO: khen Giám đốc Sở(Chiến sĩ thi đua cấp sở) + CBO: khen Bộ trưởng(Chiến sĩ thi đua cấp bộ, ngành, tỉnh) Hình thức thi đua: Là loại hình thức đăng ký thi đua mà cá nhân lựa chọn Ở nội dung có giá trị: + CS: chiến sĩ thi đua cấp sở + CB: chiến sĩ thi đua cấp bộ, ngành, thành phố + TQ: chiến sĩ thi đua toàn quốc Quyết định: kết việc áp dụng định, chia làm hai tình Đạt(Đ) u cầuvà Khơng đạt(KĐ); hình thức đăng kí mức cao cấp Bộ UBND, phủ định điều kiện để phòng thi đua khen thưởng Sở GD lập hồ sơ trình lên cấp trên.Từ ta có tập liệu huấn luyện bảng 3.1 69 Bảng 3.1: Tập liệu huấn luyện, hình thức thi đua - khen thưởng cá nhân STT Loại SKKN Số lần đạt Bằng khen Hình thức thi đua Quyết định O 2+ CSO CS KĐ A 2- CSO CS Đ B 2- CSO CS Đ C 2- CSO CS Đ A 2+ CSO CB KĐ B 2+ CSO CB KĐ C 2+ CSO CB KĐ A 3- CSO CB KĐ B 3- CSO CB KĐ 10 C 3- CSO CB KĐ 11 A 3+ CSO CB Đ 12 B 3+ CSO CB KĐ 13 C 3+ CSO CB KĐ 14 A 2- CBO TQ KĐ 15 B 2- CBO TQ KĐ 16 C 2- CBO TQ KĐ 17 A 2+ CBO TQ Đ 18 B 2+ CBO TQ KĐ 19 C 2+ CBO TQ KĐ Đối với tiêu chí đánh giá thi đua – khen thưởng tập thể, liệu mô tả sau: Tỉ lệ LĐTT: tỉ lệ cá nhân tập thể đạt lao động tiên tiến, + Tỉ lệ 50%: 50+ Tỉ lệ từ 50% trở lên: 50+ + Tỉ lệ 70%: 70+ Tỉ lệ từ 70% trở lên: 70+ + Tỉ lệ 100%: 100- 70 + Tỉ lệ đạt100% : 100+ Tỉ lệ CSTĐ: tỉ lệ cá nhân tập thể đạt danh hiệu CSTĐ cấp sở + Tỉ lệ 15%: 15+ Tỉ lệ từ 15% trở lên: 15+ + Tỉ lệ 20%: 20+ Tỉ lệ từ 20% trở lên: 20+ Bằng khen: trường hợp có hay khơng khen cấp bộ, thành phố dành cho tậpthể năm xét duyệt + Giá trị khơng có + Giá trị có Chuẩn TV: xác định chuẩn thư viện Trong có loại giá trị: + KDC: khơng chuẩn + CQG: chuẩn quốc gia + CXS: xuất sắc Số lần đạt: số lần tập thể đạt danh hiệu liên tiếp Tiêu chuẩn giúp xác định (dự báo) cho tập thể đăng kí thi đua mức cao Các giá trị bao gồm: + Dưới lần: 3+ Từ lần trở lên: 3+ + Dưới lần: 5+ Từ lần trở lên: 5+ Hình thức thi đua: Là loại hình thức đăng ký thi đua mà tập thể lựa chọn Ở nội dung có giá trị: + LĐTT: tập thể lao động tiên tiến + LĐXS: tập thể lao động xuất sắc + TĐCB: cờ thi đua cấp bộ, ngành, thành phố + TĐTƯ: cờ thi đua trung ương 71 Quyết định: kết việc áp dụng định, chia làm hai tình Đạt (Đ) u cầu Khơng đạt (KĐ) Từ ta có tập liệu huấn luyện bảng 3.2 sau: Bảng 3.2: Tập liệu huấn luyện, hình thức thi đua - khen thưởng tập thể STT Tỉ lệ LĐTT Tỉ lệ CSTĐ Bằng khen 50- 15- CQG LĐTT KĐ 50+ 15- CQG LĐTT KĐ 70- 15- CQG LĐTT KĐ 70+ 15- CQG LĐTT KĐ 50- 15+ CQG LĐTT KĐ 50+ 15+ CQG LĐTT Đ 70- 15+ CQG LĐXS KĐ 70+ 15+ CQG LĐXS KĐ 70+ 15+ KĐC LĐTT KĐ 10 50- 20- CQG LĐXS KĐ 11 50+ 20- CQG LĐXS KĐ 12 70- 20- CQG LĐXS KĐ 13 70+ 20- CQG LĐXS KĐ 14 50- 20+ CQG LĐXS KĐ 15 50+ 20+ CQG LĐXS KĐ 16 70- 20+ CQG LĐXS KĐ 17 70+ 20+ CQG LĐXS Đ 18 70+ 20+ CXS TĐCB KĐ 19 70+ 20+ CQG TĐCB KĐ 20 70+ 20- CXS TĐCB KĐ 21 70+ 20+ CXS TĐCB Đ 22 100+ 20+ CXS TĐTƯ Đ 72 Chuẩn Hình thức TV ĐK thi đua Quyết định 3.3 Phần mềm hỗ trợ định khen thưởng 3.3.1 Cấu trúc kho liệu Sở Giáo dục Đào tạo số hóa tồn thành tích thi đua cá nhân, tập thể thuộc ngành giáo dục tỉnh đưa vào lưu trữ kho liệu số đặt trực tiếp Phòng Thi đua - Khen thưởng thuộc Sở Giáo dục Đào tạo, đồng thời xây dựng công cụ cho phép cập nhật liệu vào sở liệu, bước thu thập tiền xử lý liệu (bước thứ trình tự bước thực khai phá liệu) Việc thu thập liệu thực thông qua hình thức sau: 1) Cán chuyên trách quản lý Phòng Thi đua - khen thưởng thuộc Sở Giáo dục Đào tạo trực tiếp cập nhật liệu cho đơn vị trực thuộc thông qua file mềm (.xlsx, csv, xml, mdb) tổng hợp lưu trữ từ trước; 2) Cán làm thi đua đơn vị, trường trực thuộc chủ động nhập liệu đăng kí thi đua - khen thưởng thành tích cá nhân tập thể đơn vị vào ứng dụng web cung cấp sẵn hình 3.3 3) Tự động cập nhật hồ sơ đề xuất khen thưởng thông qua hệ thống tiếp nhận hồ sơ đề xuất khen thưởng trực tuyến sau duyệt có định khen thưởng 73 Hình 3.3: Giao diện nhập thơng tin đăng kí thi đua – khen thưởng cá nhân tập thể dành cho đơn vị cấp sở Kho liệu xây dựng thiết kế hệ quản trị sở liệu MySQL cài đặt phần mềm dùng ngôn ngữ lập trình PHP nhằm mục đích dễ dàng tiếp nhận lưu trữ tồn liệu thành tích thi đua - khen thưởng cá nhân, tập thể thuộc ngành giáo dục tỉnh Sơ đồ thực thể liên kết Kho liệu thành tích thi đua -khen thưởng sau thu thập, tiền xử lý đưa vào lưu trữ hình 3.4sau: 74 Hình 3.4: Sơ đồ thực thể liên kết kho liệu thành tích khen thưởng Sở Giáo dục Đào tạo 3.3.2 Kết cài đặt phần mềm Sử dụng thuật toán SLIQ để phân lớp liệu khen thưởng dự đốn thành tích mà tập thể cá nhân đạt năm tới Đầu vào: - Bộ liệu thành tích khen thưởng cá nhân, tập thể tính từ thời điểm trở trước - Các loại danh hiệu thi đua (danh sách lớp) - Bảng định hỗ trợ kết danh hiệu thi đua Tất thông tin lưu trữ kho liệu có cấu trúc hình 3.4 75 Đầu ra: - Danh sách phân lớp theo loại danh hiệu dự đoán đạt được, kèm theo gợi ý tiêu chuẩn cần bổ sung Dưới vài hình chụp giao diện chức ứng dụng: Hình 3.5: Cửa sổ đăng nhập quản trị 76 Hình 3.6: Giao diện chức sau đăng nhập Hình 3.7: Giao diện nhập thông tin hồ sơ thi đua – khen thưởng dành cho cán Phòng thi đua – khen thưởng cấp Sở 77 3.3.3 Đánh giá tính hiệu chương trình Hệ hỗ trợ định thi đua khen thưởngđược cài đặt xây dựng tảng ngơn ngữ lập trình PHP hệ quản trị CSDL MySQL Cấu trúc sở liệu tham khảo từ cấu trúc kho liệu thiết kế sử dụng từ Phòng Thi đua - khen thưởng thuộc Sở Giáo dục Đào tạo Hà Nội Chương trình có giao diện đơn giản, dễ sử dụng, minh họa vấn đề phân lớp liệu định nhằm hỗ trợ việc định khen thưởng công tác quản lý thi đua - khen thưởng Sở Giáo dục Đào tạo Về thời gian, hệ thống đảm bảo chấp nhận với liệu lên đến hàng triệu ghi cho kết ổn định, thực tế chạy chương trình, hệ thống hạn chế số lượng ghi tham gia xử lý cách lần chạy hệ thống cho phép thực nhóm liệu thuộc khối (do người dùng chọn) giải vấn đề liệu Về khả nâng cấp chương trình, xét lý thuyết cấp độ cao cấp Bộ số lượng ghi liệu hình thức thi đua - khen thưởng mở rộng hình thức cấp Sở nên hồn tồn thực Tuy nhiên, với phạm vi luận văn thạc sỹ việc nghiên cứu lý thuyết khai phá liệu nghiên cứu số thuật toán khai phá liệu định, bước đầu xây dựng ứng dụng Hệ hỗ trợ định thi đua khen thưởng tác giả cài đặt chức phân lớp liệu hiển thị kết phân lớp, kết kết dự đốn đạt năm mà người sử dụng nhập vào chạy chương trình 78 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 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ơ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à: - Trình bày tổng quan khai phá liệu, khái niệm bản, bước thực hiện, chức năng, kỹ thuật khai phá liệu, ứng dụng khai phá liệu lĩnh vực - Giới thiệu khái niệm định, kiểu định kỹ thuật khai phá liệu định số thuật toán khai phá liệu định gồm CLS, ID3, C4.5, NT, SLIQ, SPRINT - Trên sở lý thuyết tác giả sử dụng thuật toán SLIQ để cài đặt ứng dụng Hệ hỗ trợ định công tác thi đua khen thưởng Hướng phát triển Về lý thuyết, đề tài tiếp tục nghiên cứu cài đặt thêm thuật toán khai phá liệu định khác như: C5, Naive Bayes ứng dụng vào toán định khác thực tế 79 TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt [1.] Nguyễn Thị Thùy Linh, “Nghiên cứu thuật toán phân lớp liệu dựa định”, luận văn tốt nghiệp – ĐH Quốc gia Hà Nội, 2005 [2] Nguyễn Thị Hạnh, “Khai phá liệu định”, Nghiên cứu khoa học cấp trường – ĐH Sư phạm Hà Nội, 2008 [3] Lê Minh Hồng, Chun đề “Lý thuyết đồ thị”, Giáo trình – ĐH Sư phạm Hà Nội, 2012 [4]Đỗ Phúc, Giáo trình “Khai thác liệu”, Trường Đại học Cơng Nghệ Thông Tin - Đại học quốc gia TP HCM, 2009 [5] Nguyễn Đình Thuận, Bài giảngKhai phá liệu, Trường Đại học Công Nghệ Thông Tin - Đại học quốc gia TP HCM, 2007 [6] Hà Quang Thụy, Bài giảng Nhập môn khai phá liệu, Trường Đại học công nghệ - ĐHQG Hà Nội, 2015 [7] Vũ Hải Thuyết, “Ứng dụng phân cụm liệu việc phân tích, đánh giá kết học tập học sinh”, Luận văn tốt nghiệp – ĐH Thái Nguyên, 2012 [8] Chính phủ, Nghị định số 65/2014/NĐ-CP, có hiệu lực từ 20 tháng năm 2014 [9]Văn phòng Quốc hội, Văn hợp luật thi đua khen thưởng số 16/VBHN-VPQH, hiệu lực từ ngày 31/12/2013 Tài liệu tiếng Anh [10] Amos Storkey, “Slide Learning from Data: Decision trees”, School of Informatics university of Edinburgh, 2004 [11]David McG Squire, Tutorial: The ID3 Decision Tree Algorithm, Faculty of Information Technology - Monash University, Australia, 2004 [12]Emily Thomas, “Data mining: Definittions and decision tree examples”, In he Association for Institutional Research and Planing Officers, 2004 [13]Ho Tu Bao, “An Introduction to Knowledge Discovery and Data Mining” , 80 Japan Advanced Institute of Science and Technology, 2002 [14] Jiang Su & HarryZhang, “A fast Decision Tree Learning Algorithm”, Faculty of Computer Science University of New Brunswick, Canada, 2005 [15]John Shafer, Rakesh Agrawal, Manish Mehta, SPRINT- A Scalable Paralllel Classifier for Data mining In Predeeings of the 22nd International Conference on Very Large Database, India, 1996 [16] KaiZang, “Decision Tree Algorithm” lecture, 2011 [17]RonKohavi &Ross Quilan, “Decision tree discovery”, School of Computer Science and Engineering - University of New South Wales, 1999 [18] Sawade, “Decision Trees from large Databases” lecture, 2011 [19]Xindong Wu, “Knowledge Acquisition from Databases”, Monash University, Australia, 2004 Tài liệu internet [20]http://www.kdnuggets.com truy cập ngày 20/11/2015 [21]http://www.ibm.com truy cập ngày 20/11/2015 [22]https://archive.ics.uci.edu/ml/datasets.htmltruy cập ngày 20/11/2015 81

Ngày đăng: 29/08/2023, 14:59

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w