Khai phá dữ liệu và ứng dụng trong dự báo tiến trình học tập của sinh viên đại học Thủy LợiKhai phá dữ liệu và ứng dụng trong dự báo tiến trình học tập của sinh viên đại học Thủy LợiKhai phá dữ liệu và ứng dụng trong dự báo tiến trình học tập của sinh viên đại học Thủy LợiKhai phá dữ liệu và ứng dụng trong dự báo tiến trình học tập của sinh viên đại học Thủy LợiKhai phá dữ liệu và ứng dụng trong dự báo tiến trình học tập của sinh viên đại học Thủy LợiKhai phá dữ liệu và ứng dụng trong dự báo tiến trình học tập của sinh viên đại học Thủy Lợi
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - NGUYỄN XUÂN HẢI KHAI PHÁ DỮ LIỆU VÀ ỨNG DỤNG TRONG DỰ BÁO TIẾN TRÌNH HỌC TẬP CỦA SINH VIÊN ĐẠI HỌC THỦY LỢI CHUYÊN NGÀNH : KHOA HỌC MÁY TÍNH MÃ SỐ: 60.48.01.01 LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) NGƯỜI HƯỚNG DẪN KHOA HỌC: TS NGUYỄN ĐÌNH HĨA HÀ NỘI - 2016 Luận văn hồn thành tại: HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG Người hướng dẫn khoa học: TS Nguyễn Đình Hóa Phản biện 1: TS Phạm Văn Cường Phản biện 2: TS Tạ Quang Hùng Luận văn bảo vệ trước Hội đồng chấm luận văn thạc sĩ Học viện Cơng nghệ Bưu Viễn thơng Vào lúc: 40 ngày 20 tháng 08 năm 2016 Có thể tìm hiểu luận văn tại: - Thư viện Học viện Cơng nghệ Bưu Viễn thơng MỞ ĐẦU Tính cấp thiết đề tài Mục tiêu chung em sinh viên bậc phụ huynh bước chân vào Trường Đại học Đại học Tuy nhiên, với mơ hình đào tạo theo tín hầu hết trường Đại học nói chung Đại học Thủy lợi nói riêng việc tìm hiểu, thích nghi với quy chế đào tạo điều không dễ dàng (trong q trình học 12 năm phổ thơng người học đào tạo theo niên chế) Trong thực tế, nhiều sinh viên giữ thói quen cũ từ thời phổ thông (thang điểm, phương thức học tập…) q trình học đại học, từ phát sinh trường hợp đáng tiếc mà thiếu hiểu biết, em bỏ lỡ hội Ví dụ Đại học Thủy lợi, có trường hợp sinh viên học đạt hầu hết môn (Điểm D tức từ 4-5.4 điểm theo thang 10 đạt [1]) lại không đủ điều kiện làm Đồ án tốt nghiệp (điều kiện làm Đồ án tốt nghiệp khơng nợ mơn điểm trung bình chung mơn 2.0 theo thang điểm [3]), từ dẫn đến việc em bị chậm tiến độ học tập… Để em sinh viên phụ huynh phần có nhìn rõ ràng tương lai việc học tập Trường Đại học mà không cần phải hiểu sâu quy chế đào tạo theo tín chỉ: Đó khả hồn thành chương trình học nào? Có đảm bảo tiến độ theo khung chung nhà trường hay khơng? Có nguy bị cảnh báo học tập hay khơng? Từ đó, em gia đình có định hợp lý, kịp thời thời gian học tập Giải pháp tác giả đưa cung cấp cho sinh viên gia đình thơng tin dự báo tiến trình học tập tương lai sinh viên dựa liệu sinh viên Thông qua đó, sinh viên đưa định kịp thời, hợp lý cho việc học tập mình; nhà trường có giải pháp kịp thời để quan tâm, cảnh báo, khuyến khích em sinh viên; gia đình nhìn nhận hỗ trợ, động viên em mình… Xuất phát từ thực tế mục tiêu vậy, tác giả thực đề tài luận văn có tên “Khai phá liệu ứng dụng dự báo tiến trình học tập sinh viên Đại học Thủy lợi” để giải vấn đề nêu Tổng quan vấn đề nghiên cứu Khai phá liệu (data mining) trình khám phá tri thức tri thức có ích dạng tiềm nguồn liệu có Khai phá liệu ứng dụng rộng rãi nhiều lĩnh vực như: Tài chính, chứng khốn; Sinh học; Viễn thông Dự báo tiên đoán việc xảy tương lai, sở phân tích khoa học liệu thu thập được; nói cách khác, dự báo rút từ mơ hình xây dựng từ đặc trưng liệu trích xuất từ liệu ban đầu sau khai phá liệu Trong thời đại cơng nghệ thơng tin tồn cầu hóa, dự báo đóng vai trị ngày quan trọng nhu cầu thông tin thời điểm tương lai ngày lớn Trong thực tế, có nhiều mơ hình dự báo ứng dụng nhiều lĩnh vực thực tế, ví dụ dự báo khí tượng thủy văn (sử dụng mơ hình GSM, HRM…), dự báo tỷ giá hay chứng khốn (sử dụng mơ hình ARIMA), dự báo sử dụng điện (mơ hình mạng nơron…), hay giáo dục, gần có nghiên cứu dự báo kết thi đại học từ kết thi đại học liệu điểm môn học thi đại học từ 03 năm học phổ thông (sử dụng Cây định, K láng giềng gần nhất) Tuy nhiên, chưa có nghiên cứu cụ thể giải toán thực tế mà đề tài luận văn nhắc đến Do đó, tác giả tiến hành thực đề tài luận văn nghiên cứu vấn đề khai phá liệu ứng dụng vào giải toán thực tế dự đoán tiến trình học tập sinh viên Đại học Thủy lợi Mục đích, đối tượng, phạm vi phương pháp nghiên cứu Luận văn tiến hành nghiên cứu, tìm hiểu vấn đề khai phá liệu, cơng cụ học máy Từ ứng dụng vào việc xây dựng mơ hình dự báo tiến trình học tập sinh viên Đại học Thủy lợi Qua luận văn này, tác giả mong muốn có nghiên cứu lý thuyết khai phá liệu, công cụ học máy thuật toán dự báo (Cây định, K láng giềng gần nhất); thực nghiệm, phân tích kết dự báo tiến trình học tập sinh viên Thông qua phương pháp nghiên cứu lý thuyết phương pháp nghiên cứu thực nghiệm, tác giả tiếp cận nghiên cứu văn pháp quy hướng dẫn thực quy chế đào tạo theo tín chỉ; liệu chương trình đào tạo tạo, điểm, kết học vụ sinh viên Đại học Thủy lợi hay công nghệ liên quan đến khai phá liệu để tổng hợp thu thập thông tin Từ phân tích u cầu cơng việc, vận dụng kết lý thuyết vào liệu cụ thể Trường Đại học Thủy lợi để đánh giá phân tích kết Cấu trúc luận văn Nội dung luận văn trình bày ba phần sau: Phần mở đầu Phần nội dung: bao gồm ba chương Chương 1: Tổng quan Khai phá liệu toán dự báo Chương 2: Khai phá liệu cơng cụ học máy Chương 3: Dự báo tiến trình học tập sinh viên Đại học Thủy lợi Phần kết luận CHƯƠNG I TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU TRONG BÀI TOÁN DỰ BÁO 1.1 Tổng quan khai phá liệu Khai phá liệu (data mining) trình khám phá tri thức tri thức có ích dạng tiềm nguồn liệu có Quy trình khám phá tri thức sở liệu (KDD - Knowlegde Discovery in Databases) thường tuân theo bước hình 1.1 đây: Hình 1.1 Quá trình khám phá, phát tri thức từ liệu [4] 1.2 Một số phương pháp khai phá liệu Phân lớp (Classification) Phân cụm (Clustering) Luật kết hợp (Association Rules) 1.3 Tổng quan toán dự báo Khái niệm Dự báo (hay cịn gọi dự đốn, tiên lượng) tiên đoán việc xảy tương lai, dựa sở phân tích khoa học liệu thu thập được; nói cách khác, dự báo rút từ mơ hình xây dựng từ đặc trưng liệu trích xuất từ liệu ban đầu sau khai phá liệu Dự báo liệu q trình gồm hai bước, gần giống với q trình phân lớp Tuy nhiên để dự đốn, bỏ qua khái niệm nhãn phân lớp giá trị dự đốn liên tục (được xếp) giá trị phân loại Ví dụ thay phân loại xem khoản vay có an tồn hay rủi ro dự đoán xem tổng số tiền cho vay khoản vay khoản vay an tồn Do đó, ta thấy tất đặc điểm toán phân lớp hữu trực tiếp toán dự báo Đặc điểm tốn dự báo Q trình dự báo thường gồm bước: Bước 1: Xây dựng mơ hình Trong bước này, mơ hình xây dựng dựa việc phân tích mẫu liệu sẵn có Đây q trình học, thuật tốn phân lớp xây dựng cách phân tích “học” từ tập liệu huấn luyện xây dựng sẵn bao gồm nhiều liệu (xem ví dụ Hình 1.2) Bước 2: Sử dụng mơ hình xây dựng để phân lớp, dự báo liệu Trong bước mơ hình thu sử dụng để phân lớp, dự báo Việc bước phải làm tính độ xác mơ hình Để đảm bảo tính khách quan nên áp dụng mơ hình tập kiểm thử làm tập liệu huấn luyện ban dầu Tính xác mơ hình phân lớp tập liệu kiểm thử số phần trăm liệu kiểm tra đánh nhãn cách so sánh chúng với mẫu liệu huấn luyện Nếu độ xác mơ hình dự đốn chấp nhận sử dụng mơ hình để dự đốn nhãn lớp cho mẫu liệu khác với thông tin nhãn phân lớp chưa xác định tương lai [8] Các phương pháp đánh giá cho toán phân lớp, dự báo Có nhiều kỹ thuật để đánh giá độ xác thuật tốn phân lớp Trong Holdout K-fold cross validation (đánh giá chéo dựa k phần) hai kỹ thuật phổ biến để đánh giá độ xác phân lớp dựa phân chia lấy mẫu ngẫu nhiên từ liệu cho trước [8] 1.4 Một số kỹ thuật khai phá liệu toán dự báo/phân lớp Các phương pháp định Cây định (Decision Tree) cấu trúc có dạng biểu đồ luồng, nút kiểm định thuộc tính, nhánh đại diện cho kết kiểm định, nút đại diện cho lớp Nút cao nút gốc Các phương pháp K-láng giềng gần Ý tưởng thuật toán học K-láng giềng gần “thực láng giềng gần bạn làm” Để dự đoán hoạt động mẫu xác định, K-láng giềng tốt mẫu xem xét, trung bình hoạt động láng giềng gần đưa dự đốn hoạt động mẫu Các phương pháp dựa luật Phương pháp nhằm phát luật kết hợp thành phần liệu sở liệu Mẫu đầu giải thuật khai phá liệu tập luật kết hợp tìm Một ví dụ đơn giản luật kết hợp kết hợp hai thành phần A B có nghĩa xuất A ghi kéo theo xuất B ghi đó: A => B Các phương pháp Bayes «ngây thơ» mạng tin cậy Bayes Phân lớp Bayesian phân lớp thống kê Phân lớp Bayesian dựa định lý Bayes Một phân lớp đơn giản Bayesian Naive Bayesian, so với việc thực thi phân lớp định mạng nơron, phân lớp Bayesian đưa độ xác cao nhanh áp dụng vào sở liệu lớn 1.5 Kết luận chương CHƯƠNG II KHAI PHÁ DỮ LIỆU VÀ CÁC CÔNG CỤ HỌC MÁY 1.1 Cây định Tổng quan định 1.1.1.1 Giới thiệu chung Cây định (decision tree) phương pháp mạnh thường sử dụng cho hai nhiệm vụ khai phá liệu phân loại dự báo Mặt khác, định chuyển sang dạng biểu diễn tương đương dạng tri thức với luật If-Then 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, (leaf node) biếu diễn lớp định đỉnh gọi nút gốc (root) 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 Việc lựa chọn thuộc tính để tạo nhánh thực thông qua Entropy Gain 1.1.1.2 Phân loại định 1.1.1.2.1 Cây hồi quy (Regression tree) Cây hồi quy mà biến phụ thuộc y ước lượng hàm 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à điểm trung bình học sinh) 1.1.1.2.2 Cây phân loại (Classification tree) Cây phân loại mà biến phụ thuộc y biến phân loại như: giới tính (nam hay nữ), kết trận đấu (thắng hay thua) hay đánh giá tiến trình học tập sinh viên (đúng tiến độ hay khơng; bị cảnh báo học tập với mức nào) Cây phân loại định sử dụng tốn dự đốn tiến trình học tập sinh viên Đại học Thủy lợi luận văn Cấu trúc định Cây định cấu trúc sử dụng để chia liên tiếp tập ghi lớn thành tập nhỏ cách áp dụng chuỗi luật đơn giản Với phép chia liên tiếp, tập thu tập kết ngày giống Nó có cấu trúc sau: Mỗi nút mang thuộc tính (biến độc lập); Mỗi nhánh tương ứng với giá trị thuộc tính; Mỗi nút lớp (biến phụ thuộc) Xây dựng định 1.1.3.1 Phương pháp xây dựng định Việc xây dựng định bao gồm giai đoạn: Tạo tỉa 1.1.3.2 Chọn thuộc tính phân tách Ngay từ khởi đầu, tập huấn luyện chứa tập ghi mà phân loại trước - tức giá trị biến đích xác định tất trường hợp Cây định xây dựng cách phân tách ghi nút dựa thuộc tính đầu vào Như vậy, rõ ràng nhiệm vụ phải chọn xem thuộc tính đưa phân tách tốt nút 1.1.3.3 Phép kiểm tra để chọn phân tách tốt Để kiểm tra thuộc tính phân tách tốt sử dụng độ đo đồng Entropy, Information Gain, Infomation Gain Ratio 1.1.3.3.1 Entropy Công thức Entropy tổng quát cho tập mẫu S có C giá trị phân loại: 𝐶 𝐸𝑛𝑡𝑟𝑜𝑝𝑦 (𝑆) = ∑ −𝑝i log 𝑝𝑖 (2.2) 𝑖=1 Giả sử phân chia S thuộc tính A bất kỳ, để khơng tính tổng qt xem A có giá trị phân biệt {a1, a2, , av}, v số giá trị phân biệt thuộc tính A Độ đo thơng tin có sau phân lớp theo V tập tính sau: 𝑣 𝐸𝑛𝑡𝑟𝑜𝑝𝑦𝐴 (𝑆) = ∑ 𝑗=1 |𝑆𝑗 | × 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑆𝑗 ) (2.3) |𝑆| 1.1.3.3.2 Infomation gain Giá trị Gain thuộc tính A tập S tính công thức (2.4) 𝐺𝑎𝑖𝑛(𝑆, 𝐴) = 𝐸𝑛𝑡𝑟𝑜𝑝𝑦 (𝑆) − ∑ 𝑣∈𝑉𝑎𝑙𝑢𝑒𝑠(𝐴) |𝑆𝑣 | × 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑆𝑣 ) (2.4) |𝑆| 1.1.3.3.3 Information Gain Ratio Đây độ đo mở rộng từ độ đo Information Gain, quan tâm đến số lượng độ lớn nhánh lựa chọn thuộc tính phân lớp Thuật tốn C4.5 sử dụng độ đo 10 1.1.5.1.2 Giải thuật Cây định ID3 Function induce_tree(tập_ví_dụ, tập_thuộc_tính) begin if ví dụ tập_ví_dụ nằm lớp then return nút gán nhãn lớp else if tập_thuộc_tính rỗng then return nút gán nhãn tuyển tất lớp tập_ví_dụ else begin chọn thuộc tính P, lấy làm gốc cho tại; xóa P khỏi tập_thuộc_tính; với giá trị V P begin tạo nhánh gán nhãn V; Đặt vào phân_vùngV ví dụ tập_ví_dụ có giá trị V thuộc tính P; Gọi induce_tree(phân_vùngV, tập_thuộc_tính), gắn kết vào nhánh V end end end 1.1.5.1.3 Ví dụ minh họa 1.1.5.2 Thuật toán C4.5 1.1.5.2.1 Giới thiệu thuật toán C4.5 Thuật toán ID3 bị giới hạn việc liên quan đến thuộc tính mang giá trị rời rạc rõ ràng, cịn thuộc tính liên tục thuộc tính kiểu số thuật tốn ID3 khó xử lý Trong thuật toán C4.5 mở rộng phạm vi hoạt thuật tốn cho thuộc tính có giá trị liên tục (giá trị số) để phù hợp với thực tế; thuật toán C4.5 đưa định nghĩa giá trị rời rạc để phân giá trị liên tục thành thuộc tính tượng trưng lần theo quy tắc sau: Thuật toán C4.5 lựa chọn thuộc tính để phân tách theo nguyên tắc: Tỉ lệ tăng thêm thơng tin (GainRatio) cao; Có Entropy thuộc tính lớn Entropy trung bình tất thuộc tính 11 Một cải tiến của thuật tốn C4.5 thuộc tính thiếu giá trị, vấn đề hay xảy thực tế Một cách đơn giản bỏ mẫu nhiên có nhiều giá trị thiếu hay vai trò chúng quan trọng khơng khả thi 1.1.5.2.2 Giải thuật Cây định C4.5 Thuật toán tạo (S, C) Bước Tính tốn tần suất giá trị lớp S Bước Kiểm tra mẫu, thuộc lớp có mẫu khác lớp> , ngược lại ; Bước Tính giá trị Gain cho giá trị thuộc tính A Bước Tại nút N thực kiểm tra để chọn thuộc tính có giá trị Gain lớn Gọi N.test thuộc tính có Gain lớn Bước Nếu N.test thuộc tính liên tục