ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
LÊ XUÂN LÂM
NGHIÊN CỨU ỨNG DỤNG CÁC KỸ THUẬT TRONG KHAI PHÁ DỮ LIỆU HỖ TRỢ HỌC TẬP
CHO SINH VIÊN
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội – 2020
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
LÊ XUÂN LÂM
NGHIÊN CỨU ỨNG DỤNG CÁC KỸ THUẬT TRONG KHAI PHÁ DỮ LIỆU HỖ TRỢ HỌC TẬP
CHO SINH VIÊN
Ngành: Công nghệ Thông tin
Chuyên ngành: Quản lý Hệ thống Thông tin
Mã số: 8480205.01
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS. NGUYỄN HÀ NAM
Hà Nội – 2020
1 LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn sâu sắc tới PGS.TS. Nguyễn Hà Nam, Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội, người thầy đã dành nhiều thời gian tận tình chỉ bảo, hướng dẫn, giúp đỡ tôi trong suốt quá trình tìm hiểu, nghiên cứu. Thầy là người định hướng và đưa ra nhiều góp ý quý báu trong quá trình tôi thực hiện luận văn.
Tôi xin gửi lời cảm ơn chân thành tới các thầy, cô ở khoa Công nghệ thông tin – Trường Đại học Công nghệ - ĐHQGHN đã trang bị những kiến thức và tạo điều kiện thuận lợi cho tôi trong suốt quá trình học tập tại trường.
Tôi cũng xin bày tỏ lòng biết ơn về sự giúp đỡ của lãnh đạo cơ quan, đồng nghiệp đã cung cấp dữ liệu, tài liệu và cho tôi những lời khuyên quý báu. Tôi xin cảm ơn gia đình, người thân, bạn bè luôn động viên và tạo mọi điều kiện tốt nhất cho tôi.
Tôi xin chân thành cảm ơn!
Hà Nội, tháng 9 năm 2020
Học viên
Lê Xuân Lâm
ii
LỜI CAM ĐOAN
Tôi xin cam kết công trình nghiên cứu này là của tôi, được thực hiện dưới sự
hướng dẫn của PGS.TS. Nguyễn Hà Nam.
Các số liệu, kết quả được nêu trong luận văn là trung thực và chưa được ai công bố ở bất cứ công trình nào khác.
Hà Nội, tháng 9 năm 2020
Học viên
Lê Xuân Lâm
iii MỤC LỤC
LỜI CẢM ƠN ... i
LỜI CAM ĐOAN ... ii
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT ... v
LỜI MỞ ĐẦU ... 1
Chương 1. Giới thiệu ... 3
1.1.Quy trình quản lý đào tạo tại trường CĐ.ANND I ... 3
1.2.Bài toán ứng dụng KPDL để xây dựng hệ thống tư vấn tại trường CĐ.ANND I ... 6
1.3.Một số nghiên cứu về khai phá dữ liệu trong lĩnh vực giáo dục ... 8
1.4.Hướng tiếp cận của luận văn ... 9
1.5.Kết luận chương 1 ... 10
Chương 2. Cơ sở lý thuyết ... 11
2.1.Khai phá dữ liệu ... 11
2.1.1. Khái niệm ... 11
2.1.2. Những hướng tiếp cận trong KPDL ... 12
2.1.3. Các bước xây dựng một giải pháp về KPDL ... 13
2.1.4. Các lĩnh vực ứng dụng của KPDL ... 13
2.2.Một số kỹ thuật KPDL trong phân lớp, dự đoán ... 15
2.2.1. Cây quyết định ... 15
2.2.2. Phân lớp Naïve Bayes ... 16
2.2.3. Luật kết hợp ... 17
2.2.4 Hồi quy tuyến tính ... 19
2.2.5 Mạng nơ-ron nhân tạo ... 21
2.3.KPDL với MS SQL Server ... 23
2.3.1. Giới thiệu chung ... 23
2.3.2. Data Mining eXtensions... 25
2.3.3. Bộ công cụ SQL Server Data Tool – Business Intelligence ... 29
2.3.4. Lập trình KPDL với ADODE.NET ... 30
iv
2.3.5. Đánh giá tính hiệu quả các mô hình KPDL trong SSDT-BI ... 31
2.4.Kết luận chương 2 ... 32
Chương 3. Giải quyết bài toán ... 33
3.1.Phát biểu bài toán ... 33
3.2.Mô tả một số giải thuật sử dụng trong bài toán 1 và bài toán 2 ... 33
3.2.1. Thuật toán Apriori ... 33
3.2.2. Thuật toán C4.5 ... 35
3.2.3. Thuật toán hồi quy tuyến tính của Microsoft ... 36
3.2.4. Thuật toán Back propagation ... 38
3.3.Xây dựng CSDL ... 39
3.4.Xây dựng mô hình KPDL ... 43
3.5.Lập trình KPDL với ADOMD.NET ... 55
3.6.Đánh giá mô hình ... 57
3.6.1 Đánh giá mô hình với Lift Chart ... 57
3.6.2 Đánh giá mô hình với Classification Matrix ... 63
3.7.Xây dựng ứng dụng hỗ trợ tư vấn học tập ... 64
3.8.Kết luận chương 3 ... 69
KẾT LUẬN ... 70
HƯỚNG PHÁT TRIỂN ... 70
TÀI LIỆU THAM KHẢO ... 71
v
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Chữ viết tắt Ý nghĩa
CĐ.ANND I Cao đẳng An ninh nhân dân I
CSDL Cơ sở dữ liệu
DMX Data Mining eXtensions
DMM Data Mining Model
KPDL Khai phá dữ liệu
MS Microsoft
SSDT-BI SQL Server Data Tool - Bussiness Intelligence
QLĐT Quản lý Đào tạo
vi
DANH MỤC CÁC BẢNG
Bảng 2.1: Lựa chọn các thuật toán KPDL theo mục đích ... 24
Bảng 2.2: Bảng danh sách thư viên API Analysis Services... 30
Bảng 3.1: Bảng quy đổi thang điểm ... 40
Bảng 3.2: Thông tin dữ liệu cho bài toán 1 ... 41
Bảng 3.3: Bảng giá trị Mining Legend... 59
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình 1.1: Quá trình của khai thác tri thức ... 11
Hình 2.1: Cấu trúc của cây quyết định ... 15
Hình 2.2: Cây quyết định dự báo khả năng khách hàng ... 16
Hình 2.3: Biểu đồ hồi quy tuyến tính đơn ... 20
Hình 2.4: Mô hình nơ-ron đơn lẻ ... 21
Hình 2.5: Mô hình mạng nơ-ron đa tầng ... 21
Hình 2.6: Mạng nơ-ron trong MS Neural Network ... 22
Hình 2.7: Kiến trúc tổng quan KPDL với MS SQL Server ... 23
Hình 2.8: Biểu đồ đánh giá Lift Chart... 31
Hình 2.9: Đánh giá mô hình với Classification Matrix ... 32
Hình 3.1: Danh sách kết quả các luật ... 34
Hình 3.2: Kết quả mô hình cây quyết định ... 36
Hình 3.3: Kết quả mô hình hồi quy tuyến tính ... 37
Hình 3.4: Dạng tổng quát của mạng nơ-ron truyền thẳng nhiều lớp ... 38
Hình 3.5: Lược đồ CSDL quan hệ ... 41
Hình 3.6: Bộ dữ liệu sử dụng cho bài toán số 1 ... 42
Hình 3.7: Sơ đồ liên quan đến dữ liệu điểm ... 43
Hình 3.8: Danh sách điểm của các học viên ... 43
Hình 3.9: Tạo một dự án Data mining ... 44
Hình 3.10: Tạo Data Source ... 44
Hình 3.11: Tạo Data Source View ... 45
Hình 3.12: Lựa chọn Mining model structure ... 45
Hình 3.13: Thiết lập thuộc tính cho dự báo ... 46
Hình 3.14: Xác định kiểu dữ liệu các thuộc tính cho dự báo ... 46
Hình 3.15: Thiết lập dataset với training và testing ... 47
Hình 3.16: Một Mining Structure và Mining Model được tạo ... 47
Hình 3.17: Thêm mới một Mining Model ... 48
Hình 3.18: Tạo 04 mô hình cho một Mining Structure ... 49
vii
Hình 3.19: Kết quả viewer mô hình Cây quyết định ... 49
Hình 3.20: Kết quả viewer mô hình Luật kết hợp... 50
Hình 3.21: Kết quả viewer mô hình Naïve Bayes ... 50
Hình 3.22: Kết quả viewer mô hình mạng nơ-ron nhân tạo ... 51
Hình 3.23: Biểu đồ Lift Chart cho 04 mô hình ... 51
Hình 3.24: Kết quả Classification Matrix của 04 mô hình ... 52
Hình 3.25: Thiết kế truy vấn Singleton Query DMX với mô hình ... 53
Hình 3.26: Kết quả truy vấn Singleton Query với mô hình ... 53
Hình 3.27: Tạo 3 mô hình cho bài toán 2 ... 54
Hình 3.28: Biểu đồ Lift chart cho 3 mô hình ... 54
Hình 3.29: Sử dụng ADMOD.NET trong C# ... 55
Hình 3.30: Lựa chọn Lift Chart với thuộc tính dự báo xác định ... 57
Hình 3.31: Kết quả Lift Chart với ĐTBKY2 = “K” cho 04 mô hình ... 58
Hình 3.32: Lift Chart cho tất cả các trường hợp của thuộc tính dự đoán ... 60
Hình 3.33: Biểu đồ Lift Chart tất cả trường hợp của thuộc tính dự đoán ... 60
Hình 3.34: Mạng phụ thuộc mô hình CayQĐ ... 61
Hình 3.35: Mạng phụ thuộc mô hình CayQĐ ... 62
Hình 3.36: Biểu đồ phân tán đánh giá 3 mô hình ... 62
Hình 3.37: Đánh giá 3 mô hình với Classifications Matrix ... 64
Hình 3.38: Sơ đồ hoạt động hệ thống... 65
Hình 3.39: Giao diện chính của hệ thống ... 66
Hình 3.40: Kết quả Ví dụ 1 ... 67
Hình 3.41: Kết quả Ví dụ 2 ... 67
Hình 3.42: Kết quả ví dụ 3 ... 68
1
LỜI MỞ ĐẦU
Trong những năm gần đây, việc ứng dụng các kỹ thuật khai phá dữ liệu và phát hiện tri thức trong các lĩnh vực giáo dục, tài chính, ngân hàng, xây dựng…rất được quan tâm nghiên cứu. Đối với giáo dục, đào tạo sinh viên trong các trường Đại học, Cao đẳng theo hình thức đào tạo tín chỉ đòi hỏi học viên phải có sự chủ động cao. Sinh viên trong quá trình học tập phải tự mình lựa chọn, phân bổ các môn học cho từng kỳ sao cho tích lũy đủ số tín chỉ theo quy chế đào tạo, Sinh viên hoàn toàn có thể ra trường sớm hoặc đúng hạn. Qua quá trình dạy học tại trường Cao đẳng An ninh nhân dân I, tôi nhận thấy tỉ lệ học viên học tập tại trường đạt kết quả chưa cao. Nguyên nhân là do các em mới bước chân từ môi trường giáo dục THPT vào môi trường Đại học, Cao đẳng còn nhiều bỡ ngỡ, khó khăn trong việc định hướng học tập, làm ảnh hưởng tới kết quả học tập của bản thân cũng như đối với nhà trường. Chúng ta có thể áp dụng lĩnh vực khai phá dữ liệu và phát hiện tri thức để giải quyết vấn đề trên, nhằm hỗ trợ cho học viên có những định hướng trong việc lựa chọn, xây dựng thời khóa biểu phù hợp bản thân mang lại đạt kết quả cao trong quá trình học tập tại trường.
Từ cơ sở thực tiễn đó, tôi đã chọn đề tài: “Nghiên cứu ứng dụng các kỹ thuật trong khai phá dữ liệu hỗ trợ học tập cho sinh viên”. Mục đích của đề tài này là đi sâu tìm hiểu việc phân tích dữ liệu thông tin cá nhân của sinh viên, kết hợp với kết quả học tập thực tế trong các kỳ nhằm hỗ trợ sinh viên lựa chọn môn học phù hợp, đạt được kết quả cao nhất.
Nội dung trình bày luận văn “Nghiên cứu ứng dụng các kỹ thuật trong khai phá dữ liệu hỗ trợ học tập cho học viên” được bố cục gồm 3 chương:
Chương 1: Giới thiệu
Chương này trình bày về hiện trạng công tác quản lý đào tạo của trường CĐ.ANND I, các đối tượng, phạm vi và hướng nghiên cứu của luận văn.
Chương 2: Cơ sở lý thuyết
Chương này trình bày cơ sở về khai phá dữ liệu và phát hiện tri thức, các kỹ thuật khai phá dữ liệu Cây quyết định, Luật kết hợp, Hồi quy tuyến tính, Neural Networks và Naïve Bayes, Công cụ SSDT-BI của SQL Server 2012.
Chương 3: Giải quyết bài toán
Mô tả, xây dựng bài toán dự đoán kết quả học tập cuối kỳ cho học viên, bài toán dự đoán kết quả của một môn học sắp tới. Tổng hợp và xử lý các dữ liệu liên
2
quan dùng cho phát triển hệ thống. Xây dựng một số mô hình: Hồi quy tuyến tính, Luật kết hợp, Neural Networks, Cây quyết định, Naïve Bayes và đưa ra đánh giá các mô hình tương ứng
Xây dựng cơ sở dữ liệu quản lý học viên và chuyển cơ sở dữ liệu thành kho dữ liệu. Sau đó tiến hành phân tích báo cáo và xây dựng mô hình dựa trên công cụ Business Intelligence của SQL Server 2012, đánh giá các mô hình.
Xây dựng ứng dụng thực nghiệm tư vấn cho học viên, dựa trên mô hình đánh giá cho kết quả tốt nhất.
3
Chương 1. Giới thiệu 1.1. Quy trình quản lý đào tạo tại trường CĐ.ANND I
Quy trình nghiệp vụ quản lý đào tạo cho hệ Cao đẳng tại trường CĐ.ANND I được tổ chức thực hiện theo Quyết định số 17/VBHN-BGDĐT, ngày 15 tháng 5 năm 2014 của Bộ trưởng Bộ giáo dục và Đào tạo ban hành Quy chế đào tạo đại học và cao đẳng hệ chính quy theo hệ thống tín chỉ; Hướng dẫn số 11792/HD- X11-X14 của Tổng cục Chính trị Công an nhân dân hướng dẫn thực hiện quy chế đào tạo đại học, cao đẳng theo tín chỉ; Quyết định số 499/QĐ-T33(P5), ngày 27 tháng 5 năm 2016 của Hiệu trưởng Trường Cao đẳng An ninh nhân dân I ban hành Quy định đào tạo cao đẳng hệ chính quy theo hệ thống tín chỉ. Lưu đồ sau được xây dựng quy định trách nhiệm, phương pháp tổ chức thực hiện và quản lý việc giảng dạy của Phòng Quản lý Đào tạo, các Khoa, Bộ môn và các Phòng chức năng khác liên quan.
Bước Công đoạn Hồ sơ
1 Quyết định và danh sách thí sinh
trúng tuyển các khóa.
2
Quyết định thành lập khoá học.
3 Đề cương môn học
Lịch giảng dạy
4
5 Lịch giảng dạy chi tiết
6
7
Phiếu báo giảng dạy Sổ đầu bài
Thành lập khoá học Kết quả tuyển sinh
Xem xét/ điều chỉnh C
ó
K hông
Lập Thời khoá biểu chi tiết Lập khung thời gian khoá học
Thực hiện công tác giảng dạy
Quản lý tổ chức giảng dạy Quản lý
nội dung giảng dạy
Quản lý tiến độ khoá học
4 8
Đề thi Bài thi Kết quả thi
9
Bảng điểm Mạng nội bộ
10 Quy chế xét và cấp bằng tốt nghiệp
11
Báo cáo tổng hợp tình hình giảng dạy
Mô tả lưu đồ:
- Bước 1: Hàng năm, căn cứ vào chỉ tiêu tuyển sinh do Bộ Công an phê quyệt, nhà trường thực hiện công tác tuyển sinh, họp xét điểm chuẩn, lập quyết định và danh sách thí sinh trúng tuyển;
- Bước 2: Căn cứ danh sách thí sinh trúng tuyển, phòng QLĐT tiến hành phân lớp, phân công cán bộ quản lý đào tạo theo Quyết định thành lập từng khóa học;
- Bước 3: Hàng năm, căn cứ vào chương trình đào tạo và tiến độ đào tạo của các khóa học, phòng QLĐT lập kế hoạch giảng dạy dự kiến của cả năm học;
- Bước 4: Kế hoạch giảng dạy dự kiến được cán bộ phòng QLĐT bố trí lịch giảng cụ thể cho từng môn học. Sau đó chuyển đến các khoa đào tạo để phân công giảng viên và đề nghị điều chỉnh lịch (nếu có);
- Bước 5: Căn cứ kế hoạch lịch giảng của năm học, cán bộ quản lý tiến hành lập lịch giảng chi tiết cho các khóa (thực hiện cho cả năm học) kèm với phiếu báo lịch giảng cho từng môn học;
- Bước 6: Giảng viên thực hiện theo các lịch giảng chi tiết;
- Bước 7: Quản lí quá trình giảng dạy
Phân cấp trách nhiệm quản lí quá trình giảng dạy + Trưởng Khoa, Bộ môn
✓ Phân công giảng viên phụ trách các học phần và báo về phòng QLĐT;
Quản lý đánh giá kết quả giảng dạy
Cập nhật & lưu giữ hồ sơ Quản lý kết quả học tập
Xét tốt nghiệp
5
✓ Kiểm tra giáo trình, giáo án của các giảng viên, tổ chức kiểm tra việc thực hiện lịch trình giảng dạy, chất lượng giảng dạy và công tác phục vụ giảng dạy;
✓ Nắm khối lượng và tình hình giảng dạy của giảng viên, học tập của sinh viên thông qua Giáo vụ khoa, bộ môn.
✓ Chịu trách nhiệm về chất lượng giảng dạy của Khoa, Bộ môn;
✓ Tổ chức sinh hoạt bộ môn theo đúng quy chế của Trường;
+ Giáo vụ khoa, bộ môn
✓ Cập nhật thời khoá biểu, lịch trình, lịch thi;
✓ Theo dõi việc thực hiện công tác giảng dạy và học tập của giảng viên và sinh viên trong Khoa;
✓ Quản lý điểm;
+ Chuyên viên Phòng QLĐT
✓ Trực kiểm tra việc thực hiện giờ lên lớp theo kế hoạch giảng dạy của năm học;
✓ Kiểm tra tiến độ giảng dạy theo lịch trình giảng dạy và quản lý sổ theo dõi giảng dạy. Căn cứ vào việc thực hiện giờ lên lớp, thống kê số giờ còn thiếu và yêu cầu dạy bù đủ số tiết;
✓ Tổng hợp (1 tháng /1lần) các trường hợp sai phạm và các trường hợp phát sinh: vắng tiết, quên giờ, bỏ giờ,.... lập báo cáo gửi về phòng Quản lý học viên.
+ Chuyên viên Phòng thanh tra: Có trách nhiệm kiểm tra:
✓ Việc thực hiện giờ lên lớp theo quy định chung;
✓ Tiến độ giảng dạy theo lịch trình giảng dạy;
✓ Việc ghi chép, sử dụng theo biểu mẫu, sổ sách và quản lý giờ giảng.
+ Ban Giám hiệu
✓ Là cấp có thẩm quyền quyết định hình thức kỷ luật khi có các giảng viên vi phạm. Trong trường hợp nghiêm trọng, Hiệu trưởng - Chủ tịch Hội đồng khen thưởng, kỷ luật Trường sẽ triệu tập họp để xét khen thưởng hoặc kỷ luật các đơn vị và cá nhân liên quan.
Quản lí nội dung giảng dạy
Căn cứ vào phân công trách nhiệm, quản lý nội dung giảng dạy gồm:
+ Quản lý khung chương trình.
6
+ Quản lý đề cương chi tiết của các học phần.
+ Quản lý giáo trình, giáo án.
+ Đảm bảo số giáo trình, tài liệu tham khảo của các môn học.
+ Bổ sung, cập nhật các thay đổi về chương trình giảng dạy sau khi đã có sự thống nhất của Hội đồng khoa học Khoa hoặc Hội đồng khoa học Trường
Quản lý tiến độ giảng dạy
Căn cứ vào phân công trách nhiệm, nội dung quản lý tiến độ gồm:
+ Tại các lớp học lý thuyết, việc thực hiện giờ giảng cho từng môn học được ghi chép vào Sổ theo dõi giảng dạy và học tập.
+ Quản lý danh sách giảng viên báo nghỉ dạy và kiểm tra việc thực hiện dạy bù.
+ Phòng QLĐT căn cứ vào theo dõi thực hiện thời khoá biểu sẽ thống kê số giờ còn thiếu và yêu cầu giảng viên dạy bù đủ số tiết.
- Bước 8: Phòng Khảo thí đảm bảo chất lượng thực hiện việc tổ chức thi hết học phần cho các khóa, thực hiện việc chuyển đề thi và nhận bài thi (theo quy trình phối hợp), tổ chức chấm thi và chuyển điểm về phòng QLĐT theo thời gian quy định;
- Bước 9: Khi nhận bảng điểm từ phòng Khảo thí đảm bảo chất lượng, phòng QLĐT photo 2 bản: 1 bản chuyển các khoa, bộ môn, 1 bản chuyển công bố cho SV. Tổ điểm gốc tiến hành nhập điểm vào hệ thống mạng nội bộ;
- Bước 10: Căn cứ tiến độ đào tạo của từng khóa học và quy chế đào tạo, phòng QLĐT tiến hành xét chuyển giai đoạn, xét điều kiện dự thi tốt nghiệp và xét tốt nghiệp cho học viên. Sau khi được Hội đồng họp xét thông qua, kết quả xét được công bố cho học viên và phòng QLĐT thực hiện các bước tiếp theo của khóa học;
- Bước 11: Cập nhật và lưu trữ hồ sơ.
1.2. Bài toán ứng dụng KPDL để xây dựng hệ thống tư vấn tại trường CĐ.ANND I
Trường Cao đẳng An ninh nhân dân I là trường thuộc Bộ Công an có nhiệm vụ đào tạo, huấn luyện chiến sĩ có trình độ cao, phẩm chất chính trị vững vàng, đáp ứng nhu cầu nhân lực cho lực lượng vũ trang Công an nhân dân Việt Nam.
Về ngành, nghề đào tạo: Trong hơn 50 năm xây dựng và phát triền, nhà
7
trường đã xây dựng và đào tạo 3 chuyên ngành đào tạo cao đẳng chính quy, 4 chuyên ngành đạo tạo Trung cấp chuyên nghiệp và nhiều chương trình đào tạo ngắn hạn khác.
Các lĩnh vực đào tạo: An ninh, Ngoại tuyến, Cảnh vệ
Nhiệm vụ đặt ra đối với trường CĐ.ANND I hiện nay là làm sao nâng cao được chất lượng học tập của học viên trong trường, đáp ứng được nhu cầu đào tạo trước tình hình mới là điểm trọng tâm hàng đầu được nhà trường quan tâm.
Trường CĐ.ANND I đã triển khai đào tạo tín chỉ từ năm 2013-2018. Qua thực hiện triển khai mô hình giảng dạy theo tín chỉ tại Trường có rất nhiều vấn đề bất cập cần sửa đổi theo đúng nghĩa của mô hình đào tạo theo tín chỉ, cụ thể như:
- Chưa đáp ứng được yêu cầu đăng ký học tập của học viên (như phần mềm hỗ trợ đăng ký, theo dõi lịch học…)
- Quản lý dữ liệu về học viên chủ yếu còn thủ công bằng Excel gặp nhiều khó khăn.
- Chưa tổ chức cho học viên đăng ký theo khối lượng học tập, rút bớt học phần đăng ký mà học viên được học theo các học phần Nhà trường bố trí và lựa chọn.
- Việc tổ chức cho học viên học cùng lúc hai chương trình chưa được thực hiện do quy định của ngành Công an hiện nay.
Chính vì vậy nhu cầu tư vấn học tập của học viên thực sự không nhiều, ít thường xuyên, chủ yếu tập trung trong thời điểm đầu khóa mới nhập học. Vai trò của đội ngũ cố vấn học tập cũng chưa thể hiện nhiều trong suốt quá trình đạo tạo.
Thực tế tại các trường Đại học, Cao đẳng ở Việt Nam hiện nay, việc học viên tự chủ động đăng ký lựa chọn môn học phù cho bản thân còn chưa hiệu quả, chưa tận dụng được ưu điểm của việc học theo tín chỉ, chưa xây dựng được lộ trình học tập phù hợp với từng sinh viên. Nhằm giúp phần hỗ trợ cho học viên lựa chọn được những môn học phù hợp với năng lực, đảm bảo hoàn thành khóa học sớm hoặc đúng hạn thì rất cần tới sự trợ giúp của giáo viên cố vấn. Tuy nhiên, ngoài những kinh nghiệm của bản thân mình thì giáo viên cố vấn sẽ phải tra kết quả học tập của mỗi học viên để trợ giúp tùy theo năng lực cá nhân của mỗi em, điều đó khá tốn thời gian và mất nhiều công sức. Việc dự đoán kết quả môn học sắp tới của học viên dựa trên các thông tin về những môn học đã học và kết quả của môn đó sẽ giúp cho học viên có thể đánh giá được năng lực của mình để có
8
kế hoạch học tập phù hợp, đồng thời giúp cho cố vấn học tập cảnh báo sớm tới các học viên đạt kết quả thấp là một việc làm hết sức thiết thực.
Xuất phát từ những điểm nêu trên tác giả đề xuất 2 bài toán dự đoán kết quả học tập của học viên như sau:
Bài toán 1: Dựa vào các thông tin nhân khẩu học: Giới tính, điểm thi đầu vào…và điểm trung bình của học kỳ trước đó nhằm dự đoán điểm trung bình kỳ tới của học viên.
Bài toán 2: Dựa vào kết quả các môn học đã học của học viên, dự đoán kết quả đạt được của môn học sắp tới.
1.3. Một số nghiên cứu về khai phá dữ liệu trong lĩnh vực giáo dục
Khai phá dữ liệu cho giáo dục ngày càng được các nhà nghiên cứu trên toàn thế giới quan tâm. Sự quan tâm đến việc phát triển các kỹ thuật để phân tích dữ liệu được tạo ra trong môi trường giáo dục được thể hiện bằng hàng loạt các hội thảo Education Data Mining. Năm 2008, một nhóm các nhà nghiên cứu đã thành lập hội nghị nghiên cứu quốc tế thường niên về Education Data Mining, hội nghị
đầu tiên diễn ra tại Montreal, Quebec, Canada. Rất nhiều các công trình, bài báo về Education Data Mining được xuất bản tại hội nghị International Conference on Educational Data Mining được tổ chức diễn ra hàng năm. Có thể liệt kê ra một số công trình, bài báo về Educational Data Mining như:
Trong "Conceptual Framework of Data Mining Process in Management Education in India: An Institutional Perspective" (Ranjan & Khalil, 2008) các tác giả Ranjan J. và Khalil S. đã sử dụng cây quyết định và mạng Bayes để hỗ trợ quá trình nhập học, phân tích chất lượng của quá trình giáo dục và kết quả học tập của học sinh ở Ấn Độ. "Data mining for adaptive learning sequence in English language instruction" (Y. H. Wang, Tseng, & Liao, 2009) được phát triển bởi Wang Y., Tseng M. và Liao H., đã sử dụng cây quyết định để đề xuất trình tự học tối ưu nhằm tạo điều kiện cho quá trình học tập của học sinh và để tối đa hóa kết quả học tập của họ. "Recommender system for predicting student performance"
(Thai-Nghe, Drumond, Krohn-Grimberghe, & Schmidt-Thieme, 2010) một bài báo của các tác giả Thai-Nghe N., Drumond L., Krohn-Grimberghe A. và Schmidt-Thieme L., đã đề xuất một cách tiếp cận để sử dụng các kỹ thuật khai thác dữ liệu, đặc biệt là những kỹ thuật dự đoán kết quả hoạt động của học sinh.
"Mining log data for the analysis of learners' Behavior in web-based learning management systems" (Psaromiligkos, Orfanidou, Kytagias, & Zafiri, 2011) trong đó Psaromiligkos Y., Orfanidou., Kytagias C. và Zafiri E., đã sử dụng các quy tắc
9
kết hợp để cải thiện quy trình phản hồi liên tục trong suốt quá trình giáo dục.
"Application of data mining in academic educational databases for predicting trends and patterns" (Parack, Zahid, & Merchant, 2012) Parack S. Merchant và Zahid F. Z. đã sử dụng các quy tắc kết hợp và phân cụm để xác định hồ sơ của sinh viên. "Improving the Student's Performance Using Educational Data Mining" (Priya, 2013) đã sử dụng cây quyết định để cải thiện hiệu suất của học sinh trong các khóa học. "Data Mining: A prediction for Student's Performance Using Classification Method" (Badr, Din, & Elaraby, 2014) do Ahmed A. và Elaraby I. phát triển, trong đó cây quyết định được sử dụng để dự đoán điểm của học sinh cuối cấp. "Educational Data Mining: Performance Evaluation of Decision Tree and Clustering Techniques using WEKA Platform" (Saxena, 2015) được phát triển bởi Saxena R., bài báo này sử dụng công cụ WEKA để so sánh hiệu suất của cây quyết định và kỹ thuật phân cụm trong dữ liệu từ lĩnh vực giáo dục.
Có nhiều nghiên cứu điển hình trong đó các kỹ thuật khai thác dữ liệu được áp dụng cho giáo dục, mỗi nghiên cứu sẽ tìm kiếm câu trả lời cho một tình huống cụ thể trong Educational Data Mining. Việc tri thức được khai phá không chỉ nhằm mục đích cho người khai phá sử dụng mà còn nhắm tới cả người sử hữu cũng có thể sử dụng. Do dó, việc ứng dụng khai phá dữ liệu trong giáo dục có thể hướng tới nhiều tác nhân khác nhau dưới các góc nhìn như:
Hướng tới học viên: tư vấn, đề xuất kinh nghiệm học tập: chọn ngành học, chọn môn học, chọn lộ trình học…
Hướng tới giáo viên: tư vấn, đề xuất cho giáo viên các phương pháp dạy học thích hợp dựa trên việc phân lớp các học viên thành những nhóm theo tùy mức độ, đưa ra các điểm mâu thuẫn, bất thường trong lộ trình học của học viên, liệt kê ra các hoạt động hiệu quả giúp giáo viên cải thiện, xây dựng lại nội dung bài giảng của mình một cách hợp lý, đạt kết quả tốt hơn.
Hướng tới nhà quản lý: giúp nhà quản lý đưa ra các phân tích, đánh giá chính xác về kết quả học tập của học viên qua đó đề ra các định hướng, hoạch định trong: đầu tư bồi dưỡng giáo viên hàng năm, phát hiện các học viên giỏi để bồi dưỡng, hoặc các học viên yếu trong diện cần nhắc nhở, có kế hoạch tăng giờ, tăng số tiết v.v…
1.4. Hướng tiếp cận của luận văn
Luận văn trú trọng tới việc nghiên cứu về lý thuyết khai phá dữ liệu bằng việc sử dụng công cụ khai phá dữ liệu SSDT-BI do Microsoft phát triển. Dữ liệu
10
được sử dụng để khai phá dữ liệu là điểm thực tế của học viên trường Cao đẳng ANND I.
Để giải quyết bài toán về dự báo, dự đoán kết quả học tập của học viên luận văn sử dụng một số thuật toán KDPL được hỗ trợ trong SQL Server.
Từ các mô hình dự đoán, tác giả sẽ lựa chọn ra mô hình dự đoán tốt nhất và xây dựng chương trình thực nghiệm để hỗ trợ học tập cho học viên.
1.5. Kết luận chương 1
Chương này giới thiệu về bài toán thực tế tại Trường Cao đẳng ANND I, những vấn đề đặt ra cần giải quyết đối với bài toán, một số hướng nghiên cứu của KDPL trong giáo dục hiện nay và hướng tiếp cận của luận văn.
11
Chương 2. Cơ sở lý thuyết 2.1. Khai phá dữ liệu
2.1.1. Khái niệm
Khai phá dữ liệu là một tập hợp các kỹ thuật được sử dụng để tự động khai thác và tìm ra các mối quan hệ lẫn nhau của dữ liệu trong một tập hợp dữ liệu khổng lồ và phức tạp, đồng thời cũng tìm ra các mẫu tiềm ẩn trong tập dữ liệu đó [1].
Hình 1.1 cho thấy khai phá dữ liệu là một bước trong quá trình KDD (Knowledge Discovery in Database) và KDD được tiến hành qua 6 giai đoạn [3].
Hình 1.1: Quá trình của khai thác tri thức
1. Gom dữ liệu: là bước đầu tiên trong quá trình KPDL bằng việc thu thập dữ liệu từ CSDL, kho dữ liệu hay là từ các Website.
2. Trích lọc dữ liệu: Dữ liệu được tuyển chọn hoặc phân chia theo một tiêu chí nhất định dùng cho việc khai tác. Ví dụ: chọn ra cá học viên có điểm trung bình học kỳ lớn hơn 7.0 và là người dân tộc thiểu số.
3. Làm sạch, tiền xử lý dữ liệu: Là việc xử lý loại bỏ những dữ liệu dư thừa, thiếu logic dẫn tới kết quả bị sai lệch. Ví dụ: Điểm Trung bình = 11.5.
4. Chuyển đổi dữ liệu: Là đưa dữ liệu về dạng phù hợp, thuận tiện cho khai phá bằng cách nhóm hoặc tập hợp. Ví dụ: Điểm TB học kỳ của học viên là biến số, biến định lượng, nếu muốn đánh giá học lực của các học viên chúng ta phải tạo cột dữ liệu mới với biến định danh có giá trị “Giỏi”, “Khá”, “Trung bình”, “ Kém”, “Yếu” được đặt ra bằng cách phân theo điều kiện của mức điểm trung bình.
12
5. Khai phá dữ liệu: Đây là bước thể hiện tư duy trong KPDL. Trong giai đoạn này sử dụng các thuật toán, phương pháp, các mô hình phân tích khác nhau như: Decision Tree, Classification, Association, Regression, …mục đích phát hiện, trích xuất các thông tin hữu ích, giá trị tiềm năng từ những mẫu dữ liệu, quy luật và xu hướng dữ liệu.
6. Đánh giá luật và biểu diễn tri thức: Ở giai đoạn này, các mẫu dữ liệu hay thông tin thu được từ quá trình khai khác sẽ được đánh giá, xác định mức độ chính xác bằng việc xây dựng các giả thuyết và tiến hành kiểm định, dựa trên mức độ tin cậy và kết quả kiểm định để xem xét. Sau đó thể hiện kết quả bằng các công cụ trực quan hóa, sử dụng đồ thị, bảng, biểu đồ để dễ dàng diễn giải kết quả đến người xem.
2.1.2. Những hướng tiếp cận trong KPDL
Về cơ bản KPDL được chia theo một số hướng chính sau:
2.1.2.1 Mô tả khái niệm:
Mục đích là đưa ra những đặc trưng, tính chất thuộc về khái niệm. Một số dạng điển hình như: Tổng quát hóa, tóm tắt, phát hiện đặc trưng rằng buộc, tương phản…
2.1.2.2 Luật kết hợp:
Bài toán khai phá luật kết hợp được ứng dụng nhiều trong lĩnh vực kinh doanh, y học, giáo dục, viễn thông, tài chính, thị trường chứng khoán…
Phân tích luật kết hợp sẽ khám phá được các luật kết hợp giữa các thuộc tính hay xuất hiện cùng nhau ở trong tập dữ liệu.
Ví dụ: “70% nam giới mua bia thì có tới 80% trong số đó sẽ mua thêm lạc”
2.1.2.3 Phân lớp và dự đoán
Là một dạng phổ biến thường gặp trong KPDL bằng việc sắp xếp một đối tượng vào một lớp đã biết trước, ví dụ: “phân lớp vùng địa lý theo dữ liệu thời tiết, phân lớp bệnh nhân theo dữ liệu hồ sơ bệnh án…”. Với hướng tiếp cận này thường sử dụng một số kỹ thuật học máy như: cây quyết định, mạng nơ ron nhân tạo...lớp bài toàn này còn được gọi là học có giám sát (Supervised learning)
2.1.2.4 Phân cụm:
Phân cụm dữ liệu là bài toán gom các đối tượng dữ liệu vào thành từng nhóm/ cụm sao cho các đối tượng trong cùng một cụm có sự tương đồng theo một tiêu chí nào đó. Trong bài toán phân cụm thì số lượng cũng như tên cụm chưa
13 được biết trước.
Các đối tượng sẽ được gom cụm với mức độ tương quan giữa các đối tượng trong cùng một cụm là lớn nhất và mức độ tương quan giữa các đối tượng nằm trong các cụm khắc nhau là nhỏ nhất. Bài toán phân cụm thường được gọi là học không giám sát (Unsupervised learning)
2.1.2.5 Phân tích chuỗi theo thời gian:
Giống như KPDL với luật kết hợp nhưng được kết hợp thêm tính thứ tự và tính thời gian. Với luật mô tả tuần tự có dạng tiêu biểu X → Y, phản ánh sự xuất hiện của biến có X sẽ dẫn đến xuất hiện biến cố Y. Các lĩnh vực có tính chất dự
báo thường được ứng dụng theo hướng tiếp cận này như: lĩnh vực tài chính và thị
trường chứng khoán.
2.1.3. Các bước xây dựng một giải pháp về KPDL
Có thể liệt kê ra các bước của một hệ thống KPDL như sau:
- Bước 1: Xác định mục tiêu - Bước 2: Tổng hợp dữ liệu.
- Bước 3: Làm sạch, chuyển đổi dữ liệu.
- Bước 4: Tạo mô hình khai phá.
- Bước 5: Đánh giá mô hình - Bước 6: Báo cáo.
- Bước 7: Dự đoán.
- Bước 8: Tích hợp với ứng dụng - Bước 9: Quản lý mô hình
2.1.4. Các lĩnh vực ứng dụng của KPDL
Khai phá dữ liệu là lĩnh vực nhận được rất nhiều sự quan tâm của các nhà nghiên cứu nhờ vào những ứng dụng thực hiện của nó trong đời sống. Dưới dây là một số những ngành và lĩnh vực KPDL đem lại những lợi ích sau:
- Trong lĩnh vực tài chính, ngân hàng: Hỗ trợ xác định phân khúc khách hàng hiệu quả, dự đoán khả năng vay và trả nợ các khoản tín dụng của từng khách hàng, tự động phát hiện và ngăn chặn các giao dịch gian lận, tội phạm tài chính.
- Trong lĩnh vực y tế, chăm sóc sức khỏe: hỗ trợ kiểm soát các loại dịch bệnh thông qua thu thập và phân tích dữ liệu về nhân khẩu học, hồ sơ bệnh nhân
14
tại các bệnh viện. Phát hiện các mồi quan hệ giữa những bệnh, triệu chứng bệnh, với những phương pháp chữa trị. Dự đoán khả năng bệnh nhân có thể mắc các bệnh gì dựa trên các yếu tố rủi ro.
- Trong lĩnh vực viên thông: Giúp phân khúc khách hàng theo nhiều yếu tố khác nhau, giới thiệu, cung cấp các dịch vụ phù hợp với khách hàng. Xác định, dự báo các yếu tố ảnh hưởng khiến khách hàng rời dịch vụ.
- Trong lĩnh vực Sales và Marketing: Giúp phát hiện ra các xu hướng, thông tin hữu ích, dự đoán được xu hướng tiêu dùng, xác định hành vi tiêu dùng của khác hàng. Tìm ra sự phối hợp, sự kết hợp có liên quan giữa các sản phẩm với nhau.
- Trong lĩnh vực E-commerce: Xây dựng hệ thống khuyến nghị sử dụng các thuật toán Data mining để phân tích hành vi khách hàng, dữ liệu lịch sử giao dịch hay những tương tác của họ trên các website bán hàng, hay các trang mạng xã hội.
Ví dụ: tìm hiểu sản phẩm nào họ đang tìm kiếm và quan tâm nhất, những poster quản cáo, chương trình khuyến mãi nào thu hút để họ nhấn vô tìm hiểu.
Ngoài ra KPDL còn hỗ trợ phân tích cảm xúc của khách hàng dựa vào phân tích các nhận xét, các đoạn đối thoại với khác hàng trên mạng xã hội dưới hình thức văn bản.
- Trong lĩnh vực bán lẻ: Bên cạnh phân tích dữ liệu khách hàng để phân khúc khách hàng theo các nhóm có cùng sở thích, nhu cầu giúp triển khai các chiến lược. KPDL còn giúp dự báo doanh số, lập các kế hoạch dự phòng hàng tồn kho, kế hoạch phân phối hàng hóa hợp lý qua các hoạt động quản lý chuỗi cung ứng bằng việc phân tích một khối lượng lớn dữ liệu từ dữ liệu về doanh số từng mặt hàng qua từng thời kỳ, lịch sử giao dịch, mua hàng của khách hàng, dữ liệu về quá trình vận chuyển sản phẩm, dữ liệu về lượng tiêu thụ sản phẩm.
- Trong lĩnh vực sinh học: KPDL hỗ trợ thu thập, lưu trữ và phân tích các dữ liệu về di truyền học, dữ liệu trong nghiên cứu các căn bệnh, nghiên cứu các chất dinh dưỡng, … KPDL giúp các nhà nghiên cứu phát hiện, khám phá cấu trúc gen, … và trực quan hóa bằng các bảng biểu và đồ thị.
- Trong lĩnh vực bảo mật, phòng chống tội phạm: Hệ thống KPDL cho phép lưu trữ dữ liệu về tội phạm, dữ liệu về các kẻ tình nghi, người dân, … ; và phân tích dữ liệu để tìm ra các hành vi phạm tội, nhận diện khuôn mặt. Đối với bảo mật thông tin, chống tin tặc, KPDL giúp phát hiện các hành vi thâm nhập hệ thống bất hợp pháp, ngăn chặn các e-mail spam, tin rác, phần mềm độc hại.
15
- Trong lĩnh vực giáo dục: KPDL giúp phát triển các phương pháp học tập.
KPDL hỗ trợ thu thập và lưu trữ dữ liệu trong môi trường giáo dục, phân tích dữ liệu để xác định tình hình học tập của mỗi học sinh và dự báo kết quả học tập trong tương lai để tìm hiểu vấn đề, đưa ra phương pháp dạy, phương pháp học phù hợp với học sinh. Đây cũng chính là vấn đề nghiên cứu chính của luân văn.
Tóm lại, KPDL có thể được ứng dụng trong tất cả các lĩnh vực khác nhau miễn là lĩnh vực ấy có thể tiếp cận, thu thập dữ liệu từ các nguồn và có nhu cầu phân tích dữ liệu để tìm kiếm các thông tin có giá trị phục vụ cho những mục đích riêng.
2.2. Một số kỹ thuật KPDL trong phân lớp, dự đoán 2.2.1. Cây quyết định
Cây quyết định (Decision Tree) là các thuật toán cổ điển, được tổ chức theo cấu trúc giống cây, trong đó mỗi nút bên trong đại diện cho một 'thử nghiệm' trên một thuộc tính [10].
Decision Trees bao gồm các nút (node), nhánh (branches) và lá (leafs). Mỗi nút đại diện cho một thuộc tính hoặc tính năng, mỗi nhành đại diện cho một quy tắc hoặc quyết định và mỗi nút đại diện cho một kết quả. Độ sâu của cây được xác định bởi số cấp và không bao gồm nút gốc.
Hình 2.1: Cấu trúc của cây quyết định Trong Hình 2.1 chúng ta có thể thấy:
Root: điểm ngọn chứa giá trị của biến đầu tiên được dùng để phân nhánh.
Internal node: các điểm bên trong thân cây là các biến chứa các thuộc tính, gía trị dữ liệu được dùng để xét cho các phân nhánh tiếp theo.
16
Leaf node: là các lá cây chứa giá trị của biến phân loại sau cùng.
Branch: là quy luật phân nhánh, hay nói đơn giản là mối quan hệ giữa giá trị của biến độc lập (Internal node) và giá trị của biến mục tiêu (Leaf node)
Trong khai phá dữ liệu hay Machine learning Decision tree được ứng dụng để dự báo khả năng xảy ra dựa vào các thông tin đầu vào. Chúng ta cùng đi xem xét Hình 2.3 về ứng dụng của Decision tree trong lĩnh vực ngân hàng dự báo khả năng khách hàng có thể trả được nợ - no default, hoặc không trả được nợ - default dựa trên các thông tin về khoản tiết kiệm – Savings, thu nhập – Income, và tài sản – Assets.
Hình 2.2: Cây quyết định dự báo khả năng khách hàng
Nhìn vào Hình 2.2 chúng ta thấy, nếu savings = medium, khách hàng có khoản tiết kiệm trung bình thì chắc chắn sẽ không có nợ xấu, nếu khác hàng có savings = high chúng ta phải xét thêm thu nhập có lớn hơn 10000k, nếu lớn hơn thì sẽ có khả năng thanh toán được nợ, ngược lại khách hàng khó trả được nợ.
Nhiệm vụ sau cùng của Decision tree là phân loại đối tượng dữ liệu chưa được phân loại trước đó vào các nhóm, các lớp phù hợp. Tóm lại, Decision tree là một trong những phướng pháp KPDL được sử dụng nhiều nhất trong các dự án nghiên cứu dữ liệu, là phương pháp học có giám sát mang lại kết quả dự báo, phân loại chính xác, ổn định và dễ diễn giải.
2.2.2. Phân lớp Naïve Bayes
Naive Bayes Classification (NBC) là một thuật toán phân loại dựa trên tính toán xác suất áp dụng định lý Bayes [5].
17
Định lý Bayes được sử dụng để tính toán xác suất sự kiện A xảy ra khi biết sự kiện B đã xảy ra và được ký hiệu là P(A | B), trong đó P(A) là xác suất sư kiện A xảy ra và P(B) là xác suất sự kiện B xảy ra. Ta có công thức tính xác suất ngẫu nhiên của sự kiện A khi biết B như sau:
𝑃(𝐴|𝐵) =𝑃(𝐵|𝐴)𝑃(𝐴) 𝑃(𝐵) Từ đó ta có:
𝑃(𝐴|𝐵)𝑃(𝐵) = 𝑃(𝐴 ∩ 𝐵) = 𝑃(𝐴)𝑃(𝐵|𝐴)
Thuật toán Naive Bayes Classification được áp dụng vào trong các loại ứng dụng sau:
1. Real time Prediction: NBC chạy khá nhanh nên nó thích hợp áp dụng ứng dụng nhiều vào các ứng dụng chạy thời gian thực, như hệ thống cảnh báo, các hệ thống trading …
2. Multi class Prediction: Nhờ vào định lý Bayes mở rộng ta có thể ứng dụng vào các loại ứng dụng đa dự đoán, tức là ứng dụng có thể dự đoán nhiều giả thuyết mục tiêu.
3. Text classification/ Spam Filtering/ Sentiment Analysis: NBC cũng rất thích hợp cho các hệ thống phân loại văn bản hay ngôn ngữ tự nhiên vì tính chính xác của nó lớn hơn các thuật toán khác. Ngoài ra các hệ thống chống thư rác cũng rất ưu chuộng thuật toán này. Và các hệ thống phân tích tâm lý thị trường cũng áp dụng NBC để tiến hành phân tích tâm lý người dùng ưu chuộng hay không ưu chuộng các loại sản phẩm nào từ việc phân tích các thói quen và hành động của khách hàng.
4. Recommendation System: Naive Bayes Classifier và Collaborative Filtering được sử dụng rất nhiều để xây dựng cả hệ thống gợi ý, ví dụ như xuất hiện các quảng cáo mà người dùng đang quan tâm nhiều nhất từ việc học hỏi thói quen sử dụng internet của người dùng, hoặc như ví dụ đầu bài viết đưa ra gợi ý các bài hát tiếp theo mà có vẻ người dùng sẽ thích trong một ứng dụng nghe nhạc.
2.2.3. Luật kết hợp
Khai phá luật kết hợp là một kỹ thuật quan trọng của KPDL. Mục tiêu là tìm các mẫu phổ biến, hay các mối quan hệ giữa các tập đối tượng trong các CSDL và những kho thông tin khác.
Luật kết hợp được ứng dụng trong đời sống ở nhiều lĩnh vực khác nhau (1)
(2)
18
như: khoa học, kinh doanh thương mại, phân tích thị trường tài chính…
Ví dụ:
{Bánh mì, bơ} → {Sữa tươi} [2%; 70%]
Luật này có nghĩa: Nếu mua bánh mì và bơ thì mua sữa tươi trong 70%
trường hợp. Bánh mì, bơ, sữa tươi được mua chung trong 2% tổng giao dịch.
Các khái niệm cơ bản:
Cho cơ sở dữ liệu gồm các mặt hàng I = {i1, i2, …, in} là tập n mục (item).
Một tập X I được gọi là tập mục (itemset). Nếu X có k mục (tức |X| = k) thì X được gọi là k-itemset.
Cho cơ sở dữ liệu gồm các giao dịch T = {t1, t2, …, tm}. T gọi là cơ sở dữ liệu giao dịch (Transaction Database) gồm m giao dịch. Mỗi giao dịch Ti T là một tập mục, tức là Ti I
Độ hỗ trợ của tập mục X Cho tập mục X I
Độ hỗ trợ (support) của X, ký hiệu là sup(X,T), là số lượng giao dịch trong T chứa X:
sup(X,T) = |{t| t T và X t}|
Tập phổ biến
Tập mục X được gọi là tập (mục) phổ biến (frequent itemset) trong T nếu sup(X, T) ≥ minsup, với minsup là một ngưỡng độ hỗ trợ tối thiểu do người dùng định nghĩa.
Luật kết hợp X → Y
Luật kết hợp có dạng: X → Y, với X và Y là hai tập mục (X, Y I) và X
Y = ∅. Luật đưa ra khả năng sự xuất hiện Y khi X xuất hiện. Để để đo lường luật kết hợp chúng ta dùng 2 tham số độ hỗ trợ (Support) và độ tin cây (Confidence).
Trong phân tích giỏ thị trường, luật kết hợp X =>Y có thể hiểu rằng những người mua các mặt hàng trong tập X cũng thường mua các mặt hàng trong tập Y.
(X và Y gọi là itemset).
(3)
19
Ví dụ, nếu X = {Táo, Chuối} và Y = {Lê, Xoài} với luật kết hợp dạng X
→ Y thì có thể phát biểu rằng những người mua Táo và Chuối thì cũng thường mua Lê và Xoài.
Độ hỗ trợ (Support) của luật kết hợp X → Y
Độ hỗ trợ (Support) của luật kết hợp X → Y chính là tần suất giao dịch chứa tất cả các items trong cả hai tập X và Y. Ví dụ: với 8% độ hỗ trợ của luật X
→ Y có nghĩa là 8% các giao dịch X và Y được mua cùng nhau.
Công thức tính độ hỗ trợ của luật X →Y như sau:
𝑠𝑢𝑝(𝑋→ 𝑌, 𝑇) = 𝑠𝑢𝑝(𝑋 ∪ 𝑌, 𝑇) Độ tin cậy (Confidence) của luật kết hợp X → Y
Độ tin cậy (Confidence) của luật kết hợp X → Y là xác suất xảy ra Y khi đã biết X. Ví dụ 70% là độ tin cậy của luật kết hợp {Táo} → {Cam} có nghĩa là 70% khách hàng mua Táo cũng mua Cam.
Công thức tính độ tin cậy của luật kết hợp X → Y chính là xác suất có điều kiện Y khi đã biết X như sau :
𝑐𝑜𝑛𝑓(𝑋 → 𝑌, 𝑇) = 𝑠𝑢𝑝 (𝑋 ∪ 𝑌, 𝑇) 𝑠𝑢𝑝 (𝑋, 𝑇) Luật kết hợp mạnh:
Luật X → Y được gọi là mạnh (strong) nếu độ tin cậy của nó lớn hơn hoặc bằng một ngưỡng minconf nào đó do người dùng định nghĩa :
𝑐𝑜𝑛𝑓(𝑋 → 𝑌, 𝑇) ≥ 𝑚𝑖𝑛𝑐𝑜𝑛𝑓
Khai phá luật kết hợp là việc phát hiện ra các luật kết hợp thỏa mãn các ngưỡng độ hỗ trợ, và ngưỡng độ tin cậy cho trước. Bài toán khai phá luật kết hợp thường được chia thành hai bước:
- Bước 1: Khai phá tất cả các tập phổ biến từ cơ sở dữ liệu T với ngưỡng hỗ trợ tối thiểu minsup.
- Bước 2: Sinh tất cả các luật mạnh từ các tập phổ biến được khai phá ở bước 1 với ngưỡng tin cậy tối thiểu minconf.
2.2.4 Hồi quy tuyến tính
Hồi quy (Regression) là phương pháp nghiên cứu mối quan hệ giữa 2 biến:
một biến độc lập (ảnh hưởng đến mục tiêu), và biến mục tiêu (bị ảnh hưởng bởi (4)
(5)
(6)
20
biến độc lập), mô hình hóa, định lượng hóa mối quan hệ này để có thể xác định được giá trị của biến mục tiêu nếu các biến độc lập thây đổi ra sao. Kết quả của phân tích hồi quy có thể được đem ra dự báo.
Hồi quy tuyến tính (Linear Regression) được xem là mô hình hồi quy đơn bội, phổ biến nhất và chỉ nghiên cứu mối quan hệ tuyến tính giữa một biến độc lập và biến phụ thuộc, áp dụng cho biến định lượng và đồ thị là ở dạng đường thẳng [8].
Ta có phương trình tổng quát:
𝛾 = 𝛽0+ 𝛽1𝑥 + 𝜖 Trong đó:
y là biến phụ thuộc hay là biến chúng ta sẽ dự báo.
x là biến độc lập.
𝛽0 là giá trị ước lượng của y khi x đạt giá trị 0.
𝛽1 là độ dốc của đường hồi quy tuyến tính, nói một cách khác là mức độ thay đổi của y khi x thay đổi 1 đơn vị.
𝜖 là sai số, thể hiện giá trị của các yếu tố khác không thể nghiên cứu hết và các yếu tố này vẫn tác động lên giá trị của y.
Phần 𝛽0+ 𝛽1𝑥 chính là phần dự báo.
Đô thị minh họa:
Hình 2.3: Biểu đồ hồi quy tuyến tính đơn
Thuật toán Microsoft Linear Regression là một biến thể của thuật toán Microsoft Decision Trees giúp chúng ta tính toán mối quan hệ tuyến tính giữa biến phụ thuộc và biến độc lập, sau đó sử dụng mối quan hệ đó để dự đoán.
Phương trình biểu diễn đường hồi quy của thuật toán Microsoft Linear Regression có dạng tổng quát của y = ax + b, và được gọi là phương trình hồi quy.
(7)
21
Biến y đại diện cho biến đầu ra, x đại diện cho biến đầu vào, a và b là các hệ số điều chỉnh.
Mô hình hồi quy tuyến tính sử dụng cùng một thuật toán như Cây quyết định của Microsoft nhưng các tham số khác nhau được sử dụng để rằng buộc và đầu vào của mô hình chỉ chấp nhận các thuộc tính liên tục. Do các mô hình tuyến tính dựa trên thuật toán cây quyết định của Microsoft nên các mô hình hồi quy tuyến tính được hiện thị bằng cách sử dụng Decision Tree Viewer để xem.
2.2.5 Mạng nơ-ron nhân tạo
Mạng nơ-ron nhân tạo là một phương pháp tiếp cận tính toán dựa trên một tập hợp lớn các đơn vị thần kinh mô hình hóa cách bộ não giải quyết vấn đề. Mạng nơ-ron nhân tạo được cấu trúc theo các lớp [10].
Một mạng nơ-ron được cấu thành bởi các nơ-ron đơn lẻ được gọi là các perceptron. Một perceptron sẽ nhận một hoặc nhiều đầu x vào dạng nhị phân và cho ra một kết quả o dạng nhị phân duy nhất.
Hình 2.4: Mô hình nơ-ron đơn lẻ
Mạng nơ-ron là sự kết hợp của các thần perception hay còn được gọi là perceptron đa tầng như Hình 2.5.
Hình 2.5: Mô hình mạng nơ-ron đa tầng Một mạng nơ-ron sẽ có 3 kiểu tầng:
- Tầng vào (input layer): Là tầng bên trái thể hiện cho các đầu vào của mạng nơ-ron.
22
- Tầng ẩn (hidden layer): Là tầng ở giữa thể hiện cho sự suy luận logic của mạng nơ-ron
- Tầng ra (output layer): Là tầng bên phải thể hiện cho các đầu ra của mạng.
Microsoft Neural Network tạo ra một mạng gồm tối đa ba lớp nút. Các lớp này là lớp đầu vào (input layer), lớp ẩn (hidden layer) và lớp đầu ra (output layer)
Hình 2.6: Mạng nơ-ron trong MS Neural Network
- Lớp đầu vào: Các nút đầu vào xác định tất cả các giá trị thuộc tính đầu vào cho mô hình khai thác dữ liệu và xác suất của chúng.
-Lớp ẩn: Các nút ẩn nhận đầu vào từ các nút đầu vào và cung cấp đầu ra cho các nút đầu ra. Lớp ẩn là nơi các xác suất khác nhau của các đầu vào được gán trọng số. Trọng số mô tả mức độ liên quan hoặc tầm quan trọng của một đầu vào cụ thể đối với nút ẩn. Trọng số được gán cho đầu vào càng lớn thì giá trị của đầu vào đó càng quan trọng.
-Lớp đầu ra: Các nút đầu ra đại diện cho các giá trị thuộc tính có thể dự
đoán được cho mô hình khai thác dữ liệu.
Có ba loại neuron trong một mạng Neural được tạo ra với thuật toán Microsoft Neural Network:
Neurons đầu vào: Các nơ-ron đầu vào cung cấp các giá trị thuộc tính đầu vào cho mô hình khai thác dữ liệu. Với thuộc tính đầu vào dạng rời rạc, một nơ- ron đầu vào thường biểu diễn một trạng thái duy nhất bao gồm các giá trị bị thiếu, nếu dữ liệu đào tạo chứa giá trị rỗng cho thuộc tính đó. Với thuộc tính đầu vào liên tục tạo ra hai nơ-ron đầu vào: một trạng thái bị thiếu, một cho giá trị của chính thuộc tính liên tục.
Neurons ẩn: Các nơ-ron ẩn nhận đầu vào từ các nơ-ron đầu vào và cung cấp đầu ra cho các nơ-ron đầu ra.
23
Neurons đầu ra: Neural đầu ra đại diện cho các giá trị của thuộc tính dự
đoán của mô hình KPDL. Với thuộc tính đầu nhận giá trị là rời rạc, một neural đầu ra sẽ đại diện duy nhất cho một trạng thái dự đoán của thuộc tính dự đoán, gồm cả giá trị bị thiếu. Với thuộc tính dự đoán liên tục sẽ tạo ra hai neural đầu ra:
một ở dạng trạng thái bị thiếu, một cho chính các giá trị của thuộc tính liên tục đó.
Trong quá trình học, từ tầng vào tới tầng ra của mạng nơ-ron là quá trình lan truyền tiến (feedforward), tức là đầu vào các nơ-ron tại 1 tầng đều lấy từ kết quả các nơ-ron tầng trước đó mà không có quá trình suy luận ngược lại.
2.3. KPDL với MS SQL Server 2.3.1. Giới thiệu chung
Hình 2.7 dưới đây mô tả kiến trúc tổng quan của KPDL với Microsoft SQL Server:
Hình 2.7: Kiến trúc tổng quan KPDL với MS SQL Server Một số công cụ hỗ trợ KPDL với SQL Server gồm:
- SQL Server Business Intelligence: hỗ trợ từ bản Microsoft Visual Studio 2010 trở lên.
- Bộ công cụ SQL Server 2012 (Analysis Service): ứng dụng hỗ trợ lưu trữ dữ liệu và phân tích dữ liệu.
KPDL trong SQL Server bao gồm các loại thuật toán sau:
24
- Các thuật toán phân loại dự đoán một hoặc nhiều biến rời rạc, dựa trên các thuộc tính khác trong tập dữ liệu.
- Các thuật toán hồi quy dự đoán một hoặc nhiều biến số liên tục, chẳng hạn như lãi hoặc lỗ, dựa trên các thuộc tính khác trong tập dữ liệu.
- Các thuật toán phân đoạn chia dữ liệu thành các nhóm hoặc cụm, các mục có các thuộc tính tương tự.
- Các thuật toán kết hợp tìm mối tương quan giữa các thuộc tính khác nhau trong một tập dữ liệu. Ứng dụng phổ biến nhất của loại thuật toán này là tạo ra các quy tắc liên kết, có thể được sử dụng trong phân tích rổ thị trường.
- Các thuật toán phân tích trình tự tóm tắt các chuỗi hoặc tập thường xuyên trong dữ liệu, chẳng hạn như một loạt các nhấp chuột trong một trang web hoặc một loạt các sự kiện nhật ký trước khi bảo trì máy.
Việc lựa chọn một thuật toán tối ưu phù hợp nhất cho bài toán của mình được coi là thử thách. Tuy nhiên, chúng ta không nên chỉ dùng một thuật toán để giải quyết vấn đề. Các nhà phân tích có kinh nghiệm đôi khi sẽ sử dụng một thuật toán để xác định các yếu tố đầu vào hiệu quả nhất, sau đó sẽ áp dụng một thuật toán khác để dự đoán kết quả cụ thẻ dựa trên dữ liệu đó. KPDL với SQL Server cho phép xây dựng nhiều mô hình trên một cấu trúc khai thác duy nhất, vì vậy trong một giải pháp khai thác dữ liệu, chúng ta có thể sử dụng thuật toán phân cụm, mô hình cây quyết định và mô hình Naïve Bayes để có các chế độ xem khác nhau về dữ liệu. Chúng ta cũng có thể sử dụng nhiều thuật toán trong một giải pháp để thực hiện các nhiệm vụ riêng biệt. Ví dụ: chúng ta có thể sử dụng hồi quy để thu được các dự báo tài chính và sử dụng thuật toán mạng thần kinh để thực hiện phân tích các yếu tố ảnh hưởng đến dự báo.
Bảng 2.1 sau gợi ý cho chúng ta lựa chọn thuật toán phù hợp cho giải pháp KPDL với Microsoft SQL Server.
Bảng 2.1: Lựa chọn các thuật toán KPDL theo mục đích
Nhiệm vụ Thuật toán Microsoft sử dụng Dự đoán thuộc tính rời rạc
- Đưa ra khách hàng trong danh sách người mua tiềm năng là khách hàng tiềm năng tốt hoặc kém.
MS Decision Trees Algorithm MS Naive Bayes Algorithm MS Clustering Algorithm MS Neural Network Algorithm
25 - Tính xác suất để một máy chủ bị lỗi trong vòng 6 tháng tới.
- Phân loại kết quả của bệnh nhân và khám phá các yếu tố liên quan.
Dự đoán thuộc tính liên tục - Dự đoán doanh số năm tới.
- Dự đoán khách truy cập trang web theo lịch sử trước đây và theo xu hướng.
MS Decision Trees Algorithm MS Time Series Algorithm
Dự đoán một trình tự
- Phân tích các yếu tố dẫn đến lỗi máy chủ.
- Nắm bắt và phân tích chuỗi các hoạt động trong quá trình thăm khám bệnh nhân ngoại trú, để xây dựng các phương pháp hay nhất về các hoạt động chung.
MS Sequence Clustering Algorithm
Tìm nhóm của những mục chọn trong các giao dịch
- Đề xuất sản phẩm bổ sung cho khách hàng để mua.
- Phân tích dữ liệu khảo sát từ khách truy cập vào một sự kiện, để tìm các hoạt động hoặc gian hàng có tương quan, để lập kế hoạch cho các hoạt động trong tương lai.
MS Association Rules Algorithm MS Decision Trees Algorithm
Tìm những mục giống nhau
- Tạo nhóm hồ sơ rủi ro bệnh nhân dựa trên các thuộc tính như nhân khẩu học và hành vi.
MS Clustering Algorithm
Microsoft Sequence Clustering Algorithm
2.3.2. Data Mining eXtensions
DMX – Data Mining eXtensions là một ngôn ngữ truy vấn khai phá dữ liệu được Microsoft định nghĩa trong OLE DB với mục đích dành cho khai phá dữ liệu [9, 11]. Giống như SQL, nó hỗ trợ định nghĩa, thao tác và truy vấn dữ liệu với cú pháp giống SQL. Người sử dụng SQL đã quen với việc các câu lệnh SQL hoạt
26
động trên các bảng quan hệ, tuy nhiên đối với các câu lệnh DMX sẽ hoạt động trên các mô hình khai thác dữ liệu. DMX được dùng để tạo cấu trúc các mô hình khai thác dữ liệu mới, hay huấn luyện, duyệt, quản lý và dự đoán. DMX bao gồm các câu lệnh ngôn ngữ định nghĩa dữ liệu (DDL), câu lệnh thao tác dữ liệu (DML), các hàm và toán tử.
Với DDL cho phép chúng ta có thể:
- Tạo mô hình khai thác dữ liệu mới và cấu trúc khai thác với các toán tử như: CREATE MINING STRUCTURE, CREATE MINING MODEL.
- Xóa các mô hình khai tác dữ liệu và các cấu trúc khai thác với các toán tử như: DROP MINING STRUCTURE, DROP MINING MODEL
- Kết xuất và nhập cấu trúc khai thác với các toán tử: EXPORT, IMPORT - Sao chép dữ liệu từ mô hình khác thác này sang mô hình khai thác khác với toán tử: SELECT INTO
Với DML cho phép chúng ta có thể:
- Huấn luyện mô hình khai thác với toán tử: INSERT INTO
- Duyệt dữ liệu trong các mô hình khai thác với toán tử: SELECT FROM - Đưa ra dự đoán bằng mô hình khai thác với toán tử: SELECT ... FROM PREDICTION JOIN
DMX là ngôn ngữ biến đổi dữ liệu từ bảng với cột và hàng thành dữ liệu dạng case (trường hợp) và attributes (thuộc tính) để phù hợp cho các thuật toán khai thác dữ liệu. Có hai đối tượng chính được sử dụng để biểu hiện sự chuyển đổi này là: cấu trúc khai thác (mining structure) và mô hình khai thác (mining model)
Mining structure chứa tất cả các mô hình được sử dụng để phân tích dữ liệu nguồn. Nó được định nghĩa là danh sách gồm các cột chứa kiểu dữ liệu và thông tin của chúng sẽ mô tả chúng nên được xử lý theo dạng phân loại (categorical) hoặc liên tục (continues). Điều này phù hợp với yêu cầu của mỗi thuật toán cần dữ liệu khác nhau. Ví dụ: Thuật toán Microsoft Naïve Bayes chỉ chấp nhận dữ liệu dạng phân loại, trong khi thuật toán Microsoft Linear Regression chỉ chấp nhận dữ liệu dạng liên tục.
Mining model được coi là tác nhân chính để biến đổi các hàng dữ liệu thành các trường hợp (case) và thực hiện việc học máy bằng thuật toán khai thác dữ liệu được ấn định. Một mining model có thể coi là tập con của các cột dữ liệu
27
trong cấu trúc được sử dụng giống như thuộc tính (nghĩa là chúng có thể là đầu ra, đầu vào hoặc thậm chí là cả), cùng với các tham số thuật toán và thuật toán sẽ được sử dụng để thực hiện học máy trên dữ liệu cấu trúc.
Case trong DMX là một ví dụ duy nhất dùng cung cấp cho thuật toán KPDL. Nó bao gồm một tập hợp các thuộc tính với các giá trị được liên kết với nhau và hầu hết thực tế một ‘Case’ được đại diện bởi một dòng trong bảng với các cột đại diện cho bảng thuộc tính. Ví dụ: Câu hỏi đặt ra là: “Các yếu tố của khách hàng ảnh hưởng đến rủi ro tín dụng”, thì Case ở đây chính là khách hàng và chứa tất cả thông tin bạn biết của khách hàng.
Attribute là yếu tố cơ bản nhất của một truy vấn KPDL. Ví dụ như giới tính một học viên, độ tuổi, điểm số…
Khi lựa chọn thuộc tính cho KPDL, ta nên cẩn thận để lựa chọn thuộc tính có khả năng có liên quan đến truy vấn và cung cấp thông tin có thể được sử dụng bởi các thuật toán KPDL. Nhiều thuộc tính không phải là thích hợp cho việc KPDL.
Chúng ta đề cập đến hai loại thuộc tính sau:
- Thuộc tính phân loại (Categorical) thuộc tính được chia theo thang do định danh không phân biệt dữ liệu nào lớn hơn hay tốt hơn. Ví dụ: nam hay nữ, hoặc mã vùng…
- Thuộc tính liên tục (Continous) là những thuộc tính có giá trị trong khoảng liên tục. Ví dụ: tuổi, thời gian…
Các lệnh truy vấn DMX:
Tạo cấu trúc khai phá (Creating Mining Structure) CREATE MINING STRUCTURE [New Mailing]
(
CustomerKey LONG KEY, Gender TEXT DISCRETE,
[Number Cars Owned] LONG DISCRETE, [Bike Buyer] LONG DISCRETE
)
Tạo MINING STRUCTURE tên là New Mai1ing, với các cột CustomerKey, Gender, Number Cars Owned, Bike Buyer và CustomerKey là thuộc tính khóa.
28
Tạo mẫu khai phá (Creating Mining Models) ALTER MINING STRUCTURE [New Mailing]
ADD MINING MODEL [Naive Bayes]
(
CustomerKey, Gender,
[Number Cars Owned], [Bike Buyer] PREDICT )
USING Microsoft_Naive_Bayes (MAXIMUM_STATES = 50) Tạo mẫu khai phá từ mẫu có sẵn
SELECT * INTO [New_Clustering]
USING [Microsoft_Clustering] (CLUSTER_COUNT = 5) FROM [TM Clustering]
Bộ lọc (Filters)
Sau khi một cấu trúc được xử lý, có thể truy vấn cấu trúc này để tìm những thứ cần tìm.
Select * from [Sequence Clustering].SAMPLE_Cases WHERE IsInNode('000000003')
SELECT DISTINCT [Age] AS [Midpoint Age], RangeMin([Age]) AS [Minimum Age], RangeMax([Age]) AS [Maximum Age]
FROM [TM Decision Tree]
SELECT TOP 500 * FROM [Targeted Mailing].Cases WHERE [Bike Buyer] = 1 ORDER BY Age DESC;
Truy xuất các kết quả (Prediction Function)
DMX cung cấp nhiều hàm để truy xuất các luật và các kết quả của quá trình khai phá và phân tích, từ khóa Predict được sử dụng là cơ bản trong quá trình truy vấn. Trong nhiều trường hợp khác thì ta có thể cung cấp thêm nhiều tham số và tham trị để truy tìm ra kết quả mà mình mong muốn.