Tải bản đầy đủ (.pdf) (115 trang)

(Luận văn thạc sĩ) Ứng dụng thuật toán phân lớp dựa trên luật kết hợp dự báo vào giải bài toán Dự báo tình hình nghỉ bỏ học của học sinh trung học trên địa bàn Thành phố Hồ Chí Minh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.51 MB, 115 trang )

LỜI CAM ĐOAN
Tôi cam đoan đề tài “Ứng dụng thuật toán phân lớp dựa trên luật kết hợp dự báo
vào giải bài tốn dự báo tình hình nghỉ, bỏ học của học sinh trung học trên địa bàn
Thành phố Hồ Chí Minh” là kết quả của tự bản thân tơi học tập, tìm hiểu và nghiên
cứu.
Các số liệu nêu trong luận văn là trung thực được tham khảo trích dẫn có nguồn
gốc rõ ràng. Kết quả thực nghiệm chưa từng được ai cơng bố trong bất kỳ cơng trình
nào khác.
Tp. Hồ Chí Minh, ngày 27 tháng 11 năm 2020

Nguyễn Văn Chiến

xi


LỜI CẢM ƠN
Để hoàn thành nội dung luận văn như này hôm nay, em luôn ghi nhớ công ơn
của các Thầy Cơ, đồng mơn, đồng nghiệp và gia đình, những người đã truyền đạt tri
thức và tạo điều kiện cho em trong suốt quá trình học tập, nghiên cứu.
Trước hết, Em muốn gửi lời cảm ơn đến các Thầy Cô giảng viên trường Đại
học Sư phạm kỹ thuật Thành phố Hồ Chí Minh đã quan tâm tổ chức hướng dẫn và
trực tiếp giảng dạy khóa cao học của chúng em. Đặc biệt, em xin gửi lời cảm ơn sâu
sắc đến giảng viên hướng dẫn Thầy Tiến sỹ Nguyễn Thành Sơn, người đã tận tình chỉ
bảo và góp ý về mặt chun mơn, phương hướng cho em trong suốt q trình làm
luận văn.
Cũng qua đây, tôi xin gửi lời cảm ơn đến Ban giám hiệu trường THPT Đào
Sơn Tây nơi tôi đang công tác và lãnh đạo các trường trung học thuộc Sở Giáo dục
và đào tạo Tp. Hồ Chí Minh đã tạo điều kiện cung cấp số liệu về thực trạng học sinh
trong suốt quá trình làm luận văn.
Cuối cùng xin cảm ơn gia đình, đồng nghiệp đã quan tâm giúp đỡ về mọi mặt
tôi trong suốt thời gian học tập và hồn thành luận văn này.


Trong q trình làm luận văn, bản thân em đã cố gắng tập trung tìm hiểu,
nghiên cứu và tham khảo thêm nhiều tài liệu liên quan. Tuy nhiên, do bản thân mới
bắt đầu trên con đường nghiên cứu khoa học, chắc chắn bản luận văn vẫn cịn nhiều
thiếu sót. Em rất mong được nhận được nhận sự chỉ bảo của các thầy cô giáo và các
góp ý của bạn bè, đồng nghiệp để luận văn được hồn thiện hơn.
Tp. Hồ Chí Minh, tháng 11 năm 2020

Nguyễn Văn Chiến

xii


TÓM TẮT
Nội dung của luận văn là những kiến thức về phân lớp dựa trên luật kết hợp dự
báo, tìm hiểu các giải thuật phân lớp kết hợp như Apriori, Apriori-TID, FP-Growth,
FOIL, PRM là cách thức tạo ra bộ luật tinh gọn với độ chính xác cao, sử dụng luật
kết hợp tìm được để dự đốn nhãn lớp cho tập dữ liệu mới. Khai phá luật kết hợp và
phân lớp kết hợp sử dụng giải thuật CPAR (Classification based on Predictive
Association Rules), cách thức sử dụng giải thuật CPAR-GR (predictive association
rule based classifier using gain ratio) một giải thuật cải tiến của CPAR vào trong bài
tốn phân tích ngun nhân, tình hình nghỉ bỏ học của học sinh trung học.
Tìm hiểu giải thuật CPAR-GR và cài đặt giải thuật để khai phá dữ liệu và phát
hiện luật kết hợp áp dụng vào bài tốn phân tích ngun nhân tình hình nghỉ bỏ học
của học sinh trung học.
Luận văn gồm có 3 chương, với các nội dung như sau:
Chương 1: Tổng quan về phân lớp dựa trên luật kết hợp
Chương này giới thiệu luật kết hợp và các khái niệm cơ bản, tìm hiểu một số
giải thuật khai phá luật kết hợp và giới thiệu về phân lớp kết hợp cùng một số giải
thuật phổ biến thực hiện phân lớp kết hợp. Ngồi ra cịn nêu một số vấn đề gặp phải
khi áp dụng phân lớp kết hợp trên cơ sở dữ liệu.

Chương 2: Tìm hiểu một số thuật tốn phân lớp dựa trên luật kết hợp dự báo.
Nội dung của chương chủ yếu trình bày về thuật tốn phân lớp dựa trên luật kết
hợp có kế thừa và cải tiến một số vấn đề còn tồn tại của các thuật toán ra đời trước
như FOIL, PRM, CPAR, CPAR-GR. Tiến hành so sánh, kết luận về tính khả thi của
các thuật toán về thời gian, tài nguyên, số lượng luật và đặc biệt là độ chính xác của
phân lớp.
Chương 3: Đánh giá bằng thực nghiệm thông qua ứng dụng giải thuật CPARGR vào phân tích số liệu học sinh nghỉ bỏ học.

