NHIỆM VỤ VÀ NỘI DUNG Tìm hiểu thuật toán khai thác luật tuần tự trên cơ sở dữ liệu chuỗi ; Xây dựng ứng dụng dự đoán kết quả học tập của sinh viên... Chính vì thế, luận văn quyết định ch
Trang 1-
NGUYỄN HỮU QUANG
ỨNG DỤNG LUẬT TUẦN TỰ
TRONG VIỆC DỰ ĐOÁN
KẾT QUẢ HỌC TẬP CỦA SINH VIÊN
Trang 2CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG – HCM
Cán bộ hướng dẫn khoa học: PGS.TS QUẢN THÀNH THƠ
Cán bộ chấm nhận xét 1: TS VÕ THỊ NGỌC CHÂU
Cán bộ chấm nhận xét 2: PGS.TS NGUYỄN TUẤN ĐĂNG
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 01 tháng 8 năm 2018
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
Trang 3TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: NGUYỄN HỮU QUANG
Ngày, tháng, năm sinh: 13/09/1989
Chuyên ngành: Hệ thống thông tin quản lý
MSHV: 7140658 Nơi sinh: Tp.HCM
Mã số : 60.34.04.05
I TÊN ĐỀ TÀI
Ứng dụng luật tuần tự trong việc dự đoán kết quả học tập của sinh viên
II NHIỆM VỤ VÀ NỘI DUNG
Tìm hiểu thuật toán khai thác luật tuần tự trên cơ sở dữ liệu chuỗi ;
Xây dựng ứng dụng dự đoán kết quả học tập của sinh viên
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 17/06/2018
Trang 4LỜI CẢM ƠN
Em xin chân thành cảm ơn Thầy Cô khoa KHOA HỌC VÀ KỸ THUẬT MÁY
TÍNH trường Đại Học Bách Khoa Tp.HCM đã tạo điều kiện thuận lợi và truyền đạt
những kiến thức, kinh nghiệm quý báu cho em trong quá trình học tập tại trường
Em cũng xin chân thành cảm ơn thầy Quản Thành Thơ đã tạo điều kiện, hướng
dẫn và giúp đỡ em trong thời gian thực hiện đề cương luận văn này Trong suốt quá trình
học tập, làm việc với Thầy, em đã có cơ hội hoàn thiện, bổ sung kiến thức của mình
cũng như học tập được tác phong làm việc – tinh thần học tập nghiêm túc của Thầy
Mặc dù đã có nhiều cố gắng nhưng trong quá trình làm luận văn không thể tránh
khỏi những sai sót Em rất mong nhận được các ý kiến đóng góp từ các Thầy Cô để em
rút kinh nghiệm và tích lũy cho mình những bài học quí báu cho công việc của mình sau
khi tốt nghiệp
Em xin chân thành cảm ơn !!!
TP.HCM, ngày 18 tháng 6 năm 2018
Trang 5từ CSDL chuỗi là căn cứ để xây dựng hệ thống dự báo
Hình thức đào tạo đại học theo tín chỉ là hình thức lấy người học làm trung tâm trong quá trình dạy và học, hình thức đào tạo này phát huy được tính chủ động, sáng tạo của người sinh viên và được áp dụng hầu hết trong các trường đại học ở Việt Nam hiện nay Với phương thức đào tạo theo tín chỉ, việc tự học, tự nghiên cứu được coi trọng hơn, giảm sự truyền đạt kiến thức một chiều từ giảng viên như phương pháp đào tạo truyền thống Sinh viên là người tiếp nhận kiến thức nhưng đồng thời cũng là người chủ động tạo kiến thức cho bản thân mình với mục tiêu đáp ứng những nhu cầu của thị trường lao động ngoài xã hội sau khi ra trường Mỗi khối kiến thức đều có những môn học tự chọn hay bắt buộc với số lượng tín chỉ theo quy định để tốt nghiệp; sinh viên có thể tham khảo giảng viên hoặc cố vấn học tập để chọn những môn học phù hợp với mình
Từ những yêu cầu thực tế, việc xây dựng một công cụ hỗ trợ sinh viên có thể dự đoán được kết quả học tập của chính bản thân mình nhằm điều chỉnh khả năng học tập
và có căn cứ khoa học hơn trong việc chọn lựa môn học phần cần đăng ký ở mỗi học kỳ
là cần thiết Phương pháp xây dựng công cụ của luận văn dựa trên kết quả học tập của những sinh viên đã tốt nghiệp, dùng thuật toán khai thác tập luật tuần tự không dư thừa đưa ra sự tư vấn phù hợp
Trang 6ABSTRACT
Data mining is the process of exploring knowledge from existing large data Exploring knowledge from sequence is one of the main directions in the field of data mining and is applied in a variety of fields such as medicine, economics, education and
so on Non-redundant sequential rule is one of the techniques for exploring knowledge from the sequence Sequential rule, non-redundant sequential rule extracted from the sequence are the foundation of the forecasting system
Form of credit-based mode is taking learners at center in the teaching and learning process This form of training promotes the activeness and creativity of students and applies in most of universities in Viet Nam today With the form of credit-based mode, self-study becomes more and more important, reducing the one-way transfer of knowledge from lecturers as the traditional training method Students are not only the recipients of knowledge but also the ones who actively create their own knowledge to appropriate with the real business' requirements after graduated Therefore, to achieve their best performance, students would need guidelines on study direction in the compulsory subjects and choose the optional courses appropriate to their interests and abilities, they may refer to lecturers or academic consultants to select the ones that suitable for them
Based on these practical requirements, a tool to assist students in predicting their own academic performance is necessary in order to improve their academic ability and help them to choose the subjects for the next semester in a reasonable manner This predition tool is based on a set of sequential rules from the learning result of the students
by using the non-redundant sequential rules to provide the necessary advice
Trang 7LỜI CAM ĐOAN Tôi xin cam đoan luận văn Thạc sĩ "Ứng dụng luật tuần tự trong việc dự đoán kết quả học tập của sinh viên" là công trình nghiên cứu của riêng tôi Các số liệu và
tài liệu trong luận văn là trung thực Tất cả những tham khảo và kế thừa đều được trích dẫn và tham chiếu đầy đủ
Học viên
Nguyễn Hữu Quang
Trang 8MỤC LỤC
LỜI CẢM ƠN i
TÓM TẮT ii
ABSTRACT iii
LỜI CAM ĐOAN iv
MỤC LỤC v
DANH MỤC BẢNG viii
DANH MỤC HÌNH ix
DANH MỤC CÁC TỪ VIẾT TẮT x
CHƯƠNG 1 TỔNG QUAN 1
1.1 Đặt vấn đề bài toán 1
1.2 Lý do chọn đề tài 3
1.3 Mục tiêu, nội dung và phương pháp nghiên cứu 4
1.3.1 Mục tiêu 4
1.3.2 Nội dung 5
1.3.3 Phương pháp nghiên cứu 5
1.4 Đối tượng và phạm vi nghiên cứu 5
1.5 Ý nghĩa thực tiễn của đề tài 6
1.6 Các công trình nghiên cứu liên quan 6
1.7 Bố cục luận văn 8
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 10
2.1 Dữ liệu chuỗi 10
2.1.1 Đặc điểm dữ liệu chuỗi 10
2.1.2 Một số ví dụ về dữ liệu chuỗi 11
2.1.3 Khai thác dữ liệu chuỗi 13
Trang 92.2 Khai thác mẫu tuần tự 14
2.2.1 Các khái niệm về chuỗi tuần tự 14
2.2.2 Bài toán khai thác mẫu tuần tự 16
2.2.3 Cách tổ chức dữ liệu 16
2.2.4 Cây tiền tố 18
2.2.5 Thuật toán khai thác mẫu tuần tự 19
2.3 Khai thác luật tuần tự 22
2.3.1 Ý nghĩa luật tuần tự 23
2.3.2 Các khái niệm về luật tuần tự 23
2.3.3 Bài toán khai thác luật tuần tự 24
2.3.4 Các thuật toán khai thác luật tuần tự 25
2.3.5 Thuật toán IMSR_PreTree 27
2.3.6 Thuật toán MNSR_PreTree 30
2.4 Kết luận 34
CHƯƠNG 3 ĐÁNH GIÁ THUẬT TOÁN KHAI THÁC LUẬT TUẦN TỰ ĐẦY ĐỦ VÀ LUẬT TUẦN TỰ KHÔNG DƯ THỪA 35
3.1 Môi trường thực nghiệm 35
3.2 Kết quả thực nghiệm 36
3.3 Kết luận 37
CHƯƠNG 4 MÔ HÌNH DỰ ĐOÁN KẾT QUẢ HỌC TẬP CỦA SINH VIÊN 38
4.1 Mô tả bài toán 38
4.2 Mô hình dự đoán kết quả học tập của sinh viên 41
4.2.1 Thu thập dữ liệu 42
4.2.2 Tiền xử lý dữ liệu 42
4.2.3 Khai thác luật tuần tự 55
4.2.4 Dữ liệu đầu vào/đầu ra 55
Trang 104.3 Xây dựng ứng dụng 55
4.3.1 Môi trường thực nghiệm 56
4.3.2 Ứng dụng 56
4.3.3 Kiểm thử ứng dụng 58
4.4 Kết luận 60
CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 61
5.1 Kết luận 61
5.2 Hướng phát triển 62
TÀI LIỆU THAM KHẢO 63
PHỤ LỤC 1 - QUI CHẾ ĐÀO TẠO TÍN CHỈ CỦA BỘ GIÁO DỤC VÀ ĐÀO TẠO 65
PHỤ LỤC 2 – QUY CHẾ ĐÀO TẠO CỦA TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM 87
Trang 11DANH MỤC BẢNG
Bảng 2.1 – CSDL chuỗi 16
Bảng 2.2 – Tập mẫu tuần tự 28
Bảng 2.3 – Kết quả thuật toán IMSR_PreTree trên dữ liệu ở bảng 2.1 29
Bảng 2.4 – Kết quả thuật toán MNSR_PreTree trên dữ liệu ở bảng 2.1 33
Bảng 3.1 – Đặc điểm của các CSDL tổng hợp 36
Bảng 3.2 – Số lượng luật tuần tự đầy đủ và luật tuần tự không dư thừa đạt được với minConf = 0% 36
Bảng 4.1 – Kết quả học tập của sinh viên mã số 16026741 từ học kỳ 1 đến học kỳ 3 39 Bảng 4.2 – Danh mục các học phần trong học kỳ thứ tư của chương trình đào tạo 39
Bảng 4.3 –Kết quả dự đoán các học phần kế tiếp của sinh viên dựa trên các học phần đã hoàn thành 40
Bảng 4.4 – Dữ liệu thông tin Môn học thu thập được 43
Bảng 4.5 – Danh sách các môn học sau khi thống nhất của ngành Khoa học máy tính 44
Bảng 4.6 – Danh sách các môn học sau khi thống nhất của ngành Công nghệ thông tin 46
Bảng 4.7 – Danh sách các môn học sau khi thống nhất của ngành Kỹ thuật phần mềm 47
Bảng 4.8 – Danh sách các môn học sau khi thống nhất của ngành Hệ thống thông tin 49 Bảng 4.9 – Danh sách các môn học dùng để dự đoán kết quả 51
Bảng 4.10 – Bảng điểm qui đổi từ điểm số sang điểm chữ 54
Bảng 4.11 – Dữ liệu đánh giá môn học 54
Bảng 4.12 – Số lượng luật tuần tự không dư thừa từ dữ liệu học tập của sinh viên 56
Bảng 4.13 – Dữ liệu sinh viên đang học tại trường sử dụng để dự đoán kết quả 59
Trang 12DANH MỤC HÌNH
Hình 2.1 - Một phân đoạn của chuỗi DNA [8] 11
Hình 2.2 - Một phân đoạn của chuỗi protein [8] 11
Hình 2.3 - Một chuỗi truy cập Web [8] 12
Hình 2.4 - Chuỗi lịch sử mua sắm của một khách hàng [8] 12
Hình 2.5 - Chuỗi lịch sử bán hàng [8] 13
Hình 2.6 – Các cách tổ chức dữ liệu [18] 17
Hình 2.7 – Cấu trúc cây tiền tố [18] 19
Hình 2.8 - Thuật toán IMSR_PreTree [19] 27
Hình 2.9 – Thuật toán MNSR_PreTree [15] 31
Hình 2.8 – Cây tiền tố dựa trên dữ liệu chuỗi ở bảng 2.1 [15] 32
Hình 4.1 – Mô hình dự đoán kết quả học tập của sinh viên 41
Hình 4.2 - Ứng dụng dự đoán kết quả học tập của sinh viên 58
Hình 4.3 Tỷ lệ dự đoán kết quả học tập của sinh viên 59
Trang 13DANH MỤC CÁC TỪ VIẾT TẮT
IMSR_PreTree Improve Mining Sequential Rule base on Prefix Tree
MNSR_PreTree Mining Non-redundant Sequential Rule base on Prefix Tree
SPADE Sequential PAttern Discovery using Equivalence classes
PRISM PRIme-encoding based Sequence Mining
minConf minimum Confident threshold
IsmSGP Is minimal Sequential Generator Pattern
IsCSP Is Closed Sequential Pattern
Trang 14CHƯƠNG 1 TỔNG QUAN 1.1 Đặt vấn đề bài toán
Trong những năm gần đây, vai trò của máy tính trong việc lưu trữ và xử lý thông tin ngày càng trở nên quan trọng và không thể thiếu trong nhiều lĩnh vực khác nhau Dữ liệu thu thập và lưu trữ từ thực tế ngày càng nhiều nhưng để người dùng ra quyết định lại cần có thông tin bổ ích là “tri thức” rút ra từ nguồn dữ liệu lớn Thực tế, chỉ có một lượng nhỏ dữ liệu được sử dụng để phân tích, số còn lại người sử dụng không biết sẽ phải xử lý gì với chúng nhưng họ vẫn tiếp tục thu thập, lưu trữ và nghĩ đến một lúc nào
đó sẽ cần đến Mặt khác, thông tin cần được đưa ra trong môi trường cạnh tranh là rất cần thiết, việc này giúp việc đưa ra quyết định nhanh và chính xác là rất cần, và ngày càng có nhiều câu hỏi đặt ra mang tính chất định tính dựa trên khối lượng dữ liệu khổng
lồ đã có sẵn trong quá khứ Với những lý do như trên, việc quản trị và khai thác CSDL truyền thống ngày càng không đáp ứng được vấn đề thực tế
Dự báo là một khoa học và nghệ thuật tiên đoán những sự việc sẽ xảy ra trong tương lai, trên cơ sở phân tích khoa học về các dữ liệu đã thu thập được Khi tiến hành
dự báo cần căn cứ vào việc thu thập, xử lý số liệu trong quá khứ và hiện tại để xác định
xu hướng vận động của các hiện tượng trong tương lai nhờ vào một số mô hình toán học. Thực tế liên quan đến vấn đề dự báo, có những dự báo chỉ dựa trên những mối liên
hệ thiếu căn cứ, đây là loại dự báo không có cơ sở khoa học Dự báo dựa trên chuỗi thông tin lịch sử ở mức độ ít nhiều có cơ sở khách quan, tuy nhiên cũng có nhược điểm
là loại dự báo này không giải thích được xu thế vận động của đối tượng nghiên cứu và
đa số dừng lại ở bước định tính, loại dự báo này chỉ dựa trên kinh nghiệm Các nghiên cứu khoa học về dự báo dựa trên phân tích mối liên hệ qua lại giữa các đối tượng nghiên cứu và phương pháp xử lý thông tin khoa học nhằm phát hiện tính quy luật của đối tượng Trong khai thác dữ liệu, dự báo được sử dụng để dự đoán tương lai dựa vào dữ liệu lịch sử Dữ liệu chuỗi thời gian là phương pháp điển hình của dự báo dùng để dự đoán giá trị của biến liên tục theo thời gian
Khai phá dữ liệu ra đời là bước quan trọng trong việc khám phá các tri thức mới
và các tri thức có ích ở dạng tiềm năng trong nguồn dữ liệu đã có; ngày càng được nhiều nhà nghiên cứu phát triển và ứng dụng thực tế Các tính toán thông minh phát hiện ra tri thức và khai thác dữ liệu đã và đang được nghiên cứu, ứng dụng trong nhiều lĩnh vực
Trang 15khác nhau ở các nước trên thế giới nói chung Tại Việt Nam kỹ thuật này tương đối còn mới tuy nhiên cũng đang được nhiều nhà nghiên cứu đặt vấn đề, xử lý và dần dần đưa vào ứng dụng Khai phá dữ liệu là quá trình trích xuất thông tin có giá trị ẩn chứa trong khối dữ liệu khổng lồ trong thực tế Khai phá dữ liệu nhấn mạnh hai khía cạnh chính là trích xuất thông tin có ích và thông tin mang tính dự đoán liên quan chặt chẽ đến các lĩnh vực như:
- Thống kê – kiểm định mô hình và đánh giá tri thức;
- Máy học – nghiên cứu xây dựng các thuật toán trên nên tảng của trí tuệ nhân tạo giúp cho máy tính có thể suy luận, dự đoán kết quả tương lai thông qua quá trình huấn luyện dữ liệu lịch sử;
- CSDL – công nghệ quản trị CSDL nhất là kho dữ liệu;
- Trực quan hóa – giúp dữ liệu dễ hiểu, dễ sử dụng như chart, map…
Khai thác dữ liệu là quá trình xác định thông tin hợp lệ từ một CSDL lớn Có rất nhiều các khai thác dữ liệu khác nhau như phân loại, phân cụm, dự đoán, phân tích chuỗi thời gian, khai thác các mẫu tuần tự… Khai thác dữ liệu chuỗi là một trong những hướng chính trong lĩnh vực khai thác dữ liệu và đang được nhiều nhà khoa học tập trung nghiên cứu Khai thác mẫu tuần tự là khai thác các mẫu phổ biến liên quan đến thời gian hoặc các sự kiện khác, với yêu cầu là các mẫu phổ biến là những chuỗi con trong CSDL chuỗi
mà sự xuất hiện của chúng lớn hơn ngưỡng hỗ trợ do người dùng chỉ ra Đây là một phần quan trọng trong khai thác dữ liệu và được ứng dụng rộng rãi trong nhiều lĩnh vực như y khoa, giáo dục đào tạo, kinh tế, khoa học, xã hội
CSDL chuỗi là một tập lớn những dòng dữ liệu mà mỗi dòng dữ liệu là danh sách các sự kiện được sắp xếp Trong thế giới thực, người ta cần thu thập liên tục dữ liệu và lưu trữ để có được một CSDL khổng lồ nên nhiều ngành công nghiệp đang dần quan tâm đến việc khai thác các mẫu tuần tự từ CSDL khổng lồ này Tuy nhiên, quá trình khai thác này gặp phải hai thách thức chính Thách thức thứ nhất là thời gian khai thác
và thứ hai là vấn đề rút trích được tập luật tuần tự trong số lượng lớn các luật tuần tự được sinh từ mẫu tuần tự, nó biểu diễn mối quan hệ giữa hai loạt sự kiện, loạt sự kiện này sẽ xảy ra sau loạt sự kiện kia Luật tuần tự mở rộng khả năng sử dụng và ý nghĩa
Trang 16biểu đạt của mẫu tuần tự, thể hiện tri thức tiềm ẩn của dữ liệu tuần tự Với tập luật tuần
tự rút trích được từ dữ liệu nguồn là căn cứ để xây dựng hệ thống dự báo
sở thích, khả năng của mình để có thể đạt được kết quả tốt nhất
Đối với các môn học kể cả bắt buộc và tự chọn, sinh viên phải hoàn thành một số môn học tiên quyết thì mới được phép đăng ký các môn học theo sau Chính vì thế, sinh viên cần có một định hướng cụ thể trong việc chọn lựa, sắp xếp các môn học như thế nào cho hợp lý để có thể hoàn thành chương trình học trong thời gian qui định Việc định hướng này cần được thực hiện ngay từ khi các em sinh viên vẫn còn là sinh viên năm thứ nhất để sinh viên có kế hoạch và lựa chọn đăng ký học phần trong từng học kỳ một cách hợp lý nhất
Việc phân loại những môn học nào là phù hợp, là cần thiết và hấp dẫn các em sinh viên; những môn học nào khiến cho các em có hứng thú học tập tốt hơn ở những môn học sau cũng đang là một vấn đề lớn với các nhà quản lý giáo dục tại trường đại học
Từ những vấn đề nêu trên, luận văn nhận thấy cần có một công cụ hỗ trợ để sinh viên có thể dự đoán được kết quả học tập của chính bản thân mình nhằm điều chỉnh khả năng học tập và có căn cứ khoa học hơn trong việc chọn lựa môn học phần cần đăng ký
ở mỗi học kỳ Chính vì thế, luận văn quyết định chọn đề tài "Ứng dụng luật tuần tự trong việc dự đoán kết quả học tập của sinh viên" với mục tiêu là tìm hiểu các thuật
toán khai thác dữ liệu tuần tự và ứng dụng trong việc dự đoán kết quả học tập của sinh viên
Trang 171.3 Mục tiêu, nội dung và phương pháp nghiên cứu
1.3.1 Mục tiêu
Mục tiêu của đề tài là nghiên cứu khai phá dữ liệu; tìm các tập luật tuần tự từ CSDL chuỗi; xây dựng ứng dụng dự đoán kết quả học tập của sinh viên để hỗ trợ cho 02 nhóm đối tượng chính:
- Cán bộ tư vấn: Với nhiệm vụ tư vấn các vấn đề về học tập của sinh viên, học viên khi có nhu cầu; hỗ trợ sinh viên trong vấn đề học tập để có được phương pháp học tập tốt hơn, hiệu quả hơn, hòa nhập với môi trường Đại học; lấy ý kiến phản hồi của người học về nội dung đào tạo, chương trình đào tạo để góp phần phục vụ đào tạo ngày một tốt hơn Ứng dụng dự đoán kết quả học tập của sinh viên sẽ giúp giảm bớt lượng công việc tư vấn hỗ trợ sinh viên trong quá trình sinh viên học tập tại trường
- Sinh viên: Ứng dụng hỗ trợ sinh viên trong việc lựa chọn môn học ở các học phần tự chọn sao cho kết quả học tập của sinh viên có thể đạt được là cao nhất nhằm nâng cao điểm tích lũy học tập của sinh viên Bên cạnh đó, kết quả dự đoán còn giúp cho sinh viên có một định hướng trong việc học tập nhằm cải thiện kết quả học tập với mục tiêu đạt được điểm tổng kết môn học cao hơn kết quả dự đoán
Để làm được điều này, đề tài cần thực hiện các nội dung sau:
- Tìm hiểu khái niệm, vai trò và các đặc tính của mẫu tuần tự trong khai phá dữ liệu;
- Thu thập dữ liệu là kết quả học tập của sinh viên theo học chế tín chỉ;
- Nghiên cứu phương pháp phân tích dữ liệu, nhất là quá trình tiền xử lý dữ liệu
đã thu thập được sang dữ liệu rời rạc phục vụ cho quá trình dự đoán kết quả học tập;
- Nghiên cứu và thực hiện việc khai thác các mẫu tuần tự tương ứng từ CSDL
đã xử lý
- Nghiên cứu và thực hiện việc khai thác các luật tuần tự không dư thừa từ tập mẫu tuần tự sinh và mẫu tuần tự đóng, luật tuần tự đầy đủ từ tập mẫu tuần tự
Trang 18- Xây dựng ứng dụng dự đoán kết quả học tập của sinh viên theo học chế tín dựa trên các tập luật tuần tự đã được khai thác
1.3.2 Nội dung
- Nghiên cứu các đặc tính, vai trò của mẫu tuần tự trong khai phá dữ liệu
- Nghiên cứu kỹ thuật phân tích dữ liệu chuỗi, tiền xử lý dữ liệu từ CSDL thực
tế sang CSDL rời rạc áp dụng cho vào thuật toán khai thác tuần tự
- Khai thác luật tuần tự đầy đủ sử dụng thuật toán IMSR_PreTree; khai thác luật tuần tự không dư thừa sử dụng thuật toán MNSR_PreTree trên tập dữ liệu
kết quả học tập của sinh viên So sánh kết quả đạt được từ hai thuật toán
- Nghiên cứu bài toán dự đoán kết quả học tập của sinh viên dựa vào việc lựa chọn các tập luật cần thiết và thích hợp để xây dựng ứng dụng dự đoán kết quả học tập của sinh viên dựa trên các tập luật đã khai thác được
1.3.3 Phương pháp nghiên cứu
Để đạt được các mục tiêu nghiên cứu, luận văn tiến hành nghiên cứu và phân tích
dữ liệu dựa trên mẫu tuần tự, khai thác các tập luật đầy đủ, tập luật không dư thừa, xây
dựng ứng dụng dự đoán kết quả học tập của sinh viên; luận văn đề xuất mô hình gồm nhiều thành phần tương tác với dữ liệu đầu vào là dữ liệu kết quả học tập của sinh viên
theo học chế tín chỉ Các thành phần trong mô hình đề xuất như sau:
- Tiền xử lý dữ liệu thu thập được để lọc ra các thuộc tính cần thiết, đồng thời làm sạch dữ liệu và loại bỏ các phần tử ngoại lai Bên cạnh đó, tiền xử lý dữ liệu còn nhằm mục tiêu chuyển các dữ liệu thu thập được về kiểu dữ liệu rời rạc để phù hợp với điều kiện đầu vào của thuật toán khai thác luật tuần tự
- Sử dụng các thuật toán khai thác các tập luật tuần tự đầy đủ, tập luật tuần tự không dư thừa dựa trên tập mẫu tuần tự
- So sánh kết quả giữa hai tập luật đã khai thác được trên tập dữ liệu thực
- Xây dựng ứng dụng dự đoán kết quả học tập của sinh viên
1.4 Đối tượng và phạm vi nghiên cứu
Nghiên cứu được tiến hành với dữ liệu kết quả học tập của sinh viên học chế tín
chỉ tại khoa CNTT trường Đại học Công nghiệp Tp.HCM
Trang 19Phạm vi nghiên cứu:
- Thu thập dữ liệu kết quả học tập của sinh viên học chế tín chỉ và đã tốt nghiệp tại khoa CNTT trường Đại học Công nghiệp Tp.HCM từ năm 2005 đến tháng
1 năm 2017
- Tìm hiểu và cài đặt các thuật toán khai thác luật tuần tự đầy đủ và luật tuần
tự không dư thừa
- Áp dụng các thuật toán khai thác luật trong các CSDL tổng hợp để so sánh hiệu suất giữa các thuật toán và chọn lựa thuật toán tối ưu hơn
- Áp dụng thuật toán đã chọn lựa ở trên cho bài toán khai thác luật tuần tự trên
dữ liệu kết quả học tập của sinh viên đã thu thập được
Sử dụng các công cụ, ngôn ngữ lập trình để thực hiện việc xây dựng ứng dụng dự
đoán kết quả học tập của sinh viên
1.5 Ý nghĩa thực tiễn của đề tài
Luận văn đã xây dựng được ứng dụng hỗ trợ dự đoán kết quả học tập của các môn học cho sinh viên trường Đại học Công Nghiệp Tp HCM
1.6 Các công trình nghiên cứu liên quan
Khai thác mẫu tuần tự đóng vai trò quan trọng trong lĩnh vực khai thác dữ liệu và
có nhiều ứng dụng trong nhiều lĩnh vực đời sống Ví dụ như việc phân tích các mẫu DNA, phân tích hành vi mua hàng của khách hàng, phương thức truy cập mạng, phân tích các thí nghiệm khoa học, chẩn đoán bệnh để sớm đưa ra các biện pháp điều trị và
dự báo thời tiết v.v…
Công trình khai thác mẫu tuần tự được giới thiệu lần đầu tiên vào năm 1995 bởi tác giả Agrawal và các đồng sự [2] Nhóm tác giả giới thiệu vấn đề khai thác mẫu tuần
tự từ CSDL bán hàng Nhóm tác giả trình bày ba thuật toán để giải quyết vấn đề được đặt ra và tiến hành thực nghiệm để đánh giá hiệu suất của thuật toán bằng cách sử dụng
dữ liệu tổng hợp Sau đó, cũng chính nhóm tác giả này đã dựa trên chính kết quả của
mình để điều chỉnh và đưa ra một thuật toán tổng quát hơn tên là GSP [3,17] Các thuật
toán này được triển khai trên nhiều kho dữ liệu và đạt được hiệu quả tốt trên dữ liệu giao dịch mặt hàng
Trang 20Sau đó, cũng có nhiều thuật toán được đề xuất nhằm cải thiện hiệu quả của việc
khai thác mẫu tuần tự như SPADE [20] Thuật toán này được nhóm tác giả Zaki giới thiệu để khai thác nhanh các mẫu tuần tự trong CSDL lớn Thuật toán SPADE chia nhỏ
các chuỗi dữ liệu thành nhiều nhóm riêng biệt sao cho mỗi nhóm có thể được lưu trữ
hoàn toàn trong bộ nhớ chính để khai thác các trình tự thường xuyên Thuật toán SPADE nhanh hơn GSP gấp 02 lần khi khai thác ở các giá trị hỗ trợ thấp hơn
Nhóm tác giả Jay Ayres giới thiệu thuật toán SPAM [4], đây là thuật toán cho việc
khai thác các mẫu tuần tự và có hiệu quả khi các mẫu tuần tự trong CSDL là rất lớn Thuật toán có thể tăng tốc quá trình khai thác các mẫu tuần tự bằng cách sử dụng cây từ điển và biểu diễn bitmap SPAM hoạt động nhanh hơn SPADE khi thao tác trên các dữ liệu nhỏ và tốt hơn trong việc sắp xếp cho các tập dữ liệu
Bằng việc sử dụng Pattern-Growth trong quá trình khai phá mẫu tuần tự [14], tác giả Jian Pei và các đồng sự đã thực hiện nghiên cứu có hệ thống về việc khai thác các mẫu tuần tự trong CSDL lớn và phát triển một phương pháp tiếp cận mẫu tăng trưởng
để khai thác có hiệu quả và mở rộng các mẫu tuần tự Trong cách tiếp cận này, một CSDL tuần tự được tham chiếu một cách đệ qui vào một tập các CSDL tham chiếu nhỏ hơn; mẫu tuần tự được phát triển trong mỗi CSDL tham chiếu bằng cách khám phá các mảnh thường xuyên cục bộ Phương pháp khai thác này có thể được mở rộng để khai thác các mẫu tuần tự với các ràng buộc do người dùng xác định
Trong một nghiên cứu được thực hiện của nhóm tác giả Karam Gouda đã trình bày
cách tiếp cận mới để khai thác mẫu tuần tự thường xuyên Thuật toán PRISM [10] sử
dụng phương pháp tiếp cận theo chiều dọc cho việc đếm và hỗ trợ tính toán dựa trên mã hóa khối Với cách đánh giá rộng rãi trên bộ số liệu tổng hợp và thực tế, thuật toán
PRISM cho kết quả khai thác chuỗi tốt hơn các phương pháp khác
Trong lĩnh vực khai thác luật tuần tự, có những nghiên cứu cho bài toán khai thác tập luật tuần tự đầy đủ và luật tuần tự không dư thừa từ tập mẫu tuần tự như Spiliopoulou-1999 [16], David Lo-2009 [12] Tuy nhiên, nếu khai thác luật dựa trên
những độ đo khác chẳng hạn như độ đo lift [6] hoặc độ đo conviction [7] thì cách tiếp
cận giải quyết bài toán của tác giả David Lo và đồng sự không còn phù hợp Đối với phương pháp khai thác tập luật tuần tự đầy đủ do Spiliopoulou đề xuất [16] chủ yếu dựa trên phương pháp vét cạn, do đó tốn nhiều chi phí tính toán
Trang 21Công trình nghiên cứu của nhóm tác giả Philippe Fournier-Viger, Cheng-Wei Wu, Vincent S Tseng, Roger Nkambou [9] đã trình bày thuật toán khai thác các luật tuần tự cho các chuỗi tuần tự Đầu tiên, thuật toán tìm các luật có kích thước 1*1 và sau đó đệ quy bằng cách quét tẩt cả chuỗi để tìm các phần tử có thể mở rộng từ phía trái hoặc phải của luật đã có để phát sinh ra tập luật tuần tự Kết quả thực nghiệm của nhóm tác giả dựa trên các bộ dữ liệu thực tế đã chứng minh được thời gian thực hiện, bộ nhớ đạt hiệu một cách đáng kể so với các thuật toán trước đó
Nhóm tác giả Thien-Trang Van giới thiệu thuật toán IMSR_PreTree [19] dùng để
khai thác các luật tuần tự đầy đủ dựa trên cây tiền tố Để tìm tập mẫu tuần tự, nhóm tác giả đã sử dụng phương pháp tiếp cận theo chiều dọc cho việc đếm và tính toán độ hỗ trợ
dựa trên mã hóa khối nguyên tố của thuật toán PRISM [10] Nghiên cứu đã chứng minh
được thuật toán đề xuất có thể làm giảm đáng kể không gian tìm kiếm trong quá trình khai thác dữ liệu bằng cách gọt tỉa các cây con cung cấp các luật không quan trọng trong giai đoạn đầu của quá trình khai thác dữ liệu
Nhóm tác giả Thi-Thiet Pham [15] cũng đã đề xuất một phương pháp khai thác các mẫu tuần tự không dư thừa từ một cây tiền tố Phương pháp này có hai giai đoạn:
- Giai đoạn đầu tiên đề xuất xây dựng một cây tiền tố lưu trữ tất cả các mẫu tuần tự sinh tối thiểu và mẫu tuần tự đóng;
- Giai đoạn thứ hai sẽ thực hiện việc khai thác các luật không dư thừa từ tập mẫu tuần tự sinh tối thiểu và mẫu tuần tự đóng trên cây tiền tố đã xây dựng Kết quả thực nghiệm cho thấy số lượng các luật tuần tự không dư thừa và thời gian xử lý nhỏ hơn nhiều so với số lượng và thời gian khai thác các luật tuần
tự đầy đủ
Cả 2 thuật toán IMSR_PreTree [19] và MNSR_PreTree [15] đều tổ chức dữ liệu
theo chiều dọc Bởi vì theo cách tổ chức này, có thể lấy được ngay các đối tượng sự kiện trong CSDL cũng như đếm độ hỗ trợ cho một sự kiện đơn giản và nhanh hơn mà không phải duyệt toàn bộ CSDL Hơn nữa, đối với CSDL lớn, việc tổ chức theo chiều dọc mang tính cô đọng, giúp thực thi nhanh hơn và cho phép lặp lại việc tìm các mẫu tuần
tự một cách dễ dàng
1.7 Bố cục luận văn
Luận văn được chia thành 05 chương, cụ thể như sau:
Trang 22Chương 1: Trình bày tổng quan về vấn đề bài toán dự đoán kết quả học tập của sinh viên Đồng thời cũng đưa ra được mục tiêu, nội dung, phương pháp nghiên cứu và giới thiệu các nghiên cứu liên quan đã được thực hiện trước đó bao gồm cả những nghiên cứu trong và ngoài nước
Chương 2: Giới thiệu về khai thác dữ liệu chuỗi, đưa ra cái nhìn khái quát về lĩnh vực khai thác luật tuần tự trên chuỗi, phát biểu bài toán khai thác luật tuần tự qua hai giai đoạn Trong đó, luận văn mô tả chi tiết và đưa bài toán cụ thể để khai thác luật bằng
giải thuật khai thác luật tuần tự đầy đủ IMSR_PreTree và giải thuật khai thác luật tuần
tự không dư thừa MNSR_PreTree
Chương 3: Tiến hành hiện thực việc cài đặt các thuật toán khai thác luật tuần tự đầy đủ và không dư thừa đã chọn ở chương hai và áp dụng hai thuật toán này để khai thác luật trên CSDL tổng hợp để đánh giá hiệu suất hoạt động của hai thuật toán này Chương 4: Phát biểu bài toán dự đoán kết quả học tập của sinh viên Dựa trên bài toán đó, luận văn đề xuất một mô hình áp dụng trong việc dự đoán kết quả học tập của sinh viên; khai thác luật tuần tự trên chuỗi kết quả học tập của những sinh viên đã tốt nghiệp; tiến hành thực nghiệm xây dựng ứng dụng dự đoán kết quả học tập của sinh viên
Chương 5: Kết luận, nhận xét và hướng phát triển của đề tài
Trang 23CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
Lĩnh vực khai thác dữ liệu trên CSDL chuỗi là một trong những lĩnh vực đã và đang được nhiều nhà khoa học tập trung nghiên cứu Khai thác dữ liệu chuỗi tuần tự được đề xuất từ năm 1995 [2], cho đến nay nhiều kết quả nghiên cứu trong lĩnh vực này được công bố và ứng dụng thực tiễn [5], [8], [11], [13], [14], [17], [20] Khai thác mẫu tuần tự trong CSDL chuỗi là xác định những mẫu mà sự xuất hiện của chúng trong CSDL thỏa ngưỡng hỗ trợ tối thiểu Khai thác mẫu tuần tự được ứng dụng trong nhiều lĩnh vực thực tế như: phân tích thị trường, phân tích mẫu truy cập Web, dự đoán nhu cầu mua sắm của khách hàng…
Từ tập dữ liệu mẫu tuần tự có thể dùng nhiều thuật toán khác nhau khai thác được luật tuần tự, luật tuần tự được xem như việc biểu diễn mối quan hệ giữa hai loạt sự kiện, loạt sự kiện này sẽ xảy ra sau loạt sự kiện kia Luật tuần tự mở rộng khả năng sử dụng
và ý nghĩa biểu đạt của mẫu tuần tự, thể hiện tri thức tiềm ẩn của dữ liệu tuần tự
2.1 Dữ liệu chuỗi
Dữ liệu chuỗi rất phổ biến trong cuộc sống của chúng ta, ví dụ như những việc làm trong một ngày là một chuỗi các hoạt động hàng ngày Nếu người dùng đầu tư vào các công ty, chuỗi dữ liệu liên quan đến lịch sử tăng giảm giá trị cổ phiếu của công ty đó là một trong những mối quan tâm Trong lĩnh vực y học, chuỗi tuần tự chính là các chuỗi
dữ liệu sinh học bao gồm các chuỗi DNA và RNA
2.1.1 Đặc điểm dữ liệu chuỗi
Dữ liệu chuỗi có một số đặc điểm riêng biệt so với các loại dữ liệu khác Do đó, khai thác dữ liệu chuỗi đặt ra nhiều cơ hội và thách thức, thu hút nhiều quan tâm nghiên cứu Dữ liệu chuỗi có đặc điểm như sau [8]:
Kích thước chuỗi có thể rất dài Trong cùng một CSDL, kích thước của mỗi
chuỗi là khác nhau thậm chí có sự chênh lệch lớn Ví dụ các chuỗi gen có độ dài tối thiểu là vài trăm nhưng độ dài tối đa lên đến hàng trăm nghìn
Một mẫu là một chuỗi con, nghĩa là các thành phần trong chuỗi con phải liên tục
kề nhau trong chuỗi cha ban đầu Một mẫu cũng có thể là một tập hợp con của chuỗi, các thành phần của mẫu không liên tục trong chuỗi cha
Trang 24Vị trí tuyệt đối của các thành phần trong chuỗi thường không quan trọng
Chẳng hạn, khi cần kiểm tra một chuỗi dữ liệu có chứa một mẫu hay không thì không cần quan tâm mẫu đó xuất hiện trong chuỗi ở vị trí tuyệt đối nào
Mối quan hệ về thứ tự/vị trí giữa các thành phần trong chuỗi đóng vai trò quan trọng Ví dụ chuỗi XY hoàn toàn khác với chuỗi YX Hơn nữa, khoảng cách giữa
hai thành phần trong chuỗi cũng có ý nghĩa Mối quan hệ về thứ tự/vị trí giữa các thành phần trong chuỗi là đặc điểm duy nhất chỉ có ở dữ liệu chuỗi Đây chính là điểm khác biệt cơ bản của dữ liệu chuỗi so với các loại dữ liệu khác
2.1.2 Một số ví dụ về dữ liệu chuỗi
Chuỗi sinh học: DNA, RNA, Protein [8]: Chuỗi sinh học giúp chúng ta hiểu rõ
về cấu trúc và chức năng của các loại tế bào khác nhau, hỗ trợ cho việc chẩn đoán và chữa bệnh Có ba loại chuỗi sinh học là chuỗi DNA, chuỗi protein và chuỗi RNA Hình 2.1 và 2.2 minh họa một phần của chuỗi DNA và protein
Hình 2.1 - Một phân đoạn của chuỗi DNA [8]
Hình 2.2 - Một phân đoạn của chuỗi protein [8]
Chuỗi sự kiện: Weblogs, System Traces, lịch sử mua hàng và lịch sử bán hàng [8]: Chiếm phần lớn các loại chuỗi là chuỗi sự kiện Những chuỗi này có thể được
sử dụng để khai thác cách thức các đối tượng hoạt động, từ đó tìm ra cách tốt nhất để giải quyết chúng Một số ví dụ về chuỗi sự kiện:
Chuỗi truy cập web (Weblogs) là chuỗi các cặp gồm định danh người dùng và
các sự kiện (có thể là một số thông tin liên quan khác) Một sự kiện là một yêu
Trang 25cầu về một tài nguyên web, chẳng hạn như một trang web (thường được xác định bởi URL của trang web) hay một dịch vụ trên web Với mỗi trang web được yêu cầu, có thể có sẵn một số thông tin bổ sung, như loại và nội dung của trang web, thời lượng mà người dùng đã tiêu tốn trên trang đó Các sự kiện trong một mẫu truy cập web được liệt kê dưới dạng danh sách thứ tự thời gian tăng dần
(timestamp) Hình 2.3 minh họa một chuỗi truy cập web, trong đó a, b, c, d, e là các sự kiện và 100, 200, 300, 400 là các định danh của người dùng
Hình 2.3 - Một chuỗi truy cập Web [8]
Chuỗi vết hệ thống (System traces) là các chuỗi tương tự như chuỗi truy cập
web Các chuỗi vết hệ thống ghi nhận các hoạt động được thực hiện bởi các người dùng hoặc các tiến trình khác nhau với các dữ liệu và tài nguyên khác nhau trong một hoặc nhiều hệ thống
Chuỗi lịch sử mua sắm của khách hàng là các chuỗi các bộ, mỗi bộ chứa định
danh khách hàng, địa chỉ, thời gian, các mặt hàng đã mua, Hình 2.4 mô tả một
ví dụ về các chuỗi lịch sử mua sắm hàng hóa của khách hàng có định danh là
223100
Hình 2.4 - Chuỗi lịch sử mua sắm của một khách hàng [8]
Chuỗi lịch sử bán hàng là chuỗi các bộ, mỗi bộ gồm một ID định danh của cửa
hàng, thời gian (chu kỳ), tổng số mặt hàng đã bán và doanh thu tương ứng với thời gian đó và một số thông tin liên quan khác Các chuỗi lịch sử bán hàng cũng
<100, a>, <100,b>, <200, a>, <300, b>, <200, b>, <400, a>, <100, a>,
<400, b>, <300, a>, <100, c>, <200, c>, <400, a>, <400, e>
〈223100, 05/26/06, 10am, CentralStation, {WholeMealBread, AppleJuice}〉,
〈223100, 05/26/06, 11am, CentralStation, {Burger, Pepsi, Banana }〉,
〈223100, 05/26/06, 4am, WalMart, {Milk, Cereal, Vegetable}〉,
〈223100, 05/26/06, 10am, CentralStation, {WholeMealBread, AppleJuice}〉,
〈223100, 05/27/06, 12noon, CentralStation, { Burger, Coke, Apple}〉
Trang 26có thể bao gồm thông tin nhóm khách hàng và một vài thông tin khác cho việc bán hàng Hình 2.5 mô tả một ví dụ về chuỗi lịch sử bán hàng
Hình 2.5 - Chuỗi lịch sử bán hàng [8]
2.1.3 Khai thác dữ liệu chuỗi
Khai thác dữ liệu phụ thuộc vào loại thông tin mà chúng ta cần tìm kiếm thông qua
hệ thống khai phá tri thức và khai thác dữ liệu Mỗi nhiệm vụ khai thác dữ liệu có đặc tính riêng và được thực hiện theo các bước trong quá trình khai thác tri thức Sau đây là các nhiệm vụ khai thác dữ liệu thường được sử dụng phổ biến trong ứng dụng khai thác
Phân lớp các chuỗi (Classification) là việc khai thác xem một phần tử có thuộc
về một trong các lớp đã biết trước đó hay không Do đó, cần phải biết trước các lớp được phân chia như thế nào dựa trên giá trị của một hoặc nhiều trường nào đó trong mẫu tin
Phân cụm các chuỗi (Cluster Identification) là việc sắp xếp các đối tượng theo
từng cụm Khác với lớp, số lượng và tên của cụm chưa được biết trước Khi xác định các cụm, các độ đo khoảng cách được sử dụng để tính toán sao cho mức độ tương tự giữa các đối tượng trong cùng một cụm là lớn nhất và mức độ tương tự giữa các đối tượng nằm trong các cụm khác nhau là nhỏ nhất
Khai thác luật (Mining rules) là quá trình tìm kiếm những mối quan hệ theo thời
gian giữa các sự kiện tuần tự Một luật mô tả mẫu tuần tự có dạng XY phản ánh sự xuất hiện của biến cố X sẽ dẫn đến sự xuất hiện của biến cố Y kế tiếp Trên CSDL chuỗi,
đã có nhiều nghiên cứu trên các loại luật khác nhau: luật tuần tự (sequential rules), luật
〈97100, 05/06, {〈Apple : $85K〉, 〈Bread : $100K〉, 〈Cereal : $150K〉, …}〉,
〈90089, 05/06, {〈Apple : $65K〉, 〈Bread : $105K〉, 〈Diaper : $20K〉, …}〉,
〈97100, 05/06, {〈Apple : $95K〉, 〈Bread : $110K〉, 〈Cereal : $160K〉, …}〉,
〈90089, 05/06, {〈Apple : $66K〉, 〈Bread : $95K〉, 〈Diaper : $22K〉, …}〉
Trang 27thú vị (interesting rules), luật phân lớp tuần tự (sequential classification rules), luật tuần hoàn (recurrent rules)
2.2 Khai thác mẫu tuần tự
2.2.1 Các khái niệm về chuỗi tuần tự
Item [18]: Tập các phần tử Ví dụ: tập I = {i 1 , i 2 , …, i m } là 01 item gồm m phần tử
Itemset [18]: là một tập hợp khác rỗng gồm nhiều item Itemset i ký hiệu là (i 1 , i 2 ,
…, i k ) với mỗi i j là một item Itemset có k item được ký hiệu là k-itemset Các item trong
itemset được sắp xếp theo thứ tự tăng dần
Chuỗi (sequence) [18]: là một danh sách các itemset được sắp xếp thứ tự Chuỗi s
được ký hiệu là s 1 s 2 … s n hoặc s 1s 2…s n với mỗi s i là một itemset, n là số lượng
itemset Kích thước của chuỗi bằng số lượng itemset có trong chuỗi Chiều dài của chuỗi
là tổng số item có trong chuỗi, ký hiệu là 𝑙 = ∑𝑛 𝑆𝑗
𝑗=1 Chuỗi có chiều dài k còn được gọi là k-sequence Ví dụ, s = (B)(AC) là một 3-sequence có kích thước là 2
Chuỗi con (subsequence) [18]: Chuỗi = b 1 b 2 … b m có m itemset được gọi là chuỗi con của chuỗi = a 1 a 2 … a n có n itemset (hay là chuỗi cha của , ký hiệu
nếu tồn tại những số nguyên 1 j 1 <j 2 <…< j n m sao cho b 1 a j1 , b 2 a j2 , …, b m
a jm Ví dụ chuỗi (B)(AC) là chuỗi con của (AB)(E)(ACD); nhưng (AB)(E) không phải là chuỗi con của chuỗi (ABE)
CSDL chuỗi [18]: CSDL chuỗi là một tập hợp các bộ dữ liệu có dạng (sid, s),
trong đó sid là định danh của chuỗi và s là chuỗi các itemset
Mẫu [18]: Mẫu là một chuỗi con của một chuỗi dữ liệu Mỗi itemset trong một
mẫu còn được gọi là một thành phần (element)
Độ hỗ trợ (support) [18]: Cho CSDL chuỗi D, mỗi chuỗi có một chỉ số định danh
duy nhất Độ hỗ trợ tuyệt đối của một mẫu tuần tự f là tổng số chuỗi trong D có
𝑠𝑢𝑝𝐷(𝑓) = |{𝑆𝑗 ∈ 𝐷 | 𝑓 ⊆ 𝑆𝑗}|
Độ hỗ trợ tương đối của f là tỉ lệ phần trăm chuỗi trong D chứa f Ở đây, mức hỗ trợ tuyệt đối hoặc tương đối sẽ được sử dụng chuyển đổi qua lại, kí hiệu là sup(f)
Trang 28Mẫu tuần tự [18]: Cho trước ngưỡng hỗ trợ tối thiểu (minSup) xác định bởi người
dùng, minSup 0, 1 Một mẫu f được coi là phổ biến nếu độ hỗ trợ của nó lớn hơn hoặc bằng minSup: sup(f) minSup, khi đó f được gọi là mẫu tuần tự
Khai thác mẫu tuần tự [18]: Cho trước CSDL chuỗi và ngưỡng minSup Khai
thác mẫu tuần tự là đi tìm tập đầy đủ tất cả các mẫu tuần tự có trong CSDL
Tiền tố, hậu tố, tiền tố không hoàn toàn [18]: Cho hai chuỗi dữ liệu = a 1 a 2
… a n và = b 1 b 2 … b m (mn), (trong đó a i , b i là các itemset) được gọi là tiền tố của nếu và chỉ nếu b i = a i với mọi 1i m Sau khi loại bỏ phần tiền tố trên chuỗi
, phần chuỗi còn lại được gọi là hậu tố của Chuỗi được gọi là tiền tố không hoàn toàn của chuỗi nếu và chỉ nếu b i = a i với mọi 1i m-1, b m a m và tất cả các item
trong tập (a m - b m ) đều là những item đứng sau các item trong b m xét theo thứ tự từ điển
Từ định nghĩa trên, ta thấy rằng nếu một chuỗi có kích thước k sẽ có (k-1) tiền tố
Ví dụ, chuỗi (A)(BC)(D) có 2 tiền tố là (A) và (A)(BC) Do đó, (BC)(D) là hậu
tố đối với tiền tố (A) và (D) là hậu tố đối với tiền tố (A)(BC) Hai chuỗi (A)(B)
và (BC) không phải là tiền tố của chuỗi đã cho; tuy nhiên chuỗi (A)(B)là một tiền
tố không hoàn toàn
Mẫu tuần tự đóng (Closed sequential pattern) và mẫu tuần tự sinh (Sequential
generator pattern) [21] Xét là một mẫu tuần tự:
được gọi là mẫu tuần tự đóng nếu và chỉ nếu sao cho ( chứa ) và
Sup() = Sup()
được gọi là mẫu tuần tự sinh nếu và chỉ nếu sao cho ( chứa ) và
Sup() = Sup()
Mẫu tuần tự sinh tối thiểu (Minimal sequential generator pattern) [21]: Xét
là mẫu tuần tự đóng Chuỗi được gọi là mẫu tuần tự sinh của nếu và chỉ nếu
và Sup() = Sup() Ký hiệu SGP() dùng để chỉ tập hợp các mẫu tuần tự sinh
của
Trang 29Mẫu SGP() là một mẫu tuần tự sinh tối thiểu nếu nó không có bất cứ một tập
con nào trong SGP() Ký hiệu mSGPs() dùng để chỉ tập hợp tất cả các mẫu tuần tự sinh tối thiểu của
Ví dụ, cho tập mẫu tuần tự đóng X = ACTW, tập mẫu tuàn tự sinh là SGP(X) =
{AT, TW, ACT, ATW, C TW} và tập mẫu tuần tự sinh tối thiểu là mSGPs(X) =
{AT, TW}
Do đó, mỗi mẫu tuần tự sẽ mang các giá trị hỗ trợ: một giá trị cho biết đây có phải
là mẫu tuần tự sinh tối thiểu không (IsmGSP), một giá trị cho biết đây có phải là mẫu tuần tự đóng hay không (IsCSP)
2.2.2 Bài toán khai thác mẫu tuần tự
SID Chuỗi dữ liệu
Cho CSDL như bảng 2.1 có tập các item phân biệt là {A, B, C} và minSup là 2
Xét chuỗi s 1 = (AB)(B)(B)(AB)(B)(AC), chuỗi s 1 có 6 itemset là: (AB), (B), (B),
(AB), (B), (AC) và có 9 item Vậy s 1 có kích thước là 6 và có độ dài là 9 Trong chuỗi
s 1, item A xuất hiện ba lần nhưng nếu tính độ hỗ trợ thì độ hỗ trợ của item A chỉ được
tính là 1 đối với chuỗi s 1 đó
Chuỗi p = (AB)(C) là một chuỗi con của chuỗi s 1 , vì vậy chuỗi con p còn được gọi là mẫu Trong CSDL, chỉ có chuỗi s 1 , s 2 và s 5 có chứa mẫu p, vậy độ hỗ trợ
của mẫu p là 3 Vì sup(p) > minSup nên p là một mẫu tuần tự
2.2.3 Cách tổ chức dữ liệu
Có hai dạng tổ chức dữ liệu cơ bản được biểu diễn như hình 2.6:
Trang 30 Dạng biểu diễn ngang: Dữ liệu được tổ chức theo chiều ngang, mỗi hàng
đại diện cho dãy sự kiện (event) tương ứng với đối tượng (object)
Dạng biểu diễn dọc: Dữ liệu được tổ chức theo chiều dọc, mỗi hàng đại
diện cho dãy đối tượng tương ứng với sự kiện
CSDL trên có thể biểu diễn theo 2 cách sau:
Đối tượng Chuỗi sự kiện xxx xxx Sự kiện Đối tượng
Trang 312.2.4 Cây tiền tố
Cây tiền tố được giới thiệu lần đầu để khai thác mẫu tuần tự bởi Masseglia [13] Cây tiền tố là cấu trúc dữ liệu cây được sắp xếp để lưu trữ dữ liệu chuỗi trong đó tất cả các nút con (child nodes) của một nút cha (parent node) có chung tiền tố của chuỗi dữ liệu liên kết với nút đó và nút gốc là một chuỗi rỗng Cây tiền tố thường được sử dụng như một danh sách các từ khóa hoặc như một từ điển Xây dựng cây tiền tố là quá trình xây dựng một quan hệ trực tiếp các chuỗi dữ liệu giữa nút con và nút cha để giúp quá trình khai thác diễn ra nhanh hơn và trực quan hơn
Cây tiền tố được xây dựng tương tự như hình 2.7 Cây tiền tố được bắt đầu từ nút gốc ở mức 0 với một chuỗi rỗng , mỗi nút con sẽ lưu một mẫu tuần tự Ở mức 1, mỗi
nút chứa 1 item; ở mức k, mỗi nút chứa một chuỗi có k mẫu tuần tự (k-pattern) Các nút
ở mức k được mở rộng bằng cách thêm vào chuỗi k-pattern 1 item duy nhất tạo thành nút ở mức (k+1) Có hai cách để mở rộng k-pattern là mở rộng chuỗi (sequence-
extended) và mở rộng itemset (itemset-extended):
Với mở rộng theo chuỗi, item được thêm vào mẫu đóng vai trò là một itemset mới
Do đó, kích thước của mẫu mở rộng theo chuỗi luôn tăng lên 1 đơn vị so với mẫu ban đầu
Nhận xét 1 [18]: Với cách mở rộng theo chuỗi, mẫu có độ dài k ban đầu sẽ là một tiền tố của tất cả những mẫu mở rộng theo chuỗi Hơn nữa, cũng là tiền tố của tất cả nút con (ở tất cả các mức >k) của những nút mở rộng theo chuỗi của
Còn với mở rộng theo itemset, item được thêm vào itemset cuối trong mẫu sao cho item mới thêm phải lớn hơn (theo thứ tự từ điển) tất cả các item đã có trong itemset cuối
Do đó, kích thước của mẫu mở rộng theo itemset không thay đổi so với mẫu ban đầu
Nhận xét 2 [18]: Với cách mở rộng theo itemset, mẫu có độ dài k ban đầu sẽ là một tiền tố không hoàn toàn của tất cả những mẫu mở rộng theo itemset Hơn nữa,
cũng là tiền tố không hoàn toàn của tất cả nút con (ở tất cả các mức >k) của những nút
mở rộng theo itemset của
Ví dụ trong hình 2.7 thể hiện cấu trúc cây tiền tố của mẫu chuỗi tuần tự Chuỗi
(A)(A) và (A)(B) là chuỗi được mở rộng theo kiểu sequence-extended của chuỗi (A),
Trang 32và chuỗi (AB) chuỗi được mở rộng theo kiểu itemset-extended của chuỗi (A) Chuỗi
(A) là tiền tố của tất cả các chuỗi trong T1 và là tiền tố không đầy đủ của các chuỗi trong T2
Hình 2.7 – Cấu trúc cây tiền tố [18]
2.2.5 Thuật toán khai thác mẫu tuần tự
Bài toán khai thác mẫu tuần tự được đề xuất đầu tiên bởi Agrawal và Srikant vào năm 1995 AprioriAll [2] là thuật toán đầu tiên được thiết kế để giải quyết bài toán khai thác mẫu tuần tự trên CSDL chuỗi giao dịch AprioriAll dựa trên thuật toán khai thác mẫu phổ biến, là thuật toán nền tảng làm cơ sở cho các thuật toán về sau
Giai đoạn 2, trong CSDL chuỗi ban đầu, mỗi chuỗi được thay thế bởi tập tất cả các itemset phổ biến có chứa trong chuỗi đó Nếu itemset không chứa itemset con phổ biến nào thì loại bỏ itemset đó khỏi tập chuỗi dữ liệu Nếu chuỗi dữ liệu không chứa itemset
Trang 33phổ biến nào thì loại bỏ chuỗi đó khỏi CSDL Sau khi biến đổi, mỗi chuỗi sẽ được đại diện bởi một dãy các itemset phổ biến
Giai đoạn 3, tìm mẫu tuần tự dựa trên kết quả từ giai đoạn tìm itemset phổ biến, ta
có được tập các mẫu tuần tự có kích thước là 1 Thuật toán dựa trên nguyên tắc Apriori: mọi tập con của tập phổ biến phải là tập phổ biến, mọi tập cha của tập không phổ biến đều không phổ biến Tập ứng viên gồm các mẫu độ dài k được phát sinh bằng cách kết
các mẫu độ dài (k-1), sau đó dựa vào nguyên tắc Apriori và minSup để loại bỏ các mẫu
Đối với bài toán khai thác mẫu tuần tự, các yếu tố ảnh hưởng đến tính hiệu quả của thuật toán là cách thức tổ chức dữ liệu và thuật toán giải quyết Do đó phải sử dụng cấu trúc dữ liệu thích hợp và thuật toán tối ưu Như vậy, các đặc trưng ảnh hưởng đến tốc độ thực thi là cách tổ chức biễu diễn dữ liệu để lưu trữ vào bộ nhớ, cách duyệt dữ liệu để xử lý, các chiến lược tìm kiếm Ngoài ra, sử dụng một số đặc trưng khác như vận dụng lý thuyết đồ thị, đưa ra những ràng buộc cho bài toán sẽ giúp thuật toán thực thi nhanh hơn, các mẫu tuần tự tìm được có giá trị hơn Chính vì vậy, tiếp cận theo nhiều hướng khác nhau, xuất phát từ thuật toán nền tảng AprioriAll, các nhóm nghiên cứu đã đưa ra nhiều thuật toán khác nhau để giải quyết bài toán khai thác mẫu tuần tự
Thuật toán GSP
GSP [3, 17] là thuật toán mở rộng từ mô hình Apriori GSP giải quyết bài toán khai thác mẫu tuần tự một cách tổng quát, đó là bổ sung thêm các ràng buộc: ràng buộc về khoảng thời gian cực đại và cực tiểu giữa các thành phần trong một mẫu tuần tự Các item của một thành phần trong một mẫu có thể lấy từ một hoặc nhiều thành phần khác nhau nhưng khoảng cách thời gian giữa các thành phần phải nằm trong giới hạn “time window” Ngoài ra, có sự phân cấp trên các item, một mẫu có thể gồm những item trên các mức phân cấp khác nhau So với AprioriAll, GSP thực hiện nhanh gấp 20 lần Nhược
Trang 34điểm của thuật toán này là tạo ra một tập lớn các chuỗi ứng viên, quét CSDL nhiều lần
và không hiệu quả khi khai thác các mẫu tuần tự dài
Thuật toán PrefixSpan
Tiếp cận theo hướng chia nhỏ dữ liệu, thuật toán PrefixSpan [14] được phát triển
dựa trên việc thực hiện phép chiếu trên CSDL để giảm chi phí lưu trữ dữ liệu Xuất phát
từ tập mẫu tuần tự độ dài 1, PrefixSpan tạo ra CSDL được chiếu với mỗi mẫu đó Trong
CSDL chiếu, mỗi chuỗi dữ liệu chỉ giữ lại phần hậu tố đối với tiền tố đã chiếu Mẫu được phát triển bằng những item phổ biến tìm được trong CSDL được chiếu Quá trình này được lặp lại cho đến khi CSDL chiếu không còn item phổ biến nào Tuy nhiên, khi
phát triển mẫu, thuật toán PrefixSpan phải thực hiện chiếu CSDL và duyệt CSDL chiếu
để tìm item phổ biến
Tất cả các phương pháp trên đều tiếp cận theo hướng biểu diễn thông tin dữ liệu theo chiều ngang Để xác định độ hỗ trợ của một mẫu cần phải duyệt lại toàn bộ CSDL
Để khắc phục điều này, một số hướng nghiên cứu mới tiến hành tổ chức dữ liệu theo
chiều dọc, đi đầu là SPADE [20], sau đó có SPAM [4], và PRISM [10] là những thuật
toán khá hiệu quả Thay vì phải duyệt toàn bộ CSDL chuỗi, với mỗi mẫu ứng viên, chúng thực hiện lưu trữ thông tin cho biết mẫu đó có mặt trong những chuỗi dữ liệu nào,
từ đó tính nhanh độ hỗ trợ Mặt khác, mẫu mới được tạo ra lấy thông tin dựa trên những mẫu đã có và không cần phải duyệt lại CSDL
Thuật toán SPADE
Thuật toán SPADE [20] tổ chức dữ liệu theo chiều dọc, trong đó ứng với mỗi item
sẽ lưu danh sách định danh của các chuỗi dữ liệu và định danh của các itemset có chứa item đó Độ hỗ trợ của item được tính trực tiếp từ danh sách các định danh Mặt khác,
SPADE còn dựa trên lý thuyết dàn để chia nhỏ không gian tìm kiếm và thao tác kết đơn
giản để tạo ra tập ứng viên Thuật toán này gom nhóm các mẫu tuần tự dựa theo tiền tố thành các lớp tương đương Thuật toán chỉ duyệt CSDL đúng ba lần: lần duyệt thứ nhất
và thứ hai thực hiện tìm các mẫu tuần tự có độ dài 1 và 2 Ở lần duyệt thứ ba, thuật toán
phát triển mẫu độ dài k từ hai mẫu độ dài (k-1) có (k-2) item đầu giống nhau, tiến hành
duyệt trên từng lớp tương đương do đó giảm chi phí tính toán và sử dụng bộ nhớ hiệu
quả hơn Với ngưỡng minSup thấp, so với thuật toán GSP [3], thuật toán SPADE thực
hiện nhanh gấp đôi [23]
Trang 35Thuật toán SPAM
Thuật toán SPAM [4] cũng tổ chức dữ liệu theo chiều dọc như thuật toán SPADE
[20] Thông tin của các mẫu ứng viên được biểu diễn dưới dạng bảng bit dọc, mỗi bit
ứng với một itemset của một chuỗi trong CSDL Nếu item có mặt trong itemset j thì bit tương ứng itemset j được đánh dấu là 1, ngược lại là 0 Độ hỗ trợ của mẫu được xác định dựa trên bảng bit Về tốc độ thực thi, trên các CSDL nhỏ, SPAM thực hiện nhanh hơn 2.5 lần so với SPADE, nhưng chưa thực hiện tốt bằng PrefixSpan [14] Với CSDL lớn,
SPAM thực hiện tốt hơn nhiều so với SPADE và PrefixSpan vì tổ chức biểu diễn và lưu
trữ dữ liệu dưới dạng bit nên thao tác phát sinh ứng viên và đếm độ hỗ trợ rất hiệu quả
[4]
Thuật toán PRISM
Thuật toán PRISM [10] là thuật toán tiếp cận theo hướng hoàn toàn khác biệt đó là
sử dụng phương pháp mã hóa nguyên tố để biểu diễn thông tin của mẫu ứng viên Thuật toán sử dụng cấu trúc dữ liệu cây từ điển để lưu trữ các mẫu tuần tự tìm được Thuật toán chỉ duyệt CSDL đúng một lần để tìm tập mẫu tuần tự độ dài 1 cùng với khối mã hóa thông tin tương ứng cho các mẫu đó Sau đó, phát triển mẫu bằng cách thêm vào mẫu một item phổ biến Thông tin của mẫu mới được xác đinh dựa trên khối mã hóa của
mẫu cũ và của item thêm vào Như vậy, thuật toán PRISM không phải duyệt CSDL
nhiều lần Đồng thời, thuật toán giảm chi phí tính toán bằng cách sử dụng bảng tra cho khối mã hóa thông tin dựa trên lý thuyết mã hóa nguyên tố
Trong đề tài này, luận văn sử dụng thuật toán PRISM để khai thác tập mẫu tuần tự
vì PRISM là một trong số những thuật toán hiệu quả nhất trong số các thuật toán đã có
Mặt khác, sử dụng thuật toán này, tập mẫu tuần tự tìm thấy sẽ được tổ chức và lưu trữ dưới dạng cấu trúc cây từ điển, là tiền đề cho phương pháp khai thác luật tuần tự dựa trên cây tiền tố
2.3 Khai thác luật tuần tự
Dựa trên CSDL chuỗi đã có, khai thác mẫu tuần tự là việc đi xác định những mẫu xuất hiện trong CSDL đó và sự xuất hiện của chúng thỏa một ngưỡng hỗ trợ tối thiểu Luật tuần tự được phát sinh từ các mẫu tuần tự đó, nó biểu diễn cho sự xuất hiện giữa
Trang 36những loạt sự kiện và thể hiện được mối quan hệ giữa các sự kiện đó, sự kiện nào xảy
ra trước, sự kiện nào xảy ra sau
2.3.1 Ý nghĩa luật tuần tự
Luật tuần tự biểu diễn mối quan hệ giữa các mẫu tuần tự theo thời gian Tương tự như luật kết hợp là kết quả của việc mở rộng tự nhiên của tập phổ biến , luật tuần tự cũng chính là mở rộng tự nhiên của tập mẫu tuần tự Luật tuần tự được biểu diễn dưới dạng XY với ý nghĩa là trong các chuỗi dữ liệu, nếu mẫu X xuất hiện thì mẫu Y cũng
sẽ xuất hiện sau mẫu X Do đó, luật tuần tự giúp ta dễ dàng hình dung được thứ tự thời gian thể hiện trong CSDL Ví dụ, một người mua truyện Harry Potter phần 5 sẽ mua tiếp phần 6 và phần 7 Như vậy, mẫu mua hàng (5,6,7) sẽ trở thành mẫu đại diện cho hoạt động mua sách của độc giả Tuy nhiên, trong thực tế có rất nhiều người mua hàng với hàng trăm sở thích khác nhau Do đó, mẫu mua hàng (5,6,7) có xu hướng xuất hiện với
độ hỗ trợ thấp (ít xuất hiện) Với những mẫu có độ hỗ trợ thấp như vậy dễ dẫn đến việc tồn tại nhiều mẫu dữ liệu sai và không thích hợp để làm mẫu đại diện cho CSDL Nếu
sử dụng luật tuần tự sẽ có thể giảm thiểu đi những mẫu sai và không thích hợp nêu trên bằng cách dựa vào khái niệm độ tin cậy
Luật tuần tự sẽ cho ta biết được những sự kiện nào sẽ diễn ra trước và các sự kiện nào diễn ra sau Do đó, thông tin mà luật tuần tự mang lại cho chúng ta có ý nghĩa rất quan trọng, hỗ trợ cho việc ra quyết định, quản lý và có tính định hướng Ngày nay, luật tuần tự được áp dụng nhiều trong hầu hết các lĩnh vực như y dược, thương mại, CNTT
2.3.2 Các khái niệm về luật tuần tự
Luật tuần tự: Luật tuần tự biểu diễn mối quan hệ giữa hai loạt sự kiện xảy ra tuần
tự, biểu thị dưới dạng XY (sup, conf), trong đó X là loạt sự kiện xảy ra trước, Y là
loạt sự kiện xảy ra sau [12] Từ mẫu tuần tự đã có, luật tuần tự được xây dựng bằng cách tách mẫu tuần tự ra làm hai phần: phần tiền tố X và phần hậu tố Y (nối tiền tố với hậu tố: X++Y, ta được mẫu tuần tự như ban đầu)
Độ hỗ trợ [12] của một luật bằng số chuỗi trong CSDL có chứa mẫu tuần tự tạo
nên luật Như vậy độ hỗ trợ của luật bằng độ hỗ trợ của mẫu tuần tự sinh ra luật Độ hỗ
trợ của luật được xác định như sau: sup = sup(X++Y) 100% Một luật có độ hỗ trợ cao
hơn minSup thì luật đó được coi là phổ biến
Trang 37Độ tin cậy [12,18]: Cho s và t là hai mẫu tuần tự khác nhau trong SD Độ tin cậy
của luật tuần tự SR: s t, ký hiện là Conf(SR), được xác định như sau: Conf(SR) = sup(s++t)/sup(s)100% Tương tự, nếu luật có độ tin cậy cao hơn ngưỡng tin cậy tối
thiểu (minimum confidence), kí hiệu là minConf, thì được coi là đáng tin cậy
Với mỗi mẫu tuần tự kích thước k, có thể tạo ra (k-1) luật vì mẫu tuần tự kích thước
k sẽ có (k-1) tiền tố Ví dụ, với mẫu tuần tự (A)(BC)(D) có kích thước là 3, có thể tạo
ra 2 luật là (A)(BC)(D), (A)(BC)(D)
Luật tổng quát [21]: Cho 02 luật tuần tự SR 1 : s 1 t 1 and SR 2 : s 2 t 2, SR 1 được
gọi là luật tổng quát hơn SR 2 , ký hiệu SR 1 SR 2 , nếu và chỉ nếu s 1 s 2 and t2 t1
Luật dư thừa [21]: Xét SR = {SR 1 , SR 2 , …, SR n } là một tập hợp các luật tuần tự có
độ hỗ trợ và độ tin cậy như nhau Luật SR j trong tập SR được gọi là luật dư thừa nếu tồn tại một luật tuần tự khác SR i trong tập SR mà SR i SR j (i j)
Luật tuần tự min-max [21]: Xét SR là một tập hợp các luật tuần tự Một luật tuần
tự SR 1 : s 1 t 1 ∈ SR được gọi là luật tuần tự min-max nếu ∃SR 2 :s 2 t 2 ∈ SR thỏa s 1
s 2 , t 2 t 1 , Sup(SR 1 ) = Sup(SR 2 ), và Conf(SR 1 )=Conf(SR 2 ) Luật tuần tự min-max được
gọi là luật tuần tự không dư thừa với tiền tố tối thiểu và hậu tố tối đa
2.3.3 Bài toán khai thác luật tuần tự
Khai thác luật tuần tự là đi tìm ra những luật thỏa mãn ngưỡng tối thiểu minSup
và minConf cho trước Quá trình này gồm hai giai đoạn:
- Giai đoạn 1: Tìm tất cả các mẫu tuần tự từ CSDL, tức đi tìm tất cả các mẫu f
sao cho sup(f) minSup
- Giai đoạn 2: Sinh luật tin cậy từ các mẫu tuần tự tìm được ở giai đoạn 1, tức
là tìm tất cả các luật r thỏa sup(r) minConf
Tập luật tuần tự có được ở giai đoạn 2 chính là tập luật tuần tự khai thác được từ CSDL đã cho
Trang 382.3.4 Các thuật toán khai thác luật tuần tự
Trong lĩnh vực khai thác luật tuần tự, Spiliopoulou-1999 đề xuất một phương pháp
cơ bản để khai thác tập luật tuần tự đầy đủ Từ những mô tả của phương pháp này, David
Lo cùng đồng sự đã khái quát thành thuật toán Full
Thuật toán FULL
David Lo [12] đã đề xuất việc tạo ra tập luật tuần tự đầy đủ (tất cả các luật thỏa ngưỡng hỗ trợ và tin cậy) từ tập đầy đủ các mẫu tuần tự (tất cả các mẫu tuần tự) Nếu
một mẫu tuần tự kích thước k là phổ biến thì 2 k mẫu con của nó cũng phổ biến Mà mỗi
mẫu tuần tự kích thước k có thể tạo ra (k-1) luật (tùy thuộc vào ngưỡng tin cậy tối thiểu)
Do đó, số lượng luật sẽ gia tăng theo kích thước của mẫu
Trước hết, thuật toán tìm tập tất cả các mẫu tuần tự, là những mẫu tuần tự có độ
hỗ trợ thỏa ngưỡng minSup Với mỗi mẫu tuần tự trong tập chuỗi tìm được, thuật toán
tiến hành phát sinh tất cả các luật có thể có ứng với chuỗi đó Cụ thể:
Với mỗi mẫu tuần tự có kích thước k, có thể tạo ra (k-1) luật Mỗi luật có dạng
prepost, trong đó pre là tiền tố của mẫu f và pre++post = f
Do đó, với mỗi mẫu tuần tự, thuật toán xét lần lượt từng tiền tố Với mỗi mẫu tiền
tố, thuật toán phải duyệt toàn bộ tập mẫu tuần tự để tìm độ hỗ trợ của mẫu tiền tố, từ đó tính độ tin cậy có thể có nếu sinh luật ứng theo tiền tố này Nếu độ tin cậy thỏa ngưỡng
minConf thì xuất ra luật đó
Thuật toán MSR_ImpFull
Thuật toán MSR_ImpFull [18] cải tiến thuật toán Full như sau: Chính vì các mẫu
tuần tự được sắp xếp tăng dần theo kích thước của chúng nên với mẫu X bất kỳ, chỉ
những mẫu đứng trước X mới có khả năng là tiền tố của X Do đó, với mỗi mẫu tuần tự
f trong tập mẫu tuần tự, thay vì phải sinh chuỗi tiền tố từ mẫu f đã có và ứng với mỗi
tiền tố phải duyệt toàn bộ tập mẫu như thuật toán Full, MSR_ImpFull [18] chỉ duyệt các mẫu đứng sau f và kiểm tra liệu f là tiền tố của những mẫu nào Như vậy, so với Full, thuật toán MSR_ImpFull đã giảm đi k lần duyệt tập mẫu tuần tự ứng với mỗi mẫu trong
tập mẫu được xét
Trang 39Thuật toán MSR_PreTree
Mặc dù thuật toán MSR_ImpFull có số lần duyệt tập mẫu tuần tự ít hơn thuật toán
Full, nhưng với mỗi mẫu tuần tự f, nó phải duyệt tất cả các mẫu đứng sau f theo thứ tự
đã sắp xếp để xác định những chuỗi nào có khả năng nhận f là tiền tố Để khắc phục vấn
đề này, một phương pháp khai thác luật tuần tự mới dựa trên cấu trúc cây tiền tố - là cấu
trúc cây từ điển được sử dụng trong thuật toán PRISM [10] ở giai đoạn khai thác mẫu tuần tự - được gọi là MSR_PreTree [18] Tuy nhiên, cây từ điển có được từ giai đoạn
khai thác mẫu được gọi là cây tiền tố vì căn cứ vào đặc điểm của cây này và ảnh hưởng
của nó đến quá trình sinh luật Dựa trên cây tiền tố, thuật toán MSR_PreTree sẽ tạo ra
các luật một cách trực tiếp mà không phải sắp xếp tập mẫu tuần tự cũng như duyệt tất
cả các chuỗi đứng sau chuỗi đang xét theo thứ tự đã sắp
Thuật toán IMSR_PreTree
Nhóm tác giả Thien-Trang Van giới thiệu thuật toán IMSR_PreTree [19] dùng để
khai thác các luật tuần tự đầy đủ dựa trên cây tiền tố Để tìm tập mẫu tuần tự, nhóm tác
giả trong thuật toán IMSR_PreTree đã sử dụng phương pháp tiếp cận theo chiều dọc cho việc đếm và tính toán độ hỗ trợ dựa trên mã hóa khối nguyên tố của thuật toán PRISM
[10] Nghiên cứu đã chứng minh được thuật toán đề xuất có thể làm giảm đáng kể không gian tìm kiếm trong quá trình khai thác dữ liệu bằng cách gọt tỉa các cây con cung cấp các luật không quan trọng trong giai đoạn đầu của quá trình khai thác dữ liệu
Thuật toán MNSR_PreTree
Nhóm tác giả Thi-Thiet Pham [15] đã đề xuất một phương pháp khai thác các luật tuần tự không dư thừa từ một cây tiền tố Phương pháp này có hai giai đoạn, giai đoạn đầu tiên đề xuất xây dựng một cây tiền tố lưu trữ tất cả các mẫu tuần tự sinh tối thiểu và mẫu tuần tự đóng; giai đoạn thứ hai sẽ thực hiện việc khai thác các luật không dư thừa
từ tập mẫu tuần tự sinh tối thiểu và mẫu tuần tự đóng trên cây tiền tố đã xây dựng Kết quả thực nghiệm cho thấy số lượng các luật tuần tự không dư thừa và thời gian xử lý nhỏ hơn nhiều so với số lượng và thời gian khai thác các luật tuần tự đầy đủ
Trong đề tài này, luận văn sử dụng hai thuật toán IMSR_PreTree và
MNSR_PreTree để khai thác tập luật tuần tự đầy đủ và tập luật tuần tự không dư thừa
vì đây là hai thuật toán hiệu quả nhất trong số các thuật toán đã có do giảm thiểu được
Trang 40số lần duyệt dữ liệu để khai thác các luật tuần tự và thời gian khai thác luật thấp Luận văn sử dụng cả hai thuật toán để so sánh về thời gian xử lý cũng như số lượng tập luật tuần tự mà cả hai thuật toán khai thác được Sau đó sẽ dùng kết quả tập luật tuần tự của một trong hai thuật toán để làm tập dữ liệu mẫu trong việc xây dựng ứng dụng dự đoán kết quả học tập của sinh viên
2.3.5 Thuật toán IMSR_PreTree
Theo nhận xét 1 của cây tiền tố, bất kỳ mẫu nào trên cây (ngoại trừ nút gốc ) luôn là một tiền tố của tất cả những mẫu nằm trên cây con có gốc là những nút mở rộng theo chuỗi của Do đó, tiến hành sinh luật với tất cả các mẫu nằm trên những cây con này theo tiền tố là Ngược lại, không sinh luật với tất cả các mẫu nằm trên những cây
con có gốc là những nút mở rộng theo itemset của vì là tiền tố không hoàn toàn của những mẫu này (theo nhận xét 2 của cây tiền tố)
Hình 2.8 - Thuật toán IMSR_PreTree [19]
Input: FS – the set of frequent sequences stored in prefix-tree,
3 Let pre = r.sequence
4 For each node nseq r.Seq_Extended_Set
5 For each node l sub-tree nesq
6 Try to from rule = pre->post,
pre++post = l.sequence
7 If sup(l.sequence)/sup(pre) ≥ minConf
9 Else Stop generating rules from l.children with prefix pre
10 For each node nesq r.Seq_Extended_Set
12 For each node nesq r.Items_Extended_Set