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

KHAI THÁC LUẬT kết hợp từ các mẫu hữu ÍCH CAO

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 (7.44 MB, 70 trang )

ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
-------------- --------------

MAI HOÀNG THẮNG

KHAI THÁC LUẬT KẾT HỢP TỪ CÁC
MẪU HỮU ÍCH CAO

LUẬN VĂN THẠC SĨ
NGÀNH KHOA HỌC MÁY TÍNH
Mã số: 60.48.01

THÀNH PHỐ HỒ CHÍ MINH, NĂM 2017


ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
-------------- --------------

MAI HOÀNG THẮNG

KHAI THÁC LUẬT KẾT HỢP
TỪ CÁC MẪU HỮU ÍCH CAO

LUẬN VĂN THẠC SĨ
NGÀNH KHOA HỌC MÁY TÍNH
Mã số: 60.48.01

NGƯỜI HƯỚNG DẪN KHOA HỌC
TS. PHẠM THỊ THIẾT



THÀNH PHỐ HỒ CHÍ MINH, NĂM 2017


LỜI CAM ĐOAN
Tôi cam đoan rằng luận văn “Khai thác luật kết hợp từ các mẫu hữu ích cao”
là nội dung nghiên cứu của chính bản thân.
Luận văn có sử dụng thông tin trích dẫn từ nhiều nguồn khác nhau, các thông tin
được trích dẫn đều ghi rõ nguồn gốc.
Không có sản phẩm/ nghiên cứu nào của người khác được sử dụng trong luận
văn này mà không được trích dẫn theo đúng quy định.

TPHCM, ngày…..tháng….năm….
Tác giả

Mai Hoàng Thắng


LỜI CẢM ƠN
Lời đầu tiên tôi xin chân thành cảm ơn TS. Phạm Thị Thiết, TS. Nguyễn Thị
Thúy Loan đã tận tình hướng dẫn tôi trong suốt thời gian thực hiện luận văn.
Tôi xin bày tỏ lòng biết ơn đến quí cô, quí thầy trong Viện đào tạo Sau Đại học
trường Đại học Công nghệ Thông tin đã cung cấp những kiến thức quý báu cho tôi
trong suốt quá trình học tập và nghiên cứu tại trường.
Tôi cũng xin gởi lời cảm ơn đến gia đình, bạn bè và những người thân luôn
quan tâm và giúp đỡ tôi trong suốt thời gian học tập và nghiên cứu để hoàn thành luận
văn này.
Do thời gian và kiến thức có hạn nên luận văn chắc không tránh khỏi những
thiếu sót nhất định. Tôi rất mong nhận được sự góp ý quý báu của quí cô, quí thầy.



MỤC LỤC
MỞ ĐẦU ..................................................................................................................................................1
CHƯƠNG 1: TỔNG QUAN...................................................................................................................3
1.1.

Lý do chọn đề tài .....................................................................................................................3

1.2.

Mục tiêu nghiên cứu................................................................................................................4

1.3.

Đối tượng nghiên cứu..............................................................................................................4

1.4.

Phạm vi nghiên cứu.................................................................................................................4

1.5.

Nội dung nghiên cứu ...............................................................................................................5

1.6.

Cấu trúc luận văn....................................................................................................................5

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT ......................................................................................................6
2.1.


Tổng quan về khai thác dữ liệu ..............................................................................................6

2.1.1.

Khái niệm .........................................................................................................................6

2.1.2.

Mục tiêu ............................................................................................................................6

2.1.3.

Các bước chính trong khai thác dữ liệu..........................................................................6

2.1.4.

Các dạng cơ sở dữ liệu phục vụ cho việc khai thác dữ liệu .........................................10

2.1.5.

Các phương pháp khai thác dữ liệu ..............................................................................11

2.2.

Lý thuyết dàn trong khai thác dữ liệu .................................................................................11

2.3.

Khai thác luật kết hợp từ các tập hữu ích cao ....................................................................12


2.3.1.

Vấn đề khai thác tập mục hữu ích cao ..........................................................................12

2.3.2.

Một số định nghĩa ..........................................................................................................13

2.3.3.

Bài toán khai thác luật kết hợp hữu ích cao .................................................................16

2.4.

Một số thuật toán khai thác tập mẫu hữu ích cao ..............................................................17

2.4.1.

Thuật toán Two-Phase ...................................................................................................17

2.4.2.

Thuật toán UP-Growth ..................................................................................................18

2.4.3.

Thuật toán UP-Growth+ ................................................................................................19

2.4.4.


Thuật toán HUI-Miner ..................................................................................................19

2.4.5.

Thuật toán FHM ............................................................................................................20

2.4.6.

Thuật toán FHIM...........................................................................................................20

2.4.7.

Thuật toán EFIM ...........................................................................................................20

2.4.8.

Thuật toán DUP-Growth + .............................................................................................20

2.5.

Khai thác luật kết hợp từ mẫu hữu ích cao ........................................................................21

2.6.

Ứng dụng dàn trong khai thác dữ liệu ................................................................................22

CHƯƠNG 3: KHAI THÁC LUẬT KẾT HỢP HỮU ÍCH CAO DỰA TRÊN DÀN.......................23
3.1.


Ý tưởng thuật toán ................................................................................................................23


3.2.

Thuật toán xây dựng dàn từ các mẫu hữu ích cao .............................................................23

3.2.1.

Mô tả thuật toán .............................................................................................................23

3.2.2.

Minh họa thuật toán ......................................................................................................25

3.3.

Thuật toán khai thác luật kết hợp từ dàn ...........................................................................27

3.3.1.

Mô tả thuật toán .............................................................................................................27

3.3.2.

Minh họa thuật toán ......................................................................................................29

4.1.

Môi trường thực nghiệm.......................................................................................................32