xiii


SUMMARY
The content of the dissertation is about the knowledge of classification which
based on the association rule, understanding the typical algorithms like Apriori,
Apriori-TID, FP-Growth, FOIL, PRM is the way to create the association rule in the
direction of using Gain_Ratio to have a streamlined code with high accuracy, using
the found association rule to predict class labels for new data sets. Breaking the
association rule and classification based on Predictive Association Rules (CPARGR), the usage of CPAR-GR (predictive association rule based classifier using gain
ratio) algorithm - an improved algorithm of CPAR into analyzing the causes of
dropping out of high school students.
Studying CPAR-GR algorithms and installing algorithms to explore data and
detect association rule that applies to analyzing the causes of high school dropout.
The dissertation consists of 3 chapters, with the following contents:
Chapter 1: An overview of the association rule which bases on classification
combining. This chapter introduces the association rule of combining and basic
concepts, exploring some algorithms that explore the association rule of combining
as well as it also introduces the classification combined with some common
algorithms that perform combined layering. Besides, it also shows some issues which
occur when applying combination layering on a database.
Chapter 2: Learning some algorithm classifications that base on forecasting

association rule. The chapter's content mainly presents a association rule basing on
classification algorithm that inherits and improves some of the remaining problems
of pre-existing algorithms such as FOIL, PRM, CPAR, CPAR-GR. Conduct
comparisons, conclusions about the positiveity of algorithms on time, resources,
number of association rule and especially the accuracy of layering.
Chapter 3: Experimental evaluation of customs clearance and application of
CPAR-GR algorithm to analyze the data on dropout of students.

xiv


MỤC LỤC
Tựa

Trang

Quyết định giao đề tài

i

Lý lịch khoa học

ii

Lời cam đoan

xi

Lời cảm ơn


xii

Tóm tắt

xiii

Mục lục

xv

Danh sách các chữ viết tắt

xix

Danh sách các bảng

xx

Danh sách các hình

xxii

Chương 1. TỔNG QUAN VỀ PHÂN LỚP DỰA TRÊN LUẬT KẾT HỢP. 1
1.1. Giới thiệu luật kết hợp và một số khái niệm cơ bản.

1

1.1.1. Giới thiệu luật kết hợp.

1


1.1.2. Một số khái niệm cơ bản.

2

1.1.3. Hướng tiếp cận khai phá luật kết hợp.

6

1.2. Một số giải thuật khai phá luật kết hợp.

8

1.2.1. Giải thuật AIS

8

1.2.2. Giải thuật SETM

9

1.2.3. Giải thuật Apriori

10

1.2.4. Giải thuật Apriori-TID

13

1.2.5. Giải thuật FP Growth


19

1.3. Giới thiệu về phân lớp dựa trên luật kết hợp
1.3.1. Quá trình phân lớp kết hợp.

21
21

xv


1.3.2. Độ tin cậy của luật kết hợp trong phân lớp.

22

1.3.3. Các giai đoạn trong phân lớp kết hợp.

23

1.3.4. Giới thiệu một số giải thuật phân lớp dựa trên luật kết hợp

25

1.3.5. Một số vấn đề trong phân lớp kết hợp.

27

Chương 2. TÌM HIỂU MỘT SỐ GIẢI THUẬT PHÂN LỚP DỰA TRÊN
LUẬT KẾT HỢP DỰ BÁO.


28

2.1. Một số khái niệm cơ bản.

28

2.1.1. Bộ dữ liệu (Tuple)

28

2.1.2. Vị từ (Literal).

28

2.1.3. Luật (Rules)

28

2.2. Giải thuật FOIL.

28

2.2.1. Giới thiệu giải thuật.

28

2.2.2. Nội dung giải thuật.

29


2.3. Giải thuật PRM.

30

2.3.1. Ý tưởng.

30

2.3.2. Nội dung giải thuật.

30

2.4. Giải thuật CPAR.

31

2.4.1. Giới thiệu giải thuật.

31

2.4.2. Nội dung giải thuật.

32

2.5. Giải thuật CPAR-GR

33

2.5.1. Giới thiệu giải thuật.


33

2.5.2. Xây dựng luật và phân lớp kết hợp.

34

2.6. So sánh hiệu quả thực hiện các giải thuật.

41

2.6.1. So sánh kết quả thực nghiệm FOIL, PRM và CPAR.

xvi

41


2.6.2. So sánh kết quả thực nghiệm CPAR và CPAR-GR.
2.7. Các cơng trình liên quan

44
44

2.7.1. Classification based on Small Key Itemsets

44

2.7.2. Classification Based on Consistent Itemset Rules


45

2.7.3. Construct Concise and Accurate Classifier by Atomic Association 45
2.7.4. Phân lớp nhanh dựa trên thuật toán luật kết hợp.

45

2.7.5. Phân lớp dựa trên lựa chọn đặc điểm với khai phá luật kết hợp.

46

2.7.6. Khai phá luật kết hợp để quản lý dự án công nghệ thông tin

46

2.7.7. Sử dụng luật kết hợp để phát hiện lỗi vòng bi.

47

Chương 3. ỨNG DỤNG GIẢI THUẬT CPAR-GR VÀO PHÂN TÍCH DỮ
LIỆU HỌC SINH NGHỈ BỎ HỌC

48

3.1. Mơ tả bài tốn thực trạng học sinh

48

3.2. Phương pháp giải quyết.


49

3.3. Tổ chức xây dựng chương trình

60

3.3.1. Cài đặt giải thuật phân lớp dựa trên luật kết hợp dự báo.

60

3.3.2. Giao diện ứng dụng thực nghiệm.

63

3.4. Đánh giá kết quả.

