ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN THỊ THANH HƯƠNG
ỨNG DỤNG KHAI PHÁ DỮ LIỆU
ĐỂ XÂY DỰNG HỆ THỐNG TƯ VẤN HỌC TẬP
TẠI TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội - 2015
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN THỊ THANH HƯƠNG
ỨNG DỤNG KHAI PHÁ DỮ LIỆU
ĐỂ XÂY DỰNG HỆ THỐNG TƯ VẤN HỌC TẬP
TẠI TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
Ngành: Công nghệ Thông tin
Chuyên ngành: Hệ thống Thông tin
Mã số: 60480104
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 - 2015
Họ và tên
Nguyễn Thị Thanh Hương
2
MỤC LỤC
LỜI CẢM ƠN.................................................................................................................... 1
LỜI CAM ĐOAN..............................................................................................................2
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT.........................................................5
DANH MỤC CÁC BẢNG.................................................................................................6
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ.............................................................................6
Chương 1. Giới thiệu tổng quan.......................................................................................8
1.1.Bài toán ứng dụng KPDL để xây dựng hệ thống tư vấn tại trường ĐHCNHN.........8
1.2. Một số hướng nghiên cứu về khai phá dữ liệu trong lĩnh vực giáo dục hiện nay.....9
1.3. Hướng tiếp cận của luận văn..................................................................................10
1.4. Kết luận chương 1..................................................................................................10
Chương 2. Các kiến thức cơ sở liên quan.......................................................................11
2.1. Khai phá dữ liệu.....................................................................................................11
2.1.1. Khái niệm KPDL
11
2.1.2. Những nhóm bài toán của 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. Ứng dụng KPDL trong giáo dục
2.3.4. Lập trình KPDL với Analysis Services APIs 28
2.3.5 Đánh giá hiệu quả của các mô hình KPDL
29
2.4. Kết luận chương 2..................................................................................................29
Chương 3. Phương pháp giải quyết bài toán..................................................................30
3.1.
Tìm hiểu và thu thập dữ liệu điểm......................................................................30
3
3.2. Xây dựng mô hình.................................................................................................36
3.3. Lập trình KPDL với Analysis Services APIs..........................................................41
3.4.
Đánh giá mô hình...............................................................................................43
3.4.1 Đánh giá các mô hình dự báo với Lift Chart 43
3.4.2 Đánh giá các mô hình dự báo với Classification Matrix
47
3.5. Kết luận chương 3.................................................................................................49
Chương 4. Xây dựng hệ thống tư vấn học tập tại trường ĐHCNHN.............................50
KẾT LUẬN...................................................................................................................... 58
HƯỚNG PHÁT TRIỂN...................................................................................................58
TÀI LIỆU THAM KHẢO................................................................................................59
Self-Organizing Map
MS
ĐHCNHN
Microsoft
Đại học Công Nghiệp Hà Nội
5
DANH MỤC CÁC BẢNG
Bảng 2.4: Lựa chọn các thuật toán khai phá dữ liệu theo mục đích
.........................................................................................................................................
23
Bảng 3.1: Bảng dữ liệu xây dựng hệ thống tư vấn học tập
.........................................................................................................................................
34
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1.1: Các bước xây dựng một hệ thống KPDL..........................................................11
Hình 2. 1: Biểu diễn cây quyết định cơ bản.....................................................................16
Hình 2. 2: Cây quyết định cho việc chơi Tennis...............................................................16
Hình 2. 3: Mô hình mạng nơron nhiều lớp.......................................................................18
Hình 2. 4: Tiến trình học..................................................................................................19
Hình 2. 5: Hình ảnh tổng quan về KPDL với SQL 2008..................................................22
Hình 3. 1: Mô hình CSDL quan hệ được thu thập để xây dựng hệ thống.........................31
Hình 3. 2: Một phần bảng các lộ trình học theo ngành.....................................................33
Hình 3. 3: Một phần dữ liệu xây dựng hệ thống...............................................................35
Trường ĐHCNHN là một trường nằm trong hệ thống các trường chuyên nghiệp
trực thuộc Bộ công thương. Một vấn đề cấp thiết đặt ra trong công tác quản lý và đào tạo
của nhà trường là xây dựng các mục tiêu, chiến lược nhằm mở rộng quy mô đào tạo, thu
hút được nhiều sinh viên, bên cạnh đó là việc nâng cao chất lượng giảng dạy, đảm bảo
đào tạo những sinh viên ra trường đáp ứng được yêu cầu công việc. Công nghệ thông tin
đã được ứng dụng trong công tác quản lý của nhà trường, song việc khai thác vẫn còn
nhiều hạn chế.
Xuất phát từ yêu cầu đặt ra đối với đơn vị mình, tôi đã thực hiện đề tài luận văn
“ỨNG DỤNG KHAI PHÁ DỮ LIỆU ĐỂ XÂY DỰNG HỆ THỐNG TƯ VẤN HỌC
TẬP TẠI TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI”. Luận văn đi sâu vào việc
khai phá dữ liệu từ thông tin cá nhân, điểm tuyển sinh đầu vào kết hợp với lộ trình học để
dự đoán kết quả học tập của sinh viên, hỗ trợ tư vấn cho sinh viên lựa chọn lộ trình học
phù hợp để đạt được kết quả học tập cao nhất.
Luận văn gồm có phần mở đầu, kết luận và 04 chương, cụ thể như sau:
Chương 1: Giới thiệu tổng quan
Giới thiệu bài toán ứng dụng KPDL để xây dựng hệ thống tư vấn tại trường
ĐHCNHN, trình bày một số hướng nghiên cứu về KPDL trong giáo dục và hướng tiếp
cận của luận văn.
Chương 2: Các kiến thức cơ sở liên quan
Nghiên cứu các cơ sở lý thuyết KPDL, các vấn đề liên quan đến KPDL trong lĩnh
vực giáo dục. Tìm hiểu các kỹ thuật khai phá dữ liệu sử dụng trong bài toán phân lớp, dự
báo (cây quyết định, phân lớp Naïve Bayes, mạng nơ ron nhân tạo, luật kết hợp) và kỹ
thuật KPDL trên hệ quản trị CSDL MS SQL Server.
Chương 3. Phương pháp giải quyết bài toán
Mô tả ứng dụng, xây dựng bài toán liệt kê lộ trình học cho từng ngành học để tư
vấn cho sinh viên chọn lộ trình phù hợp với ngành mình đang theo học. Thu thập và xử lý
các dữ liệu liên quan để phát triển hệ thống. Xây dựng 4 mô hình: Cây quyết định, Naïve
Bayes, Neural Networks, Luật kết hợp và đưa ra đánh giá các mô hình tương ứng.
Chương 4: Xây dựng hệ thống tư vấn học tập tại trường ĐHCNHN
Dựa trên những đánh giá về mô hình, lựa chọn mô hình cho kết quả tốt nhất. Xây
Vì vậy, việc tư vấn học tập, chủ yếu liên quan đến lựa chọn lộ trình học phù hợp nhằm
đạt được kết quả học tập cao nhất cho mỗi sinh viên được đặc biệt quan tâm. Đó cũng là
khó khăn chung không chỉ của sinh viên, mà còn của các cố vấn học tập, giáo viên chủ
nhiệm và các tổ chức quản lý trong trường. Các giảng viên chuyên trách, cố vấn học tập
không thể tiếp cận toàn bộ dữ liệu về điểm của sinh viên.
Đối với mỗi sinh viên, việc lựa chọn cho mình một lộ trình học phù hợp theo đúng
quy trình đào tạo là một việc hết sức khó khăn, đặc biệt là với các sinh viên mới vào
trường, khi mà kinh nghiệm học tập ở bậc đại học và hình thức đào tạo tín chỉ còn rất mới
mẻ. Xuất phát từ thực tế đó, việc tư vấn lựa chọn lộ trình học cho sinh viên theo ngành
học đã đăng ký là một việc làm hết sức thiết thực và ý nghĩa.
9
Bài toán tư vấn lựa chọn lộ trình học cho sinh viên gồm hai bước:
Bước 1: Liệt kê toàn bộ lộ trình học có thể của một sinh viên theo ngành học mà
sinh viên đó đã chọn.
Bước 2: Dự đoán kết quả học tập cuối khóa của sinh viên theo tất cả các lộ trình ở
trên. Chọn ra lộ trình với kết quả dự đoán cho ra kết quả học tập tốt nhất để tư vấn cho
sinh viên. Nếu có nhiều lộ trình có cùng kết quả thì sinh viên có thể tự chọn một trong số
các lộ trình học đó sao cho phù hợp nhất với năng lực, sở thích và các điều kiện khác của
bản thân.
Trên cơ sở những lộ trình học đã liệt kê cho một sinh viên, công đoạn quan trọng nhất
chính là dự đoán kết quả học tập toàn khóa của sinh viên tương ứng với các lộ trình học ở
trên và tư vấn cho sinh viên lộ trình học phù hợp nhất.
Việc dự đoán được sử dụng kỹ thuật khai phá dữ liệu trên SQL Server với việc áp
dụng các mô hình khác nhau như: cây quyết định, luật kết hợp, mạng Naïve Bayes và
mạng nơ ron nhân tạo. Qua đánh giá độ chính xác của các mô hình sẽ lựa chọn mô hình
cho kết quả tốt nhất, áp dụng vào hệ thống để tư vấn lựa chọn lộ trình học cho sinh viên.
1.2. Một số hướng nghiên cứu về khai phá dữ liệu trong lĩnh vực giáo dục hiện nay
Hiện đã có rất nhiều nghiên cứu về ứng dụng KPDL cho giáo dục. Những khai phá
tập của sinh viên.
Sau khi đánh giá mô hình dự đoán tốt nhất, tác giả xây dựng chương trình thực
nghiệm để hỗ trợ tư vấn học tập cho sinh viên năm đầu.
1.4. Kết luận chương 1
Chương này giới thiệu về bài toán, những yêu cầu đặt ra cần giải quyết đối với bài
toán đồng thời trình bày một số hướng nghiên cứu về KPDL trong giáo dục hiện nay,
hướng tiếp cận của luận văn.
11
Chương 2.Các kiến thức cơ sở liên quan
2.1. Khai phá dữ liệu
2.1.1. Khái niệm KPDL
KPDL là quá trình khảo sát và phân tích một khối lượng lớn các dữ liệu được lưu
trữ trong các cơ sở dữ liệu, kho dữ liệu…để từ đó trích xuất ra các thông tin quan trọng,
có giá trị tiềm ẩn bên trong. Do nhu cầu nghiệp vụ cần có cách nhìn thông tin trên quy
mô toàn đơn vị.
Các dữ liệu này được thu từ nhiều nguồn, đa số là từ các phần mềm nghiệp vụ
như: phần mềm tài chính, kế toán, các hệ thống quản lý tài nguyên doanh nghiệp, các hệ
thống quản lý khách hàng hay từ tác công cụ lưu trữ thông tin trên web…
Đây là những khối dữ liệu khổng lồ nhưng những thông tin mà nó thể hiện ra thì
lộn xộn và “nghèo” đối với người dùng. Kích thước của khối dữ liệu khổng lồ đó cũng
tăng với tốc độ rất nhanh chiếm nhiều dung lượng lưu trữ. KPDL liệu sẽ giúp trích xuất
ra các mẫu điển hình có giá trị và biến chúng thành những tri thức hữu ích. Quá trình này
gồm một số bước được thể hiện trong hình sau.
Hình 1.1: Các bước xây dựng một hệ thống KPDL
Ý nghĩa cụ thể của các bước như sau:
- Lựa chọn dữ liệu liên quan đến bài toán quan tâm.
Bài toán này đôi khi còn gọi là bài toán phân tích giỏ hàng bởi vì nó được sử dụng
rộng rãi trong phân tích các giao dịch dữ liệu, các bài toán lựa chọn hàng hóa đi kèm…
Phân tích luật kết hợp khám phá ra các luật kết hợp thể hiện mối liên hệ giữa các
thuộc tính dữ liệu thường xuất hiện cùng nhau trong các tập dữ liệu.
13
Hồi quy
Bài toán hồi quy cũng tương tự như bài toán phân loại. Điểm khác biệt là hồi quy
dự đoán cho các dữ liệu liên tục
Dự đoán
Dự đoán là một mảng quan trọng của KPDL. Dự đoán có hai loại chính: một loại
là dự đoán về một số giá trị dữ liệu chưa biết hay có xu hướng sắp xảy ra, còn loại kia là
dự đoán để phân lớp dựa trên một tập huấn luyện và giá trị thuộc tính của đối tượng.
Trong phạm vi luận văn, tác giả sẽ sử dụng loại dự đoán thứ hai.
Phân tích chuỗi
Phân tích chuỗi được sử dụng để tìm ra các mẫu trong một loạt các giá trị hay
trạng thái rời rạc. Ví dụ như việc chọn mua hàng của khách hàng có thể mô hình là một
chuỗi dữ liệu. Hành động chọn mặt hàng A, sau đó chọn mặt hàng B, C… là một chuỗi
các trạng thái rời rạc. Trong khi đó thời gian lại là chuỗi số liên tục.
Phân tích chuỗi và phân tích luật kết hợp giống nhau ở chỗ đều phân tích tập hợp
các đối tượng hay trạng thái. Điểm khác nhau là mô hình chuỗi phân tích sự chuyển của
các trạng thái, trong khi mô hình luật kết hợp thì coi mỗi một mặt hàng trong giỏ hàng là
như nhau và độc lập. Với mô hình chuỗi, việc chọn mặt hàng A trước mặt hàng B hay
chọn mặt hàng B trước A sau là khác nhau. Còn ở mô hình kết hợp thì cả hai trường hợp
là như nhau.
Phân tích độ lệch
Bài toán này còn được gọi là phát hiện điểm biên. Điểm biên là những đối tượng
dữ liệu mà không tuân theo các đặc tính, hành vi chung. Bài toán phát hiện điểm biên ứng
dụng rất nhiều trong các ứng dụng. Ứng dụng quan trọng nhất của bài toán phát hiện
Tư vấn lựa chọn lộ trình học: Cho một kho dữ liệu đào tạo (theo hình thức tín
chỉ) bao gồm các môn học (học phần) tương ứng với các ngành học và các học kỳ (gọi là
chương trình đào tạo), cùng với các thông tin về kết quả học tập của các sinh viên đã tốt
nghiệp. Hãy tư vấn cho các sinh viên mới vào trường cách lựa chọn một lộ trình học phù
hợp nhất cho ngành học mà sinh viên đã đăng ký sao cho kết quả tốt nghiệp ra trường của
sinh viên là cao nhất. Đây chính là bài toán mà luận văn hướng đến. Để thực hiện việc
này, chúng ta cần sử dụng các thuật toán KPDL ở dạng phân lớp và dự đoán như Cây
quyết định, mạng Naive Bayes, Neural Network hay luật kết hợp.
2.1.4.2 Các ứng dụng hướng đến giáo viên
Phân loại học sinh, sinh viên: Đánh giá, phân loại học sinh, sinh viên để đưa ra
những phương pháp và hình thức dạy học thích hợp là việc thường xuyên phải làm trong
quá trình giáo dục. Đánh giá từng mặt, đánh giá một số mặt và đánh giá toàn thể phẩm
chất, năng lực của học sinh đều có ý nghĩa vô cùng quan trọng và đều có ảnh hưởng lớn
tới kết quả giáo dục. Đánh giá đúng sẽ dẫn đến những quyết định đúng đắn. Đánh giá sai
hậu quả sẽ khôn lường. Tuy nhiên đánh giá là một việc rất khó. Vấn đề càng khó khi
thông tin về đối tượng được đánh giá là rất lớn và dàn trải.
15
Việc phân nhóm các học sinh, sinh viên (theo năng lực một cách đúng đắn) vào
các lớp học khác nhau để đào tạo sẽ nâng cao chất lượng giáo dục. Đối với các học sinh
giỏi, chương trình đào tạo có thể khác, dạy phần cơ sở nhanh hơn, tập trung vào các phần
nâng cao để bồi dưỡng học sinh giỏi, các học sinh yếu, kém phải dạy thật chậm, giảng
giải chi tiết và hướng đến các kiến thức căn bản, cơ sở…Nếu trong lớp học các học sinh
giỏi và yếu kém học cùng nhau sẽ dễ xảy ra tình trạng người học giỏi thiếu hứng thú với
việc học khi giáo viên ra đề quá dễ và dạy quá chậm, hoặc người học yếu, kém không thể
theo được chương trình khi giáo viên dạy quá nhanh và ra đề quá khó…
Để thực hiện việc phân loại học sinh, sinh viên như trên, một phương pháp tốt nhất
đó chính là sử dụng các kỹ thuật KPDL với các thuật toán phân cụm, phân lớp như Cây
quyết định, K-mean, mạng SOM (Kohonen) với thông tin đầu vào là dữ liệu về các học
đại diện cho giá trị dự đoán của biến mục tiêu, cho trước các giá trị dự đoán của các biến
được biểu diễn bởi đường đi từ nút gốc tới nút lá đó. Kỹ thuật học máy dùng trong cây
quyết định được gọi là học bằng cây quyết định, hay chỉ gọi với cái tên ngắn gọn là cây
quyết định.
Ví dụ 2.1: Một người có chơi tennis hay không?
Hình 2. 2: Cây quyết định cho việc chơi Tennis
Cây quyết định (Decision Tree) là một cây phân cấp có cấu trúc được dùng để
phân lớp các đối tượng dựa vào dãy các luật (series of rules). Các thuộc tính của đối
tượng (ngoại trừ thuộc tính phân lớp – Category attribute) có thể thuộc các kiểu dữ liệu
17
khác nhau (Binary, Nominal, ordinal, quantitative values) trong khi đó thuộc tính phân
lớp phải có kiểu dữ liệu là Binary hoặc Ordinal.
Tóm lại, cho dữ liệu về các đối tượng gồm các thuộc tính cùng với lớp (classes)
của nó, cây quyết định sẽ sinh ra các luật để dự đoán lớp của các đối tượng chưa biết
(unseen data).
So với các phương pháp KPDL khác, cây quyết định là một trong những hình thức
mô tả dữ liệu tương đối đơn giản, trực quan, dễ hiểu đối với người dùng nhưng lại hiệu
quả nên được sử dụng nhiều. Trong những năm qua, nhiều mô hình phân lớp dữ liệu đã
được các nhà khoa học trong nhiều lĩnh vực khác nhau đề xuất như mạng notron, mô
hình thống kê tuyến tính /bậc 2, cây quyết định, mô hình di truyền... Trong số những mô
hình đó, cây quyết định được đánh giá là một công cụ mạnh, phổ biến đặt biệt là thích
hợp cho DM nói chung và cho phân lớp dữ liệu nói riêng.
Có rất nhiều giải thuật sẵn dùng: CART (Breiman et al., 1984), C4.5 (Quinlan,
1993...
2.2.2 Phân lớp Naïve Bayes
Định lý Bayes cho phép tính xác suất xảy ra của một sự kiện ngẫu nhiên A khi biết
sự kiện liên quan B đã xảy ra. Xác suất này được ký hiệu là P(A|B), và đọc là "xác suất
thuộc tính dự đoán liên tục tạo ra hai neural đầu ra: một neural cho một trạng thái bị
thiếu, một neural cho chính các giá trị của thuộc tính liên tục đó.
Mỗi đầu vào có một giá trị được gán cho nó có trọng số là w, mô tả sự liên quan
giữa đầu vào đến các neural ẩn hoặc các neural đầu ra.
Mạng Neural xây dựng lại cấu trúc bộ não có khả năng nhận biết dữ liệu thông
qua tiến trình học, với các thông số tự do của mạng có thể thay đổi liên tục bởi những
thay đổi của môi trường và mạng neural ghi nhớ giá trị đó.
Hình 2. 4: Tiến trình học
Trong quá trình học, giá trị đầu vào được đưa vào mạng và theo dòng chảy trong
mạng tạo thành giá trị ở đầu ra.
Tiếp đến là quá trình so sánh giá trị tạo ra bởi mạng Neural với giá trị ra mong
muốn. Nếu hai giá trị này giống nhau thì không thay đổi gì cả. Tuy nhiên, nếu có một sai
lệch giữa hai giá trị này vượt quá giá trị sai số mong muốn thì đi ngược mạng từ đầu ra về
đầu vào để thay đổi một số kết nối.
20
Đây là một quá trình lặp liên tục và có thể không dừng khi không tìm các giá trị w
sao cho đầu ra tạo bởi mạng Neural bằng đúng đầu ra mong muốn. Do đó trong thực tế
người ta phải thiết lập tiêu chuẩn dựa trên một giá trị sai số nào đó của hai giá trị này, hay
dựa trên một số lần lặp xác định.
2.2.4 Luật kết hợp
Khai phá luật kết hợp: Là tìm các mẫu phổ biến, sự kết hợp, sự tương quan, hay
các cấu trúc nhân quả giữa các tập đối tượng trong các cơ sở dữ liệu giao tác, cơ sở dữ
liệu quan hệ, và những kho thông tin khác.
Các ứng dụng: Luật kết hợp có ứng dụng trong nhiều lĩnh vực khác nhau của đời
sống như: khoa học, hoạt động kinh doanh, tiếp thị, thương mại, phân tích thị trường
chứng khoán, tài chính và đầu tư,...
Ví dụ về luật kết hợp:
(4)
Tập phổ biến
Cho D = ( T, I, R); minsup (0,1].
Tập mục X I được gọi là một tập phổ biến theo ngưỡng minsup ( gọi tắt là tập phổ
biến) nếu support(X) >= minsup.
Ký hiệu FX(T, I, R, minsup) là tập hợp các tập phổ biến theo ngưỡng minsup:
FX(T, I, R, minsup) = { X I | support(X) ≥ minsup}
Luật kết hợp X => Y
Cho D = ( T, I, R) là dữ liệu để khai thác. X , Y I là các tập mục thỏa mãn điều
kiện X Y .
Luật kết hợp của X và Y, ký hiệu X=>Y , đây là luật chỉ khả năng xuất hiện Y khi X xuất
hiện. Luật kết hợp có hai độ đo gắn với nó là: độ hỗ trợ và độ tin cậy (confidence) của
luật.
Độ hỗ trợ của luật kết hợp X => Y
Độ hỗ trợ của luật kết hợp X => Y, ký hiệu support( X => Y) là tỷ số của số các
giao tác trong D có chứa X Y trên số tất cả giao tác trong D.
Hay
Support( X => Y) = card (T(X Y))/card(T) =
T (X Y )
T
; (5)
Trong đó T(X) là tập giao tác chứa tập mục X.
Độ tin cậy của luật kết hợp X => Y
Độ tin cậy (confidence) của luật X => Y, ký hiệu: confidence(X => Y) là tỷ số các giao
tác trong D có chứa X Y trên số các giao tác chứa X. Hay
23