4.2.

Cơ sở dữ liệu và kết quả .......................................................................................................32

4.3.

Thông số thực nghiệm và kết quả ........................................................................................32

4.4.

So sánh về thời gian...............................................................................................................34

4.5.

So sánh về về bộ nhớ .............................................................................................................46

CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN....................................................................55
5.1.

Kết luận ..................................................................................................................................55

5.2.

Hướng phát triển ...................................................................................................................56

DANH MỤC CÔNG BỐ KHOA HỌC CỦA TÁC GIẢ ....................................................................57
TÀI LIỆU THAM KHẢO ....................................................................................................................58



DANH MỤC CÁC CHỮ VIẾT TẮT
Ký hiệu viết tắt

Ý nghĩa tiếng việt

Ý nghĩa tiếng Anh

CSDL

Cơ sở dữ liệu

Database

DGN

DLN

DLU

Giảm độ hữu ích của nút trong
cây Up-Tree toàn cục
Giảm độ hữu ích của mục
không triển vọng

Discarding global node utilities

Discard global unpromising item

Loại bỏ mục không triển vọng Discarding


local

unpromising

cục bộ

item

Item

Hạng mục

Item

Itemset

Tập mục

Itemset

HUI

Tập mục hữu ích cao

High utility itemset

HUIs

Các tập mục hữu ích cao


High utility itemsets

HAR

Luật kết hợp hữu ích cao

High utility association rule

HARs

Các luật kết hợp hữu ích cao

High utility association rules

KTDL

Khai thác dữ liệu

Data mining

min-util

Ngưỡng độ hữu ích tối thiểu

Minimum utility threshold

min-uconf
uconf
HGB


Ngưỡng độ tin cậy hữu ích tối Minimum

utility

thiểu

threshold

Độ tin cậy hữu ích

Utility confidence

Luật kết hợp hữu ích cao
không dư thừa

confidence

High utility generic basis

HUCI

Tập đóng hữu ích cao

Closed high utility itemset

HUCIs

Các tập đóng hữu ích cao

closed high utility itemsets


Generators

Tập sinh

Generators

HUIL

Dàn các tập mục hữu ích cao

High utility itemsets lattice

LARM

Khai thác luật kết hợp hữu ích Lattice-based association rules
cao dựa trên dàn

mining


FIM

Khai thác tập phổ biến

Frequent itemset mining

HUIM

Khai thác tập hữu ích cao


High utility itemset mining

Lattice

Dàn

Lattice

Tid

Mã số giao dịch

Transaction identifier

Id

Mã số, chỉ mục

Identifier

sup

Độ hỗ trợ

Support

TWU
TU
PUCS


Trọng số hữu ích của giao
dịch
Độ hữu ích của giao dịch

Transaction Weighted Utility
Transaction Utility

Cấu trúc độ hữu ích hứa hẹn Promising Utility Co-Occurrence
đồng thời

Structure

FIL

Dàn các tập phổ biến

Frequent itemset lattice

s

Giây

Second

ms

Mili giây

Milliseconds



DANH MỤC BẢNG
Bảng 2. 1 - Ví dụ về cơ sở dữ liệu giao dịch D. ................................................................ 14
Bảng 2. 2 - Ví dụ về bảng giá trị hữu ích. ......................................................................... 14
Bảng 2. 3 - Các HUI được khai thác từ CSDL trong bảng 2.1 và bảng 2.2 với min-util =
20. ...................................................................................................................................... 15
Bảng 3. 1 - Tập kết quả luật kết hợp hữu ích cao với min-uconf = 80%. ......................... 29
Bảng 4. 1 - Thuộc tính của các cơ sở dữ liệu. ................................................................... 32
Bảng 4. 2 - Kết quả số luật kết hợp hữu ích cao trên các CSDL thực nghiệm. ................ 33
Bảng 4. 3 – Tỉ lệ tỉa luật cần xét khi sinh luật trên dàn..................................................... 34


DANH MỤC HÌNH VẼ
Hình 2.1 - Quá trình khám phá tri thức [7] ...................................................................... 7
Hình 2. 2 - Quá trình thu thập và xử lý dữ liệu trong khai thác dữ liệu [6]. .................... 9
Hình 3. 1 - Dàn các tập hữu ích cao từ cơ sở dữ liệu trong bảng 2.1 và bảng 2.2 ......... 26
Hình 4. 1 - Thời gian thực thi trên CSDL Foodmart với min-uconf = 70%. ................. 36
Hình 4. 2 - Thời gian thực thi trên CSDL Chess với min-uconf = 70%. ....................... 37
Hình 4. 3 - Thời gian thực thi trên CSDL Chainstore với min-uconf = 70%................. 37
Hình 4. 4 - Thời gian thực thi trên CSDL Retail với min-uconf = 70%. ....................... 38
Hình 4. 5 - Thời gian thực thi trên CSDL Mushroom với min-uconf = 70%. ............... 39
Hình 4. 6 - Thời gian thực thi trên CSDL Accidents với min-uconf = 70%. ................. 40
Hình 4. 7 - Thời gian thực thi trên CSDL Foodmart với min-util = 0.03%. .................. 41
Hình 4. 8 - Thời gian thực thi trên CSDL Chess với min-util = 28%. ........................... 42
Hình 4. 9 - Thời gian thực thi trên CSDL Chainstore với min-util = 0.005%. .............. 43
Hình 4. 10 - Thời gian thực thi trên CSDL Retail với min-util = 0.03%. ...................... 44
Hình 4. 11 - Thời gian thực thi trên CSDL Mushroom với min-util = 11%. ................. 44
Hình 4. 12 - Thời gian thực thi trên CSDL Accidents với min-util = 14%. .................. 45
Hình 4. 13 - Bộ nhớ sử dụng trên CSDL Foodmart với min-util = 0.03%. ................... 47