65

3.4.1. Thực nghiệm giải thuật trên bộ dữ liệu Breast cancer [23]

65

3.4.2. Thực nghiệm giải thuật trên bộ dữ liệu Cleve [23].

67

3.4.3. Thực nghiệm giải thuật trên bộ dữ liệu Hepatitis [23]

68


3.4.4. Thực nghiệm giải thuật trên bộ dữ liệu Heart.

69

3.4.5. Thực nghiệm giải thuật trên bộ dữ liệu Pima [23].

70

3.4.6. Thực nghiệm giải thuật trên bộ dữ liệu Mushroom [23]

71

3.4.7. So sánh hiệu quả thực nghiệm giải thuật trên các bộ dữ liệu

73

xvii


3.5. Ứng dụng phân tích dữ liệu học sinh dự báo tình hình nghỉ bỏ học của học
sinh.

74

3.5.1. Thơng tin về dữ liệu học sinh.

74

3.5.2. Thực nghiệm giải thuật trên bộ dữ liệu nghỉ, bỏ học của học sinh.


76

3.5.3. Ứng dụng dự báo tình hình học sinh nghỉ bỏ học.

78

Kết luận

79

Tài liệu tham khảo

81

Phụ lục

84

Bài báo

xviii


DANH SÁCH CÁC CHỮ VIẾT TẮT
Chữ viết tắt
Ck
Conf
D
Di
I

Itemset
k-itemset
Lk
minconf
minsup
Supp(X)
Supp(X Y)
Conf(X Y,D)
T
TID
XY
AC
CAR
AIS
SETM
FOIL
PRM
CPAR
CPAR-GR
CMAR
LGT
∑W(P)
MGV
TWT
CT
GSR
RA
R
A[n]


Nghĩa của chữa viết tắt
Tập các k-itemset ứng viên (Cadidate sets)
Độ tin cậy (Confidence)
Cơ sở dữ liệu giao dịch
Phần thứ i của cơ sở dữ liệu D
Mục (Item)
Tập mục
Tập mục gồm k mục
Tập các k-itemset phổ biến
Ngưỡng tin cậy tối thiểu (minimum confidence)
Ngưỡng hỗ trợ tối thiểu (minimum support)
Độ phổ biến của tập mục X trong cơ sở dữ liệu D
Độ phổ biến của luật kết hợp XY trong cơ sở dữ liệu D
Độ tin cậy của một luật kết hợp X  Y trong cở sở dữ liệu D
Giao dịch (Transaction)
Định danh của giao dịch (Unique Transaction Identifer)
Luật kết hợp (Với X là vế điều kiện, Y là vế hệ quả)
Phân lớp kết hợp
Luật kết hợp
Agrawal Imielinski Swami
Sifting And Evaluation Trust Management
First Order Inductive Learner
Predictive Rule Mining
Classification Based on Predictive Association Rules
Predictive association rule based classifier using gain ratio
Classification Based on Multiple Association Rules
Ngưỡng Gain tối thiểu
Tổng trọng số của tập P
Giá trị Gain Tối thiểu
ngưỡng trọng số tối thiểu của P

ngưỡng bao phủ của tuple
Hệ số lấy khoảng giá trị Gain_ratio
tập luật dự tuyển
Tập luật chính thức
Tập thuộc tính

xix


DANH SÁCH CÁC BẢNG
Bảng

Trang

Bảng 1.1 Dữ liệu mua hàng siêu thị.

4

Bảng 1.2 Ví dụ về cơ sở dữ liệu giao tác

15

Bảng 1.3 Tập mục phổ biến và độ hỗ trợ lần 1

16

Bảng 1.4 Tập mục phổ biến và độ hỗ trợ lần 2

17


Bảng 1.5 Tập mục phổ biến và độ hỗ trợ lần 3

18

Bảng 1.6 Kết quả sau kết thúc vịng lặp,

19

Bảng 2.1 So sánh độ chính xác của FOIL, PRM, CPAR được báo cáo tạo ra bằng
cách sử dụng Ten Cross Vlaidation (TCV) [2].

42

Bảng 2.2 So sánh thời gian thực hiện của FOIL, PRM, CPAR [2]

42

Bảng 2.3 So sánh số luật được tạo ra của FOIL, PRM, CPAR [2]

43

Bảng 2.4 Độ chính xác của CPAR và CPAR-GR. [16]

44

Bảng 3.1 Minh họa số liệu nguyên nhân nghỉ, bỏ học của học sinh

50

Bảng 3.2 Trích xuất tập dữ liệu huấn luyện sau khi xử lý.


50

Bảng 3.3 Trích xuất một phần của tập dữ liệu thử nghiệm

51

Bảng 3.4 Trích xuất Tập dữ liệu P cùng trọng số

52

Bảng 3.5 Tập dữ liệu N cùng trọng số

52

Bảng 3.6 Bảng Gain_Ratio lần 1

53

Bảng 3.7 Bảng trọng số của tập P sau lần 1

54

Bảng 3.8 Bảng Gain_Ratio lần 2

54

Bảng 3.9 Bảng trọng số của tập P sau lần 2

55


Bảng 3.10 Bảng Gain_Ratio lần 3

56

Bảng 3.11 Bảng trọng số của tập P sau lần 3

57

Bảng 3.12 Tập luật được tạo ra trên tập huấn luyện

57

Bảng 3.13 Độ chính xác của các luật kết hợp

58

Bảng 3.14 Dự đốn nhãn lớp cho các tuple trong T

59

Bảng 3.15 Độ chính xác của các luật trên bộ dữ liệu Breast Cancer

66

xx


Bảng 3.16 Độ chính xác của luật trên bộ Cleve


