M ục tiêu nghiên cứu Tìm hiểu các kỹ thuật khai phá dữ liệu, áp dụng các kỹ thuật khai phá dữ liệu trong phân tích số liệu, xây dựng mô hình dự đoán đưa ra các dự báo về kết quả học tập
Trang 1ĐẠI HỌC KINH TẾ HUẾ
- -
Ứng dụng khai phá dữ liệu để dự báo điểm chuyên ngành
c ủa sinh viên chuyên ngành Tin học Kinh tế
Trường Đại học Kinh tế Huế
TRƯƠNG VĂN QUỐC ANH
Trang 2ĐẠI HỌC HUẾ ĐẠI HỌC KINH TẾ HUẾ
- -
Ứng dụng khai phá dữ liệu để dự báo điểm chuyên ngành
c ủa sinh viên chuyên ngành Tin học Kinh tế
Trường Đại học Kinh tế Huế
Sinh viên th ực hiện:
Trương Văn Quốc Anh
Trang 3Em xin gửi lời cảm ơn chân thành đến thạc sĩ Mai Thu Giang, cô đã tận tình truyền dạy kinh nghiệm cũng như kiến thức quý báu và hỗ trợ em hết mình trong suốt quá trình thực hiện đề tài Cô đã giúp đỡ em rất nhiều từ việc lên ý tưởng đề tài ban đầu cho đến hướng dẫn thực hiện đề tài và sau đó góp ý để đề tài hoàn thành tốt nhất có thể
Em cũng xin gửi lời cảm ơn đến phòng Đào tạo Đại học đã cung cấp cơ sở
dữ liệu ban đầu cũng như các điều kiện thuận lợi khác để em hoàn thành tốt đề tài
Cu ối cùng em xin gửi lời cảm ơn chân thành đến bố mẹ, người thân và bạn
bè đã khích lệ động viên em trong suốt thời gian qua để em có thể hoàn thành tốt
đề tài
Mặc dù đã có nhiều cố gắng, nhưng do thời gian, kĩ năng bản thân còn nhi ều hạn chế nên không thể tránh khỏi những sai sót, mong quý thầy, cô và các
b ạn đóng góp, chỉ bảo để đề tài có thể hoàn thiện hơn
Em xin chân thành cảm ơn!
Huế, 4 năm 2018 Sinh viên
Trang 4M ỤC LỤC
LỜI CẢM ƠN i
MỤC LỤC ii
DANH MỤC HÌNH VẼ iv
DANH MỤC BẢNG BIỂU vi
PHẦN I ĐẶT VẤN ĐỀ 1
1 Lí do chọn đề tài 1
2 Mục tiêu nghiên cứu 1
3 Đối tượng nghiên cứu 1
4 Phạm vi nghiên cứu 2
5 Phương pháp nghiên cứu 2
6 Cấu trúc khĩa luận 2
PH ẦN II NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 4
CHƯƠNG 1 CƠ SỞ LÝ LUẬN 4
1.1 Tổng quan về khai phá dữ liệu 4
1.1.1 Khái niệm 4
1.1.2 Quá trình khai phá dữ liệu 4
1.2 Khai phá dữ liệu giáo dục 5
1.3 Các phương pháp khai phá dữ liệu 5
1.3.1 Mạng nơ ron (neural) 5
1.3.2 Cây quyết định (J48) 10
1.3.3 K - lân cận 14
1.3.4 Support Vector Machine 16
1.3.5 Nạve Bayes 17
1.4 Đánh giá độ chính xác của mơ hình phân lớp bằng phương pháp K-fold cross validation 18
1.5 Trích chọn thuộc tính trong khai phá dữ liệu 19
1.6 Phương pháp đánh giá 20
1.6.1 Độ chính xác (Accuracy) 20
1.6.2 Precision và Recall 21
TR ƯỜ
NG ĐẠ
I H ỌC
KINH
TẾ HU
Ế
Trang 51.6.3 Gain – Lift chart 22
1.6.4 Root Means Square Error 22
1.6.5 Receiver Operator Characteristic (ROC) 23
1.7 Giới thiệu phần mềm Weka 24
1.7.1 Giới thiệu chung 24
1.7.2 Môi trường Explorer 25
CHƯƠNG 2 TỔNG QUAN KHAI PHÁ DỮ LIỆU GIÁO DỤC VÀ ĐỀ XUẤT MÔ HÌNH NGHIÊN CỨU ĐỐI VỚI TRƯỜNG ĐẠI HỌC KINH TẾ HUẾ 27
2.1 Các nghiên cứu liên quan 27
2.2 Mô tả bài toán 37
2.3 Quy trình nghiên cứu 40
CH ƯƠNG 3 ỨNG DỤNG WEKA TRONG DỰ BÁO ĐIỂM CHUYÊN NGÀNH TIN HỌC KINH TẾ 41
3.1 Mô tả thí nghiệm 41
3.2 Kết quả thí nghiệm 47
3.3 Lưu và sử dụng mô hình dự báo 56
PHẦN III KẾT LUẬN VÀ ĐỀ XUẤT 60
1 Kết luận 60
2 Đề xuất phát triển 61
DANH M ỤC TÀI LIỆU THAM KHẢO 62
TR ƯỜ
NG ĐẠ
I H ỌC
KINH
TẾ HU
Ế
Trang 6DANH M ỤC HÌNH VẼ
Hình 1 1 Cấu trúc một nơ ron (neural) 6
Hình 1 2 Mô hình mạng nơ ron truyền thẳng 7
Hình 1 3 Mô hình mạng nơ ron hồi quy 7
Hình 1 4 Kiến trúc hai chiều của mạng Kohonen 10
Hình 1 5 Mô hình cây quyết định 11
Hình 1 6 Thuật toán K-NN 15
Hình 1 7 Mặt phân tách phi tuyến tính trong không gian giả thuyết có thể trở thành một siêu phẳng trong không gian đặc trưng 17
Hình 1 8 Cross-validation với 5-fold 19
Hình 1 9 Precision và Recall 21
Hình 1 10 Biểu đồ Lift-chart 22
Hình 1 11 Biểu đồ Root Means Square Error 23
Hình 1 12 Đồ thị ROC 24
Hình 1 13 Cửa sổ chính của Weka 25
Hình 1 14 Môi trường Explorer 26
Hình 2 1 Trường Đại học Kinh tế Huế 38
Hình 2 2 Chương trình đào tạo chuyên ngành Tin học Kinh tế 39
Hình 2 3 Sơ đồ quy trình nghiên cứu 40
Hình 3 1 Dữ liệu thô ban đầu 41
Hình 3 2 Giá trị trống được đánh dấu 42
Hình 3 3 Dữ liệu sau quá trình tiền xử lý 42
Hình 3 4 Dữ liệu sau khi tải lên weka 44
Hình 3 5 Loại bỏ những trường dữ liệu dư thừa 44
Hình 3 6 Thiết lập trích chọn thuộc tính quan trọng 45
Hình 3 7 Các thuộc tính quan trọng được chọn ra 46
Hình 3 8 Huấn luyện mô hình mạng nơ ron 46
Hình 3 9 Kết quả huấn luyện mô hình 47
Hình 3 10 Lưu mô hình dự báo 47
TR ƯỜ
NG ĐẠ
I H ỌC
KINH
TẾ HU
Ế
Trang 7Hình 3 11 Lưu mô hình vào tập tin 56
Hình 3 12 Tải mô hình vào bộ nhớ 56
Hình 3 13 Chọn tập dữ liệu cần dự báo 57
Hình 3 14 Thiết lập thông số 58
Hình 3 15 Sử dụng mô hình để dự báo cho bộ dữ liệu mới 58
Hình 3 16 Kết quả dự báo điểm học phần với mô hình cây quyết định 58
TR ƯỜ
NG ĐẠ
I H ỌC
KINH
TẾ HU
Ế
Trang 8DANH MỤC BẢNG BIỂU
Bảng 1 Các thuộc tính được trích chọn 47
Bảng 2 Kết quả huấn luyện bằng mô hình mạng nơ ron 52
Bảng 3 Kết quả huấn luyện bằng mô hình cây quyết định 54
Trang 9để đạt được kết quả cao nhất, cũng như phù hợp với xu thế phát triển Tuy nhiên, cơ
chế đào tạo tín chỉ chỉ mang lại hiệu quả cao khi sinh viên lựa chọn cho mình đúng phương pháp, hế hoạch học tập phù hợp với năng lực của bản thân, ngược lại sẽ làm cho sinh viên có kết quả học tập không đạt mong đợi Đây là khó khăn cho cả sinh viên và nhà trường
Trên thế giới, đã có rất nhiều trường đại học đã áp dụng khai phá dữ liệu vào lĩnh vực giáo dục và không thể phủ nhận được lợi ích mà nó mang lại Nhưng tại Việt Nam thì khai phá dữ liệu là một khái niệm còn khá mới và chưa thực sự được áp dụng nhiều, nhất là đối với lĩnh vực giáo dục Thiết nghĩ, đây là một công cụ có tính thực
tiễn và khoa học cao cần được áp dụng vào lĩnh vực giáo dục để từng bước cải thiện chất lượng giáo dục và đào tạo nước nhà Trường Đại học Kinh tế, Đại học Huế cũng không nằm ngoài xu thế đó Với bề dày hơn 45 năm xây dựng và phát triển, trường Đại học Kinh tế, Đại học Huế đã đào tạo ra nguồn lực lao động chất lượng cao dồi dào, phục vụ xây dựng và phát triển nước nhà
Trước thực tế đó, tôi đề xuất đề tài nghiên cứu cho khóa luận tốt nghiệp: “Ứng
dụng khai phá dữ liệu để dự báo điểm chuyên ngành của sinh viên chuyên ngành Tin
học Kinh tế, Trường Đại học Kinh tế Huế”
2 M ục tiêu nghiên cứu
Tìm hiểu các kỹ thuật khai phá dữ liệu, áp dụng các kỹ thuật khai phá dữ liệu trong phân tích số liệu, xây dựng mô hình dự đoán đưa ra các dự báo về kết quả học tập các học phần chuyên ngành cho sinh viên chuyên ngành Tin học Kinh tế
3 Đối tượng nghiên cứu
Các phương pháp khai phá dữ liệu
Trang 10Đối tượng điều tra là điểm của sinh viên chuyên ngành Tin học Kinh tế thuộc khoa Hệ thống Thông tin Kinh tế Trường Đại học Kinh tế Huế, từ khóa K43 đến K47
Cơ sở dữ liệu điểm này được thu thập từ cơ sở dữ liệu được quản lý bởi Phòng Đào tạo trường Đại học Kinh tế Huế với số mẫu ban đầu là 253 bản ghi
Đề tài sử dụng dữ liệu điểm của 8 học phần đại cương bao gồm Toán cao cấp 1, Toán cao cấp 2, Những nguyên lý cơ bản của chủ nghĩa Mác-Lenin 1, Những nguyên
lý cơ bản của chủ nghĩa Mác-Lenin 2, Lý thuyết xác xuất thống kê toán, Kinh tế vi mô, Pháp luật đại cương, Tin học đại cương để dự báo cho 11 học phần của chuyên ngành Tin học Kinh tế bao gồm Cơ sở dữ liệu, Cơ sở lập trình, Cấu trúc dữ liệu giải thuật,
Hoạch định nguồn lực doanh nghiệp ERP, Hệ thống thông tin quản lý, Kiến trúc máy tính và hệ điều hành, Lập trình hướng đối tượng, Lập trình ứng dụng trong quản lý,
Mạng và truyền thông, Phát triển hệ thống thông tin kinh tế và Toán rời rạc
4 Ph ạm vi nghiên cứu
Thời gian: đề tài được thực hiện trong khoảng thời gian 1/2018 đến 4/2018 Không gian: tại trường Đại học Kinh tế Huế
Công cụ thực hiện: phần mềm khai phá dữ liệu Weka
5 Phương pháp nghiên cứu
Đề tài sử dụng cơ sở dữ liệu điểm của sinh viên, tiến hành quá trình tiền xử lý, chuẩn hóa dữ liệu Tìm hiểu công cụ trích chọn thuộc tính của Weka và áp dụng nó vào dữ liệu điểm đã được chuẩn hóa Từ đó nghiên cứu và áp dụng kỹ thuật phân lớp
mạng nơ ron và cây quyết định để xây dựng mô hình dự báo kết quả học tập của sinh viên dựa trên cơ sở dữ liệu điểm đã chuẩn hóa Tiến hành so sánh các kết quả và đưa
ra kết luận
6 Cấu trúc khóa luận
Khóa luận bao gồm các phần sau:
Phần I Đặt vấn đề
Phần II Nội dung và kết quả nghiên cứu
Chương 1: Cơ sở lý luận
Trình bày kiến thức tổng quan về khai phá dữ liệu, định nghĩa, quá trình khai phá
ữ liệu, khái quát các kĩ thuật được áp dụng để khai phá dữ liệu, các phương pháp
Trang 11đánh giá độ chính xác cũng như cải thiện độ chính xác của mô hình Giới thiệu tổng quan về phần mềm và các môi trường của Weka
Chương 2: Tổng quan nghiên cứu khai phá dữ liệu giáo dục và đề xuất mô hình đối với Trường Đại học Kinh tế Huế
Trình bày khái quát các nghiên cứu liên quan đến đề tài Mô tả bài toán cần giải quyết và quy trình nghiên cứu bài toán
Chương 3: Ứng dụng Weka trong dự báo điểm chuyên ngành Tin học Kinh tế
Mô tả các bước tiến hành thí nghiệm Chuẩn hóa nguồn dữ liệu thô ban đầu và sử
dụng nguồn dữ liệu điểm đã chuẩn hóa đó để tiến hành trích chọn thuộc tính và huấn luyện mô hình, tìm ra mô hình dự báo có độ dự báo chính xác cao nhất Trình bày các kết quả đạt được, so sánh kết quả và đưa ra nhận xét
Phần III Kết luận và đề xuất
Trang 12PHẦN II NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU
CHƯƠNG 1 CƠ SỞ LÝ LUẬN 1.1 T ổng quan về khai phá dữ liệu
1.1.1 Khái ni ệm
Khai phá dữ liệu được hiểu là quá trình khám phá tri thức từ một nguồn dữ liệu
hoặc là quá trình rút ra các mẫu hay các tri thức quan trọng từ một nguồn dữ liệu từ
nhỏ đến rất lớn [1]
1.1.2 Quá trình khai phá d ữ liệu
Nghiên cứu lĩnh vực: đây là bước khá quan trọng vì khi đã nghiên cứu rõ lĩnh vực mà ta muốn khai phá thì chúng ta có thể chắc lọc ra những tri thức mà chúng ta mong muốn từ đó có thể tránh được việc mất thời gian cho những thao tác không cần thiết
Xây dựng dữ liệu đầu vào: thu thập và xây dựng nguồn dữ liệu ban đầu để chuẩn
bị cho quá trình khai phá
Tiền xử lý, mã hóa, làm sạch dữ liệu: trong bước này ta tiến hành bỏ đi những dữ
liệu dư thừa hay không cần thiết cho việc khai phá tri thức cũng như chỉnh sửa cấu trúc
dữ liệu và mã hóa chúng
Rút gọn số chiều: nếu một tập dữ liệu có lượng chiều lớn thì nó sẽ sinh ra một
khối lượng dữ liệu lớn, gây khó khăn để rút ra được những tri thức có ích Chúng ta có
thể sử dụng công cụ Rough set để giảm bớt số chiều không cần thiết
Chọn các tác vụ khai phá dữ liệu: để có được những tri thức mà ta cần từ dữ liệu thì cần phải chọn tác vụ sao cho phù hợp Một số tác vụ khai phá tri thức: đặc trưng (feature), phân biệt (discrimination), luật kết hợp (association), phân lớp (classification), phân cụm (clusterity), xu thế (trend analysis), phân tích độ lệch, phân tích hiếm
Chọn các giải thuật khai phá dữ liệu
Tiến hành khai phá dữ liệu từ nguồn dữ liệu đã chuẩn bị: sau khi thực hiện các bước trên ta tiến hành khai phá tri thức từ nguồn dữ liệu đã chuẩn bị
Trang 13Đánh giá các mẫu tìm được: sau khi khai phá dữ liệu thì ta cần đánh giá, xem xét lại những tri thức thu được, những tri thức nào có thể dùng, những tri thức nào dư
thừa, không cần thiết
Biểu diễn tri thức: biểu diễn những tri thức đó bằng hình thức nào đó cụ thể, dễ hiểu sao cho người dùng có thể dễ dàng sử dụng được
Sử dụng các tri thức vừa khai phá được [2]
1.2 Khai phá d ữ liệu giáo dục
Khai phá dữ liệu đã được áp dụng ở hầu hết mọi lĩnh vực trong cuộc sống như: kinh tế, y tế, giáo dục Khai phá dữ liệu trong lĩnh vực giáo dục có tính thực tiễn khá cao tuy nhiên vẫn chưa được quan tâm, chú trọng đúng mức Đây là một công cụ có tính khoa học và thực tế cao cho phép chúng ta sử dụng nguồn dữ liệu từ nhà trường hay các cơ sở giáo dục để nâng cao chất lượng giáo dục, cụ thể là đưa ra các dự đoán
phục vụ cho việc ra kế hoạch, phương hướng đào tạo phù hợp cho học sinh, sinh viên Đồng thời khai phá dữ liệu trong giáo dục còn là một công cụ hỗ trợ đắc lực cho giáo viên cố vấn đưa ra những tư vấn, lời khuyên kịp thời đến học sinh, sinh viên, từ đó điều chỉnh lộ trình, phương pháp học tập để đạt được kết quả học tập cao nhất
1.3 Các kỹ thuật phân lớp trong khai phá dữ liệu
1.3.1 M ạng nơ ron (neural)
Khái ni ệm mạng nơ ron nhân tạo
Mạng nơ ron được giới thiệu năm 1943 bởi Warren McCulloch và Walter Pits
Mạng nơ ron được hiểu là một sự mô phỏng quá trình xử lý thông tin, được nghiên cứu
từ hệ thống thần kinh của sinh vật, giống như não bộ người để xử lý thông tin Một
mạng nơ ron sẽ bao gồm một lượng lớn các mối gắn kết cao cấp để xử lý các yếu tố làm việc trong mối liên hệ giải quyết công việc Cơ chế hoạt động của mạng nơ ron tương đối giống con người, học hỏi và rút ra kinh nghiệm sau đó lưu giữ lại những kinh nghiệm đó để sử dụng cho lần sau [3]
Trong một mạng nơ ron sẽ bao gồm nhiều nơ ron nhân tạo riêng biệt làm cơ sở đối với hoạt động của cả một mạng nơ ron Một tập các kết nối đầu vào khác nhau xi ,
Trang 14mỗi đầu vào sẽ được đánh một trọng số wki Chỉ số đầu tiên chỉ tới nơ ron đang được nói đến, chỉ số thứ hai chỉ tới đầu vào của tiếp hợp mà chỉ số đó có liên quan
Sẽ có một bộ cộng thực hiện tính toán các tín hiệu đầu vào xi và tính bằng cường
độ tiếp hợp tương đối wi Việc tính toán này sẽ tạo ra một tổ hợp tuyến tính, một hàm hoạt động f sẽ thực hiện nhiệm vụ giới hạn biên độ đầu ra yk của một nơ ron
Thêm vào một độ nghiêng áp dụng bên ngoài định nghĩa là b Độ nghiêng này có
chức năng làm tăng lên hay giảm xuống đầu vào mạng của hàm hoạt động, phụ thuộc vào giá trị của nó là âm hay dương
Với
xi: các tín hiệu input
wkp: trọng số của từng input
f(.): hàm hoạt động
yk: kết xuất của Neural
b: thông số ảnh hưởng đến ngưỡng ra của output
Cấu trúc của mạng nơ ron nhân tạo
Cấu trúc của một mạng nơ ron nhân tạo phụ thuộc vào đặc điểm của mỗi nơ ron (nút) và đặc điểm kết nối giữa các nút đó với nhau tạo thành một mạng như thế nào
Kiến trúc mạng sẽ được xác định bằng số đầu vào và đầu ra của mạng, toàn bộ các nút cơ sở thường bằng các phần tử xử lý cho mạng, hình thức tổ chức hay sự kết
nối của chúng Nhìn chung, mạng nơ ron được chia thành hai loại là: mạng truyền
Trang 15Một mạng nơ ron được gọi là truyền thẳng nếu các kết nối từ đầu vào cho đến đầu ra đi theo một hướng thống nhất, không có liên kết lặp lại hoặc ngược lại.
Mạng nơ ron được gọi là hồi quy trong trường hợp các thông tin được đưa vào
mạng, các chuỗi đầu ra có ý nghĩa quan trọng và chúng ta cần mạng nơ ron lưu trữ lưu
giữ lại một bản ghi của các thông tin đầu vào sau đó khuếch đại chúng lên với dữ liệu hiện thời để sinh ra kết quả
Ngoài hai mô hình mạng nơ ron nói trên còn có rất nhiều mô hình mạng nơ ron khác nữa nhưng nhìn chung, mô hình mạng nơ ron truyền thẳng và hồi quy là hai mô hình được biết đến và sử dụng rộng rãi nhất
Hình 1 3 Mô hình mạng nơ ron hồi quy
Hình 1 2 Mô hình mạng nơ ron truyền thẳng
Trang 16Hu ấn luyện mạng nơ ron
Phương pháp học: cơ chế hoạt động của mạng nơ ron là phỏng theo cơ chế xử
lý thông tin của não bộ người, do đó đặc trưng của phương pháp này là nó có khả năng học, khả năng vận dụng những hình ảnh, thông tin đã học Khi ở trạng thái học, thông tin sẽ được lan truyền theo hai chiều với nhiều lần để học các trọng số Mạng nơ ron
có 3 phương thức học chính, mỗi phương thức phương thức lại có mỗi đặc trưng riêng
Đó là học có giám sát, học không không giám sát và học củng cố
Học có giám sát: trong phương thức học này không thể thiếu một “người thầy”
Người thầy này có các tri thức về môi trường bên ngoài và được thể hiện bằng một tập hợp các cặp đầu vào, đầu ra đã biết trước Mạng nơ ron sẽ tự tìm cách để thay đổi các
trọng số hay các ngưỡng của mình để tạo nên một ánh xạ có khả năng ánh xạ đầu vào thành đầu ra mong muốn Quá trình thay đổi này được thực hiện dựa vào việc so sánh
kết quả đầu ra thực sự và đầu ra mong muốn
Học không giám sát: đối với học không có giám sát thì ta sẽ được cung cấp
trước một số dữ liệu x và hàm chi phí cần cực tiểu hóa, nó có thể là một hàm bất kỳ nào đó của dữ liệu x và đầu ra của mạng, f là hàm chi phí được quyết định bởi bài toán Các ứng dụng nằm trong ứng dụng của bài toán ước lượng như mô hình hóa thống kê, phân cụm, nén
H ọc củng cố: học cũng cố cũng là một dạng học có giám sát, vì mạng vẫn nhận
một số tín hiệu từ môi trường bên ngoài, nhưng tín hiệu phản hồi chỉ mang tính chất đánh giá hơn là mạng có tính chất chỉ dẫn Nó cho biết mức độ tốt xấu của một đầu ra Tín hiệu củng cố ở môi trường bên ngoài sẽ được xử lý bằng máy phát tín hiệu để tạo
ra thêm một số thông tin tín hiệu đánh giá và sẽ được dùng để điều chỉnh các trọng số với mục đích cuối cùng là đưa ra các tín hiệu đánh giá tốt hơn Các bài toán khi được
giải quyết bằng việc học củng cố thì thường là các bài toán điều khiển hay các nhiệm
vụ quyết định tuần tự [4]
Ti ến trình học và nội dung học
Tiến trình học là tiến trình quan trọng đối với con người, nhờ học mà bộ não con người tích lũy được kinh nghiệm để thích nghi và phản ứng với môi trường bên ngoài Mạng nơ ron cũng vậy, nhiệm vụ chính của nó là phải học một mô hình của môi
Trang 17trường bên ngoài mà ở đó nó được nhúng vào và duy trì cho mô hình đó sao cho phù hợp với thế giới bên ngoài để thu được kết quả xác định của ứng dụng liên quan
Mạng nơ ron sử dụng các thông tin, mẫu dữ liệu từ môi trường bên ngoài hệ
thống để tiến hành học, được gọi là giá trị đầu vào Khi giá trị đầu vào được đưa vào mạng thì nó sẽ được đưa theo dòng chảy trong mạng để tạo thành giá trị đầu ra
Ở giai đoạn tiếp theo sẽ diễn ra quá trình so sánh giữa các giá trị được tạo ra bởi
mạng nơ ron với giá trị đầu ra mà ta mong muốn Sau khi so sánh, nếu hai giá trị này giống nhau thì sẽ không có gì thay đổi, ngược lại nếu có một sai lệch nào đó giữa hai giá trị này mà vượt quá giá trị sai số cho phép thì dòng chảy trong mạng sẽ quay ngược
từ đầu ra về đầu vào để tiến hành thay đổi một số kết nối
Quá trình học này lặp đi lặp lặp lại một cách liên tục và sẽ không dừng lại cho tới khi tìm được các giá trị w sao cho các giá trị đầu ra tạo bởi mạng nơ ron bằng đúng đầu ra mong muốn Trong thực tế, người ta sẽ tạo một tiêu chuẩn sai số cho phép giữa hai giá trị này hay chỉ học dựa trên một số lần lặp cố định [4]
M ột số kiểu mạng nơ ron nhân tạo
M ạng tổ chức (Kohonen feature maps): đây là một mạng nơ ron truyền thẳng
sử dụng phương thức học giám sát bằng quá trình tự tổ chức, cấu hình các thông tin đầu ra thành một sơ đồ hình học hoặc không gian Mạng tổ chức được biểu diễn dưới
dạng “sơ đồ tự tổ chức” (SOM – Self organized maps) Nhiệm vụ của SOM là biến đổi các đầu vào có số chiều lớn, phức tạp thành sơ đồ có số chiều và độ phức tạp thấp hơn, thích hợp với việc phân tích theo cụm Mạng SOM sẽ cấu trúc các nút đầu ra thành
cụm các nút, các nút ở gần nhau sẽ có độ tương thích cao hơn các nút ở xa
Quan sát hình 1 4 có thể thấy quá trình học mang tính chất cạnh tranh giữa các nút, các nút đầu ra cạnh tranh nhau để được chọn là nút hoạt hóa bởi sự quan sát đầu vào đặc biệt
Trang 18Hình 1 4 Kiến trúc hai chiều của mạng Kohonen
Mạng nơ ron truyền thẳng đa tầng (Multilayer Perceptron): mạng nơ ron
truyển thẳng đa tầng là một trong những lớp quan trọng và được biết đến rộng rãi nhất trong các ứng dụng của mạng nơ ron Mạng nơ ron này bao gồm một tập đầu vào tạo nên tầng đầu vào của mạng cũng với một tập các tầng ẩn chưa các nút xử lý và cuối cùng là tầng đầu ra của các nút xử lý Mạng nơ ron truyền thẳng đa tầng được ứng dụng để giải quyết nhiều bài toán khó thông qua việc huấn luyện bằng phương thức
học có giám sát
1.3.2 Cây quy ết định (J48)
Khái ni ệm cây quyết định
Cây quyết định được hiểu là một kiểu mô hình dự báo, nghĩa là một ánh xạ về
một sự vât hiện tượng tới kết luận về giá trị mục tiêu của sự vật hiện tượng Mỗi nốt trong cây quyết định tương ứng cho một biến, đường nối nó với nút con thể hiện giá trị
cụ thể của biến đó Mỗi nút lá tượng trưng cho một giá trị dự đoán của biến mục tiêu, được xác định bằng đường đi từ gốc tới nút lá đó [5]
Học bằng cây quyết định là một phương pháp phổ biến trong khai phá dữ liệu Cây quyết định là kết quả của quá trình huấn luyện một tập dữ liệu với các bản ghi đã
có thuộc tính và được mô tả bằng cấu trúc dạng cây, mỗi nút lá đại diện cho cho các phân loại và các cành liên kết sẽ đại diện cho các kết hợp thuộc tính để dẫn tới phân
Trang 19Rút ra các t ập luật từ cây quyết định
Dựa vào mô hình cây quyết định ta có thể rút ra các tập luật tương ứng bằng mô hình dạng luật (IF…THEN…) hay chuyển đổi ngược lại giữa hai mô hình này vì chúng tương đương nhau
Quan sát hình 1 5 ta có thể rút ra các tập luật sau
IF outlook = sunny AND humidity = high THEN playball = no
IF outlook = rain AND humidity = high THEN playball = no
IF outlook = rain AND wind = strong THEN playball = yes
IF outlook = overcast THEN playball = yes
IF outlook = rain AND wind = weak THEN playball = yes
Ưu điểm của cây quyết định
So với các phương pháp khai phá dữ liệu thì cây quyết định có một số ưu điểm sau:
- Kết quả huấn luyện sẽ được biểu diễn dưới dạng cây tương đối dễ hiểu và dễ dàng chuyển đổi thành các tập luật
- Không đòi hỏi kiến thức chuyên sâu, dữ liệu cần khai phá chỉ cần xử lý ở mức đơn giản, cây quyết định có thể xử lý ở cả dữ liệu rời rạc và dữ liệu liên tục
- Cây quyết định nhìn chung cho ra tỉ lệ chính xác khá cao và có thể tiến hành và
có thể thẩm định lại bằng kiểm tra thống kê
Hình 1 5 Mô hình cây quyết định
Trang 20Cách th ức hoạt động của cây quyết định
Đầu vào: tập D chứa dữ liệu huấn luyện
Đầu ra: cây quyết định
Đầu tiên giải thuật sẽ tạo ra một nút N để diễn tả tập dữ liệu D, trong trường
hợp D có toàn bộ dữ liệu có chung một nhãn lớp thì khi đó N sẽ thay thế là nút là có nhãn là nhãn chung của các phần tử dữ liệu, thuật toán dừng lại Hoặc nó sẽ dùng hàm attribute_selection_method() tìm ra thuộc tính tốt nhất phân chia bộ dữ liệu D thành các phần Di khi đó nút N sẽ được gán nhãn là thuộc tính tìm được
Độ phức tạp của thuật toán được xác đinh bằng công thức 𝑂(𝑛 |𝐷| log(|𝐷|)),
với n số lượng thuộc tính mô tả D |D| là số các phần tử thuộc D Nếu có một giá trị nào đó không phải là rời rạc thì khi đó phương pháp rời rạc được áp dụng
Phương pháp xây dựng cây quyết định
Quá trình xây dựng cây quyết định bao gồm hai giai đoạn: tạo cây và tỉa cây
Để tạo cây thì ở thời điểm bắt đầu tất cả những ví dụ huấn luyện sẽ là ở gốc sau
đó phân chia ví dụ huấn luyện theo phương pháp đệ qui dựa trên những thuộc tính được chọn
Việc tỉa cây là xác định và xóa đi các nhánh chứa các phần tử hỗn loạn hoặc
nằm ngoài vì không thể phân vào một lớp nào
Quá trình xây dựng cây quyết định có nhiều biến thể, tuy nhiên chúng vẫn đi theo các bước sau:
- Cây quyết định được xây dựng từ trên xuống theo cách thức chia để trị
- Ở thời điểm bắt đầu các ví dụ huấn luyện sẽ nằm ở nút gốc
- Các thuộc tính được tiến hành phân loại
- Chọn ra một thuộc tính để phân chia các nhánh dựa trên độ đo thống kê hoặc heuristic
- Tiếp tục lặp lại quá trình này để xây dựng các nhánh cho cây cho đến khi các mẫu cùng rơi vào một nút thuộc cùng một nút lá hoặc không còn thuộc tính nào để phân chia nữa
Thu ật toán phân lớp cây quyết định ID3
Trang 21Thuật toán quy nạp ID3 là một thuật toán đơn giản nhưng khá phổ biến và được
áp dụng rộng rãi ở rất nhiều lĩnh vực [6]
Thuật toán ID3 biểu diễn các khái niệm ở dạng cây quyết định, cho phép chúng
ta xác định phân loại của một số đối tượng bằng cách kiểm tra giá trị của nó trên một
ID3 xây dựng cây quyết định theo giải thuật sau:
Function induce_tree(tập_ví_dụ, tập_thuộc_tính)
begin
if mọi ví dụ trong tập_ví_dụ đều nằm trong cùng một lớp then
return một nút lá được gán nhãn bởi lớp đó
else if tập_thuộc_tính là rỗng then
return nút lá được gán nhãn bởi tuyển của tất cả các lớp trong tập_ví_dụ
else
begin
chọn một thuộc tính P, lấy nó làm gốc cho cây hiện tại;
xóa P ra khỏi tập_thuộc_tính;
với mỗi giá trị V của P
begin
tạo một nhánh của cây gán nhãn V;
Đặt vào phân_vùngV các ví dụ trong tập_ví_dụ có giá trị V tại thuộc tính P; Gọi induce_tree(phân_vùngV, tập_thuộc_tính), gắn kết quả vào nhánh V
Trang 22Thuật toán C4.5
Thuật toán C4.5 là thuật toán phân lớp cây quyết định được cải tiến từ thuật toán CLD và ID3 bởi J.Ross.Quinlan Đây là một thuật toán đơn giản và dễ sử dụng bởi nó được biểu diễn dưới dạng câu lệnh IF THEN [7]
Mã giả của thuât toán C4.5
Function C45_builder(tập_A, tập_thuộc_tính)
if (mọi record trong tập_A đều nằm trong cùng một lớp)
return một nút lá được gán nhãn bởi lớp đó
Chọn một thuộc tính P, lấy nó làm gốc cho cây hiện tại;
Xóa P ra khỏi tập_thuộc_tính;
For each (giá trị V của P)
Tạo một nhánh của cây gán nhãn V;
Đặt vào phân_vùng V các ví dụ trong tập_A có
giá trị V tại thuộc tính P;
Gọi C45_builder (phân_vùng V, tập_thuộc_tính),
Trang 23Đối với tập dữ liệu chưa gán nhãn, K-NN sẽ tìm kiếm những tập dữ liệu gần nhất với bộ dữ liệu chưa được gán nhãn đó
Những tập dữ liệu K-NN này sẽ được tính bằng độ đo khoảng cách Euclide như sau:
𝑑𝑖𝑠𝑡(𝑋1, 𝑋2) = ��(𝑥1𝑖− 𝑥2𝑖)2
𝑛 𝑖=1
(1.1)
Xây dựng mô hình K-NN bao gồm việc lưu trữ dữ liệu huấn luyện (train set) và
để dự đoán một tập dữ liệu mới thì thuật toán K-NN sẽ tìm ra các lân cận hay láng
giềng trong tập dữ liệu huấn luyện gần với nó nhất
Trang 241.3.4 Support Vector Machine
Cơ sở lý thuyết
Thuật toán phân lớp Support vector machines - SVM là thuật toán thuộc lớp giải thuật, nó được áp dụng để xử lý dữ liệu tuyến tính và cả dữ liệu phi tuyến tính [9] Thuật toán SVM sử dụng một siêu phẳng để chẻ đôi dữ liệu Nếu dữ liệu không
phải là dữ liệu tuyến tính thì nó sẽ tiến hành dùng một hàm nhân (kernel function) để chuyển tập dữ liệu đó qua một không gian khác có nhiều chiều hơn để xử lý
Đặc trưng của thuật toán này là tuy có thời gian xử lý khá dài nhưng nó lại cho ra
Trang 25Đối với các dữ liệu phi tuyến tính thì chúng ta khơng thể vẽ đường phân tách được, SVM sẽ tìm ra các siêu phẳng phi tuyến để phân tách các dữ liệu đĩ
1.3.5 Nạve Bayes
Cơ sở lý thuyết.
Nạve Bayes là bộ phân lớp dựa trên định lý Bayes và cĩ thể được hiểu ngắn gọn như sau: [10]
Giả sử ta gọi X là một bộ dữ liệu hay một chứng cứ được đo trên các thuộc tính
khác nhau và H là một giả thuyết nào đĩ Khi đĩ để giải quyết bài tốn phân lớp thì chúng ta luơn muốn xác định xác định xác xuất để giả thuyết H xảy ra khi bộ dữ liệu hay chứng cứ X đã xảy ra, nghĩa là xác định giá trị P(H |X) hay cịn được gọi là xác
xuất hậu nghiệm và được tính theo cơng thức:
Ta gọi D là một tập dữ liệu huấn luyện (train set) cùng với các nhãn lớp tương ứng Khi đĩ bộ dữ liệu X sẽ được mơ tả dưới dạng vector gồm n thuộc tính và được khái quát như sau: X = {x1, x2, …, xn}
Trang 26Giả sử ta có m lớp khác nhau C1, C2,…, Cn và bộ dữ liệu X, khi đó bộ phân lớp sẽ
dự đoán và gán nhãn cho X là phân lớp có xác xuất hậu nghiệm lớn nhất
Ở công thức (1.6) vì giá trị P(X) là không đổi với các lớp khác nhau nên vì vậy ta
chỉ cần tìm giá trị cực đại của 𝑃(𝑋 | 𝐶𝑖)𝑃(𝐶𝑖)
1.4 Đánh giá độ chính xác của mô hình phân lớp bằng phương pháp K-fold cross validation
Đánh giá độ chính xác của mô hình phân lớp đóng vai trò rất quan trọng vì nó cho phép dự đoán được tỉ lệ chính xác của các kết quả phân lớp những dữ liệu trong tương lai Ngoài ra, độ chính xác còn giúp so sánh các mô hình phân lớp khác nhau [11]
K-fold cross-validation là phương pháp kiểm tra đánh giá độ chính xác của mô hình phân lớp dựa trên một tập dữ liệu cho trước Thay vì dùng một phần dữ liệu để làm tập dữ liệu huấn luyện thì K fold cross-validation dùng toàn bộ dữ liệu để huấn luyện Cụ thể toàn bộ dữ liệu sẽ được chia ngẫu nhiên thành K tập con không giao nhau và có kích thước xấp xỉ nhau Quá trình huấn luyện gồm có K lần và trong mỗi lần huấn luyện, một tập con sẽ được dùng làm dữ liệu để kiểm thử và K-1 tập con còn
lại sẽ dùng để chạy K giá trị lỗi (mỗi giá trị tương ứng với một fold) sẽ được tính trung bình cộng để thu được giá trị lỗi tổng thể TR ƯỜ
Trang 27Các giá trị thường được chọn của K là 10 hoặc 5
Thông thường thì mỗi tập con sẽ được lấy mẫu phân tầng trước khi áp dụng quá trình đánh giá Cross-validation
1.5 Trích ch ọn thuộc tính trong khai phá dữ liệu
Trích chọn thuộc tính (Feature Selection) là một công việc đóng vai trò quan
trọng trong giai đoạn tiền xử lý dữ liệu khi tiến hành triển khai các mô hình khai phá
dữ liệu Một vấn đề thường gặp trong quá trình xử lý dữ liệu ban đầu là các cơ sở dữ
liệu này không chỉ chứa các thông tin cần thiết cho quá trình khai phá mà còn chứa các thông tin dư thừa, thậm chí có thể gây nhiễu cho quá trình xây dựng các mô hình Nếu
những trường thuộc tính này không được loại bỏ sẽ gây tốn nhiều tài nguyên CPU không cần thiết, thậm chí còn có thể làm giảm độ chính xác của các mô hình dự đoán, gây khó khăn cho việc khai phát tri thức [12]
Phương pháp hoạt động của việc trích chọn thuộc tính là tính toán các trọng số
của các thuộc tính và từ đó chọn ra các thuộc tính có trọng số tốt nhất để sử dụng cho
mô hình Các phương pháp trích chọn thuộc tính cho phép thiết lập giá trị ngưỡng, từ
đó các thuộc tính có trọng số trên ngưỡng cho phép sẽ được chọn ra
Trang 28Interestingness score: đây là phương pháp xếp hạng các thuộc tính có kiểu dữ liệu liên tục Một thuộc tính được xem là Interestingness nếu nó có chứa các thông tin
hữu ích và để đo lường thì người ta thường sử dụng entropy
- Entropy của một thuộc tính bất kì sẽ được so sánh với tất cả các thuộc tính còn lại bằng công thức:
𝐼𝑛𝑡𝑒𝑟𝑒𝑠𝑡𝑖𝑛𝑔𝑛𝑒𝑠𝑠(𝐴𝑡𝑡𝑟𝑖𝑏𝑢𝑡𝑒) = −�𝑚 − 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝐴𝑡𝑡𝑟𝑖𝑏𝑢𝑡𝑒)� ∗ �𝑚 − 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝐴𝑡𝑡𝑟𝑖𝑏𝑢𝑡𝑒)� (1.7)
Với m là entropy trung tâm
Shannon’s Entropy: đây là phương pháp được sử dụng với các kiểu dữ liệu rời
rạc Shannon’s Entropy đo lường độ bất định của biến ngẫu nhiên đối với một kết quả
cụ thể và được tính theo công thức sau:
Trang 291.6.2 Precision và Recall
Precision và Recall là một phép đo hiệu quả và thường được sử dụng đối với bài toán phân loại có tập dữ liệu của các lớp chênh lệch nhau rất nhiều [13]
Xét bài toán nhị phân, ta xem một lớp là positive và lớp còn lại là negative
Với cách xác định một lớp là positive, Precision được định nghĩa là tỉ lệ số điểm true positive trong số những điểm được phân loại là positive (TP + FP) Recall được định nghĩa là tỉ lệ số điểm true positive trong số những điểm là positive (TP + FN)
Trang 30Có thể nhận thấy răng Precision và Recall đều là những đại lượng không âm nhỏ hơn hoặc bằng một
Chỉ số Precision cao đồng nghĩa với việc độ chính xác của các điểm tìm được là cao Recall cao đồng nghĩa với việc True Positive Rate cao, tức là tỉ lệ bỏ sót các điểm
thực sự positive thấp
1.6.3 Gain – Lift chart
Lift là độ đo về hiệu quả của một mô hình dự đoán và được tính bằng tỷ số giữa
kết quả thu được có và không có mô hình dự đoán Gain và Lift chart là công cụ trực quan để đánh giá hiệu quả của một mô hình hai biểu đồ này gồm có đường cong lift và baseline [13]
1.6.4 Root Means Square Error
Độ đo này thường được sử dụng trong việc đánh giá độ khớp của mô hình dự đoán so với dữ liệu huấn luyện và được tính bằng căn bậc hai của giá trị tuyệt đối của
hệ số tương quan giữa giá trị thực với giá trị dự đoán [13]
Trang 31𝑅𝑀𝑆𝐸 = �∑𝑛𝑡=1𝑦� − 𝑦𝑛 𝑡)2
(1.11)
1.6.5 Receiver Operator Characteristic (ROC)
ROC là đồ thị biểu diễn hiệu xuất của một hệ thống phân loại nhị phân khi thay đổi ngưỡng phân lớp Đường cong ROC được tạo ra bằng cách vẽ tỷ lệ true positive so
với tỉ lệ false positive [13]
Đường cong càng đi dọc theo biên trái và dọc theo biên phía trên của không gian ROC thì kết quả kiểm tra càng chính xác, ngược lại đường cong càng tiến tới thành đường chéo 45 độ trong không gian ROC thì độ chính xác của kiểm tra càng thấp
Hình 1 11 Biểu đồ Root Means Square Error
Trang 32Trong một đồ thị ROC bao gồm các mô hình khác nhau, mô hình nào có vị trí càng cao thì có tỉ lệ chính xác càng cao
1.7 Gi ới thiệu phần mềm Weka
1.7.1 Gi ới thiệu chung
Weka là viết tắt của cụm từ Waikato Environment for Knowledge Analysis Là
phần mềm khai phá dữ liệu được phát triển bởi đại học Waikato, New Zealand [14] Đây là một công cụ hiện đại được xây dựng nhằm mục tiêu phát triển các kỹ thuật học máy và áp dụng chúng vào trong bài toán khai phá dữ liệu thực tế
Weka được xây dựng bằng ngôn ngữ Java, với cấu trúc gồm hơn 600 lớp và được
Trang 33Đây là môi trường chính cho phép sử dụng tất cả khả năng của weka để khai phá
dữ liệu
• Experimenter
Đây là môi trường cho phép thực hành các thí nghiệm và thực hiện các kiểm tra
thống kê giữa các mô hình học máy
• KnowledgeFlow
Đây là môi trường cho phép thực hiện các bước của thí nghiệm bằng tương tác
đồ họa theo kiểu kéo thả
1.7.2 Môi trường Explorer
Môi trường Explorer gồm có các tab chính sau:
Trang 34Classify cho phép người dùng lựa chọn và thiết lập thông số cho các mô hình phân lớp để huấn luyện và kiểm thử dữ liệu
Hiển thị trực quan biểu đồ tương tác đối với dữ liệu
Hình 1 14 Môi trường Explorer
Trang 35CHƯƠNG 2 TỔNG QUAN KHAI PHÁ DỮ LIỆU GIÁO DỤC VÀ
ĐỀ XUẤT MÔ HÌNH NGHIÊN CỨU ĐỐI VỚI TRƯỜNG ĐẠI HỌC
2.1 Các nghiên c ứu liên quan
Các nghiên cứu trong nước
Năm 2013, tác giả Phạm Thị Như Trang đã đưa ra đề xuất nghiên cứu: “Khai phá
dữ liệu điểm để dự đoán kết quả học tập của sinh viên Cao đẳng Sư Phạm Hà Nội” Nhằm mục đích đưa ra được các báo cáo đa chiều và dự đoán được kết quả học tập của sinh viên dựa trên kết quả học tập của các kỳ trước Phương pháp được tác giả sử dụng
là nghiên cứu lý thuyết xây dựng kho dữ liệu, khai phá dữ liệu, kỹ thuật phân lớp, ứng dụng của khai phá với dữ liệu điểm của trường Cao đẳng Sư Phạm Hà Nội Sử dụng SQL Server để xây dựng kho, khai phá và đưa ra mô hình dự đoán Với tổng số mẫu sau khi đã xử lý gồm có 1000 bản ghi về điểm tổng kết học phần và 1000 bản ghi dữ liệu cá nhân sinh viên của Khoa Tự nhiên Ban đầu dữ liệu được xuất ra từ phần mềm quản lý đào tạo Edusoft của trường Cao đẳng Sư Phạm Hà Nội từ 2005 đến 2011, sau
đó chuyển đổi font chừ từ TCVN sang Unicode Chuyển kiểu dữ liệu vì dữ liệu điểm xuất ra từ Edusoft đều ở dạng xâu chữ nên phải chuyển sang dạng số Đồng bộ lại hệ thống mã môn, tên môn học bằng cách ghép tất cả các file môn học của từng khóa, sau
đó lọc theo mã môn Loại bỏ dữ liệu dư thừa, đồng bộ số lượng sinh viên trong danh sách sinh viên và danh sách bảng điểm khi xuất ra Ngoài ra đề tài còn nghiên cứu các
kỹ thuật phân lớp trong khai phá dữ liệu kết hợp giải thuật ID3 (Iterative Dichotomiser 3) do Quinlan phát triển, ứng dụng các kỹ thuật đó để xây dựng mô hình dự báo kết quả học tập của sinh viên bằng công cụ Business Intelligence(BI) của SQL Server
2008 Kết quả của nghiên cứu là ứng dụng thành công SQL Server 2008 để xây dựng kho dữ liệu điểm cho trường cùng với ứng dụng công cụ BI của SQL Server trong việc
xây dựng báo cáo và các mô hình dự đoán kết quả học tập của sinh viên [15]
Năm 2012, Nguyễn Đăng Nhượng đã đưa ra luận văn thạc sĩ của mình có tên là:
“Khai phá dữ liệu về kết quả học tập của sinh viên trường Cao đẳng nghề Văn Lang
Hà Nội” Mục tiêu của đề tài là áp dụng các giải thuật khai phá dữ liệu để khai thác