Hình 4. 14 - Bộ nhớ sử dụng tên CSDL Foodmart với min-uconf = 70%. .................... 48
Hình 4. 15 - Bộ nhớ sử dụng trên CSDL Chess vớ min-util = 28%. ............................. 48
Hình 4. 16 - Bộ nhớ sử dụng trên CSDL Chess với min-uconf = 70%. ......................... 49
Hình 4. 17 - Bộ nhớ sử dụng trên CSDL Chainstore với min-util = 0.05%. ................. 50
Hình 4. 18 - Bộ nhớ sử dụng trên CSDL Chainstore với min-uconf = 70%. ................. 50
Hình 4. 19 - Bộ nhớ sử dụng trên CSDL Retail với min-util = 0.03%. ......................... 51
Hình 4. 20 - Bộ nhớ sử dụng trên CSDL Retail với min-uconf = 70%. ......................... 51
Hình 4. 21 - Bộ nhớ sử dụng trên CSDL Mushroom với min-util = 11%. .................... 52
Hình 4. 22 - Bộ nhớ sử dụng trên CSDL Mushroom với min-uconf = 70%. ................ 52
Hình 4. 23 - Bộ nhớ sử dụng trên CSDL Accidents với min-util = 14%. ...................... 53
Hình 4. 24 - Bộ nhớ sử dụng trên CSDL Accidents với min-uconf = 70%. .................. 53


MỞ ĐẦU
Hầu hết các doanh nghiệp đều mong muốn tăng lợi nhuận, điển hình như siêu thị
thường phân tích các hoạt động kinh doanh để xem xét các sản phẩm mang lại lợi
nhuận cao đồng thời dự báo xu hướng mua hàng của khách hàng. Để đạt được điều
này, rất nhiều nghiên cứu gần đây đã thực hiện kiểm chứng trên các tập mục hữu ích
cao (HUI). Các giải thuật khai thác luật kết hợp truyền thống chỉ khai thác được các tập
luật phổ biến và không cung cấp được các thông tin để cho thấy các luật nào có độ hữu
ích cao. Vì vậy, Sahoo và các đồng sự (2015) đề xuất hướng tiếp cận để sinh các tập
luât hữu ích cao không dư thừa và từ đó khai thác tất cả các luật kết hợp hữu ích cao.
Hướng tiếp cận này gồm 3 giai đoạn:
-

Giai đoạn 1: Khai thác tập mục hữu ích đóng (HUCIs) và tập sinh (Generators)

-

Giai đoạn 2: Khai thác tập luật kết hợp hữu ích cao không dư thừa (HGB)


-

Giai đoạn 3: Khai thác tập luật kết hợp hữu ích cao từ tập HGB có được trong
giai đoạn 2.

Giai đoạn 3 của thuật toán cần nhiều thời gian để thực thi nếu tập HGB gồm nhiều luật
kết hợp hữu ích không dư thừa và trong vế trái hoặc vế phải của mỗi luật có nhiều mục.
Luận văn đề xuất thuật toán khai thác luật kết hợp hữu ích cao sử dụng cấu trúc dàn.
Thuật toán được đề xuất bao gồm 2 giai đoạn:
-

Giai đoạn 1: Xây dựng cấu trúc dàn gồm các tập mục hữu ích cao (HUIL)

-

Giai đoạn 2: Khai thác tất cả luật kết hợp hữu ích cao (HARs) từ HUIL.

Thuật toán được đề xuất với tên gọi LARM giúp cải thiện thời gian và bộ nhớ sử dụng
nhằm khai thác hiệu quả luật kết hợp từ các mẫu hữu ích cao.

Trang 1


ABSTRACT
All business processes focus on growing their profits. For example, supermarkets often
analyze sale activities to investigate which products bring the most revenue, as well as
find out customer trends based on their carts. To achieve this, a number of studies have
examined high utility itemsets (HUI). Traditional association rule mining algorithms
only generate a set of highly frequent rules, but these do not provide useful answers for

what the high utility rules are. Therefore, Sahoo et al. (2015) proposed an approach to
generate utility based non-redundant high utility association rules and a method for
reconstructing all high utility association rules. This approach is based on three phases:
(1) mining high utility closed itemsets (HUCI) and generators; (2) generating high
utility generic basic (HGB) association rules; and (3) mining all high utility association
rules based on HGB. Phase 3 of this approach consumes more time when the HGB list
is large and each rule in HGB has many items in both antecedent and consequent. In
this thesis, we propose an algorithm for mining high utility association rules using a
lattice. Our approach has two phases: (1) building a high utility itemsets lattice (HUIL)
from a set of high utility itemsets; and (2) mining all high utility association rules
(HARs) from HUIL. Experimental results show that mining HARs using HUIL is more
efficient than mining HARs from HGB (which is generated from HUCI and
generators) in both runtime and memory usage.

Trang 2


CHƯƠNG 1: TỔNG QUAN
1.1.

Lý do chọn đề tài

Khai thác luật kết hợp đóng vai trò quan trọng trong các hệ hỗ trợ ra quyết định. Luật
kết hợp thường được dùng để xác định mối quan hệ giữa các đối tượng trong cơ sở dữ
liệu.
Trong mô hình truyền thống, khai thác tập phổ biến thì giá trị lợi ích của các đối tượng
trong cơ sở dữ liệu chưa được xem xét đến, trong cơ sở dữ liệu chỉ quan tâm đến có
hay không sự xuất hiện của các đối tượng. Do đó, đã có một số nghiên cứu, phương
pháp để khai thác các giá trị lợi ích này từ cơ sở dữ liệu, được gọi là khai thác tập mục
hữu ích cao (High Utility Itemset Mining). Người dùng sẽ định lượng độ hữu ích cho