68

Bảng 3.17 Độ chính xác của luật trên tập dữ liệu Hepatitis

69

Bảng 3.18 Độ chính xác của luật trên tập dữ liệu Heart

70

Bảng 3.19 Độ chính xác của luật trên tập dữ liệu Pima

71

Bảng 3.20 Độ chính xác của luật trên tập dữ liệu Mushroom

73

Bảng 3.21 So sánh độ chính xác của CPAR và CPAR-GR (%)

73

Bảng 3.22 Thời gian thực hiện trên bộ dữ liệu Nghỉ bỏ học của học sinh (đơn vị tính
mili giây - ms)

74

Bảng 3.23 So sánh sử dụng tài nguyên của giải thuật trên cơ sở dữ liệu học sinh. 74
Bảng 3.24 Trích dẫn thơng tin học sinh.


75

Bảng 3.25 Các luật được tạo ra trên bộ dữ liệu học sinh

77

Bảng 3.26 Độ chính xác của các luật trên bộ dữ liệu học sinh

77

xxi


DANH SÁCH CÁC HÌNH
Hình

Trang

Hình 1.1 Mơ hình giải bài tốn tạo luật kết hợp

2

Hình 1.2 Minh họa định nghĩa Item, Itemset, Transaction

3

Hình 1.3 Quy trình phân lớp kết hợp

22


Hình 1.4 Các bước trong quy trình phân lớp kết hợp [12]

24

Hình 2.1 Các giai đoạn phân lớp kết hợp sử dụng giải thuật CPAR-GR

34

Hình 3.1 Giao diện nhập dữ liệu đầu vào

63

Hình 3.2 Giao diện thực hiện giải thuật CPAR

64

Hình 3.3 Giao diện thực hiện giải thuật CPAR-GR

64

Hình 3.4 Minh họa tập dữ liệu Breast cancer

66

Hình 3.5 Trích dẫn tập dữ liệu Cleve.

68

xxii



MỞ ĐẦU
1.1. Giới thiệu.
Với sự phát triển của máy tính và mạng internet, việc tin học hóa các lĩnh vực
trong đời sống xã hội ngày càng sâu rộng, dẫn đến lưu lượng dữ liệu tạo ra gia tăng
một cách nhanh chóng, con người đang sở hữu kho dữ liệu phong phú, đa dạng và
khổng lồ. Sự bùng nổ này đã dẫn tới một yêu cầu cấp thiết là cần có những kỹ thuật
và công cụ mới để tự động chuyển đổi lượng dữ liệu khổng lồ kia thành các tri thức
có ích. Mặt khác, trong mơi trường cạnh tranh thì người ta ngày càng cần có thơng
tin với tốc độ nhanh để giúp cho việc ra quyết định và ngày càng có nhiều câu hỏi
mang tính chất định tính cần phải trả lời dựa trên khối lượng dữ liệu khổng lồ đã có.
Tiến hành các cơng việc như vậy chính là quá trình phát hiện tri thức trong cơ sở dữ
liệu, trong đó kỹ thuật khai phá dữ liệu cho phép phát hiện tri thức tiềm ẩn ấy. Từ đó,
các kỹ thuật khai phá dữ liệu đã trở thành một lĩnh vực thời sự của nền Công nghệ
thông tin thế giới hiện nay nói chung và Việt Nam nói riêng. Rất nhiều tổ chức và
công ty lớn trên thế giới đã áp dụng kỹ thuật khai phá dữ liệu vào các hoạt động sản
xuất kinh doanh của mình và thu được những lợi ích to lớn.
Các kỹ thuật phát hiện tri thức và khai phá dữ liệu được thực hiện qua nhiều giai
đoạn và sử dụng nhiều kỹ thuật: phân lớp (classification), phân cụm (clustering), phân
tích sự tương tự (similarity analysis), tổng hợp (summarization), luật kết hợp
(association rules), … Một trong những nội dung cơ bản và phổ biến trong khai phá
dữ liệu là phát hiện các luật kết hợp và phân lớp dựa trên luật kết hợp. Phương pháp
này nhằm tìm ra các tập thuộc tính thường xuất hiện đồng thời trong cơ sở dữ liệu và
rút ra các luật về ảnh hưởng của một tập thuộc tính dẫn đến sự xuất hiện của một hoặc
nhiều tập thuộc tính khác như thế nào? Do đó việc phát hiện ra các luật kết hợp là
một bước rất quan trọng trong khai phá dữ liệu.
Giáo dục là một lĩnh vực quan trọng của đời sống xã hội được người người quan
tâm, nhà nhà quan tâm, việc đáp ứng nhu cầu học tập của người dân khi dân số càng
tăng nhanh là một thử thách đối với cơ quan chức năng. Việc có thể dự báo với những
số liệu chính xác cao là một thông tin vô cùng quý giá để cấp có thẩm quyền căn cứ


xxiii


