II- Nhiệm vụ và nội dung: Đề tài sử dụng các kỹ thuật k-means, thuật toán Apriori, chuyển đổi dữ liệu để xây dựng hệ thống dự đoán kết quả tốt nghiệp của sinh viên để phục vụ cho bộ phậ
Trang 1CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM
Cán bộ hướng dẫn khoa học : PGS.TS Lê Hoàng Thái
Luận văn Thạc sĩ được bảo vệ tại Trường Đại học Công Nghệ TP.HCM ngày 23 tháng 4 năm 2017
Thành phần Hội đồng đánh giá Luận văn Thạc sĩ gồm:
2 PGS.TS Quản Thành Thơ Phản biện 1
5 TS Nguyễn Thị Thúy Loan Ủy viên, Thư ký
Xác nhận của Chủ tịch Hội đồng đánh giá Luận sau khi Luận văn đã được sửa chữa (nếu có)
Chủ tịch Hội đồng đánh giá LV
Trang 2NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: Nguyễn Hoàng Vũ Giới tính: Nam
Ngày, tháng, năm sinh: 22/01/1985 Nơi sinh: Đồng Nai
Chuyên ngành: Công nghệ thông tin MSHV: 1441860043
I- Tên đề tài:
Ứng dụng một số phương pháp khai thác dữ liệu để dự đoán kết quả tốt nghiệp
II- Nhiệm vụ và nội dung:
Đề tài sử dụng các kỹ thuật k-means, thuật toán Apriori, chuyển đổi dữ liệu để xây dựng hệ thống dự đoán kết quả tốt nghiệp của sinh viên để phục vụ cho bộ phận cố vấn học tập trong việc giúp đỡ sinh viên có thái độ học tập tốt hơn
III- Ngày giao nhiệm vụ: 23/01/2016
IV- Ngày hoàn thành nhiệm vụ: 29/03/2017
V- Cán bộ hướng dẫn: PGS.TS Lê Hoàng Thái
(Họ tên và chữ ký) (Họ tên và chữ ký)
PGS.TS Lê Hoàng Thái
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan rằng luận văn “Ứng dụng một số phương pháp khai thác
dữ liệu để dự đoán kết quả tốt nghiệp” là công trình nghiên cứu của riêng tôi Các
số liệu, kết quả nêu trong Luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác
Tôi xin cam đoan rằng không có sản phẩm nghiên cứu nào của người khác được sử dụng trong luận văn này mà không được trích dẫn theo đúng quy định
Học viên thực hiện Luận văn
Nguyễn Hoàng Vũ
Trang 4Tôi cũng xin chân thành cám ơn Trường Đại học Khoa học xã hội & nhân văn TP Hồ Chí Minh đã tạo điều kiện về thời gian và công tác để tôi tham gia và hoàn thành khóa đào tạo chương trình Cao học này
Và cuối cùng, tôi xin gửi lời cảm ơn tới gia đình, người thân và bạn bè - những người luôn ở bên tôi những lúc khó khăn nhất, luôn động viên tôi, khuyến khích tôi trong cuộc sống và trong công việc
Tôi xin chân thành cảm ơn!
TP.HCM, ngày tháng năm 2017
Nguyễn Hoàng Vũ
Trang 5TÓM TẮT
Đề tài được chia là 2 giai đoạn:
Giai đoạn 1: đề tài sử dụng cơ sở dữ liệu điểm trung bình 8 học kỳ của những sinh viên đã tốt nghiệp tại trường ĐH Khoa học xã hội & nhân văn, sử dụng thuật toán K-means để gom cụm dữ liệu dựa vào độ tương đồng được tính bằng khoảng cách Euclide Qua bước chuyển dữ liệu điểm cho ra thành biến ngôn ngữ, dùng thuật toán Apriori để sinh luật cho quá trình dự đoán kết quả
Giai đoạn 2: dựa vào tập luật đã có ở giai đoạn 1, dùng cây quyết định để dự đoán kết quả của sinh viên dựa vào các giá trị điểm trung bình được nhập vào từ ứng dụng
Từ hai giai đoạn trên đề tài xây dựng hệ thống dự đoán kết quả tốt nghiệp của sinh viên để hỗ trợ cho các cố vấn học tập kịp thời tư vấn cho sinh viên trong quá trình học đại học
Trang 6ABSTRACT
The study is divided into two phases:
Phase 1: The topic uses a database of eight semesters of graduates from the University of Social Sciences and Humanities, using K-means algorithm to aggregate data sets based on Similarity is calculated by the Euclidean distance By fuzzing the point data into language variables, Apriori algorithm is used to generate the rule for the prediction process
Phase 2: Based on the first set of rules, use decision trees to predict student outcomes based on the average scores entered from the application
Based on the two phases, the study builds on student graduation forecasting systems to assist the academic counselor in timely counseling students during college
Trang 7MỤC LỤC
TÓM TẮT iii
ABSTRACT iv
MỤC LỤC v
DANH MỤC HÌNH ẢNH viii
DANH MỤC CÁC BẢNG BIỂU ix
CHƯƠNG 1 GIỚI THIỆU TỔNG QUAN 1
1 Mở đầu 1
2 Giới thiệu 1
3 Các nghiên cứu liên quan 3
3.1 Các nghiên cứu trên thế giới 3
3.2 Các nghiên cứu trong nước 5
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 6
2.1 Một số định nghĩa 6
2.2 Xác định sự tương đồng giữa các chuỗi 6
2.2.1 Khoảng cách Euclide 7
2.2.2 Chuẩn hóa chuỗi giá trị 7
2.2.3 Độ tương đồng dựa trên dãy con chung dài nhất 8
2.3 Khám phá tri thức dựa trên cơ sở dữ liệu chuỗi 8
2.3.1 Tiền xử lý dữ liệu 9
2.3.2 Khám phá luật 10
2.4 Các kỹ thuật khám phá tri thức 10
2.4.1 Gom cụm trên cơ sở dữ liệu chuỗi 10
2.4.2 Thuật toán khai thác luật kết hợp 13
2.4.3 Phân lớp dữ liệu bằng cây quyết định 21
CHƯƠNG 3 XÂY DỰNG HỆ THỐNG LUẬT 32
3.1 Phát biểu bài toán 32
3.2 Mục tiêu của đề tài 32
3.2.1 Về mặt lý thuyết: 33
3.2.2 Về mặt ứng dụng: 33
3.2.2.1 Xây dựng tập luật 33
Trang 83.2.2.2 Tiến hành dự đoán cho sinh viên 36
3.3 Minh họa các bước thực hiện bài toán 37
3.3.1 Chuẩn hóa dữ liệu: 38
3.3.2 Gom cụm dữ liệu 38
3.3.3 Chuyển đổi dữ liệu 40
3.3.4 Xây dựng tập luật: 40
3.3.5 Tiến hành dự đoán cho sinh viên 42
3.3.6 Kết luận 44
CHƯƠNG 4 TRIỂN KHAI ỨNG DỤNG VÀ KẾT QUẢ THỰC NGHIỆM 45
4.1 Làm sạch dữ liệu 45
4.2 Chuẩn hóa dữ liệu 47
4.3 Xây dựng tập luật 48
4.3.1 Độ tương đồng dựa trên chuẩn hóa chuỗi dữ liệu 48
4.3.2 Khám phá luật dựa vào thuật toán Apriori trên dữ liệu đã gom cụm 51
4.3.3 Khám phá tri thức dựa trên cơ sở dữ liệu chuỗi 54
4.3.4 Phân lớp dữ liệu bằng cây quyết định 55
CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 57
5.1 Kết quả đạt được 57
5.2 Nhận xét 57
5.2.1 Ưu điểm: 57
5.2.2 Khuyết điểm: 58
5.3 Hướng phát triển 58
Trang 9DANH MỤC CÁC CHỮ VIẾT TẮT
Ký hiệu, viết tắt Ý nghĩa tiếng Việt Ý nghĩa tiếng Anh
Trang 10DANH MỤC HÌNH ẢNH
Hình 2.1 Minh họa chuỗi kết quả 6
Hình 2.2 Minh họa biến đổi chuẩn hóa dữ liệu 10
Hình 2.3 Minh họa kết quả thuật toán AprioriTID 19
Hình 2.4 Sơ đồ đường đi của cây quyết định cho bảng 1.3 22
Hình 2.5 Minh họa cho cây quyết định 29
Hình 3.1 Sơ đồ các bước sinh luật của đề tài 34
Hình 3.2 Sơ đồ các bước dự đoán kết quả cho sinh viên 36
Hình 3.3 Sơ đồ đường đi của cây quyết định cho bảng 3.7 44
Hình 4.1 Danh sách số phần tử thuộc nhóm 51
Hình 4.2 Danh sách luật được xây dựng 52
Trang 11DANH MỤC CÁC BẢNG BIỂU
Bảng 2.1 Ví dụ minh họa biễu diễn cơ sở dữ liệu dưới dạng nhị phân 15
Bảng 2.2 Ví dụ dữ liệu minh họa cho cây quyết định 22
Bảng 2.3 Cơ sở dữ liệu minh họa cho việc tính các chỉ số độ đo 28
Bảng 3.1 Bảng dữ liệu điểm của sinh viên theo học kỳ 37
Bảng 3.2 Bảng dữ liệu sau khi chuẩn hóa 38
Bảng 3.3 Ma trận thể hiện độ tương đồng giữa các sinh viên 39
Bảng 3.4 Bảng trọng tâm được tính từ thuật toán k-means 40
Bảng 3.5 Dữ liệu các nhóm sau khi gom cụm 40
Bảng 3.6 Dữ liệu điểm của những sinh viên thuộc nhóm 3 41
Bảng 3.7 Dữ liệu minh họa cho cây quyết định 43
Bảng 4.1 Dữ liệu lưu trữ thông tin sinh viên 45
Bảng 4.2 Dữ liệu sinh viên theo niên khóa 46
Bảng 4.3 Minh họa chuẩn hóa dữ liệu 48
Bảng 4.4 Minh họa chuẩn hóa dữ liệu chuỗi dữ liệu 49
Bảng 4.5 Tính độ tương đồng giữa các sinh viên 50
Bảng 4 6 Trọng tâm của từng nhóm 50
Bảng 4.7 Gom nhóm sinh viên theo trọng tâm 51
Bảng 4.8 Dữ liệu làm tròn điểm số của sinh viên 52
Bảng 4.9 Dữ liệu minh họa cho khám phá tri thức 54
Bảng 4.10 Dữ liệu sau khi biến đổi 55
Bảng 4.11 Dữ liệu minh họa cho cây quyết định 56
Trang 12CHƯƠNG 1 GIỚI THIỆU TỔNG QUAN
1 Mở đầu
Hiện nay, việc ứng dụng công nghệ thông tin vào các hoạt động kinh tế, xã hội đã tạo nên các cơ sở dữ liệu khổng lồ Để khai thác các thông tin hữu ích từ nguồn dữ liệu to lớn này một cách hiệu quả, chúng ta cần những công cụ và kỹ thuật thích hợp
Các kỹ thuật truyền thống đã không thể giúp khai thác triệt để những thông tin hữu ích mà một cơ sở dữ liệu mang lại, thường thì các thông tin do sử dụng kỹ thuật cũ không mang lại hiệu quả cao trong việc ra quyết định
Khám phá tri thức từ cơ sở dữ liệu phát triển trong những năm gần đây và thu hút sự quan tâm của các nhà nghiên cứu và những người làm công tác quản lý
Khai thác dữ liệu (Data Mining) được xem là một giai đoạn của quá trình khám phá tri thức, các kỹ thuật khai thác giúp chuyển khối dữ liệu to lớn thành các thông tin và tri thức hữu dụng, ứng dụng rộng lớn bao gồm: phân tích thị trường, quản lý thương mại, hỗ trợ ra quyết định,…
Trong thời gian qua, đã có nhiều nghiên cứu về việc dự đoán kết quả học tập của học sinh, sinh viên, nhưng chủ yếu khai khoáng dữ liệu dưới dạng các bảng, không quan tâm đến yếu tố thời gian Nghiên cứu này mong muốn trình bày một phương pháp khám phá tri thức trong cơ sở dữ liệu dưới một cái nhìn khác hơn, đó
là xem xét cơ sở dữ liệu quản lý sinh viên như là một cơ sở dữ liệu liên tục theo thời gian Kết quả học tập của sinh viên được ghi nhận theo từng học kỳ, năm học
Với kỹ thuật khai thác dữ liệu như trên, việc dự đoán kết quả học tập và kết quả tốt nghiệp của sinh viên sẽ đạt được độ chính xác trong khoảng chấp nhận được
2 Giới thiệu
Hiện nay, cùng với sự tăng trưởng của dữ liệu thông tin về nhiều lĩnh vực khác nhau, vấn đề dự đoán hay khai phá những kết quả mới từ dữ liệu có sẵn là một hướng nghiên cứu thu hút sự quan tâm của nhiều nhà nghiên cứu
Trang 13Lĩnh vực giáo dục cung cấp nhiều ứng dụng lý thú và đầy thử thách cho khai thác dữ liệu Một tổ chức giáo dục thường có nhiều nguồn thông tin phân tán và khác nhau, những nguồn này thường là dữ liệu truyền thống (thông tin về sinh viên, giảng viên, lớp học, lịch học, điểm,…) và gần đây là cơ sở dữ liệu đa phương tiện
Có nhiều mối quan tâm khác nhau trong lĩnh vực giáo dục tạo cơ sở cho nhiều yêu cầu trong khai thác dữ liệu Ví dụ: Tìm kiếm thông tin nhập học, dự đoán
số lượng sinh viên đăng ký học, hỗ trợ sinh viên chọn môn học, dự đoán về tình hình việc làm của sinh viên sau khi ra Trường,…tất cả ứng dụng về khai thác dữ liệu không những đóng góp cho các cơ sở giáo dục để nâng cao chất lượng tốt hơn
mà còn hỗ trợ công việc quản lý
Với lượng thông tin quá nhiều và những nhu cầu khác nhau, có thể thấy là một hệ thống khai thác dữ liệu tích hợp có khả năng phục vụ các nhu cầu đặc biệt của các cơ sở giáo dục sẽ trở thành nhu cầu lớn trong thời gian sắp tới
Đề tài này trình bày một ứng dụng thực tiễn trong lĩnh vực giáo dục Giáo dục được xem là một yếu tố quan trọng đóng góp cho sự phát triển kinh tế, xã hội
Ở Việt Nam, sinh viên thường phải tích lũy các môn học trong 4 năm học, mỗi năm học được chia thành 2 học kỳ chính và 1 học kỳ hè Kết thúc 1 học kỳ, sinh viên được tổng kết điểm trung bình tích lũy cho học kỳ đó Áp dụng tương tự cho năm học và toàn khóa học
Đề tài này dựa trên kết quả học tập từng học kỳ của sinh viên để dự đoán kết quả đạt được của sinh viên trong học kỳ tiếp theo và trong toàn khóa học Ngoài ra,
có thể tìm ra được các sinh viên cá biệt Phương pháp sử dụng để dự đoán kết quả học tập của sinh viên là khai thác dữ liệu
Khám phá tri thức được chia làm hai giai đoạn chính:
- Giai đoạn tiền xử lý: chọn lọc, làm sạch dữ liệu, mã hóa dữ liệu,…
- Giai đoạn khai thác dữ liệu: tùy theo dữ liệu và mục tiêu khai thác mà có những kỹ thuật khác nhau
Tóm tắt một vài phương pháp khai thác dữ liệu liên quan đến đề tài:
Trang 14- Gom cụm dữ liệu: mục tiêu là nhận dạng ra những mẫu giống nhau để có kết luận tương tự
- Khám phá luật: khám phá dữ liệu nhằm kết luận “Nếu xuất hiện X thì sẽ xuất hiện gì tiếp theo?”
Khai thác dữ liệu đã có rất nhiều trong lĩnh vực kinh tế xã hội, khoa học kỹ thuật, nhưng trong lĩnh vực giáo dục và đào tạo thì chưa nhiều Trong giáo dục, việc đánh giá kết quả, chất lượng của sinh viên là quan trọng, nhưng đôi khi vẫn còn mang tính cảm tính và cục bộ Đề tài mong muốn áp dụng phương pháp khai thác
dữ liệu trên cơ sở dữ liệu điểm của sinh viên trong nhiều năm, bằng cách biến đổi phù hợp, từ đó đưa ra thông tin chính xác về thực trạng của sinh viên, đặc biệt là cung cấp thông tin mang tính dự đoán
Qua các thông tin thu được, người dùng sẽ có một cái nhìn tổng quan về kết quả học tập của sinh viên để đề ra phương hướng, các biện pháp giáo dục thích hợp trong các năm học sau
3 Các nghiên cứu liên quan
Trong thời gian gần đây, khai thác dữ liệu đã trở thành một trong những hướng nghiên cứu chính trong lĩnh vực khoa học máy tính và công nghệ tri thức ở trong nước và ngoài nước Khai thác dữ liệu đã và đang ứng dụng thành công vào thương mại, tài chính, thị trường chứng khoán, y học, thiên văn, sinh học, giáo dục, viễn thông,…
3.1 Các nghiên cứu trên thế giới
- Dự đoán trước về thứ bậc điểm trung bình của sinh viên tốt nghiệp: cách tiếp cận về khai thác dữ liệu của Ahmet Tekin được giới thiệu vào năm 2014 [1], bài báo
đã nêu lên tầm quan trọng của cơ sở dữ liệu giáo dục có chứa các dữ liệu có giá trị
và tác giả đã thực hiện khai thác dữ liệu này để giúp các học sinh yếu kém cải thiện thành tích trong quá trình học tập Trong đó, tác giả sử dụng các kỹ thuật phân nhóm dữ liệu, phân lớp và hồi quy với các phương pháp như K-means phân nhóm
dữ liệu, mạng nơron, và máy hỗ trợ vector (SVM) có thể được sử dụng để dự đoán
Trang 15Kết quả đầu ra cuối cùng là có thể xác định được là học sinh sẽ cần giúp đỡ thêm những gì để cải thiện điểm trung bình trong kỳ thi tốt nghiệp
- Năm 2012, Edin Osmanbegovic, Mirza Suljic đã nêu lên cách tiếp cận kỹ thuật khai thác dữ liệu để dự đoán kết quả học tập của sinh viên [3], việc sử dụng kỹ thuật khai thác dữ liệu với mục đích là để phát triển một mô hình từ đó lấy được các kết luận về kết quả học tập của sinh viên Phương pháp và kỹ thuật khai thác dữ liệu khác nhau được so sánh trong việc dự đoán để từ đó tác giả đánh giá kỹ thuật nào hiệu quả hơn Việc xác định quá trình học tập có thể đưa ra một mô hình nền tảng cho sự phát triển của hệ thống hỗ trợ ra quyết định trong giáo dục đại học Trong bài báo tác giả so sánh ba thuật toán phân lớp: Naive Bayes, MLP (thuật toán Multilayer Perceptron), J48 (thuật toán C4.5 trong Weka)
- Sahil P Karkhanis, Shweta S Dumbre trong năm 2015 đã nêu lên một nghiên cứu về ứng dụng của khai thác và phân tích dữ liệu trong lĩnh vực giáo dục [8], tác giả đã nêu lên tầm quan trọng của việc sử dụng kỹ thuật và thuật toán khai thác dữ liệu giáo dục và từ đó đưa ra những hiểu biết về các kết quả dự kiến của các sinh viên Tác giả nêu ra ba kỹ thuật khai thác dữ liệu dự đoán, gom nhóm và mối quan hệ để khai thác dữ liệu trong dữ liệu giáo dục, những kết quả này cũng giúp các nhà quản lý trong việc đưa ra quyết định và trả lời một số câu hỏi về khả năng học tập của sinh viên, từ đó có những thay đổi về phương pháp giảng dạy của giáo viên Bài báo này về cơ bản là một nghiên cứu các thuật toán trên dữ liệu giáo dục nhằm mục đích phục vụ cho ngành giáo dục
- Dự đoán kết quả của học sinh bằng phương pháp thống kê và khai thác dữ liệu đã được V.Ramesh, P.Parkavi, K.Ramar đưa ra vào năm 2013 [9], việc dự đoán kết quả của một sinh viên là một mối quan tâm lớn cho nhà quản lý giáo dục đại học Bài viết xác định các yếu tố ảnh hưởng đến kết quả học tập của sinh viên trong các kỳ thi và tìm ra một thuật toán khai thác dữ liệu phù hợp để dự đoán kịp thời mức độ học tập của sinh viên từ đó đưa ra một cảnh báo thích hợp cho sinh viên có kết quả học tập yếu kém Công việc này sẽ giúp các cơ sở giáo dục xác định những
Trang 16học sinh yếu kém để cung cấp thêm thơng tin đào tạo tốt hơn cho những học sinh này, tác giả sử dụng WEKA để kiểm tra kết quả
3.2 Các nghiên cứu trong nước
- Năm 2013, Võ Thị Ngọc Liên sử dụng phương pháp hồi quy Bayes để dự đốn kết quả học tập của sinh viên [13], luận văn này thực hiện nhằm mục đích hỗ trợ dự đốn kết quả học tập cuối cùng của sinh viên trường nghề, tác giả sử dụng thuật tốn chính là phân lớp Naive Bayes, thuật tốn này cho xác suất kết quả cao Phương pháp phân tích hồi quy để dự đốn các yếu tố ảnh hưởng đến kết quả học tập
- Năm 2012, Nguyễn Thị Thanh Thủy [12] đã nghiên cứu cơ sở lý thuyết liên quan đến ba kỹ thuật cây quyết định, luật kết hợp và Nạve Bayes, nghiên cứu quy trình triển khai ứng dụng khai phá dữ liệu Ngồi ra, đề tài cũng tìm hiểu các vấn đề
cơ bản về dịch vụ Microsoft SQL Server 2008 R2 Analysis Services và các cơng cụ liên quan để dự đốn kết quả học tập của sinh viên Đề tài đã giải quyết được phần những yêu cầu đã được đặt ra và cĩ thể phát triển trong tương lai
Trang 17CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2.1 Một số định nghĩa
Định nghĩa 2.1: Chuỗi X = (x 1 , x 2 ,…, x n ) là một tập n giá trị x i được ghi nhận trong một khoảng thời gian bằng nhau và được sắp theo thứ tự thời gian
Khoảng thời gian giữa hai giá trị liên tiếp nhau có thể được chọn tùy theo lĩnh vực hoặc nội dung mà nó biểu diễn
Các chuỗi X có bản chất giống nhau, dữ liệu có thể rất dài, có thể chứa hàng triệu, hàng tỉ giá trị
Định nghĩa 2.2: Cho chuỗi X = (x 1 , x 2 ,…, x n ) có chiều dài n, một dãy con S
của X là một dãy có chiều dài m (1 ≤ m ≤ n) các giá trị liền nhau trong X
S = (x k ,…, x k+m-1 ), 1 ≤ p ≤ n – m + 1 (2.1)
Có n – m + 1 dãy con có chiều dài m
Ví dụ 2.1: Cho X = (4, 5, 2, 8, 6), các dãy con có 3 phần tử của X gồm: S1 = (4, 5, 2), S2 = (5, 2, 8) và S3 = (2, 8, 6)
Định nghĩa 2.3: Cho chuỗi X = (x 1 , x 2 ,…, x n ) có chiều dài n, các giá trị xi
được xác định trong khoảng thời gian từ t1 đến tn, ti là thời gian xác định xi
2.2 Xác định sự tương đồng giữa các chuỗi
Hình 2.1 Minh họa chuỗi kết quả
Trang 18Để xác định độ tương đồng giữa các chuỗi, cần xây dựng một độ đo để đánh giá mức độ tương đồng Mỗi độ đo chỉ thích hợp với một vài lĩnh vực nào đó, vì vậy
có nhiều độ đo xác định độ tương đồng được xây dựng
2.2.1 Khoảng cách Euclide
Phương pháp này tính toán độ tương đồng giữa các chuỗi có độ dài bằng nhau
- Xem một chuỗi X = (x 1 , x 2 ,…, x n ) là một điểm trong không gian Euclide
n-chiều
- Độ tương đồng giữa hai chuỗi được định nghĩa như là khoảng cách giữa hai
điểm trong không gian R n
d(X,Y) = (∑𝑛 |𝑥𝑖 − 𝑦𝑖|2
𝑖=1 )12 (2.2) Trong đó, X = (x 1 , x 2 ,…, x n ) và Y = (y 1 , y 2 ,…, y n ) là các chuỗi đang xét
Độ tương đồng Euclide có nhiều ưu điểm như dễ tính toán, giải quyết được nhiều bài toán khác nhau (đánh chỉ mục, gom cụm,…)
Tuy vậy, cũng có khuyết điểm là không cho phép có biên độ dao động khác nhau
Ví dụ 2.2: giá trị của X từ 20 đến 40, giá trị của Y từ 60 đến 100 thì không
xác định được độ tương đồng
2.2.2 Chuẩn hóa chuỗi giá trị
Cho chuỗi X = (x 1 , x 2 ,…, x n ), chuẩn hóa X được ký hiệu là 𝑋̅ =(𝑥̅ , 𝑥1 ̅̅̅, … , 𝑥2 ̅̅̅) và được định nghĩa như sau: 𝑛
Trang 19có biên độ dao động khác nhau thì kết quả sẽ không tương đồng
2.2.3 Độ tương đồng dựa trên dãy con chung dài nhất
Cho hai chuỗi X = (x 1 , x 2 ,…, x n ) và Y = (y 1 , y 2 ,…, y n )
Đặt X’ = (x i1 , x i2 ,…, x il ) và Y’ = (y j1 , y j2 ,…, y jl ) lần lượt là hai dãy con của X, Y
X’ và Y’ được gọi là tương đồng nếu:
Sử dụng một độ tương đồng phù hợp để xây dựng mối liên hệ giữa hai chuỗi
2.3 Khám phá tri thức dựa trên cơ sở dữ liệu chuỗi
Hiện nay, khám phá tri thức dựa trên cơ sở dữ liệu chuỗi có nội dung phong phú, các nhà khoa học bắt đầu khám phá các tính chất cục bộ, địa phương như: các mẫu tuần hoàn, các mẫu tương đồng, luật kết hợp, hành vi,…
Đề tài sẽ tập trung khám phá luật kết hợp trên các mẫu đặc trưng được trích
ra từ cơ sở dữ liệu
Quá trình khám phá tri thức bao gồm: làm sạch và lọc dữ liệu, nhận dạng các thuộc tính quan trọng, trích ra các luật kết hợp để dự đoán tương lai, khám phá tri thức để hỗ trợ cho quá trình ra quyết định
Các giai đoạn thực hiện:
- Giai đoạn tiền xử lý:
Làm sạch dữ liệu thô
Trang 20 Định danh các đặc điểm mô tả cơ sở dữ liệu
Xác định các mẫu đặc trưng trên các dãy con (gom cụm)
- Giai đoạn khai thác:
Các bước thực hiện:
- Chọn độ rộng của dãy con thích hợp
- Ghi nhận các dãy con bằng cách duyệt qua toàn chuỗi, tại một vị trí xác định một chuỗi con theo độ rộng đã chọn Thực hiện gom cụm các dãy con thu được này bằng một độ đo thích hợp
- Mỗi nhóm được gán một định danh duy nhất, khi duyệt qua chuỗi, mỗi dãy con tương ứng với một nhóm được gán định danh của nhóm tương ứng chứa dãy con đó, các dãy con trông cùng nhóm gọi là cùng mẫu
Trang 21Luật đơn giản nhất có dạng: “Nếu A xuất hiện thì B sẽ xuất hiện” Trong
đó, A và B là các mẫu được xây dựng trên chuỗi Các luật phải thỏa độ tin cậy chọn trước Trong nhiều trường hợp, người ta quan tâm đến thời điểm xuất hiện: “Nếu A xuất hiện ở thời điểm t1 thì B sẽ xuất hiện ở thời điểm t2”
Ví dụ 2.6: Cơ sở dữ liệu ghi nhận nhiệt độ tại nhiều vùng khác nhau, luật sau
đây thể hiện thời điểm xuất hiện: “Nếu nhiệt độ tại vùng A tăng liên tục trong 5 ngày thì nhiệt độ vùng B sẽ tăng sau đó 10 ngày”
- Mở rộng luật đơn giản sang dạng phức tạp hơn: “Nếu A1, A2,…, Ak xuất hiện thì B sẽ xuất hiện”
- Một hướng khám phá khác: “Nếu A xuất hiện thì điều gì sẽ xảy ra?”
2.4 Các kỹ thuật khám phá tri thức
2.4.1 Gom cụm trên cơ sở dữ liệu chuỗi
Gom cụm các chuỗi thành từng nhóm sao cho độ tương đồng của các chuỗi trong cùng nhóm cao nhất và các chuỗi trong các nhóm khác nhau thì độ tương
Trang 22đồng thấp Nói cách khác, gom cụm dữ liệu là tạo ra một phép phân hoạch trên cơ
sở dữ liệu, mỗi một chuỗi chỉ thuộc về một nhóm duy nhất
Cho X là một chuỗi và C1, C2,…, Ck là các nhóm thu được sau khi thực hiện gom cụm thì các nhóm phải thỏa tính chất:
(a) ∀i, j € [1,…, k], Ci ∩ Cj = Ø
(b) ⋃𝑘𝑖=1𝐶𝑖 = 𝑇
Duyệt qua toàn bộ cơ sở dữ liệu và sử dụng một độ đo tương đồng thích hợp gom cụm các đối tượng Có nhiều phương pháp gom cụm có thể thực hiện được trên cơ sở dữ liệu và cho kết quả tốt
Phương pháp gom cụm có thể chia làm 2 loại: phương pháp dựa trên độ tương đồng và phương pháp dựa trên mô hình Đề tài tập trung vào phương pháp gom cụm dựa trên độ tương đồng, một phương pháp được xem là phù hợp với ứng dụng
Mỗi chuỗi được xem như là một điểm trong không gian n chiều, theo phương pháp đo độ tương đồng, xác định một khoảng cách hay một hàm tương đồng giữa mỗi cặp dữ liệu, sau đó sử dụng đến các kỹ thuật gom cụm Độ đo tương đồng được
sử dụng nhiều nhất là khoảng cách Euclide
Có nhiều thuật toán gom cụm khác nhau dựa trên độ đo tương đồng, đề tài
trình bày hai thuật toán gom cụm là Greedy và k-means
2.4.1.1 Phương pháp k-means
Đây là phương pháp được sử dụng phổ biến Ý tưởng của phương pháp này
là từ tập ban đầu tìm ra một phép phân hoạch vào trong k tập con (nhóm), trong đó
k là số nguyên dương cho trước Trong mỗi nhóm có một phần tử đặc biệt đại diện cho nhóm, gọi là trọng tâm của nhóm Một phần tử được xem xét có thuộc nhóm nào đó hay không, tùy thuộc vào khoảng cách từ nó đến phần tử trọng tâm
Định nghĩa phần tử trọng tâm:
Trang 23Phần tử trọng tâm (điểm trọng tâm) của một nhóm là phần tử có giá trị trung bình cộng của tất cả các phần tử trong nhóm Phần tử trọng tâm này có thể xem là phần tử đại diện cho nhóm
Điểm trọng tâm r của nhóm C được tính như sau:
r = 1
|𝐶| ∑𝑥 € 𝐶𝑥 (2.4) Trong phương pháp k-means, thay vì tính khoảng cách giữa các cặp phần tử trong cùng nhóm với nhau, ta tính khoảng cách từ mỗi phần tử đến phần tử trọng tâm của nhóm Trong thuật toán, các phần tử trọng tâm ban đầu của k nhóm được chọn ngẫu nhiên từ các điểm trong tập cần phân hoạch Trong mỗi lần lặp, mỗi phần tử được phân vào nhóm có trọng tâm gần nó nhất, sau đó trọng tâm của nhóm được tính lại
Thuật toán k-means:
Gọi D là tập dữ liệu cần phân hoạch, k là số nguyên dương (số nhóm) Kết quả thu được sẽ là danh sách k nhóm: C1, C2,…, Ck
- Lặp i = 1 đến k: chọn ngẫu nhiên ri € D làm trọng tâm của Ci
- Trong khi có sự thay đổi trong các nhóm Ci
Với mỗi x € D
Tính khoảng cách từ x đến ri gọi là d(x,ri), i = 1,…,k
Đưa x vào nhóm Cj nếu d(x,rj) ≤ d(x,ri), i ≠ j
Lặp i = 1 đến k: tính lại các trọng tâm ri
Một dạng cải tiến của thuật toán k-means là xét mỗi phần tử và tính lại phần
tử trọng tâm của nhóm bất cứ khi nào có một phần tử được thêm vào, lặp lại chu trình qua các phần tử cho đến khi tình trạng các nhóm không còn thay đổi
Việc tìm kiếm trong thuật toán k-means bị hạn chế trong không gian phân hoạch,
có thể bỏ qua giải pháp gom cụm tốt nhất Người ta có thể khắc phục khuyết điểm này bằng cách thực hiện nhiều lần thuật toán với các điểm trọng tâm ban đầu được chọn khác
Trang 24nhau và chọn một kết quả tốt nhất Thời gian thực hiện sẽ tăng lên rất nhiều
2.4.1.2 Phương pháp Greedy
Phương pháp Greedy đặc biệt hiệu quả và thích hợp với trường hợp số lượng nhóm k và bán kính nhóm d đã xác định trước Ta cũng xem một chuỗi như một điểm trong không gian Rn và sử dụng khoảng cách Euclide làm độ đo tương đồng
Gọi D là tập dữ liệu cần phân hoạch, với mỗi điểm p trong D ta tìm trọng tâm nhóm q sao cho d(p,q) nhỏ nhất
- Với qi chưa gom cụm trong D:
Với mỗi p trong D \ {qi}: nếu d(p,qi) < d thì thêm p vào nhóm có trọng tâm qi
- Lặp lại bước trên với các điểm trong D \ {nhóm qi} cho đến khi tất cả các điểm trong D đều được xét
Xác định được một dãy các trọng tâm q1, q2,…, qk Khoảng cách giữa hai trọng tâm nhỏ nhất là d
2.4.2 Thuật toán khai thác luật kết hợp
Để khám phá tri thức trên cơ sở dữ liệu, có thể vận dụng nhiều kỹ thuật khai thác luật khác nhau trên cơ sở dữ liệu đã qua giai đoạn tiền xử lý Chẳng hạn sử dụng Information Theoretic Network trên cơ sở dữ liệu các sự kiện, thuật toán Apriori trên
dữ liệu đã phân nhóm,… Đề tài trình bày thuật toán quen thuộc là Apriori
Luật kết hợp là dạng rất phổ biến trong việc biểu diễn tri thức, luật kết hợp
có ưu điểm dễ đọc, có thể bổ sung hoặc loại bỏ dễ dàng Đây là một nội dung quan trọng trong việc khám phá tri thức từ cơ sở dữ liệu lớn Biểu diễn tri thức dưới dạng luật kết hợp có thể thích ứng với nhiều ứng dụng khác nhau Dạng tổng quát của luật kết hợp là: “Nếu X thì Y”, trong đó X là giả thuyết và Y là kết luận Các luật kết hợp như vậy mô tả thật dễ hiểu, hỗ trợ tích cực cho các nhà quản lý trong việc ra quyết định hay hoạch định chiến lược phát triển
Trang 25Thuật toán Apriori
Cho I = {i1, i2,…, im} là tập các mục dữ liệu (item) Một tập con của I gọi là itemset, nếu itemset có k phần tử gọi là k-itemset
Cho tập D chứa các giao tác (transaction), một giao tác d € D là một tập các item con của I, d ⊆ I Trong D, mỗi giao tác có một định danh duy nhất
Cho hai tập con X, Y của I, X ∩ Y = Ø, luật kết hợp r là luật liên kết hai điều kiện là hai tập X và Y, có dạng “Nếu X thì Y”
Trang 26Bảng 2.1 Ví dụ minh họa biểu diễn cơ sở dữ liệu dưới dạng nhị phân
Giá trị ô (m, n) = 1 cho biết item thứ n có trong giao tác thứ m, (m, n) = 0 có nghĩa item thứ n không có trong giao tác thứ m
Với S = {2, 3}, ta có:
SP(S) = 2
4 = 0.5
Trang 27Nếu ta chọn minsupp = 0.5 thì SP(S) ≥ minsupp nên S là một tập phổ biến Trên S có thể phát sinh hai luật kết hợp là:
Vậy luật r2 thỏa:
SP(r2) ≥ minsupp = 0.5 CF(r2) ≥ minconf = 0.8 Bài toán khám phá luật kết hợp có thể được phân ra thành hai bài toán nhỏ hơn như sau:
- Tìm các itemset có độ hỗ trợ lớn hơn minsupp, tức là tìm các tập phổ biến
- Dùng các tập phổ biến để phát sinh các luật, các luật phải thỏa độ tin cậy đã chọn (minconf)
2.4.2.2 Khám phá các tập phổ biến
Có rất nhiều thuật toán khám phá tập phổ biến, một trong những thuật toán
đó là Apriori, thuật toán tiến hành nhiều lần duyệt trên dữ liệu để xác định các tập phổ biến Có thể chia thuật toán Apriori thành các giai đoạn sau:
- Bước 1: Xác định các tập phổ biến chỉ có một item
- Bước 2: Sử dụng tập phổ biến được tìm thấy ở lần duyệt trước để phát sinh các tập phổ biến mới Xác định độ hỗ trợ của các tập phổ biến này và xác định tập nào là tập phổ biến thực sự, những itemset nào không thỏa minsupp sẽ bị loại
Trang 28- Bước 3: Lặp lại quá trình ở bước 2 cho đến khi không còn tìm thấy các itemset nào mới
Tuy nhiên, thuật toán này cũng có nhiều khuyết điểm như: tập tìm được không phải là tập phổ biến, mỗi tập phổ biến tìm thấy phải duyệt lại trên toàn cơ sở
dữ liệu nên rất khó khăn nếu cơ sở dữ liệu lớn
Thuật toán AprioriTID là cải tiến của thuật toán Apriori, nó khắc phục được các khuyết điểm của Apriori Trong thuật toán AprioriTID, cơ sở dữ liệu không được dung toàn bộ cho việc xác định độ hỗ trợ lần đầu tiên, trong lần duyệt sau kích thước của mã hóa có thể trở nên nhỏ hơn so với các lần trước đó
Giới thiệu thuật toán AprioriTID
- Thuật toán AprioriTID được cải tiến từ thuật toán Apriori nhằm cải tiến việc duyệt cơ sở dữ liệu quá nhiều lần để đếm số lần xuất hiện của các tập ứng viên trong các giao tác
- Thuật toán AprioriTID sử dụng tập C k để tính độ hỗ trợ cho các phần tử của tập Ck khi k > 1 thay cho việc duyệt cơ sở dữ liệu Mỗi phần tử của tập C kcó dạng <TID, X>, với X là tập các ứng viên thuộc Ck tương ứng với giao tác t có mã TID, hay ta có thể viết < t.TID, c Ck | c có trong t>
- Nếu giao tác t không chứa một tập ứng viên nào (Xk = ) thì giao tác t không được đưa vào C k Do đó, số phần tử của C kcó thể nhỏ hơn số lượng các giao tác trong cơ sở dữ liệu, đặc biệt khi k lớn
- Khi số phần tử của C knhỏ hơn số lượng các giao tác trong cơ sở dữ liệu thì việc duyệt C kđể tính độ hỗ trợ cho từng phần tử của Ck phục vụ cho việc xác định
Lk (tập phổ biến) sẽ nhanh hơn duyệt cơ sở dữ liệu
Tính C k
Ck được tạo từ L k-1 qua 2 bước
- Kết L k-1 với chính nó
Trang 29select p.item1, p.item2,…, p.itemk-1, q.itemk-1
- Với k nhỏ (k>1), số lượng phần tử của C kbằng hoặc nhỏ hơn không đáng
kể so với số giao tác trong cơ sở dữ liệu, tập X (ứng mỗi phần tử của C k) có thể có
số lượng thành viên lớn hơn số item trong giao tác tương ứng trong cơ sở dữ liệu vì
số phần tử của Ck nhiều khi k nhỏ và khả năng các ứng viên của tập Ck có trong giao tác là lớn (trong ví dụ trên tập X trong giao tác có TID 300 có số thành viên là
6 trong khi CSDL chỉ có 4 item)
Trang 30- Với k lớn, số lượng phần tử của C knhỏ hơn so với số giao tác trong cơ sở
dữ liệu, tập X (ứng mỗi phần tử của C k) có thể có số lượng thành viên nhỏ hơn số item trong giao tác tương ứng trong CSDL vì số phần tử của Ck không nhiều khi k lớn và khả năng các ứng viên của tập Ck có trong giao tác là nhỏ
2.4.2.2 Phát sinh luật kết hợp
Để phát sinh các luật, với mỗi tập phổ biến h ta tìm các tập con khác rỗng của h Với mỗi tập con a, ta đưa ra luật a → (h – a) nếu độ tin cậy của nó (tỷ số giữa
độ hỗ trợ của h và độ hỗ trợ của a) lớn hơn hoặc bằng minconf
Hình 2.3 Minh họa kết quả thuật toán AprioriTID [7]
Trang 31Xét các tập con của h để phát sinh các luật với nhiều kết quả khác nhau Nếu tập con a của tập phổ biến h không sinh ra một luật thì tập con của a cũng không cần xem xét để phát sinh luật
Ví dụ 2.7: Nếu ABC → D không thỏa minconf, ta không cần kiểm tra AB →
CD
Chúng ta cũng không bỏ sót luật nào vì độ hỗ trợ của bất kỳ tập con a’ của a cũng phải lớn như độ hỗ trợ của a Do vậy, độ tin cậy của luật a’ → (h – a’) không thể lớn hơn độ tin cậy của luật a → (h – a) Nếu a không sinh ra một luật gồm tất cả các item trong h với a ở vế trước thì cũng không sinh ra luật với a’ ở vế trước
Ta nhận thấy, nếu luật a → (h – a) không giá trị thì a’ → (h – a’) cũng không
có giá trị với bất kỳ a’ là tập con của a Ngược lại, luật (h – a) → a có giá trị thì (h – a’) → a’ cũng có giá trị
Ví dụ: Nếu luật AB → CD có giá trị thì ABC → D và ABD → C có giá trị Nếu một luật có vế thứ hai là a có giá trị thì các luật ở vế thứ hai là tập con của a cũng có giá trị
Thu gọn tập luật
Trong nhiều trường hợp, vấn đề thu gọn tập luật không được đề cập đến Tuy nhiên, do các luật thu được thường rất lớn và thường có sự trùng lắp, do đó vấn đề thu gọn các luật được đặt ra
Ví dụ 2.8: Cho hai luật
Luật 1: Nếu A và B thì T Luật 2: Nếu C và D thì T
Có thể kết hợp hai luật này với nhau như sau:
Luật mới: Nếu (A và B) hoặc (C và D) thì T
Thuật toán thu gọn luật
Khởi đầu các luật được trộn là 0
Trang 32Số các điều kiện là k = 0
While (k < số thuộc tính đầu vào) do
Lặp với mỗi luật có l điều kiện
If không có luật đã trộn có k điều kiện
Xác định luật đã trộn đầu tiên với k điều kiện Cho giá trị ban đầu bậc của luật
Else
Xác định một luật mới với k điều kiện Khởi đầu bậc của luật
Tăng k
2.4.3 Phân lớp dữ liệu bằng cây quyết định
Cây quyết định (decision tree) là một trong những hình thức mô tả dữ liệu trực quan nhất, dễ hiểu nhất đối với người dùng Cấu trúc của một cây quyết định bao gồm các nút và các nhánh Nút dưới cùng được gọi là nút lá, trong mô hình phân lớp dữ liệu chính là các giá trị của các nhãn lớp (gọi tắt là nhãn) Các nút khác nút lá được gọi là các nút con, đây còn là các thuộc tính của tập dữ liệu, hiển nhiên các thuộc tính này phải khác thuộc tính phân lớp Mỗi một nhánh của cây xuất phát
từ một nút p nào đó ứng với một phép so sánh dựa trên miền giá trị của nút đó Nút
Trang 33đầu tiên được gọi là nút gốc của cây Xem xét một ví dụ về một cây quyết định nhị phân như sau:
Tuổi Giới tính Thu nhập Có tập thể thao Rủi ro
Bảng 2.2 Ví dụ dữ liệu minh họa cho cây quyết định
Hình 2.4 Sơ đồ đường đi của cây quyết định cho bảng 2.2
Trang 34Cây quyết định của ví dụ trên có thể được giải thích như sau:
- Các nút lá chứa các giá trị của thuộc tính phân lớp (thuộc tính “rủi ro”)
- Các nút con tương ứng với các thuộc tính khác thuộc tính phân lớp, nút gốc cũng được xem như một nút con đặc biệt, ở đây chính là thuộc tính “giới tính”
Các nhánh của cây từ một nút bất kỳ tương đương một phép so sánh có thể là
so sánh bằng, so sánh khác, lớn hơn nhỏ hơn,… nhưng kết quả các phép so sánh này bắt buộc phải thể hiện một giá trị logic (Đúng hoặc Sai) dựa trên một giá trị nào đó của thuộc tính của nút
- Cây quyết định trên không có sự tham gia của thuộc tính “thu nhập” trong thành phần cây, các thuộc tính như vậy được gọi chung là các thuộc tính dư thừa bởi vì các thuộc tính này không ảnh hưởng đến quá trình xây dựng mô hình của cây
Các thuộc tính tham gia vào quá trình phân lớp thông thường có các giá trị liên tục hay còn gọi là kiểu số hoặc kiểu rời rạc hay còn gọi là kiểu dữ liệu phân loại Ví dụ kiểu dữ liệu lương biểu diễn bằng số thực là kiểu dữ liệu liên tục, kiểu
dữ liệu giới tính là kiểu dữ liệu rời rạc (có thể rời rạc hóa thuộc tính giới tính một cách dễ dàng)
Việc xây dựng cây quyết định được tiến hành một cách đệ qui, lần lượt từ nút gốc xuống tới tận các nút lá Tại mỗi nút hiện hành đang xét, nếu kiểm tra thấy thỏa điều kiện dừng: thuật toán sẽ tạo nút lá Nút này được gán một giá trị của nhãn lớp tùy điều kiện dừng được thoả Ngược lại, thuật toán tiến hành chọn điểm chia tốt nhất theo một tiêu chí cho trước, phân chia dữ liệu hiện hành theo điều kiện chia này Lưu ý dữ liệu hiện hành không phải hoàn toàn là tập dữ liệu ngay khi bắt đầu thuật toán, có thể là tập dữ liệu đã được phân chia theo điều kiện chia của nút liền trước đó (nút cha)
Sau bước phân chia trên, thuật toán sẽ lặp qua tất cả các tập con (đã được chia) và tiến hành gọi đệ qui như bước đầu tiên với dữ liệu chính là các tập con này Xem thuật toán tổng quát bên dưới:
Dữ liệu vào: Tập dữ liệu D, tập danh sách thuộc tính, tập nhãn lớp
Trang 35Dữ liệu ra: Mô hình cây quyết định
Thuật toán: Tạocây(Tập dữ liệu E, tập danh sách thuộc tính F, tập nhãn lớp)
Giải thích thuật toán: Đây là một thuật toán đệ qui tạo cây quyết định
- Tại hàm chính, gọi hàm đệ qui Tạocây() với ba tham số vào là tập dữ liệu
E, tập danh sách thuộc tính của E và tập nhãn Thuật toán làm việc bằng cách đệ qui chọn giá trị thuộc tính tốt nhất để chia, lưu ý là chọn giá trị của thuộc tính sao cho