các hạng mục (item) trong cơ sở dữ liệu, khi độ hữu ích của tập các tập mục (itemset)
thỏa ngưỡng độ hữu ích tối thiểu (min-util) cho trước thì itemset đáng được quan tâm.
Bài toán này sẽ xem xét các trường hợp mà các item có thể xuất hiện nhiều hơn một
lần trong mỗi giao dịch và nơi mỗi giao dịch có đánh trọng số hữu ích.
Các vấn đề liên quan đến khai thác tập hữu ích cao sẽ gặp nhiều khó khăn hơn so với
vấn đề khai thác tập phổ biến (Frequent Itemset Mining - FIM) [1]. Đối với FIM, tính
chất bao đóng giảm chỉ ra độ hỗ trợ (support) của một itemset không có tính đơn điệu
(anti-monotonic), nghĩa là các tập cha của một tập không phổ biến thì không phổ biến
và tập con của một tập phổ biến thì phổ biến. Tính chất này giúp cắt giảm không gian
tìm kiếm được áp dụng trong các giải thuật khai thác tập phổ biến. Tuy nhiên, đối với
khai thác tập hữu ích cao, lợi ích của các tập itemset không đơn điệu hay phản đơn
điệu, nghĩa là các tập hữu ích có thể có tập cha hay tập con có lợi ích thấp hơn, cao hơn
hoặc bằng chính nó, vì vậy, khó có thể cắt giảm không gian tìm kiếm và tính toán để
khai thác các tập hữu ích cao.
Hiện nay có rất nhiều nghiên cứu, bài báo liên quan đến việc khai thác tập hữu ích cao
trong cơ sở dữ liệu giao dịch. Tuy nhiên, vấn đề đặt ra là cho trước một cơ sở dữ liệu

Trang 3


giao dịch với các tập giao dịch T = {t1, t2, ...., tm} và tập các item I = {i1, i2, ..., in}, làm
thế nào để khai thác các luật kết hợp có tính chất tiềm ẩn và có độ hữu ích cao từ cơ sở
dữ liệu.
Vấn đề khai thác luật kết hợp từ các tập hữu ích cao vẫn còn rất mới. Sahoo và các
đồng sự đề xuất một hướng tiếp cận khai thác luật kết hợp từ tập hữu ích cao [17], [18]
vào năm 2015 sử dụng độ tin cậy hữu ích. Theo đó, Sahoo và các đồng sự đề xuất thuật
toán HGB-HAR [18] để khai thác tất cả các luật kết hợp hữu ích cao. Tuy nhiên, thuật
toán đề xuất còn gặp nhiều vấn đề về thời gian xử lý và bộ nhớ sử dụng. Do đó, tôi
chọn đề tài “Khai thác luật kết hợp hữu ích từ các mẫu hữu ích cao” nhằm góp phần
rút ngắn thời gian xử lý cũng như giảm thiểu bộ nhớ sử dụng trong quá trình khai thác

luật.
1.2.

Mục tiêu nghiên cứu

Nghiên cứu các thuật toán chính về khai thác tập mục hữu ích cao, tìm hiểu các
phương pháp thực nghiệm từ các bài báo chính được nhiều tác giả tham khảo. Tìm hiểu
và đánh giá các thuật toán khai thác tập mục lợi ích cao.
Nghiên cứu các vấn đề về khai thác luật kết hợp trên tập hữu ích cao và đề xuất thuật
toán cải tiến khai thác luật kết hợp từ các tập hữu ích cao.
1.3.

Đối tượng nghiên cứu

Các thuật toán khai thác các tập hữu ích cao như Two-Phase [12], Up-Growth [20],
Up-Growth+ [21], EFIM [29], HUI-Miner [13], FHM [9], FHIM [18].
Các độ đo thú vị áp dụng trong khai thác luật kết hợp [15, 25]
Cơ sở dữ liệu: các cơ sở dữ liệu định lượng, cơ sở dữ liệu bán hàng.
Dữ liệu kiểm nghiệm: dữ liệu chuẩn và phổ biến đã từng được nhiều tác giả nghiên cứu
áp dụng và thử nghiệm: Chess, Mushroom, Accidents, Pumsb, v.v... [8].
1.4.

Phạm vi nghiên cứu

Giới hạn trong phạm vi nghiên cứu khai thác luật kết hợp từ các mẫu hữu ích cao.

Trang 4


1.5.


Nội dung nghiên cứu

Nghiên cứu về khai thác tập hữu ích cao trong cơ sở dữ liệu.
Nghiên cứu khai thác luật kết hợp từ các mẫu hữu ích cao.
Cải tiến và cài đặt thuật toán, kiểm định kết quả thực nghiệm trên cơ sở dữ liệu chuẩn
được phổ biến.
1.6.

Cấu trúc luận văn

Luận văn được tổ chức gồm 5 chương cụ thể như sau
-

Chương 1: Giới thiệu tổng quan tình hình thực tiễn và định hướng nghiên cứu.

-

Chương 2: Trình bày về cơ sở lý thuyết về khai thác dữ liệu, lý thuyết về dàn
(lattice) trong khai thác dữ liệu và một số định nghĩa liên quan đến khai thác tập
mục hữu ích cao và luật kết hợp hữu ích cao, các thuật toán khai thác tập mục
hữu ích cao và luật kết hợp hữu ích cao.

-

Chương 3: Đề xuất hướng tiếp cận và thuật toán khai thác luật kết hợp hữu ích
cao.

-


Chương 4: Giới thiệu về môi trường thực nghiệm, cơ sở dữ liệu thực nghiệm và
so sánh kết quả thực nghiệm giữa thuật toán đề xuất và thuật toán đã có dựa trên
hai yếu tố về thời gian thực thi và bộ nhớ sử dụng.