vào đó ban hành những quyết sách đúng đắn phù hợp thực tế, chuẩn bị tốt cho một
năm học đầy hứa hẹn, câu chuyện về thiếu trường lớp, tệ nạn học đường đang làm
các nhà quản lý giáo dục và xã hội phải tốn rất nhiều thời gian, công sức, tài chính để
xử lý. Một trong những tồn tại đó là số lượng học sinh nghỉ bỏ học và xa vào tệ nạn
xã hội do nhiều nguyên nhân, nếu vấn đề này không được quan tâm giải quyết số
lượng học sinh này sẽ gây nhiều hệ lụy khó lường cho an ninh và phát triển xã hội vì
thế hệ kế cận là tương lại của đất nước. Vậy cần có một giải pháp cho vấn đề này là
dự báo số lượng học sinh nghỉ bỏ hàng năm phục vụ cho công tác quản lý giáo dục
tại các trường học ngăn ngừa tình trạng các em bỏ học giữa chừng và chuẩn bị các
trung tâm dạy nghề, cai nghiện, phục hồi chức năng … để các em có cơ hội tiếp tục
học tập thành những cơng dân có ích, thành người dân lương thiện.
1.2. Mục đích yêu cầu, đối tượng, phạm vi nghiên cứu.
Mục đích u cầu:
 Tìm hiểu bài tốn khai phá luật kết hợp.
 Tìm hiểu bài tốn phân lớp dựa trên luật kết hợp dự báo.
 Tìm hiểu bài tốn dự báo tình hình nghỉ bỏ học của học sinh và cài đặt giải
thuật CPAR-GR phân tích số liệu để đưa ra dự báo số lượng học sinh có
nguy cơ bỏ học tại các cơ sở giáo dục trung học.
Đối tượng nghiên cứu
 Luật kết hợp, Phân lớp kết hợp
 Một số giải thuật phân lớp dựa trên luật kết hợp.
 Dữ liệu nghỉ bỏ học của học sinh trung học.
Phạm vi nghiên cứu:
 Nghiên cứu giải thuật phân lớp dựa trên luật kết hợp dự báo.
1.3. Nhiệm vụ và phương pháp.
 Tìm hiểu về giải thuật phân lớp kết hợp.

 Tìm hiểu giải thuật phân lớp dựa trên luật kết hợp dự báo.
 Tìm hiểu giải thuật cải tiến của giải thuật phân lớp dựa trên luật kết hợp dự
báo.

xxiv


 Sử dụng luật phân lớp kết hợp để phân tích dữ liệu học sinh đưa ra kết luận
về tình trạng học sinh nghỉ bỏ học.
1.4. Kết quả đạt được.
Trình bày khái quát các khái niệm liên quan đến luật kết hợp, phân lớp kết hợp
từ đó có cơ sở nghiên cứu phân lớp dựa trên luật kết hợp dự báo.
Tìm hiểu các thuật tốn sử dụng luật kết hợp để phân lớp như FOIL, PRM,
CPAR, CPAR-GR (một cải tiến của CPAR). Có sự đối chiếu, so sánh về hiệu suất,
độ chính xác thơng qua thực nghiệm để đưa ra nhận xét kết luận về ưu điểm của các
cải tiến trong giải thuật ra đời sau.
Cài đặt giải thuật CPAR-GR, xây dựng thành ứng dụng dự báo tình hình nghỉ
bỏ học của học sinh dựa vào số liệu thu thập từ các trường trung học. Tiến hành thực
nghiệm với số liệu của 6 cơ sở dữ liệu để đối chiếu kết quả.

xxv


Chương 1. TỔNG QUAN VỀ PHÂN LỚP DỰA TRÊN

LUẬT KẾT HỢP.
1.1. Giới thiệu luật kết hợp và một số khái niệm cơ bản.
1.1.1. Giới thiệu luật kết hợp.
Xuất phát từ nhu cầu phân tích dữ liệu của cơ sở dữ liệu giao tác, phát hiện các
mối quan hệ giữa các tập mục hàng hóa (Itemsets) đã bán trong các siêu thị. Năm

1993, R. Agrawal, T. Imielinski và A. Swami đã lần đầu tiên đề xuất mơ hình khai
phá luật kết hợp nhị phân (hay cịn gọi là mơ hình cơ bản). Với mơ hình này việc xác
định các quan hệ chỉ dựa vào sự xuất hiện cùng lúc của mục dữ liệu mà khơng phân
biệt vai trị khác nhau cũng như khơng dựa vào các đặc tính dữ liệu vốn có của các
mục dữ liệu đó.
Phát biểu bài tốn: Cho cơ sở dữ liệu giao tác D, với ngưỡng độ phổ biến tối
thiểu minsup và ngưỡng độ tin cậy tối thiểu minconf. Yêu cầu tìm tất cả các luật kết
hợp X→Y trên cơ sở dữ liệu D sao cho sup(X→Y) > minsup và conf (X→Y) >
minconf. [1]
Các bước cơ bản để tìm luật kết hợp từ cơ sở dữ liệu D:
 Tìm tất cả các tập mục phổ biến (Mining frequent itemsets) từ cơ sở dữ liệu
D với ngưỡng phổ biến tối thiểu minsup. Bước này thường có độ phức tạp
tính tốn cao và chiếm phần lớn thời gian của giải thuật khai phá luật kết
hợp. Ví dụ: với I = {i1, i2, i3, …, i100} số tập con sẽ có là 2100 -1  1.27 x
1030.
 Tạo tất cả các luật mạnh (Generating strong rules) từ các tập mục phổ biến
được tìm ra ở bước trước với ngưỡng độ tin cậy tối thiểu minconf.

1


Dữ liệu thô
+ Giao tác.
+ Dữ liệu quan hệ
Giao tác
1001
3156
1014
5782


loại hàng
L1, L2, L3
L1, L3
L1, L4
L2, L4, L5

Các tập mục
+ Thuộc tính.
Tiền xử lý

Khai phá

Mối quan hệ giữa
các tập mục.
+ Luật

Cấu hình luật:
Antecedent→Consequent[support, confidence]
L1  L3 [50%, 67,6%]


L1, L2, L3,
L4, L5


Hình 1.1 Mơ hình giải bài tốn tạo luật kết hợp
1.1.2. Một số khái niệm cơ bản.


Phần tử.

Phần tử (Item) là một giá trị trong tập hợp các mẫu, đối tượng đang được xem

