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

Khai thác tập phổ biến đóng liên giao dịch

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 (1.55 MB, 58 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP. HCM
----------------------------------------

MAI CHÍNH HỮU

KHAI THÁC TẬP PHỔ BIẾN ĐÓNG LIÊN
GIAO DỊCH
LUẬN VĂN THẠC SĨ
Chuyên ngành: Công nghệ thông tin
Mã số ngành: 60480201

CÁN BỘ HƯỚNG DẪN KHOA HỌC: PGS. TS. VÕ ĐÌNH BẢY

TP. HỒ CHÍ MINH, tháng 3 năm 2017


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP. HCM
----------------------------------------

MAI CHÍNH HỮU

KHAI THÁC TẬP PHỔ BIẾN ĐÓNG LIÊN
GIAO DỊCH
LUẬN VĂN THẠC SĨ
Chuyên ngành: Công nghệ thông tin
Mã số ngành: 60480201
CÁN BỘ HƯỚNG DẪN KHOA HỌC: PGS. TS. VÕ ĐÌNH BẢY

TP. HỒ CHÍ MINH, tháng 3 năm 2017




CÔ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. VÕ ĐÌNH BẢY

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…
tháng… năm…..

Thành phần Hội đồng đánh giá Luận văn Thạc sĩ gồm:
TT
1
2
3
4
5

Họ và tên

Chức danh Hội đồng
Chủ tịch
Phản biện 1
Phản biện 2
Ủy viên
Ủy viên, Thư ký

Xác nhận của Chủ tịch Hội đồng đánh giá Luận văn sau khi Luận văn đã được sửa
chữa (nếu có).


Chủ tịch Hội đồng đánh giá LV


TRƯỜNG ĐH CÔNG NGHỆ
TP. HCM
PHÒNG QLKH - ĐTSĐH

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập – Tự do – Hạnh phúc
TP. HCM, ngày….. tháng….. năm 2017

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: ........................................................................Giới tính:………….
Ngày, tháng, năm sinh: ..............................................................Nơi sinh:…………..
Chuyên ngành: ...........................................................................MSHV: ……………
I- Tên đề tài:
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
II- Nhiệm vụ và nội dung:
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
III- Ngày giao nhiệm vụ: (Ngày bắt đầu thực hiện LV ghi trong QĐ giao đề tài)
IV- Ngày hoàn thành nhiệm vụ: ................................................................................
V- Cán bộ hướng dẫn: ...............................................................................................
CÁN BỘ HƯỚNG DẪN


KHOA QUẢN LÝ CHUYÊN NGÀNH


i

LỜI CAM ĐOAN
Tôi xin cam đoan đây 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 mọi sự giúp đỡ cho việc thực hiện Luận văn này đã được
cám ơn và các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn gốc.
Học viên thực hiện Luận văn


ii

LỜI CÁM ƠN
Trước tiên, tôi xin gửi lời cám ơn và lòng biết ơn sâu sắc nhất tới Phó Giáo sư
Tiến sĩ Võ Đình Bảy, người đã tận tình chỉ bảo và hướng dẫn tôi trong suốt quá trình
thực hiện luận văn tốt nghiệp.
Tôi chân thành cám ơn các thầy, cô đã tạo những điều kiện thuận lợi cho tôi học
tập và nghiên cứu tại Trường Đại học Công nghệ Tp. HCM.
Tôi cũng xin gửi lời cám ơn tới các anh chị và các bạn học viên trong nhóm “Khai
thác dữ liệu” đã giúp tôi rất nhiều trong việc hỗ trợ kiến thức chuyên môn để hoàn
thành tốt luận văn.
Cuối cùng, tôi muốn gửi lời cám ơn vô hạn tới gia đình và bạn bè, những người
thân yêu luôn bên cạnh và động viên tôi trong suốt quá trình thực hiện luận văn tốt
nghiệp.
Tôi xin chân thành cám ơn!
Học viên


Mai Chính Hữu


iii

TÓM TẮT
Việc khai thác các tập liên giao dịch từ những cơ sở dữ liệu lớn là một công việc
khai thác dữ liệu phổ biến, khai thác các tập trên một số giao dịch trong cơ sở dữ liệu
giao dịch. Đã có nhiều thuật toán đề xuất cho công việc này, tuy nhiên vẫn tốn kém về
mặt tính toán. Để giải quyết vấn đề trên, trong luận văn này, đề xuất một thuật toán
hiệu quả được gọi là DIC-Miner để khai thác các tập phổ biến đóng liên giao dịch.
Thuật toán đề xuất bao gồm bốn giai đoạn. Đầu tiên, thuật toán quét cơ sở dữ liệu một
lần để tìm tất cả các tập phổ biến có độ dài bằng 1 cùng với tidset của chúng. Giai đoạn
thứ hai, thuật toán sẽ sinh ra tất cả các tập ứng viên có độ dài bằng 1 với các giá trị
span khác nhau và sắp xếp tăng dần theo độ hỗ trợ. Giai đoạn tiếp theo, dựa vào các
đối tượng được tìm thấy trong giai đoạn 1 và 2, thuật toán tìm tất cả các tập phổ biến
có độ dài bằng 2 được lưu với diffset. Trong giai đoạn 4, thuật toán sử dụng diffset và
kỹ thuật duyệt theo chiều sâu DFS (Depth-First-Search) để tìm tất cả các tập phổ biến
đóng liên giao dịch (FITIs). Ngoài ra, ba mệnh đề cũng giúp tỉa sớm các mẫu không
phổ biến trong quá trình khai thác. Mệnh đề 1 được sử dụng để tỉa sớm các tập không
phổ biến liên giao dịch có độ dài bằng 1, mệnh đề 2 được sử dụng để tính nhanh độ hỗ
trợ của các tập, và mệnh đề 3 (subsume concept) được dùng để tính nhanh độ hỗ trợ
của các tập và tỉa sớm các tập không phổ biến, điều này sẽ giảm không gian tìm kiếm.
Thông qua kết quả thực nghiệm, thuật toán đề xuất hiệu quả hơn thuật toán IC-Miner
về cả thời gian khai thác và bộ nhớ sử dụng.


iv


ABSTRACT
Mining inter-transaction itemsets from large databases is a common data mining
task, which discovers the itemsets across several transactions in a transaction database.
Although, several algorithms have been proposed for this task, they remain
computationally expensive. To address this issue, in this thesis, we propose an efficient
algorithm called DIC-Miner to mine closed inter-transaction itemsets. Our proposed
algorithms consists of four phases. First, we scan the database once to find frequent 1itemsets with their tidsets. Second, we generate inter-transaction 1-itemset candidates
with the given span values and sort all the frequent 1-itemsets in an ascending order
according to their supports. Third, based on frequent items found in phases 1 and 2, we
find frequent 2-itemsets with their diffsets. In the fourth phase, we use diffsets and
DFS (Depth-First-Search) technique to find all frequent closed inter-transaction
itemsets (FITIs). In addition, three propositions are also offered to early prune
infrequent itemsets in the processing. Proposition 1 is used to early prune infrequent
inter-transaction 1-itemsets, proposition 2 is used to quickly compute the support of
itemsets, and proposition 3 (subsume concept) is used to quickly compute the support
of itemsets and to early prune infrequent itemsets, which reduce the search space.
Through experimental results, we find out our proposed algorithm is more efficient
then IC-Miner in both the mining time and the memory usage.


v

MỤC LỤC
Chương 1: ......................................................................................................................1
GIỚI THIỆU..................................................................................................................1
1.1 Tổng quan ............................................................................................................1
1.2 Giới thiệu bài toán tìm tập phổ biến và luật kết hợp............................................2
1.3 Mục tiêu của đề tài ...............................................................................................4
1.4 Cấu trúc luận văn .................................................................................................4
Chương 2: ......................................................................................................................5

CÁC NGHIÊN CỨU LIÊN QUAN ..............................................................................5
2.1 Cơ sở dữ liệu giao dịch (transaction) ...................................................................5
2.1.1 Cơ sở dữ liệu giao dịch nội (intra-transaction) ..............................................5
2.1.2 Cơ sở dữ liệu liên giao dịch (inter-transaction) .............................................6
2.1.3 Cửa sổ trượt (Sliding Window) .....................................................................7
2.1.4 Quan hệ khoảng cách .....................................................................................8
2.1.5 So sánh quan hệ giữa hai item .......................................................................8
2.1.6 Inter-transaction .............................................................................................9
2.1.7 Inter-transaction mở rộng ..............................................................................9
2.1.8 Chiều dài của tập đối tượng ...........................................................................9
2.1.9 Quan hệ giữa hai tập đối tượng .....................................................................9
2.1.10 Siêu tập đối tượng (Super-itemset) ...........................................................10
2.1.11 Độ phổ biến ...............................................................................................10
2.2 Tập phổ biến và tập phổ biến đóng ....................................................................10
2.2.1 Tập phổ biến ................................................................................................10
2.2.2 Tập phổ biến đóng .......................................................................................11
2.2.3 Kết nối Galois ..............................................................................................11
2.2.4 Toán tử đóng ................................................................................................12
2.2.5 Tập đóng ......................................................................................................12
2.3 Tập phổ biến liên giao dịch ................................................................................12
2.4 Tập phổ biến đóng liên giao dịch.......................................................................15
2.4.1 Sử dụng hướng tiếp cận bảng băm ..............................................................15
2.4.2 Sử dụng các chiến lược cắt xén (Pruning Strategies) ..................................16


vi

2.5 Thuật toán IC–Miner (Inter – Transaction Closed Miner) ................................19
2.5.1 Thuật toán IC-Miner ....................................................................................19
2.5.2 Ví dụ minh họa ............................................................................................23

Chương 3: ....................................................................................................................26
KHAI THÁC TẬP PHỔ BIẾN ĐÓNG LIÊN GIAO DỊCH SỬ DỤNG DIFFSET ...26
3.1 Khái niệm diffset................................................................................................26
3.2 Nhận xét về IT-PAIR .........................................................................................27
3.3 Thuật toán DIC-Miner .......................................................................................28
3.4 Ví dụ minh họa...................................................................................................30
Chương 4: ....................................................................................................................34
KẾT QUẢ THỰC NGHIỆM ......................................................................................34
4.1 Môi trường và cơ sở dữ liệu thực nghiệm .........................................................34
4.2 So sánh về thời gian khai thác ...........................................................................35
4.3 So sánh về bộ nhớ sử dụng ................................................................................38
4.4 Nhận xét kết quả thực nghiệm ...........................................................................41
Chương 5: ....................................................................................................................42
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ..................................................................42
TÀI LIỆU THAM KHẢO ...........................................................................................44


vii

DANH MỤC CÁC TỪ VIẾT TẮT
• dat

Chỉ số thứ tự của item trong transaction.

• inter-transaction

Khai thác luật kết hợp liên giao dịch.

• intra-transaction


Khai thác luật kết hợp nội giao dịch.

• item

Chỉ mục dữ liệu.

• itemset

Tập các mục dữ liệu.

• IT-PAIR

Cặp các chỉ số thứ tự và các tập đối tượng.

• IT-tree

Cây tìm kiếm chứa các tập đối tượng.

• k-itemset

Tập dữ liệu có chiều dài k.

• maxSpan

Tham số kích thước cửa sổ trượt.

• mega-transaction

Một tập hợp dữ liệu transaction lớn.


• minSup

Giá trị độ hỗ trợ nhỏ nhất.

• super-itemset

Siêu tập đối tượng.

• subset

Tập con.

• sup(x)

Tính giá trị độ hỗ trợ của x.

• Tdat

Giá trị itemset tại dat.

• Transaction

Tập tất cả các giao dịch.


viii

DANH SÁCH CÁC BẢNG
Bảng 2.1: Các item phân biệt trong cơ sở dữ liệu
Bảng 2.2 Cơ sở dữ liệu mẫu

Bảng 2.3 Tất cả các itemset phổ biến thỏa độ hỗ trợ nhỏ nhất = 50%
Bảng 2.4 Cơ sở dữ liệu mẫu
Bảng 2.5 Tập đóng các tập liên giao dịch được tìm thấy
Bảng 3.1 So sánh độ dài trung bình giữa tidset và diffset trên các CSDL chuẩn
Bảng 3.2 Tập đóng các tập liên giao dịch được tìm thấy
Bảng 4.1 Các tính chất của các cơ sở dữ liệu thực nghiệm

5
5
6
7
24
27
32
34


ix

DANH SÁCH CÁC HÌNH
Hình 1.1 Quy trình khai thác dữ liệu.
Hình 2.1: Kết nối Galois
Hình 2.2 Các thao tác trên tính chất 1
Hình 2.3 Các thao tác trên tính chất 2
Hình 2.4 Các thao thác trên tính chất 3
Hình 2.5 Các thao tác trên tính chất 4
Hình 2.6 Tổng quan 4 tính chất của IT-PAIR
Hình 2.7 Thuật toán IC-Miner
Hình 2.8 Thủ tục DFS
Hình 2.9 IT-tree của cơ sở dữ liệu biểu diễn tương ứng trong Ví dụ 2.2

Hình 3.1 Thuật toán DIC-Miner
Hình 3.2 Thủ tục DFS
Hình 3.3 IT-tree sử dụng diffset của cơ sở dữ liệu biểu diễn trong Ví dụ 2.2
Hình 4.1 Biểu đồ so sánh thời gian khai thác, CHESS với maxSpan = 1
Hình 4.2 Biểu đồ so sánh thời gian khai thác, CHESS với minSup=95%
Hình 4.3 Biểu đồ so sánh thời gian khai thác, ACCIDENT với maxSpan = 1
Hình 4.4 Biểu đồ so sánh thời gian khai thác, ACCIDENT với minSup = 95%
Hình 4.5 Biểu đồ so sánh thời gian khai thác, CONNECT với maxSpan = 1
Hình 4.6 Biểu đồ so sánh thời gian khai thác, CONNECT với minSup = 95%
Hình 4.7 So sánh về bộ nhớ sử dụng, CHESS với maxSpan = 1
Hình 4.8 So sánh về bộ nhớ sử dụng, CHESS với minSup = 95%
Hình 4.9 So sánh về bộ nhớ sử dụng, ACCIDENT với maxSpan = 1
Hình 4.10 So sánh về bộ nhớ sử dụng, ACCIDENT với minSup = 95%
Hình 4.11 So sánh về bộ nhớ sử dụng, CONNECT với maxSpan = 1
Hình 4.12 So sánh về bộ nhớ sử dụng, CONNECT với minSup = 95%

3
11
17
17
17
18
18
19
21
24
28
30
31
35

35
36
36
37
37
38
38
39
39
40
40


1

Chương 1:
GIỚI THIỆU
 Chương này trình bày tổng quan về khai thác dữ liệu và luật kết hợp, đồng
thời nêu lên mục đích, nội dung, ý nghĩa và tóm tắt các phần nội dung của đề tài.
1.1 Tổng quan
Năm 2007, Lee và các đồng sự đã đề xuất một phương thức hiệu quả cho việc
khai thác tất cả các tập phổ biến liên giao dịch. Bằng cách sử dụng cây ITP-tree và
thuật toán ITP-Miner, kết quả thực nghiệm cho thấy rằng thuật toán ITP-Miner [6] tốt
hơn thuật toán FITI (First Intra Then Inter) [10][11][14] về thời gian khai thác và bộ
nhớ sử dụng trên cùng các cơ sở dữ liệu thực nghiệm.
Tuy nhiên, các tập phổ biến liên giao dịch do thuật toán ITP-Miner khai thác được
là rất lớn, trong đó có những tập trùng lắp và dư thừa. Do đó, vào năm 2008, Lee và
các đồng sự đã đề xuất thuật toán IC – Miner (Inter-transaction Closed itemsets Miner)
[7] cho việc khai thác các tập phổ biến đóng liên giao dịch. Bằng cách sử dụng cây IDtree, các tính chất về tập đóng của thuật toán CHARM [18] và tính chất Apriori
(Downdward closure property) [1] để khai thác các tập phổ biến đóng liên giao dịch,

kết quả thực nghiệm cho thấy tập phổ biến khai thác được của thuật toán IC-Miner đầy
đủ và không dư thừa so với các thuật toán trước đó như EH-Apriori [11], FITI
[10][11][14], ClosedPROWL [5], và ITP-Miner [6] trong hầu hết các trường hợp.
Thuật toán IC-Miner khai thác hiệu quả tập phổ biến đóng liên giao dịch dùng
cây ID-tree, mỗi nút trên cây là một tập phổ biến đóng và tidset của nó. Trong thực tế,
tidset lớn hơn rất nhiều so với diffset nên việc dùng diffset để lưu thông tin các giao
dịch tại mỗi nút trên cây ID-tree là hiệu quả hơn so với tidset về bộ nhớ sử dụng và
thời gian khai thác vì không cần tính phần khác nhau giữa các tidset của các nút thuộc
cùng một lớp tương đương.


2

Vì vậy, trong luận văn này chúng tôi đề xuất một thuật toán cải tiến khai thác tập
phổ biến đóng liên giao dịch dùng lại cây ID-tree với diffset.
1.2 Giới thiệu bài toán tìm tập phổ biến và luật kết hợp
Ngày nay, khối lượng thông tin trong nhiều lĩnh vực của đời sống, kinh tế xã hội
ngày càng lớn đồng nghĩa với lượng dữ liệu được thu thập và tích lũy, lưu trữ ngày
càng nhiều. Các hệ cơ sở dữ liệu không khai thác được hết ý nghĩa của những thông
tin này. Để khai thác được hết ý nghĩa trên, con người cần phải tốn rất nhiều thời gian
để nắm bắt và xử lý dữ liệu. Trong thực tế, có nhiều quyết định và dự đoán trước cần
được đưa ra nhanh chóng từ khối lượng cơ sở dữ liệu lớn ở trên. Điều này vượt ngoài
khả năng của các hệ quản trị cơ sở dữ liệu hiện tại. Từ đó khai thác dữ liệu (KDD –
Knowledge Discovery in Databases) ra đời để giải quyết vấn để trên. Khai thác dữ liệu
là một quá trình trích xuất những thông tin ẩn, trước đây chưa biết và có khả năng hữu
ích, dưới dạng các qui luật, ràng buộc, quy tắc trong cơ sở dữ liệu. Hay có thể nói khai
thác dữ liệu là việc sử dụng dữ liệu hiện tại để khám phá những quy tắc và cải thiện
những quyết định trong tương lai.
Bài toán khai thác dữ liệu gồm các bước sau:
➢ Tổng hợp dữ liệu

o Tập hợp dữ liệu cần được khai thác từ các tập dữ liệu lớn.
➢ Lựa chọn và tiền xử lý dữ liệu
o Chọn dữ liệu cần xử lý khai thác.
o Tiền xử lý dữ liệu:
▪ Làm sạch dữ liệu: Xử lý các dữ liệu không đầy đủ, dữ liệu
nhiễu, dữ liệu không nhất quán, v.v…
▪ Rút gọn dữ liệu: Sử dụng các phương pháp thu gọn dữ liệu,
histograms, lấy mẫu, v.v…
▪ Rời rạc hóa dữ liệu: Dựa vào histograms, entropy, phân
khoảng, v.v…


3

o

Biến đổi dữ liệu: Chuẩn hóa và làm mịn dữ liệu để đưa dữ liệu về

dạng thuận lợi nhất nhằm phục vụ cho các kỹ thuật khai thác ở bước
sau.
➢ Khai thác dữ liệu: Đây là bước quan trọng và tốn nhiều thời gian nhất
của quá trình khám phá tri thức, áp dụng các kỹ thuật khai thác (phần
lớn là các kỹ thuật của máy học) để khai thác, trích chọn được các mẫu
thông tin, các mối liên hệ đặc biệt trong dữ liệu.
➢ Đánh giá và biểu diễn tri thức: Dùng các kỹ thuật hiển thị dữ liệu để
trình bày các mẫu thông tin (tri thức) và mối liên hệ đặc biệt trong dữ
liệu đã được khai thác ở bước trên biểu diễn theo dạng gần gũi với người
sử dụng như đồ thị, cây, bảng biểu, luật kết hợp. v.v… Đồng thời bước
này cũng đánh giá những tri thức khám phá được theo những tiêu chí
nhất định.


Trong giai đoạn khai thác dữ liệu, có thể cần sự tương tác của người dùng để điều
chỉnh và rút ra các tri thức cần thiết nhất. Các tri thức nhận được cũng có thể được lưu
và sử dụng lại.

Hình 1.1 Quy trình khai thác dữ liệu.


4

1.3 Mục tiêu của đề tài
❖ Mục tiêu nghiên cứu của luận văn nhằm:
o Tìm hiểu tổng quan về khai thác dữ liệu. Các khái niệm cơ bản
về khai thác inter-transaction.
o Cài đặt và cải tiến thuật toán IC – Miner khai thác tập phổ biến
đóng inter – transaction sử dụng diffset.
1.4 Cấu trúc luận văn
Bố cục của luận văn bao gồm 5 chương được tóm tắt như sau:
Chương 1 Trình bày tổng quan về khai thác dữ liệu và luật kết hợp, đồng thời
nêu lên mục đích, nội dung, ý nghĩa và tóm tắt các phần nội dung của đề tài.
Chương 2 Trình bày những nghiên cứu liên quan đến khai thác liên giao dịch.
Chương 3 Thuật toán khai thác tập phổ biến đóng liên giao dịch sử dụng diffset.
Chương 4 Kết quả thực nghiệm.
Chương 5 Kết luận và hướng phát triển.


5

Chương 2:
CÁC NGHIÊN CỨU LIÊN QUAN

2.1 Cơ sở dữ liệu giao dịch (transaction)
2.1.1 Cơ sở dữ liệu giao dịch nội (intra-transaction)
Cho I = {i1, i2, …, im} là một tập hợp các dữ liệu (itemset) khác nhau và T = {t1,
t2, …, tk} là tập các giao dịch (transaction) trong cơ sở dữ liệu giao dịch D.
Cơ sở dữ liệu được cho là quan hệ hai ngôi δ ⊆ I×T. Nếu mục i∈I xảy ra trong
giao dịch t ∈T thì ta viết là: (i, t)∈δ, ký hiệu: iδt.[18].
Ví dụ 2.1: Xét các item cơ sở dữ liệu phân biệt như sau:
Bảng 2.1: Các item phân biệt trong cơ sở dữ liệu
Jane Austen

Agatha Christie

Sir Arthur
Conan Doyle

A

C

D

Mark Twain
T

Bảng 2.2 Cơ sở dữ liệu mẫu
Mã giao dịch

Nội dung giao dịch

(Transaction)


(Item)

1

A, C, T, W

2

C, D, W

3

A, C, T, W

4

A, C, D, W

5

A, C, D, T, W

6

C, D, T

P.G.
Wodehouse
W



6

Bảng 2.3 Tất cả các itemset phổ biến thỏa độ hỗ trợ nhỏ nhất = 50%
Độ hỗ trợ (Support)

Itemset

100% (6)

C

83% (5)

W, CW

67% (4)

A, D, T, AC, AW, CD, CT, ACW

50% (3)

AT, DW, TW, ACT, ATW, CDW, CTW, ACTW

Giao dịch thứ hai có thể được biểu diễn là {Cδ2, Dδ2, Wδ2}.
2.1.2 Cơ sở dữ liệu liên giao dịch (inter-transaction)
Cho I = {i1, i2, …, im} là một tập hợp các item khác nhau, A={a1, a2, …, an} là
một tập hợp các miền giá trị thuộc tính. Các thuộc tính có thể là thuộc tính dạng chiều.
Các thuộc tính dạng chiều có tính chất kết hợp với item như là thời gian, địa điểm.

Miền giá trị có độ dài bằng nhau. Ví dụ như thời gian có thể chia thành ngày, tuần,
tháng, v.v… Các khoảng cách giá trị này được thể hiện bởi các số nguyên 0, 1, 2, v.v…
vẫn không mất tính tổng quát. Một cơ sở dữ liệu giao dịch D có chứa một tập các giao
dịch dạng <dat, Tdat>, với dat ∈ A (Giá trị dat thường sử dụng là thuộc tính thời gian,
khoảng cách và dat có giá trị thuộc miền giá trị của Tdat.), Tdat ⊆ I, Tdat là một itemset.
Chúng ta cũng có thể nói rằng các Tdat itemset xảy ra trong một giao tác với miền thuộc
tính dat, hoặc xảy ra tại dat.[6][7].
Ví dụ 2.2: Xét các item cơ sở dữ liệu phân biệt như sau:


7

Bảng 2.4 Cơ sở dữ liệu mẫu
Dat Itemset

I={a, b, c, d} A={1, 2, 3, 4, 5, 6}

1

{a, b, d}

2

{b}

3

{a,b}

4


{a, b, c}

T1={a, b, d}

T2={b}

5

{a, b, c, d}

T3={a, b}

T4={a, b, c}

6

{a, c}

T5={a, b, c, d}

T6={a, c}

D={<1, T1>, <2, T2>, <3, T3>, <4, T4>, <5, T5>,
<6, T6>}

Xét các cơ sở dữ liệu được biểu diễn như trên. Giao dịch trên cơ sở dữ liệu D
chứa sáu giao dịch, cụ thể là: <1, T1>, <2, T2>, <3, T3>, <4, T4>, <5, T5>, <6, T6>.
T1 là một itemset {a, b, d} và xảy ra tại dat =1. Nếu cơ sở dữ liệu ghi nhận sự
tăng/giảm giá của các cổ phiếu giao dịch cuối mỗi ngày, điều này có nghĩa là trong

giao dịch đầu tiên giá cổ phiếu của a, b, và d tăng/giảm trong ngày đầu tiên này.
Khi một luật kết hợp nối các item có cùng khoảng cách giá trị, các luật kết hợp
này có thể nói là có biên độ tham chiếu chéo m. Tham biến khai thác này được gọi là
maxSpan (kích thước cửa sổ trượt), chỉ có các luật có biên độ nhỏ hơn hoặc bằng với
giá trị maxSpan sẽ được khai thác. Khái niệm cửa sổ trượt được định nghĩa như sau:
2.1.3 Cửa sổ trượt (Sliding Window) [14]
Một cửa sổ trượt W là một khối liên tục có chiều dài maxSpan là các giao dịch
liên tục (continuous transactions) với các thuộc tính dạng chiều có thứ tự, bắt đầu từ
giao dịch ti. Mỗi giao dịch tij trong Wi được gọi là một subwindow (cửa sổ con hay còn
gọi là thành phần của cửa sổ trượt) của Wi ký hiệu là Wi[j], trong đó j=tij – ti. Vì vậy,
cơ sở dữ liệu D với chiều dài N có thể được chia thành N cửa sổ trượt, như sau:
W1 = (t1, t2, …, t1+maxSpan-1), W2 = (t2, t3, …, t2+maxSpan-1),…,
Wk = (tk, tk+1, …, tk+maxSpan-1),…, WN = (tn).


8

Ví dụ 2.3: Một giao tác cơ sở dữ liệu D có chứa một tập các giao dịch dạng Tdat>, với dat ∈ A, Tdat ⊆ I, Tdat là một itemset, và dat là miền giá trị thuộc tính của Tdat
mà mô tả như một thuộc tính, chẳng hạn như thời gian kết hợp đánh dấu với Tdat mà
mô tả như một thuộc tính, chẳng hạn như thời gian kết hợp đánh dấu với Tdat. Chúng
ta cũng có thể nói rằng các Tdat itemset xảy ra trong một giao tác với các miền thuộc
tính dat, hoặc xảy ra tại dat.
2.1.4 Quan hệ khoảng cách
Cho <u,Tu> và <v,Tv> là hai giao tác trong một giao tác cơ sở dữ liệu. Quan hệ
khoảng cách giữa u và v được định nghĩa là (u-v), điều kiện u>v, và v được gọi là điểm
tham chiếu. Đối với v, một item ik tại u được gọi là một item mở rộng và được thể hiện
là ik(u-v), với (u-v) được gọi là biên độ mở rộng của các item. Tương tự như vậy, đối
với v (hoặc giao tác tại v), một giao tác tại Tu được gọi là một giao tác mở rộng và thể
hiện là Tu(u-v). Vì vậy, một giao tác mở rộng bao gồm một tập hợp các item mở rộng.

Ví dụ 2.4: Tu (u-v) = {i1(u-v), …, is(u-v)}, điều kiện s là số lượng của item trong Tu.
Trong cơ sở dữ liệu được biểu diễn trong Ví dụ 2.2, việc mở rộng giao tác của giao
dịch tại dat=3 liên quan đến giao tác tại dat = 1 là {a(2), b(2)}.
2.1.5 So sánh quan hệ giữa hai item
Cho xi(di) và xj(dj) là hai item được mở rộng.
• xi (di) < xj(dj) nếu:
o dihoặc
o di = dj và xi < xj.
Hơn thế nữa, xi (di)= xj (dj) nếu di = dj và xi = xj.
Ví dụ 2.5: Xét các cơ sở dữ liệu được hiển thị trong Ví dụ 2.2 ta có a(0) < b(0), và
b(0) < a(1).


9

2.1.6 Inter-transaction
Một Inter-transaction là một tập hợp các item mở rộng, {x1(d1), x2(d2), …, xk(dk)},
điều kiện d1 = 0, dk ≤ maxSpan. Biên mở rộng (maxSpan) là một giá trị đặc biệt mà
người dùng chỉ định giá trị tối đa khoảng cách mở rộng, xi(di)2.1.7 Inter-transaction mở rộng
Để có một giao tác <d1, Td1> trong một giao tác cơ sở dữ liệu D, một siêu giao
dịch (mega-transaction), Md1 là một tập các giao tác mở rộng trong D đối với d1.
Nghĩa là :
M1 = Td1 (0) ∪ Td2 (d2 – d1) ∪ Td3 (d3-d1) ∪…∪ Tdk (dk-d1)
Với : <d1, Td1>, <d2, Td2>,…, <dk, Tdk> là các giao tác liên tiếp trong D
di < di+1, i < k, và dk – d1 ≤ maxSpan.
Lưu ý: Md1 cũng là một itemset Inter-transaction, điều kiện d1 là điểm tham chiếu.
Ví dụ 2.6: Xét các cơ sở dữ liệu được hiển thị trong Ví dụ 2.2
Với maxSpan = 1, cơ sở dữ liệu sau chứa 6 mega-transaction:

M1 = {a(0), b(0), d(0), b(1)}, M2 = {b(0), a(1), b(1)}, M3 = {a(0), b(0), a(1),
b(1), c(1)}, M4 = {a(0), b(0), c(0), a(1), b(1), c(1), d(1)}, M5 = {a(0), b(0), c(0),
d(0), a(1), c(1)}, và M6 = { a(0), c(0)}.
2.1.8 Chiều dài của tập đối tượng
Số lượng của các item mở rộng trong một tập đối tượng được gọi là độ dài của
tập đối tượng. Một tập đối tượng có chiều dài k được gọi là k-itemset.
2.1.9 Quan hệ giữa hai tập đối tượng
Cho X = {x1(i1), x2(i2), …, xm(im)} và Y = {y1(j1), y2(j2), …, yn(jn)} là hai tập đối
tượng, tương ứng.


X = Y nếu xi(ii) = yi(ji) cho 1 ≤ i ≤ m, điều kiện i1 = j1 = 0 và m = n.



X < Y nếu x1(0)o

xi (ii) = yi (ji) với 1 ≤ i ≤ k,


10

o

và xk+1 (ik+1)
Ví dụ 2.7: {a(0), d(1)} = {a(0), d(1)}, và {a(0), b(1), d(1)} < {a(0), d(1)}.
2.1.10 Siêu tập đối tượng (Super-itemset)
Cho X = {x1(i1), x2(i2), …, xm(im)} và Y = {y1(j1), y2(j2), …, yn(jn)} là hai tập đối

tượng, tương ứng. Chúng ta nói rằng Y là một siêu tập đối tượng (super-itemset) (hoặc
superset) của X, nếu chúng ta có thể tìm một số nguyên không âm s và m item mở rộng
trong Y, ye1(je1), ye2(je2), …, yem(jem), như vậy ye1(je1-s) = x1(i1), ye2(je2-s) = x2(i2), …,
yem(jem - s) = xm (im). X là một subitemset (hoặc subset) của Y, biểu hiện như X ⊂ Y. Lưu
ý rằng nếu s bằng 0, chúng ta nói Y chứa X hoặc X là một tập con (subset) thích hợp
của Y, biểu diễn như X ⊂ p Y.
2.1.11 Độ phổ biến
Cho cơ sở dữ liệu (CSDL) giao dịch D và tập dữ liệu X ⊆ I. Độ phổ biến của X
trong D, ký hiệu sup(X), được định nghĩ là số giao dịch mà X xuất hiện trong D (tập
hợp của mega-transactions trong D có chứa X ký hiệu là |Dx|).
2.2 Tập phổ biến và tập phổ biến đóng
2.2.1 Tập phổ biến
Cho cơ sở dữ liệu giao dịch D, một inter-transaction itemset X được gọi là một
tập phổ biến nếu sup(X) ≥ minSup (một ngưỡng giá trị hỗ trợ tối thiểu do người sử
dụng chỉ định).
Hơn nữa, chúng ta có thể nói rằng Y xếp vào nhóm X nếu Y là một tập cha (superitemset) của X và cả hai có độ hỗ trợ bằng nhau. Cho ví dụ, giả sử rằng một X1 = {a(0),
c(0)}, X2 = {b(0), c(1)} và Y = {a(0), b(0), a(1), c(1)}. Sau đó, chúng ta có X1 ⊂ Y và
X2 ⊂p Y. Nếu X1, X2, và Y có độ hỗ trợ bằng nhau, Y xếp vào cả hai nhóm X1 và X2.
Xét Ví dụ 2.2, giả sử rằng maxSpan = 1, minSup = 3 và X = {a(0), c(1)}. Khi
thành lập mega-transaction bởi các giao dịch thứ 3 thứ 4, {a(0), b(0), a(1), b(1), c(1)},
chứa X, sup(X) được đặt thành 1. Hơn nữa, mega-transaction thành lập bởi các giao
dịch thứ 4 và thứ 5, {a(0), b(0), c(0), a(1), b(1), c(1), d(1)}, chứa X. Như vậy, sup(X)


11

là lượng gia tăng bằng 1. Tức là, sup(X) = 2. Hơn thế nữa, mega-transaction thành lập
bởi các giao dịch thứ 5 và thứ 6, {a(0), b(0), c(0), d(0), a(1), c(1)}, chứa X. sup(X) là
lượng gia tăng bằng 1. Tức là, sup(X) = 3. Do đó, X là một tập phổ biến.
2.2.2 Tập phổ biến đóng

Một tập phổ biến X là tập đóng nếu không tồn tại một itemset X’ sao cho:
• X ⊂ X’
• sup(X’) = sup(X)
Tức là X không thể xếp gộp vào bất kỳ tập phổ biến nào khác.
Ví dụ 2.8: Với X = {a(0), c(1)}, Y = {a(0), b(0), a(1), c(1)}, và sup(X) = sup(Y). Nếu
cả hai tập là phổ biến, X không phải là tập đóng khi X⊂Y. Tương tự, nếu Y không là
super-itemset có giá trị hỗ trợ bằng nhau với X, thì đó là một tập đóng các itemset.
2.2.3 Kết nối Galois
Cho quan hệ hai ngôi δ ⊆ I × T chứa CSDL cần khai thác. Với: X ⊆ I và Y⊆T,
[18] định nghĩa hai ánh xạ giữa P(I) (Tập tất cả các tập con ≠ ∅ của I) và P(T)
như sau:
• t: P(I ) →P(T ), t(X) = {y∈T | ∀x∈X, x δ y}
• i: P(T) →P(I ), i(Y) = {x∈I | ∀y∈Y, x δ y}

Hình 2.1: Kết nối Galois


12

2.2.4 Toán tử đóng
Cho X⊆I và ánh xạ c: P(I)→P(T) với c(X) = i(t(X)). Ánh xạ c được gọi là toán
tử đóng.
Ví dụ 2.9: Xét ví dụ được cho trong Ví dụ 2.2
c(AW) = i(t(AW)) = i(1345) = ACW.
c(ACW) = i(t(ACW)) = i(1345) = ACW.
2.2.5 Tập đóng
X ⊆ I được gọi là tập đóng khi và chỉ khi c(X) = X. X được gọi là tập phổ biến
đóng nếu X phổ biến và X là tập đóng.
Ví dụ 2.10
Xét CSDL được cho trong Ví dụ 2.1 ta có:

Do c(AW) = i(t(AW)) = i(1345) = ACW => AW không phải là tập đóng.
Do c(ACW) = i(t(ACW)) = i(1345) = ACW => ACW là tập đóng.
2.3 Tập phổ biến liên giao dịch [6]
Giới thiệu một số ký hiệu và mô tả về khai thác tập phổ biến liên giao dịch:
Định nghĩa 2.1 Xét I là một tập các đối tượng dữ liệu, và N là một tập các số nguyên
không âm được gọi là các tidset. Một cơ sở dữ liệu giao dịch bao gồm một tập các giao
dịch, trong đó mỗi giao dịch có dạng <t,s>, t 𝜖 N và s ⊆ I; t được gọi là mã giao dịch
(hay dat), và s được gọi là một itemset.
Mã giao dịch mô tả những thuộc tính kết hợp với các đối tượng dữ liệu, như là
thời gian, địa điểm. Theo thứ tự, có thể chia thành những khoảng thời gian bằng nhau.
Ví dụ, thời gian có thề chia thành các ngày, các tuần, v.v… Những khoảng thời gian
này có thể được thay thế bởi các số nguyên không âm như 0, 1, 2 v.v... Một itemset
được ký hiệu là {u1, u2, …, uk}, trong đó ui là một item, 1 ≤ i ≤ k; và các item trong
một itemset được liệt kê theo thứ thự anpha-bê. Chúng ta viết {a, c, d} thay vì viết {c,
a, d}. Bảng 2.4 thể hiện một cơ sở dữ liệu giao dịch gồm 6 giao dịch.


×