-

Chương 5: Kết luận và hướng phát triển

Trang 5


CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1.

Tổng quan về khai thác dữ liệu

2.1.1. Khái niệm
Tri thức từ dữ liệu là những thông tin hữu ích tiềm ẩn trong cơ sở dữ liệu (CSDL) mà
chúng ta cần phải tìm kiếm và liên kết chúng lại theo một trật tự nào đó sao cho chúng
có ý nghĩa, việc tìm kiếm và phát hiện những tri thức là một quá trình xây dựng và sử
dụng chúng phục vụ lợi ích của con người một cách hiệu quả nhất.
Khai thác dữ liệu (KTDL) là một khái niệm ra đời vào cuối năm 1980 [6], nó là quá
trình khám phá tri thức ẩn được tìm thấy trong các CSDL và có thể xem như là một
bước trong quá trình khám phá tri thức, nó là quá trình mô tả và dự đoán dựa trên các
thông tin, tri thức, dữ liệu đã được lưu trữ, và phân tích các dữ liệu để tìm ra các dạng
thức hoặc kết hợp có tính lặp đi lặp lại và tạo thành qui luật, các qui luật này hỗ trợ
trong việc ra quyết định trong các lĩnh vực như: khoa học, giáo dục, kinh doanh, v.v...
KTDL còn là quá trình phát hiện các mô hình, các tổng kết khác nhau và các giá trị
được lấy từ tập dữ liệu cho trước [7].
2.1.2. Mục tiêu

Công nghệ CSDL có một quá trình phát triển nhanh, trong đó KTDL được coi là một
dạng tiến hoá mới của công nghệ CSDL [6].
Hiện nay KTDL không ngừng phát triển theo chiều rộng và chiều sâu, công nghệ
CSDL là một trong các yếu tố thành công trong mọi hoạt động kinh doanh, việc biết
cách khai thác và sử dụng những thông tin có hiệu quả tiềm ẩn trong CSDL lớn đã
được lưu trữ trước đó là một trong những yếu tố chính trong quá trình KTDL, định
hướng chính và mục tiêu của KTDL là kết xuất tri thức từ dữ liệu.
2.1.3. Các bước chính trong khai thác dữ liệu
Mục đích của quá trình khám phá tri thức là rút ra được những tri thức mới sau một số
bước từ những CSDL trong thực tế, là quá trình có sử dụng nhiều phương pháp và
công cụ tin học nhưng nó vẫn là quá trình mà trong đó con người làm trung tâm. Do đó

Trang 6


nó không phải là quá trình phân tích tự động mà là một hệ thống gồm nhiều hoạt động
tương tác thường xuyên giữa con người và CSDL với sự trợ giúp của máy tính.
Quá trình phát hiện tri thức từ CSDL bao gồm năm bước chính [7], bước sau sử dụng
kết quả thu được của bước trước, các bước cụ thể như sau:

Hình 2.1 - Quá trình khám phá tri thức [7]
a) Xác định và định nghĩa vấn đề
Là quá trình mang tính định hình với mục đích xác định được lĩnh vực yêu cầu cần
phát hiện tri thức và xây dựng bài toán tổng kết. Trong thực tế các CSDL được chuyên
môn hoá và phân chia theo các lĩnh vực khác nhau như giáo dục, tài chính, kinh doanh,
y tế,…. Với mỗi tri thức phát hiện được có thể có giá trị đối với lĩnh vực này nhưng lại
có thể không có nhiều giá trị cho lĩnh vực khác. Do đó việc xác định đúng bài toán
ngay từ đầu sẽ giúp cho các giai đoạn sau thực hiện được tốt hơn, chính xác hơn.
b) Thu thập và tiền xử lý dữ liệu
Các CSDL thu được từ quá trình thực tế lưu trữ thường chứa rất nhiều thông tin, nhiều

thuộc tính nhưng không đầy đủ, không đồng nhất, có nhiều lỗi và có nhiều giá trị đặc

Trang 7


biệt. Vì vậy, giai đoạn thu thập và tiền xử lý rất quan trọng trong quá trình phát hiện tri
thức, giai đoạn này có thể chiếm từ 70% - 80% giá thành trong toàn bộ bài toán.
Các giai đoạn nhỏ trong quá trình thu tập và tiền xử lý gồm có 6 giai đoạn [6], các giai
đoạn đó là tập hợp dữ liệu, trích lọc dữ liệu, làm sạch và tiền xử lý, mã hoá chuyển đổi
và làm giàu dữ liệu, phát hiện và trích mẫu, đánh giá kết quả:
• Tập hợp dữ liệu (Gathering): Đây là giai đoạn đầu tiên trong quá trình
KTDL, là giai đoạn được khai thác trong một CSDL, một kho dữ liệu và
thậm chí các dữ liệu từ các nguồn ứng dụng Web.
• Trích lọc dữ liệu (Selection): Ở giai đoạn này dữ liệu được lựa chọn hoặc
phân chia theo một số tiêu chuẩn nào đó tuỳ theo mục đích khai thác.
• Làm sạch, tiền xử lý và chuẩn bị dữ liệu (Cleansing, Pre-processing and
Preparation): Giai đoạn này rất quan trọng trong quá trình KTDL. Một số
lỗi thường mắc phải trong khi tập hợp dữ liệu có tính không đủ chặt chẻ,
thiếu logic. Vì vậy, dữ liệu thường chứa các giá trị vô nghĩa và không có khả
năng kết nối. Giai đoạn này sẽ tiến hành xử lý những dạng dữ liệu nói trên.
Những dữ liệu dạng này được xem như thông tin dư thừa, không có giá trị.
Bởi vậy, đây là một quá trình rất quan trọng vì dữ liệu nếu không được làm
sạch – tiền xử lý – chuẩn bị trước thì sẽ gây nên những kết quả sai lệch
nghiêm trọng trong KTDL.
• Chuyển đổi dữ liệu (Transformation): Giai đoạn chuyển đổi dữ liệu, dữ liệu
đưa ra có thể sử dụng và điều khiển được bởi việc tổ chức lại nó. Dữ liệu đã
được chuyển đổi phù hợp với mục đích khai thác.
• Phát hiện và trích mẫu dữ liệu (Pattern Extraction and Discovery): Giai đoạn
này mang tính tư duy trong KTDL, ở giai đoạn này nhiều thuật toán khác
nhau sẽ được sử dụng để trích ra các mẫu từ dữ liệu. Thuật toán thường dùng