xét trong quản lý thực tế được ký hiệu I = i1, i2, i3, …, in, trong đó mỗi giá trị ik
được coi là một mục hay một phần tử. [1]
Ví dụ:
- Danh mục hàng hóa trong siêu thị I = thịt, cá, trứng sữa, quần, áo, giày, dép, …
- Danh mục thuốc bán tại Nhà thuốc I = {Oral liquid, cyclizine, dexamethasone,
diazepam, docusate sodium, fluoxetine, hyoscine butylbromide, …


Tập phần tử.
Tập phần tử (Itemset) là tập hợp con của tập hợp tất cả các phần tử trong cơ sở

dữ liệu đang xét, ký hiệu là X  I còn được gọi với tên khác là tập mục. Nếu trong
tập X có k mục (|X| = k) thì X được gọi là k-itemset. [1]


Người
dùng

Giao tác
Giao tác (Transaction) là cơ sở dữ liệu gồm m giao dịch được ký hiệu là D =

{T1, T2, T3, …, Tm} mỗi giao dịch Ti  D là một tập mục (Ti  I). [1]
Ví dụ:
Ta có tập mục I = {A, B, C, D, E, F}
Cơ sở dữ liệu giao dịch D = {T1, T2, T3, T4, T5, T6}
Trong đó:
T1 = {A, B, D, E}
T2 = {A, E, F}


2


T3 = {B, D, E}
T4 = {A, E}
T5 = {A, C, D, E, F}
T6 = {B, C, E}

Transaction ID
T100
T200
T300
T400
T500
T600
T700
T800
T900

List of Item_IDs
I1, I2, I5
I2, I4
I2, I3
I1, I2, I4
I1, I3
I2, I3
I1, I3
I1, I2, I3, I5
I1, I2, I3


Hình 1.2 Minh họa định nghĩa Item, Itemset, Transaction



Tập mục phổ biến.
Độ phổ biến của một tập mục (Support) trong cơ sở dữ liệu giao tác được định

nghĩa như sau:
Định nghĩa 1: Độ phổ biến của một tập mục X trong cơ sở dữ liệu D là tỷ số
giữa các bản ghi T  D có chứa tập X với tổng số giao tác trong D. [1]
Supp(X) =

|{T | T  D và X  T }|
|D|

Ta có: 0 ≤ Supp(X) ≤ 1 với mọi tập mục X.
Tập mục X được gọi là tập mục phổ biến (frequent itemset) trong D nếu Supp(X)
lớn hơn hoặc bằng ngưỡng độ phổ biến tối thiểu do người dùng đặt ra.
Ví dụ:
Có cơ sở dữ liệu D gồm các giao tác:
T1 = {thịt, sữa, bánh mỳ, gạo, bơ}
T2 = {sữa, quần, bia}

3


T3 = {sữa, bánh mỳ, bơ}
T4 = {thịt, trứng}
T5 = {thịt, bánh mỳ, khoai tây, cá, giày}

Tập mục X {sữa, bánh mỳ, bơ} có độ phổ biến là 2/5 = 0.4 hay 40% số giao tác
có trong cơ sở dữ liệu D.


Luật kết hợp.
* Trong cơ sở dữ liệu giao tác luật kết hợp được định nghĩa như sau:
Định nghĩa 1: Cho tập I = {i1, i2, … ,in} là tập n thuộc tính nhị phân gọi là các

phần tử (item). Cho D = {T1, T2, … ,Tm} là tập các giao tác gọi là cơ sở dữ liệu. Mỗi
giao tác trong D có một mã định danh duy nhất và chứa các tập mục trong I. Một mối
quan hệ giữa 2 tập mục X và Y có dạng X  Y, trong đó X, Y  I và X  Y = 
được gọi là luật kết hợp. Tập mục X gọi là phần mệnh đề điều kiện và tập mục Y gọi
là mệnh đề kết quả của luật tương ứng. [2]
Ví dụ: trong siêu thị, ta có tập các mục I = {sữa, bánh mỳ, bơ, bia} và một cơ
sở dữ liệu nhị phân chứa các giao tác như sau:
Bảng 1.1 Dữ liệu mua hàng siêu thị.
Transaction
ID
4005
2071
5672
1008
3006

sữa
1
0
1
1
0


bánh
mỳ
1
0
0
1
1



bia

1
1
0
1
0

0
0
1
0
0

Dựa trên ví dụ này, ta có thể suy ra luật X{bơ, bánh mỳ}  Y{sữa}, có nghĩa
là khi khách hàng mua bơ và bánh mỳ thì người đó cũng sẽ mua sữa.
* Độ phổ biến.
Định nghĩa 2: Độ phổ biến của một luật kết hợp X  Y là tỷ lệ giữa số lượng
các bản ghi chứa tập hợp XY, so với tổng số các bản ghi trong D. Ký hiệu supp(X

Y) [3] [4]

4


Supp(XY) =

|{TD: TYX}|
|D|

Căn cứ vào định nghĩa trên chúng ta nói rằng độ phổ biến của một luật XY là
50%, nghĩa là có 50% tổng số giao tác trong cơ sở dữ liệu D chứa XY. Như vậy, độ
phổ biến mang ý nghĩa thống kê của luật.
Trong một số trường hợp, chúng ta chỉ quan tâm đến những luật có độ phổ biến
cao (Ví dụ như luật kết hợp xét trong cửa hàng tạp hóa). Nhưng cũng có trường hợp,
mặc dù độ phổ biến của luật thấp, ta vẫn cần quan tâm (ví dụ luật kết hợp liên quan
đến nguyên nhân gây ra sự đứt liên lạc ở các tổng đài điện thoại).
* Độ tin cậy.
Định nghĩa 4: Độ tin cậy của một luật kết hợp X  Y là tỷ lệ giữa số lượng các
bản ghi trong D chứa XY với số bản ghi trong D có chứa tập hợp X. Ký hiệu độ tin
cậy của một luật là Conf(r). Ta có 0 ≤ Conf(r) ≤ 1. [3] [4]
Conf(XY, D) =

Supp(XY, D)
Supp(X, D)

Dựa vào định nghĩa trên ta có thể nói rằng khi độ tin cậy của một luật XY là
90%, có nghĩa là có tới 90% số bản ghi chứa X chứa ln cả Y. Hay nói theo ngôn
ngữ xác suất là “xác suất để sảy ra sự kiện Y đạt 90%” thì điều kiện ở đây chính là
“xảy ra sự kiện X”.

Như vậy, độ tin cậy của luật thể hiện sự tương quan giữa X và Y. Độ tin cậy đo
sức nặng của luật, và người ta hầu như chỉ quan tâm đến những luật có độ tin cậy cao.
* Luật kết hợp mạnh.
Một luật kết hợp X  Y được gọi là luật kết hợp mạnh (Strong association rule)
nếu độ tin cậy của nó Conf(XY, D) lớn hơn hoặc bằng một ngưỡng do người dùng
đặt ra.
* Ví dụ minh họa luật kết hợp.
Cho cơ sở dữ liệu giao tác D = {T1 ,T2 , T3, T4, T5 ,T6}
T1 = {thịt, sữa, bánh mỳ, gạo, bơ}
T2 = {sữa, quần, bia}

5


T3 = {sữa, bánh mỳ, bơ}
T4 = {thịt, trứng}
T5 = {thịt, sữa, bánh mỳ, khoai tây, bơ, giày}
T6 = {sữa, bánh mỳ, dầu ăn, cá, áo}
Xét luật {sữa, bánh mỳ}  {bơ}
Supp({sữa, bánh mỳ}  {bơ}, D) = Supp({sữa, bánh mỳ, bơ}, D)= 3
Conf({sữa, bánh mỳ}  {bơ}, D) =

Supp({sữa,bánh mỳ,bơ},D)
Supp({sữa,bánh mỳ},D)

=

3
4


= 0.75

1.1.3. Hướng tiếp cận khai phá luật kết hợp.
Khai phá luật kết hợp là một lĩnh vực nghiên cứu được nhiều người quan tâm
và có nhiều kết quả đã được công bố. Ở đây chỉ giới thiệu một số cách tiếp cận kinh
điển và cơ bản, làm cơ sở để phát triển các giải thuật mới.
Bài toán thứ nhất có thể chia nhỏ hơn nữa thành hai bài tốn: Tìm các tập mục
dữ liệu ứng cử viên và tìm các tập mục dữ liệu thường xuyên. Tập mục dữ liệu ứng
cử viên là những tập mục dữ liệu, mà ta phải tính độ hỗ trợ để xem nó có phải là tập
mục dữ liệu thường xun hay khơng. Tập mục dữ liệu thường xuyên là những tập
mục dữ liệu có độ hỗ trợ lớn hơn hay bằng ngưỡng tối thiểu cho trước. Phát triển giải
thuật khai phá luật kết hợp, là làm giảm độ phức tạp tính tốn của giải thuật để cải
thiện tốc độ xử lý.
Ta có thể phân loại các giải thuật tìm tập thường xuyên theo hai tiêu chí:
- Phương pháp duyệt qua khơng gian tìm kiếm
- Phương pháp xác định độ hỗ trợ của tập mục dữ liệu.
Với phương pháp duyệt qua không gian tìm kiếm được phân làm hai cách:
Duyệt theo chiều rộng (Breadth First Search – BFS) và duyệt theo chiều sâu (Depth
First Search – DFS).
Duyệt theo chiều rộng là duyệt qua dữ liệu nguyên bản, để tính độ hỗ trợ của tất
cả các tập ứng cử có k-1, mục dữ liệu trước khi tính độ hỗ trợ của các tập ứng cử có
k mục dữ liệu. Một cơ sở dữ liệu có n mục dữ liệu, trong lần lặp thứ k để tìm những
tập k-mục dữ liệu ứng cử, phải kiểm tra tất cả 𝐶𝑛𝑘 =

6

𝑛!
𝑘!(𝑛−𝑘)!

tập k-mục dữ liệu.



Duyệt theo chiều sâu, là duyệt qua cơ sở dữ liệu đã được chuyển thành cấu trúc
cây, quá trình duyệt được gọi đệ quy theo chiều sâu của cây.
Với cơ sở dữ liệu có n mục dữ liệu, I = {x1, x2, …, xn}, thì khơng gian tìm kiếm
là tập tất cả các tập con của I, đây là bài tốn NP khó, nếu khơng có phương pháp
duyệt thích hợp thì bài tốn khơng giải được khi n đủ lớn.
Phương pháp xác định độ hỗ trợ của tập mục dữ liệu X ⊆ I được phân làm hai
cách: Cách thứ nhất: Đếm số giao tác trong cơ sở dữ liệu chứa X. Cách thứ hai: Tính
phần giao của các tập định danh giao tác chứa X.
Phát biểu bài toán phát hiện luật kết hợp
Cho một tập các mục I, một cơ sở dữ liệu giao dịch D, ngưỡng hỗ trợ minsup,
ngưỡng tin cậy minconf. Tìm tất cả các luật kết hợp X Y trên CSDL D sao cho:
sup(X  Y) ≥ minsup và conf(X  Y) ≥ minconf. Bài toán khai thác luật kết hợp có
thể được chia ra làm 2 bài toán con được phát biểu trong giải thuật sau:
Nội dung giải thuật
Input: I, D, minsup, minconf
Output: tập R là các luật kết hợp thỏa mãn minsup và minconf
Phương thức:
(1) Tìm tất cả các tập mục phổ biến từ cơ sở dữ liệu D tức là tìm tất cả các tập
mục có độ hỗ trợ lớn hơn hoặc bằng minsup.
(2) Sinh ra các luật từ các tập mục phổ biến (large itemsets) sao cho độ tin cậy
của luật lớn hơn hoặc bằng minconf.
Bước 1: Tìm các tập mục phổ biến
Bước 2: Sinh các luật kết hợp từ tập mục phổ biến tìm được ở bước 1.
Tùy theo ngữ cảnh các thuộc tính dữ liệu, cũng như phương pháp sử dụng trong
các giải thuật; người ta có thể phân bài tốn khai phá luật kết hợp ra nhiều nhóm khác
nhau. Chẳng hạn, nếu giá trị của các thuộc tính có kiểu boolean thì ta gọi là khai phá
luật kết hợp Boolean (Mining Boolean Association Rules)…


7


1.2. Một số giải thuật khai phá luật kết hợp.
1.2.1. Giải thuật AIS
Giải thuật AIS (Agrawal Imielinski Swami) do Agrwal đưa ra năm 1993. Giải
thuật này khai phá luật kết hợp có dạng XY, với Y là tập mục chỉ bao gồm 1 thuộc
tính. Giải thuật tìm cách xây dựng các tập ứng viên cho tập mục thường xuyên. Với
cách đánh số thứ tự từ điển cho từng tính chất, việc bổ sung phần tử cho tập ứng viên
tránh được trùng lặp, do vậy tiết kiệm tối đa thời gian tính tốn. [4]
Số lượng các tập ứng cử viên q nhiều có thể gây ra hiện tượng tràn bộ nhớ.
Giải thuật đề nghị một phương án quản lý bộ nhớ hợp lý đề phịng trường hợp này:
khơng cho phép các ứng cử viên chiếm bộ nhớ, mà ghi thẳng chúng vào đĩa ở chế độ
thường trực.
Dưới đây là nội dung giải thuật ASI:
Input: CSDL D, minSup
Output: các tập mục phổ biến
Giải thuật:
L1 = {các tập 1 mục thường xuyên};
FOR (k=2; luat_ket_hop (k˗1) <> Ø; k++) DO
BEGIN
Ck = Ø;
FOR ALL các giao dịch t  D DO
BEGIN
Lt = Subset(Lk-1,t);//các tập mục phổ biến thuộc L(k-1) chứa trong giao
dịch t
FOR ALL các tập mục thường xuyên lt  Lt DO
BEGIN
Ct = tăng thêm một mục có trong giao dịch t;


8


FOR ALL các ứng cử viên c  Ct DO
IF c  Ck THEN
ADD tăng biến đếm của c thêm 1 cho mục tương ứng của Ck
ELSE ADD c vào Ck và tăng biến đếm tương ứng thêm 1;
END ;
END ;
Lk = { c  Ck | c.Count  minSup}
End;
Kết quả = k Lk ;
1.2.2. Giải thuật SETM
Giải thuật SETM (sifting and evaluation trust management) do Houtsma đưa ra
năm 1995. Giải thuật sử dụng kỹ thuật bổ sung dần dần từng phần tử (từ tập hợp 1
mục) nhằm tìm kiếm các tập hợp ứng cử viên. Một cải tiến đáng kể giải thuật là đề
nghị lưu lại cả ID của giao dịch cùng với tập hợp ứng cử viên. Agrawal đã chỉ ra, giải
thuật giả định đưa toàn bộ tập hợp ứng cử viên của bước trước vào bộ nhớ để bước
sau sử dụng. Sarawagi (người đề xuất luật kết hợp) đã chỉ ra giải thuật này không
hiệu quả. [4]
Input: CSDL D, minSup
Output: Các tập mục phổ biến
Giải thuật:
L1 = {các tập 1 mục thường xuyên};
L1'={các tập 1 mục thường xuyên có TID, sắp xếp theo TID};
FOR (k=2; luat_ket_hop (k˗1) <> Ø; k++ ) DO
BEGIN

9



Ck = Ø;
FOR ALL các giao dịch t  D DO
BEGIN
Lt = (l  L’k-1 | l.TID = t.TID); // các tập có (k - l) mục phổ biến trong giao
dịch t
FOR ALL các tập mục phổ biến lt  Lt DO
BEGIN
Ct = tăng lt thêm một mục có trong giao dịch t; //Các ứng cử viên có trong
t
C'k +={«t.TID, c»| c  Ct};
END;
END;
SORT C'k theo các tập mục;
DELETE các mục c  C'k có c.Count < minSup đưa vào L'k ;
Lk ={«l.itemset, COUNT OF(l L'k) » | l  L'k};
SORT L'k theo TID;
END
Kết quả = k Lk
1.2.3. Giải thuật Apriori
Giải thuật do Agrawal, Imielinski và Swami đưa ra năm 1993, được Cheung
đánh giá mang tính chất lịch sử trong lĩnh vực khai phá luật kết hợp, vì đã vượt xa
tầm của các giải thuật quen thuộc trong lĩnh vực này. Trong ngành khoa học máy tính
và khai phá dữ liệu, giải thuật Apriori là một trong các giải thuật điển hình được xem
xét khi nghiên cứu về luật kết hợp. Apriori được thiết kết dựa trên các cơ sở dữ liệu

10



×