là thuật toán phân loại dữ liệu, kết hợp dữ liệu hoặc các mô hình hóa dữ liệu
tuần tự. Đây là giai đoạn được nhiều người nghiên cứu nhất.

Trang 8


• Đánh giá kết quả (Evaluation of Result): Đây là giai đoạn cuối trong quá
trình KTDL, trong giai đoạn này, các mẫu dữ liệu được chiết xuất ra bởi
phần mềm KTDL. Không phải bất cứ mẫu dữ liệu nào cũng đều hữu ích, đôi
khi nó còn bị sai lệch. Vì vậy, cần phải ưu tiên những tiêu chuẩn đánh giá để
đưa ra các tri thức cần thiết và sử dụng được.

Hình 2. 2 - Quá trình thu thập và xử lý dữ liệu trong khai thác dữ liệu [6].
c) Khai thác dữ liệu
Giai đoạn KTDL sẽ được tiến hành ngay sau dữ liệu được thu thập và xử lý, trong giai
đoạn này chủ yếu là xác định phương pháp khai thác phù hợp với dữ liệu thu thập được
và tách các tri thức cần thiết. Đây là giai đoạn thiết yếu vì trong đó các phương pháp
thông minh sẽ được áp dụng.
d) Giải thích và đánh giá kết quả
Các tri thức phát hiện từ CSDL trong giai đoạn KTDL sẽ được tổng hợp dưới dạng báo
cáo để phục vụ cho các mục đích hỗ trợ ra các quyết định khác nhau ứng với từng lĩnh
vực khác nhau.

Trang 9


Do có nhiều phương pháp KTDL khác nhau nên các kết quả sẽ có mức độ tốt, xấu khác
nhau. Việc đánh giá các kết quả thu được là cần thiết, giúp tạo cơ sở cho các quyết
định chiến lược, thông thường được tổng hợp và so sánh theo dạng biểu đồ và được
kiểm nghiệm thực tế.

e) Sử dụng tri thức phát hiện được
Các tri thức đã được phát hiện có thể được tinh chế, kết hợp thành hệ thống và sẽ được
chuẩn bị sẵn sàng cho ứng dụng. Các kết quả của quá trình phát hiện tri thức có thể
được đưa vào các ứng dụng trong các lĩnh vực khác nhau như dự báo, phân loại, khái
quát dữ liệu, cung cấp tri thức hỗ trợ ra quyết định.
Như vậy khám phá tri thức gồm năm bước chính, trong đó KTDL là bước quan trọng
nhất, nhờ đó có thể tìm được các thông tin quan trọng có ý nghĩa tiềm ẩn trong CSDL.
2.1.4. Các dạng cơ sở dữ liệu phục vụ cho việc khai thác dữ liệu
KTDL có khả năng chấp nhận một số kiểu dữ liệu khác nhau, điển hình là:
a) CSDL quan hệ (Relational database): CSDL tác nghiệp được tổ chức theo mô
hình dữ liệu quan hệ. Hầu hết các hệ quản trị CSDL hiện nay đều hỗ trợ dạng
này như MS SQL Server, Oracle, v.v…
b) CSDL đa chiều (Multidimensional structures, data warehouses, data mart) là
các kho dữ liệu được tập hợp, chọn lọc từ nhiều nguồn dữ liệu khác nhau. Dạng
dữ liệu này mang tính lịch sử (tức có tính thời gian) và chủ yếu phục vụ cho quá
trình phân tích cũng như khám phá tri thức nhằm hỗ trợ ra quyết định.
c) CSDL dạng giao dịch (Trasactional database): là dạng CSDL tác nghiệp nhưng
các bản ghi thường là các giao dịch. Dạng dữ liệu này thường phổ biến trong
lĩnh vực thương mại và ngân hàng.
d) CSDL quan hệ –hướng đối tượng (Object-relational database): là dạng CSDL
lai giữa hai mô hình quan hệ và hướng đối tượng.

Trang 10


e) Dữ liệu không gian và thời gian (Spatial, temporal and time-series data): là
dạng dữ liệu có tích hợp thuộc tính về không gian (ví dụ dữ liệu về bản đồ), dữ
liệu thời gian (dữ liệu thị trường chứng khoán, v.v…).
f) CSDL đa phương tiện (Multimedia database): là dạng dữ liệu âm thanh (audio),
hình ảnh (images), phim ảnh (video), Text & www, v.v… Dạng dữ liệu này hiện

nay đang rất phổ biến trên internet do sự ứng dụng rộng rãi của nó.
2.1.5. Các phương pháp khai thác dữ liệu
Phương pháp KTDL thường được chia thành hai nhóm chính như sau:
a)

Kỹ thuật KTDL mô tả: có nhiệm vụ mô tả về các tính chất hoặc các đặc tính
chung của dữ liệu string hiện có. Các kỹ thuật này bao gồm: Phân cụm
(Clustering), tóm tắt (Summerization), trực quan hóa (Visualization), phân tích
sự phát triển và độ lệch (Evolution and Deviation analyst), khai thác luật kết
hợp (Association rules), …

b)

Kỹ thuật KTDL dự đoán: Có nhiệm vụ đưa ra các dự đoán dựa vào các suy diễn
trên dữ liệu hiện thời. Các kỹ thuật này gồm có: Phân lớp (Classifacation), hồi
quy (regession), …. Tuy nhiên, chỉ có một số phương pháp thông dụng nhất là:
Phân cụm dữ liệu, phân lớp dữ liệu, phương pháp hồi quy, và khai thác luật kết
hợp.

2.2.

Lý thuyết dàn trong khai thác dữ liệu

Davey và Priestley, 1990 [5] đưa ra khái niệm về dàn và thứ tự trên dàn. Cho P là một
tập hợp. Một thứ tự một phần trên P là một quan hệ nhị phân theo ≤. Giả xử có 𝑥, 𝑦, z

 P, quan hệ thứ tự trên 𝑥, 𝑦, z có thể có:
1) Phản xạ: 𝑥 ≤ 𝑥.
2) Bất đối xứng: nếu 𝑥 ≤ 𝑦 và 𝑦 ≤ 𝑥 thì 𝑥 = 𝑦.
3) Bắc cầu: nếu 𝑥 ≤ 𝑦 và 𝑦 ≤ 𝑧 thì 𝑥 ≤ 𝑧.


Trang 11


Tập hợp 𝑃 với quan hệ ≤ được gọi là tập hợp thứ tự, và được ký hiệu bởi (𝑃, ≤). Theo
đó, để biểu diễn 𝑥 < 𝑦 thì có thể biểu diễn lại theo quan hệ thứ tự như sau 𝑥 ≤ 𝑦 và
𝑥 ≠ 𝑦.
Cho (𝑃, ≤) là một tập hợp thứ tự và S là tập con của 𝑃. Một phần tử 𝑢  𝑃 là một chặn
trên của 𝑆 nếu 𝑠 ≤ 𝑢 với mọi 𝑠  𝑆. Một phần tử 𝑙  𝑃 chặn dưới của 𝑆 nếu 𝑠 ≥ 𝑙 với
mọi 𝑠  𝑆. Chặn trên nhỏ nhất được gọi là giao (join) của S, ký hiệu ∨𝑆, chặn dưới lớn
nhất được gọi hội (meet) của 𝑆, và được ký hiệu là ∧𝑆. Nếu 𝑆 = {𝑥, 𝑦} thì chúng ta có
thể biểu diễn quan hệ x, y dưới dạn 𝑥 ∨ 𝑦 nếu x giao y, và ngược lại, 𝑥 ∧ 𝑦 nếu x hội y.
Một tập hợp thứ tự (𝐿, ≤) được gọi là dàn (lattice) nếu với bất kỳ hai phần tử 𝑥 và 𝑦
trong 𝐿, ta luôn có 𝑥 ∨ 𝑦 và 𝑥 ∧ 𝑦 luôn luôn tồn tại. 𝐿 được gọi là dàn hoàn chỉnh nếu
∨𝑆 và ∧𝑆 tồn tại với mọi 𝑆 ⊆ 𝐿. 𝐿 được gọi là cấu trúc bán dàn (semi-lattice) nếu chỉ
tồn tại giao hoặc hội tồn tại.
Trong khai thác tập phổ biến, tập hợp các tập phổ biến chỉ thỏa cấu trúc bán dàn. Với
bất kỳ hai itemset 𝑋, 𝑌 ta chỉ có 𝑋 ∨ 𝑌 thỏa điều điện để hình thành tập phổ biến và 𝑋 ∧
𝑌 có thể tồn tại hoặc không.
Tương tự, trong khai thác tập hữu ích cao, tập hợp các tập mục hữu ích cũng chỉ thỏa
mãn để xây dựng cấu trúc bán dàn. Với bất kỳ hai tập mục hữu ích thì 𝑍 = 𝑋 ∨ 𝑌
hoặc 𝑍 = 𝑋 ∧ 𝑌, không thể xác định 𝑍 có phải là tập mục hữu ích cao hay không.
Trong nghiên cứu này, tác giả đề cập đến cấu trúc bán dàn (semi-lattice) một cách
ngắn gọn là dàn (lattice).
2.3.

Khai thác luật kết hợp từ các tập hữu ích cao

2.3.1. Vấn đề khai thác tập mục hữu ích cao
Khai thác tập mục hữu ích cao là bài toán mở rộng và tổng quát của khái thác tập phổ

biến. Trong khai thác tập mục hữu ích cao, giá trị của item trong giao dịch được quan
tâm nhiều nhất (như số lượng đã bán của mặt hàng), ngoài ra còn có bảng lợi ích cho
biết lợi ích mang lại khi bán một đơn vị hàng đó. Lợi ích của một itemset là số đo lợi

Trang 12


nhuận của itemset đó đóng góp trong CSDL, nó có thể là tổng lợi nhuận hay tổng chi
phí của itemset.
Khai thác tập mục hữu ích cao là khám phá ra tất cả các tập mục có lợi ích không nhỏ
hơn ngưỡng phổ biến tối thiểu do người dùng qui định. Mục đích chính của các bài
toán khai thác tập mục hữu ích cao là làm giảm thiểu kích thước của tập ứng viên và
làm đơn giản hóa quá trình tính toán độ hữu ích các tập mục từ đó giảm số lượng ứng
viên cho tập mục hữu ích cao, giảm thời gian khai thác.
Cách tiếp cận đơn giản nhất cho bài toán khai thác tập mục hữu ích cao là liệt kê tất cả
các tập mục từ CSDL giao dịch theo nguyên lý vét cạn, cách tiếp cận này sẽ gặp phải
vấn đề về thời gian, không gian khi tìm kiếm quá lớn và nhất là khi CSDL chứa nhiều
giao dịch hoặc ngưỡng min-util đặt ra quá thấp. Do đó, làm thế nào để tỉa bớt không
gian tìm kiếm và tìm đủ tất cả tập mục hữu ích cao một cách hiệu quả là một thách thức
lớn trong khai thác tính hữu ích
2.3.2. Một số định nghĩa
Định nghĩa 2.1. Cho một tập mục hữu hạn chứa các mục I =i1, i2,…, im, mỗi item ip
(1 ≤ p ≤ m) được gắn với một lợi nhuận cố định, được ký hiệu p(ip). Một tập mục X
gồm k mục phân biệt i1, i2, …, ik, trong đó ij  I, 1 ≤ j≤ k, k số phần tử trong tập mục
X. Một cơ sở dữ liệu giao dịch D = {T1, T2,…,Tn} gồm tập các giao dịch Td có một định
danh id, được gọi là Tid. Mỗi item ip trong mỗi giao dịch Td được gắn kết với một trọng
số được gọi là số lượng và được ký hiệu là q(ip, Td), tương ứng với item ip được mua.
Định nghĩa 2.2. Độ hữu ích của một item i trong một giao dịch Td được ký hiệu là u(i,
Tq) và được định nghĩa bằng công thức p(i) × q(i, Td). Ví dụ, độ hữu ích của item A
trong giao dịch t5 trong cơ sở dữ liệu mẫu ở bảng 2.1 và bảng 2.2 là u(A, t5) = 3 × 3 = 9.

Định nghĩa 2.3. Độ hữu ích của một tập mục X trong giao dịch Td được ký hiệu là
u(X,Td) và được xác định bởi công thức:
𝑢(𝑋, 𝑇𝑑 ) = ∑𝑥𝑖 ∈ 𝑋 𝑢 (𝑥𝑖 , 𝑇𝑑 ).

Trang 13


Bảng 2. 1 - Ví dụ về cơ sở dữ liệu giao dịch D.
Tid

Chi tiết giao dịch

t1

A(4), C(1), E(6), F(2)

t2

D(1), E(4), F(5)

t3

B(4), D(1), E(5), F(1)

t4

D(1), E(2), F(6)

t5


A(3), C(1), E(1)

t6

B(1), F(2), H(1)

t7

D(1), E(1), F(4), G(1), H(1)

t8

D(7), E(3)

t9

G(10)

Bảng 2. 2 - Ví dụ về bảng giá trị hữu ích.
Item

Độ hữu ích

A

3

B

4


C

5

D

2

E

1

F

1

G

2

H

1

Định nghĩa 2.4. Độ hữu ích của một tập mục X trong cơ sở dữ liệu D được tính bằng
tổng tất cả các độ hữu ích của X trong tất cả các giao dịch có chứa X.
𝑢(𝑋 ) = ∑𝑋 ⊆ 𝑇𝑑 ⋀ 𝑇𝑑 ∈ 𝐷 𝑢 (𝑋, 𝑇𝑑 ).

Trang 14



Định nghĩa 2.5. Độ hỗ trợ của tập mục X xác định tần số xuất hiện của X trong cơ sở
dữ liệu D. Giá trị độ hỗ trợ của X đối với T được đinh nghĩa là tỷ số giữa số giao dịch
có chứa X và tổng số giao dịch trong cơ sở dữ liệu, được ký hiệu là supp(X). Ví dụ, độ
hỗ trợ của tập mục X = A, C, E trong cơ sở dữ liệu D ở bảng 2.1 là 2.
Định nghĩa 2.6. Một tập mục X được xem là tập mục hữu ích cao (HUI) nếu X có độ
hữu ích bằng hoặc lớn hơn giá trị hữu ích tối thiểu mà người dùng định nghĩa (minutil). Nếu tập mục X có độ hữu ích thấp hơn độ hữu ích tối thiểu thì X không phải là tập
mục hữu ích cao, hay còn gọi là tập mục hữu ích thấp.
Bảng 2. 3 - Các HUI khai thác từ CSDL trong bảng 2.1 và bảng 2.2 với min-util = 20.
Itemset

Utility

Itemset

Utility

Itemset

Utility

A

21

AE

28


AFE

20

B

20

BE

21

BDE

23

D

22

BF

23

BFE

22

G


22

DE

37

DFE

36

E

22

DF

24

ACFE

25

F

20

FE

36


BDFE

24

AC

31

ACE

38

Định nghĩa 2.7. Một tập mục Y được gọi là tập bao đóng của tập mục X nếu không có
tập cha nào của X chứa Y và có supp(X) = supp(Y), ký hiệu là 𝛾(𝑋). X được gọi là tập
hữu ích đóng nếu 𝑋 = 𝛾(𝑋) và u(X) ≥ min-util.
Định nghĩa 2.8. Một tập mục X được gọi là tập sinh hữu ích cao (HUI Generator) nếu
X là tập mục hữu ích cao và không có tập con Z nào của X sao cho supp(X) = supp(Z).
Định nghĩa 2.9. Độ hữu ích cục bộ của một item xi trong tập mục X, ký hiệu
𝑙𝑢𝑣 (𝑥𝑖 , 𝑋 ) và được tính bằng tổng độ hữu ích của xi trong tất cả giao dịch có chứa X,
được xác định bằng công thức sau:
𝑙𝑢𝑣 (𝑥𝑖 , 𝑋 ) = ∑𝑋 ⊆ 𝑡𝑑 ⋀ 𝑡𝑑 ∈𝐷 𝑢(𝑥𝑖 , 𝑡𝑑 ).
Trang 15


×