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

Khai thác tập mục thường xuyên trong cơ sở dữ liệu lớn với thuật toán quét đơn

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 (843.61 KB, 67 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NHA TRANG

TRẦN THỊ LỤA

KHAI THÁC TẬP MỤC THƯỜNG XUYÊN
TRONG CƠ SỞ DỮ LIỆU LỚN
VỚI THUẬT TỐN QT ĐƠN

LUẬN VĂN THẠC SĨ

KHÁNH HỊA – 2019


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NHA TRANG

TRẦN THỊ LỤA

KHAI THÁC TẬP MỤC THƯỜNG XUYÊN
TRONG CƠ SỞ DỮ LIỆU LỚN
VỚI THUẬT TỐN QT ĐƠN

LUẬN VĂN THẠC SĨ
Ngành:

Cơng nghệ thông tin

Mã số:

8480201



Quyết định giao đề tài:
Quyết định thành lập HĐ:

453/QĐ – ĐHNT ngày 05/5/2019
1523/QĐ -ĐHNT ngày 27/11/2019

Ngày bảo vệ:

23/12/2019

Người hướng dẫn khoa học
TS. NGUYỄN HỮU TRỌNG
Chủ tịch Hội đồng
Phòng đào tạo sau đại học:

KHÁNH HÒA - 2019


LỜI CAM ĐOAN
Tôi xin cam đoan mọi kết quả của đề tài: “Khai thác tập mục thường xuyên
trong cơ sở dữ liệu lớn với thuật tốn qt đơn” là cơng trình nghiên cứu của cá
nhân tơi và chưa từng được cơng bố trong bất cứ cơng trình khoa học nào khác cho tới
thời điểm này.
Khánh Hòa, Ngày 31 tháng 12 năm 2019
Tác giả luận văn

TRẦN THỊ LỤA

iii



LỜI CẢM ƠN
Trong suốt thời gian thực hiện đề tài, tơi đã nhận được sự giúp đỡ của q phịng
ban trường Đại học Nha Trang, Khoa Công nghệ thông tin đã tạo điều kiện tốt nhất
cho tơi được hồn thành đề tài. Đặc biệt là sự hướng dẫn tận tình của TS. Nguyễn Hữu
Trọng đã giúp tơi hồn thành tốt đề tài. Xin cùng bày tỏ lòng biết ơn chân thành tới các
thầy giáo, cô giáo, người đã đem lại cho tơi những kiến thức vơ cùng q giá, có ích
trong 2 năm học vừa qua.
Mặc dù đã có nhiều cố gắng trong quá trình nghiên cứu, song do khả năng và
kinh nghiệm của bản thân có hạn, nên luận văn không tránh khỏi những tồn tại, hạn
chế và thiếu sót. Vì vậy tơi rất mong được nhận sự đóng góp chân thành của các thầy
giáo, cơ giáo, của các đồng nghiệp nhằm bổ sung hồn thiện trong q trình nghiên
cứu tiếp theo.
Cuối cùng tôi xin gửi lời cảm ơn chân thành đến gia đình, bạn bè đồng nghiệp và
tập thể lớp cao học Cơng nghệ thơng tin khóa 1 đã giúp đỡ, động viên tơi trong suốt
q trình học tập và thực hiện đề tài.
Tôi xin chân thành cảm ơn!
Khánh Hòa, ngày 31 tháng 12 năm 2019
Tác giả luận văn

TRẦN THỊ LỤA

iv


MỤC LỤC

LỜI CAM ĐOAN........................................................................................................ iii
LỜI CẢM ƠN ..............................................................................................................iv

MỤC LỤC..................................................................................................................... v
DANH MỤC KÝ HIỆU ..............................................................................................vii
DANH MỤC CHỮ VIẾT TẮT ................................................................................ viiii
DANH MỤC BẢNG ....................................................................................................ix
DANH MỤC HÌNH ...................................................................................................... x
TRÍCH YẾU LUẬN VĂN ..........................................................................................xii
LỜI MỞ ĐẦU ............................................................................................................... 1
CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU .............................................. 3
1.1 Các khái niệm cơ bản .............................................................................................. 3
1.1.1 Khái niệm về khai phá tri thức và khai phá dữ liệu............................................... 3
1.1.2. Lịch sử phát triển KPDL ...................................................................................... 4
1.1.3. Sự cần thiết của khai phá dữ liệu ......................................................................... 5
1.2. Các công đoạn khám phá tri thức từ cơ sở dữ liệu .................................................. 7
1.2.1. Chọn lọc dữ liệu................................................................................................... 7
1.2.2. Làm sạch dữ liệu .................................................................................................. 7
1. 2.3. Mã hóa dữ liệu .................................................................................................... 8
1. 2.4. Khai phá dữ liệu.................................................................................................. 9
1.2.5. Trình diễn dữ liệu ................................................................................................ 9
1.3. Ứng dụng của khai phá dữ liệu ............................................................................... 9
1. 4. Khái quát các kỹ thuật khai phá dữ liệu ............................................................... 10
1.5. Những thách thức trong khai phá dữ liệu.............................................................. 11
CHƯƠNG 2. CÁC THUẬT TOÁN CƠ BẢN TÌM TẬP MỤC THƯỜNG XUYÊN..12
2.1. Một số khái niệm cơ bản ..................................................................................... 12
2.1.1. Cơ sở dữ liệu giao tác ........................................................................................ 12
2.1.2. Tính chất của tập thường xuyên ......................................................................... 15
2.2. Khai phá luật kết hợp............................................................................................ 15
2.3. Một số thuật toán khai phá tập mục thường xuyên và luật kết hợp ....................... 17
2.4. Thuật toán Apriori ................................................................................................ 18
v



2.5. Thuật toán FP-Growth .......................................................................................... 20
CHƯƠNG 3 KHAI THÁC MỤC THƯỜNG XUYÊN TRONG CƠ SỞ DỮ LIỆU
LỚN VỚI THUẬT TOÁN QUÉT ĐƠN HIỆU QUẢ ................................................. 24
3.1. Giới thiệu.............................................................................................................. 24
3.2. Các hướng tiếp cận khai phá tập thường xuyên .................................................... 26
3.3. Khai phá tập mục thường xuyên bằng phương pháp quét đơn (Single Scan
Frequent Itemset Mining - SSFIM) ............................................................................. 28
3.3.1. Mô tả thuật toán ................................................................................................. 28
3.3.2. Minh họa thuật toán ........................................................................................... 29
3.3.3. Phân tích lý thuyết ............................................................................................. 32
3.4. Thuật tốn EA-SSFIM (Evolutionary Algorithm - Single Scan Frequent Itemset
Mining) ....................................................................................................................... 33
3.4.1. Ý tưởng thuật tốn ............................................................................................. 33
3.4.2. Q trình tạo các cá thể...................................................................................... 33
3.5. Thuật toán MR-SSFIM (Map/Reduce - Single Scan Frequent Itemset Mining) ... 36
3.5.1. Mơ tả thuật tốn ................................................................................................. 36
3.5.2. Minh họa thuật toán ........................................................................................... 39
3.6. Đánh giá kết quả thuật toán SSFIM ...................................................................... 40
Apriori và SSFIM ........................................................................................................ 41
3.7. Hiệu suất EA-SSFIM ............................................................................................ 43
3.8. Hiệu suất MR-SSFIM ........................................................................................... 43
CHƯƠNG 4 ................................................................................................................ 45
PHÁT TRIỂN THUẬT TOÁN QUÉT ĐƠN SSFIM TRÊN ....................................... 45
CƠ SỞ DỮ LIỆU GIA TĂNG .................................................................................... 45
4.1. Mở đầu ................................................................................................................. 45
4.2. Phát triển thuật toán SSFIM trên cơ sở dữ liệu gia tăng ....................................... 45
4.2.1. Ý tưởng thuật toán phát triển ............................................................................. 45
4.2.3. Minh họa thuật toán ........................................................................................... 46
4.2.4. Cài đặt thử nghiệm thuật toán ............................................................................ 50

CHƯƠNG 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ............................................. 51
5.1. Kết luận ................................................................................................................ 51
5.2. Hướng phát triển................................................................................................... 52
TÀI LIỆU THAM KHẢO ........................................................................................... 53
vi


DANH MỤC KÝ HIỆU
I = {x1, x2, …, xn}: Tập n mục dữ liệu
T = {t1, t2, …, tm}: Cơ sở dữ liệu T có m giao tác
ti: Giao tác thứ i
m: Số giao tác của một cơ sở dữ liệu giao tác
n: Số mục dữ liệu của một cơ sở dữ liệu giao tác
A, B, C…: Tên các mục dữ liệu trong cơ sở dữ liệu
X, Y,…: Tập con của tập mục dữ liệu I; X, Y ⊆ I
X = ABC: thay cho X = {A,B,C} trong cơ sở dữ liệu giao tác
S = 1234: Thay cho S = {t1, t2, t3, t4} trong các ví dụ minh họa
minsup: Ngưỡng độ hỗ trợ tối thiểu
minconf: Ngưỡng độ tin cậy tối thiểu
∥X∥: Số phần tử của tập hợp X
xj: Mục dữ liệu thứ j
supp(X) : Độ hỗ trợ của tập mục X
supp(X→Y): Độ hỗ trợ của luật kết hợp X → Y
conf ( X → Y ) : Độ tin cậy của luật kết hợp X → Y

vii


DANH MỤC CHỮ VIẾT TẮT
BFS


: Breadth First Search (Duyệt theo chiều rộng)

CNTT

: Công nghệ Thông tin.

CSDL

: Cơ sở dữ liệu.

DFS

: Depth First Search (Duyệt theo chiều sâu)

EA

: Evolutionary Algorithm (Thuật tốn tiến hóa)

FIM

: Frequent Itemset Mining (Khai thác tập mục thường xuyên)

GPU

: Graphical Processing Unit (Bộ xử lý đồ hoạ)

HPC

: High Performance Computing (Tính tốn hiệu năng cao)


KDD

: Knowledge Discovery in Database (Khám phá tri thức trong cơ sở dữ

liệu)
KPDL

: Khai phá dữ liệu

MR

: MapReduce

SSFIM

: Single Scan Frequent Itemset Mining (Khai thác tập mục thường xuyên

bằng phương pháp quét đơn)

viii


DANH MỤC BẢNG

Bảng 2.1. Biểu diễn cơ sở dữ liệu giao tác ngang ........................................................ 12
Bảng 2.2. Biểu diễn cơ sở dữ liệu giao tác dọc ............................................................ 13
Bảng 2.3. Biểu diễn cơ sở dữ liệu giao tác ma trận ........................................................... 13
Bảng 3.1. Bảng so sánh kết quả về thời gian chạy của thuật toán Apriori và SSFIM .. 41
Bảng 3.2. Thời gian chạy của các phương pháp SS-FIM và Apriori với độ hỗ trợ tối

thiểu khác nhau trên cùng bộ dữ liệu ........................................................................... 41
Bảng 3.3. Bảng so sánh thuật toán Apriori và thuật toán SSFIM ................................ 42
Bảng 4.1. CSDL giao tác T ......................................................................................... 46
Bảng 4.2. CSDL giao tác T’ ........................................................................................ 46
Bảng 4.3. Bảng so sánh kết quả chạy thuật tốn khơng gia tăng (SSFIM) và thuật toán
gia tăng ........................................................................................................................ 50

ix


DANH MỤC HÌNH
Hình 1.1. Vị trí của KPDL............................................................................................ 5
Hình 2.1. Phân loại thuật toán khai phá luật kết hợp .................................................. 17
Hình 2.2. Kết quả thuật tốn Apriori ........................................................................... 19
Hình 2.3. Những biến đổi dữ liệu của FP_Tree .......................................................... 21
Hình 2.4. FP_Tree của dữ liệu bảng 2.1 ...................................................................... 21
Hình 2.5. Thành phần của FP_Tree ............................................................................. 22
Hình 3.1. Minh họa phương pháp tiếp cận SS-FIM ..................................................... 31
Hình 3.2. Khung MR-SSFIM ...................................................................................... 36
Hình 3.3. Minh họa MR-SSFIM .................................................................................. 39
Hình 4.1. Minh họa thuật toán phát triển SSFIM trên CSDL gia tăng ......................... 49

x


TRÍCH YẾU LUẬN VĂN
Đề tài nghiên cứu: Khai thác tập thường xuyên trong cơ sở dữ liệu lớn với thuật toán
quét đơn.

Mục tiêu nghiên cứu: Mục tiêu thứ nhất là nghiên cứu thuật toán quét đơn

SSFIM và hai thuật toán phát triển của nó là EA-SSFIM và MR_SSFIM. Xây dựng
được chương trình minh họa, so sánh kết quả các thuật toán trên với thuật toán Apriori.
Mục tiêu thứ hai của luận văn là tiến hành cải tiến thuật toán quét đơn SSFIM trên cơ
sở dữ liệu gia tăng.
Nội dung nghiên cứu: Luận văn nghiên cứu một cách tổng quan về khai phá dữ
liệu, các thuật tốn cơ bản tìm tập thường xuyên. Luận văn đi sâu nghiên cứu lý thuyết
về thuật toán quét đơn SSFIM và hai thuật toán phát triển của nó là EA-SSFIM và
MR-SSFIM, cài đặt thử ngiệm các thuật tốn và so sánh kết quả của nó với thuật toán
Apriori. Luận văn nghiên cứu cải tiến thuật toán quét đơn SSFIM trên cơ sở dữ liệu gia
tăng.
Phương pháp nghiên cứu: Luận văn sử dụng phương pháp phân tích và phương
pháp tổng hợp nhằm phân tích, tổng hợp các bài báo liên quan đến lĩnh vực nghiên
cứu. Từ đó, cài đặt thử nghiệm trên một số bộ dữ liệu để phân tích, đánh giá nhằm đưa
ra kết quả so sánh các thuật toán với thuật toán Apriori, từ đó tiến hành cải tiến thuật
tốn trên cơ sở dữ liệu gia tăng.
Kết quả đạt được: Về mặt lý thuyết, luận văn đã trình bày được kiến thức tổng
quan về khai phá dữ liệu, trình bày một số khái niệm cơ bản về tập mục, các cách tiếp
cận khai phá tập mục thường xun, một số thuật tốn điển hình tìm tập mục thường
xun như thuật tốn Apriori, thuật tốn FP-Growth. Trình bày được thuật tốn qt
đơn SSFIM và hai thuật tốn phát triển của nó là thuật tốn EA-SSFIM và MRSSFIM. Đặc biệt luận văn đã nghiên cứu và phát triển được thuật toán quét đơn
SSFIM trên cơ sở dữ liệu gia tăng.
Về mặt chương trình, đã cài đặt được thuật toán SSFIM và thuật toán phát triển
SSFIM trên cơ sở dữ liệu gia tăng, từ đó đánh giá được kết quả thuật tốn, phân tích
ưu điểm nhược điểm của các thuật toán.
Hạn chế của luận văn là chưa cài đặt được thuật toán EA-SSFIM, MR-SSFIM.
xi


Khai thác tập mục thường xuyên trong khai phá dữ liệu là một lĩnh vực nghiên
cứu rộng lớn, bao hàm nhiều phương pháp, kĩ thuật, nhiều hướng nghiên cứu, tiếp cận

khác nhau và luận văn chính là sự thể hiện cho một nghiên cứu về cách tiếp cận mới
trong việc giải quyết bài tốn tìm tập thường xun trong khai phá dữ liệu.
Từ khóa: Apriori, FP-Growth, Khai thác tập mục thường xuyên, Thuật toán quét
đơn, Cơ sở dữ liệu gia tăng.

xii


LỜI MỞ ĐẦU
Khai phá dữ liệu là một lĩnh vực rất được quan tâm hiện nay. Một trong những
vấn đề quan trọng trong data mining là tìm ra quy luật giữa các thơng tin đó để biến
chúng thành những tri thức, một trong những cách tìm ra các quy luật này là tìm luật
kết hợp – association rules. Trong các bài tốn tìm luật kết hợp thì cơng đoạn tìm tất cả
các tập mục thường xuyên là đòi hỏi sự tính tốn lớn, làm hao tốn nhiều tài ngun của
máy tính nhất. Do đó để cải tiến bài tốn tìm luật kết hợp theo cách tốt hơn, trước tiên
chúng ta hãy đặt vấn đề làm giảm chi phí cho cơng đoạn tìm tập thường xun này.
Trên thế giới đã có rất nhiều nhà nghiên cứu về khai phá tập mục thường xuyên
với những thuật toán cải tiến hiệu quả, trong đó có nhóm tác giả Youcef Djenouri,
Djamel Djenouri, Jerry Chun-weilin, Asma Belhadi [8]. Nhóm tác giả đã tiếp cận bài
tốn khai thác tập mục thường xuyên theo một khía cạnh mới và hiệu quả đối với cơ
sở dữ liệu lớn đó là phương pháp quét đơn (SSFIM), một phương pháp tiếp cận tiến
hóa (EA-SSFIM), cũng như triển khai song song trên các cụm Hadoop (MR-SSFIM).
EA-SSFIM và MR-SSFIM nhằm mục tiêu cơ sở dữ liệu lớn và thưa. Cách tiếp cận
được đề xuất chỉ cần một lần quét để trích xuất các mục ứng viên và nó có lợi thế để
tạo ra số lượng các mục ứng cử viên độc lập với giá trị của độ hỗ trợ tối thiểu. Điều
này tăng tốc quá trình quét so với các phương pháp hiện có trong khi xử lý các cơ sở
dữ liệu thưa và lớn.
Rất nhiều cơng trình nghiên cứu về khai phá tập thường xuyên chủ yếu xử lý trên
tập dữ liệu xác định trước, trong đó có thuật tốn qt đơn SSFIM. Ta biết rằng, các
tập dữ liệu được bổ sung và gia tăng theo thời gian, do vậy các tập thường xuyên và

các luật kết hợp đã được tính tốn khơng cịn giá trị trên tập dữ liệu mới. Ngồi ra, với
một dữ liệu ổn định, khi cần tìm các tập thường xuyên với độ hỗ trợ khác, công việc
phải tính lại từ đầu. Do đó mục tiêu của luận văn là tiến hành cải tiến thuật toán quét
đơn SSFIM trên cơ sở dữ liệu gia tăng nhằm giảm bớt chi phí về thời gian cho việc tìm
tập thường xuyên. Phương pháp cải tiến là với CSDL chưa gia tăng sau khi áp dụng
thuật toán SSFIM ta được tập ứng viên cùng độ hỗ trợ, lưu lại tập ứng viên cùng độ hỗ
trợ này. Theo thời gian, cơ sở dữ liệu gia tăng, ta tiến hành hai bước. Bước thứ nhất là
tải tập ứng viên cùng độ hỗ trợ đã được lưu trữ. Bước thứ hai là thực hiện thuật toán

1


SSFIM trên CSDL gia tăng với độ hỗ trợ được tính tốn lại trên CSDL gia tăng mà
khơng cần tính tốn lại từ đầu, do đó sẽ tiết kiệm được thời gian thực hiện.
Luận văn sử dụng phương pháp phân tích và phương pháp tổng hợp nhằm phân
tích, tổng hợp các bài báo liên quan đến lĩnh vực nghiên cứu và cài đặt được chương
trình thử nghiệm trên các bộ dữ liệu.
Luận văn đã đạt được một số kết quả như sau: Về mặt lý thuyết, luận văn đã trình
bày được kiến thức tổng quan về khai phá dữ liệu, trình bày một số khái niệm cơ bản
về tập mục, các cách tiếp cận khai phá tập mục thường xuyên, một số thuật tốn điển
hình tìm tập mục thường xun như thuật tốn Apriori, thuật tốn FP-Growth. Luận
văn đã trình bày được thuật toán quét đơn SSFIM và hai thuật tốn phát triển của nó là
thuật tốn EA-SSFIM và MR-SSFIM. Về mặt chương trình, đã cài đặt được thuật tốn
SSFIM, từ đó đánh giá được kết quả thuật tốn, phân tích ưu điểm nhược điểm của các
thuật tốn. Đặc biệt luận văn đã đưa ra được phương pháp cải tiến thuật toán SSFIM
trên cơ sở dữ liệu gia tăng, cài đặt và đánh giá thuật toán.
Hạn chế của luận văn là chưa cài đặt được thuật toán EA-SSFIM và MR-SSFIM,
những đánh giá về thuật toán chỉ dựa vào kết quả nghiên cứu của Youcef Djenouri và
các cộng sự [8].
Nội dung luận văn gồm 5 chương:

Chương 1: Tổng quan về khai phá dữ liệu. Giới thiệu về khai phá dữ liệu.
Chương 2: Các thuật tốn cơ bản tìm tập thường xun. Trình bày các thuật tốn
cơ bản về tìm tập thường xuyên như thuật toán Apriori, thuật toán FP-Growth.
Chương 3: Khai thác tập thường xuyên trong cơ sở dữ liệu lớn với thuật tốn
qt đơn. Trình bày thuật tốn qt đơn SSFIM và hai thuật tốn phát triển của nó:
EA-SSFIM, MR-SSFIM. Cài đặt thử nghiệm và đánh giá thuật toán quét đơn SSFIM
Chương 4: Phát triển thuật toán quét đơn SSFIM trên cơ sở dữ liệu gia tăng.
Chương 5: Kết luận và hướng phát triển

2


CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1 Các khái niệm cơ bản
1.1.1 Khái niệm về khai phá tri thức và khai phá dữ liệu
Dữ liệu (data) là tập các sự kiện thô và chúng được tổ chức ở các dạng logic.
Thành phần nhỏ nhất của dữ liệu được “thừa nhận” bởi máy tính là các ký tự đơn, ví
dụ: chữ A, số 1, ký tự *… Một ký tự được biểu diễn bởi 8 bít. Các bít thường được sử
dụng để đo thông tin [5].
Tri thức (Knowlegde) được xem như là các thơng tin tích hợp, bao gồm các sự
kiện và mối quan hệ giữa chúng. Tri thức có thể được coi là dữ liệu ở mức độ cao của
sự trừu tượng và tổng quát.
Khám phá tri thức hay phát hiện tri thức là một quy trình nhận biết các mẫu hoặc
các mơ hình trong dữ liệu với các tính năng: Phân tích, tổng hợp, hợp thức, khả ích và
có thể hiểu được.
Khai phá dữ liệu (KPDL) là một bước trong quá trình khám phá tri thức, bao
gồm các thuật tốn chun dụng:
- Tìm ra các mẫu hoặc các mơ hình trong dữ liệu dung lượng lớn.
- Phát hiện tri thức phục vụ cho các lợi ích trong thực tế và các yêu cầu trong
nghiên cứu học thuật.

Mục đích chính của khai phá dữ liệu là phát hiện tri thức phục vụ cho các lợi ích
trong thực tế và các yêu cầu trong nghiên cứu học thuật. Do đó, ta có thể coi mục đích
chính của khai thác dữ liệu là mơ tả (description) và dự đốn (prediction). Dự đoán
liên quan đến việc sử dụng các biến hoặc các trường trong CSDL để chiết xuất ra các
mẫu nhằm dự đoán những giá trị chưa biết hoặc giá trị của các biến sẽ được quan tâm
trong tương lai. Mô tả tập trung vào việc tìm kiếm các mẫu biểu diễn dữ liệu mà con
người có thể hiểu được. [5]
Nguồn dữ liệu phục vụ cho KPDL có thể là các CSDL lớn hay các kho dữ liệu có
hoặc khơng có cấu trúc. KPDL chỉ thực sự phát huy tác dụng trên các CSDL lớn, nơi
mà khả năng diễn dịch và trực giác của con người cũng như các kỹ thuật truyền thống
không thể thực hiện nổi hoặc nếu thực hiện được thì hiệu quả khơng cao.
3


Có thể chia KPDL thành 2 dạng chính:
- KPDL theo hướng kiểm tra: người dùng đề xuất giả thiết, hệ thống kiểm tra tính
đúng đắn của giả thiết (bao gồm: truy vấn, báo cáo, phân tích đa chiều, phân tích thống
kê …).
- KPDL theo hướng khám phá: tìm kiếm các tri thức tiềm ẩn trong CSDL bằng
cách tiến hành xem xét tất cả các giả thiết khả dĩ. Do không gian tìm kiếm lớn, nên rất
nhiều heuristic đã được đề xuất nhằm nâng cao hiệu suất của các thuật giải tìm kiếm.
Tri thức được rút ra có thể được dùng để:
- Giải thích dữ liệu: Cung cấp sự hiểu biết sâu sắc và rất hữu ích về hành vi của
các đối tượng, giúp cho các doanh nghiệp hiểu rõ hơn những khách hàng của họ.
- Dự báo: dự đoán giá trị của những đối tượng mới.
+ Khuynh hướng mua hàng của khách hàng.
+ Xác định rủi ro tín dụng đối với một khách hàng.
Ngày nay, khi công cụ thu thập dữ liệu tự động và công nghệ lưu trữ dữ liệu ngày
càng hoàn thiện giúp con người tạo lập và quản lý một lượng dữ liệu khổng lồ trong
các CSDL, kho dữ liệu (data warehouse) thì nhu cầu nắm bắt dữ liệu, trích rút thơng

tin trở thành cấp thiết và có ý nghĩa. Mặt khác, với nhu cầu ngày càng cao hơn, con
người khơng bằng lịng với những dữ liệu đơn giản thu được từ các kỹ thuật trước đây.
Từ nhu cầu về những sự kiện rời rạc trong lĩnh vực ứng dụng, nay phát sinh nhu cầu
nắm bắt tri thức về các mối quan hệ giữa chúng, xa hơn nữa là phát hiện những quy
luật trong lĩnh vực đó. KPDL ra đời nhằm đáp ứng các nhu cầu cấp thiết đó.
1.1.2. Lịch sử phát triển KPDL
- Thập niên 1960: xuất hiện CSDL theo mơ hình mạng và mơ hình phân cấp.
- Thập niên 1970: thiết lập nền tảng lý thuyết cho CSDL quan hệ, các hệ quản trị
CSDL quan hệ.
- Thập niên 1980: hoàn thiện lý thuyết về CSDL quan hệ và các hệ quản trị
CSDL quan hệ, xuất hiện các hệ quản trị CSDL cao cấp (hướng đối tượng, suy
diễn,…) và hệ quản trị CSDL hướng ứng dụng trong lĩnh vực không gian, khoa học,
công nghiệp, nông nghiệp, địa lý, …
4


- Thập niên từ 1990 đến 2000: phát triển KPDL và kho dữ liệu, CSDL đa phương
tiện và CSDL web.
KPDL là một cơng đoạn trong tiến trình khám phá tri thức từ CSDL (Knowledge
Discovery in Database - KDD). KPDL giúp phát hiện những xu thế phát triển từ
những thông tin quá khứ, cũng như cho phép đề xuất các dự báo mang tính thống kê,
gom cụm và phân loại dữ liệu.
Vị trí của KPDL được thể hiện qua sơ đồ:
Tăng khả năng hỗ trợ
quyết định kinh doanh
Người dùng
Ra quyết
định

Trình bày dữ liệu


Các cơng cụ trực
quan
Data Mining

Nhà phân
tích kinh
doanh
Nhà phân tích
dữ liệu

Khảo sát dữ liệu

Phân tích, thống kê, truy vấn và báo
cáo
Data Warehouse / Data Marts

OLAP ,
MDA
Nguồn dữ liệu

Giấy tờ, tập tin, trình cung cấp thơng tin, hệ thống
CSDL

Hình 1.1. Vị trí của KPDL
1.1.3. Sự cần thiết của khai phá dữ liệu
KPDL là cần thiết với người dùng vì những lý do sau:

5


DBA


- Ngày càng có nhiều dữ liệu được lưu trữ trong các CSDL, kho dữ liệu và hình
thành một “mỏ vàng dữ liệu” chứa đầy các thông tin chiến lược mà các hệ quản trị
CSDL thông thường không thể phát hiện và quản trị được chúng.
- CSDL phát triển rất nhanh cả về kích thước lẫn số lượng. Khơng xét những
thơng tin mang tính sự kiện được lưu trữ trong CSDL, những thơng tin được suy diễn
từ nó cũng hết sức lý thú. Tuy nhiên, với các quan hệ có số lượng khổng lồ các bản ghi
và có quá nhiều trường dữ liệu, việc duyệt hàng triệu bản ghi hay hàng trăm trường tin
để tìm ra các mẫu và các quy luật là một thách thức và trở ngại thật sự đối với các nhà
phân tích dữ liệu.
- Khơng phải người dùng nào cũng là nhà thống kê hay nhà phân tích dữ liệu
chuyên nghiệp.
- Sử dụng cho các trường hợp tìm kiếm nhưng chưa xác lập rõ hoặc chưa mơ tả
được các điều kiện tìm kiếm. Nếu người dùng biết họ đang tìm kiếm gì thì dùng SQL,
nhưng nếu người dùng chỉ có một ý tưởng khơng rõ ràng, hoặc một cảm nhận nào đó
thì họ nên dùng KPDL.
KPDL là một công cụ hiệu quả trong các lĩnh vực như:
- Sử dụng dữ liệu để xây dựng các mô hình dự báo:
• Khả năng dự báo tiềm ẩn trong dữ liệu.
• Gợi ý về các chiều và các nhóm dữ liệu có khả năng chứa các tri thức
hữu ích.
- Tạo tóm tắt và báo cáo rõ ràng:
• Tự động tìm những phân đoạn trong dữ liệu.
• Tìm ra những phân đoạn mà nhà phân tích chưa biết hoặc có hiểu biết
nhưng chưa rõ ràng.
- Cung cấp cơ chế hỗ trợ ra quyết định:
• Dự báo.
• Mơ hình hóa.


6


1.2. Các công đoạn khám phá tri thức từ cơ sở dữ liệu
Tiến trình khám phá tri thức từ CSDL bao gồm 3 cơng đoạn:
- Chuẩn bị dữ liệu:
• Chọn lọc dữ liệu.
• Làm sạch dữ liệu.
• Làm giàu dữ liệu.
• Mã hóa dữ liệu.
- Khai thác dữ liệu
- Tường trình, báo cáo kết quả
Tại mỗi cơng đoạn, tiến trình có thể quay lui qua một hay nhiều giai đoạn. Ví dụ,
tại giai đoạn khám phá hay mã hóa dữ liệu, tiến trình vẫn có thể quay trở về giai đoạn
xóa bỏ dữ liệu, hay có thể quay trở về giai đoạn làm giàu dữ liệu nếu như có được các
dữ liệu mới để sử dụng chúng cho việc làm giàu các tập dữ liệu có sẵn. [7]
1.2.1. Chọn lọc dữ liệu
Đây là giai đoạn chọn lọc, trích rút các dữ liệu cần thiết từ CSDL tác nghiệp vào
một CSDL riêng. Chúng ta chỉ chọn ra những dữ liệu cần thiết cho các giai đoạn sau.
Tuy nhiên, công việc thu gom dữ liệu vào một CSDL thường rất khó khăn vì dữ liệu
nằm rải rác khắp nơi trong cơ quan, tổ chức. Cùng một loại thông tin nhưng được tạo
lập theo các dạng thức khác nhau, ví dụ nơi này dùng kiểu chuỗi, nơi kia lại dùng kiểu
số để khai báo một thuộc tính nào đó của khách hàng. [7]
1.2.2. Làm sạch dữ liệu
Phần lớn các CSDL đều ít nhiều mang tính khơng nhất qn. Do vậy, khi KPDL
trên các CSDL đó thường khơng đảm bảo tính đúng đắn. Ví dụ, trong các cơng ty bảo
hiểm nhân thọ thì ngày sinh của khách hàng cần phải thật chính xác, trong khi đó có từ
30% - 40 % thơng tin về tuổi khách hàng trong CSDL ngân hàng để trống hoặc chứa
dữ liệu sai. Điều này sẽ làm cho chúng ta khơng thể khám phá ra mơ hình về quan hệ

tuổi tác.

7


Do đó, trước khi bắt đầu KPDL, chúng ta phải tiến hành xóa bỏ dữ liệu khơng
cần thiết, nói chung nên xóa bỏ dữ liệu sai càng nhiều càng tốt. Trong thực tế, giai
đoạn này được thực hiện nhiều lần, vì chỉ tại giai đoạn KPDL mới phát hiện được tính
bất thường trong dữ liệu. Có một số loại tiến trình xóa bỏ dữ liệu được thực thi ở mức
độ cao trong khi một số loại tiến trình khác chỉ được sử dụng sau khi phát hiện ra lỗi
tại giai đoạn mã hóa hay giai đoạn tìm kiếm.
- Chống trùng lặp
Dạng lỗi thứ nhất khá quan trọng là thông tin trùng của các bản ghi, cần tiến hành
xóa bỏ thơng tin trùng đó. Thao tác này diễn ra khi có những phần thơng tin bị trùng
do có sai sót trong phần nhập dữ liệu, hoặc thông tin không được cập nhật kịp thời
hoặc thông tin được cung cấp bị sai.
- Giới hạn vùng giá trị
Dạng lỗi thứ hai thường xảy ra đó là giá trị nằm ngồi miền giá trị cho phép,
nghĩa là các thông tin chứa các giá trị khơng hợp lệ theo một quy tắc nào đó. Dạng lỗi
này gây tác hại khá lớn vì rất khó phát hiện, nhưng lại có ảnh hưởng lớn đến dạng thức
các mẫu cần tìm khi thực hiện KPDL trên các bảng dữ liệu này. Từ đó sẽ xuất hiện các
mâu thuẫn trong các vùng dữ liệu.
- Làm giàu dữ liệu
Mục đích của giai đoạn này là bổ sung thêm nhiều loại thơng tin có liên quan vào
cơ sở dữ liệu gốc. Để làm được điều này, chúng ta phải có các CSDL khác ở bên ngồi
có liên quan đến CSDL gốc ban đầu, ta tiến hành bổ sung những thông tin cần thiết,
làm tăng khả năng khám phá tri thức từ CSDL. [7]
1. 2.3. Mã hóa dữ liệu
Mục đích của giai đoạn mã hóa là chuyển đổi kiểu dữ liệu về những dạng thuận
tiện để tiến hành các thuật toán khám phá dữ liệu. Có nhiều cách mã hóa dữ liệu khác

nhau theo từng loại dữ liệu:
- Phân vùng: với dữ liệu là giá trị chuỗi, nằm trong tập các chuỗi cố định.
- Biến đổi giá trị năm thành con số nguyên là số năm đã trôi qua so với năm hiện
hành.
8


- Chia giá trị số theo một hệ số để tập các giá trị nằm trong vùng nhỏ hơn.
- Chuyển đổi yes/no thành 0/1.
1. 2.4. Khai phá dữ liệu
KPDL nhằm rút trích các mẫu và/hoặc các mơ hình ẩn trong dữ liệu. Một mơ
hình có thể xem là “một biểu diễn cấu trúc tổng thể, hệ thống các thành phần CSDL
hoặc mô tả dữ liệu phát sinh như thế nào”.
1.2.5. Trình diễn dữ liệu
Là q trình giải thích và hiển thị trực quan các kết quả KPDL để hỗ trợ việc
định giá chất lượng dữ liệu, đánh giá mơ hình dữ liệu được lựa chọn có phù hợp hay
khơng, và thể hiện mơ hình. Mỗi bước (trừ bước lưu trữ dữ liệu) cho phép tương tác
người dùng và một số bước có thể được thực hiện hồn tồn thủ cơng.
1.3. Ứng dụng của khai phá dữ liệu
Khai phá dữ liệu được áp dụng trong nhiều lĩnh vực, có thể liệt kê một số lĩnh vực
phổ biến:

- Thông tin doanh nghiệp
+ Phân tích dữ liệu tiếp thị và bán hàng
+ Phân tích đầu tư
+ Phê duyệt tín dụng
+ Phát hiện gian lận
- Thơng tin sản xuất
+ Kiểm sốt và lập kế hoạch
+ Quản lý mạng

+ Phân tích kết quả thử nghiệm
- Thông tin khoa học
+ Dự báo thời tiết
+ Dữ liệu động đât
- Thông tin cá nhân
9


1. 4. Khái quát các kỹ thuật khai phá dữ liệu
1.4.1. Khai thác tập thô phổ biến và luật kết hợp
Là tiến trình khai phá các tập giá trị thuộc tính xuất hiện phổ biến trong các đối
tượng dữ liệu. Từ tập phổ biến ta có thể tạo ra các luật kết hợp giữa các thuộc tính
nhằm phản ánh khả năng xuất hiện đồng thời các giá trị thuộc tính trong tập các đối
tượng. Một luật kết hợp phản ánh sự xuất hiện của tập X thì khả năng có sự xuất hiện
đồng thời của tập Y.
Ví dụ 1.1: “ 80% khách hàng mua máy điện thoại di động thì mua thêm simcard,
30% có mua cả máy điện thoại di động lẫn simcard. ”
Luật kết hợp giúp các nhà hoạch định hiểu rõ xu thế bán hàng, tâm lý khách
hàng,… từ đó đưa ra các chiến lược bố trí mặt hàng, kinh doanh, tiếp thị, tồn kho…
1.4.2. Khai thác mẫu tuần tự
Một luật mơ tả tuần tự có dạng biểu diễn phản ánh sự xuất hiện của biến cố X
dẫn đến sự xuất hiện kế tiếp biến cố Y.
Một luật thể hiện mẫu tuần tự tiêu biểu:
Có 80% khách hàng mua áo thun Việt Tiến, mua bóng Động Lực thì sau 3 ngày
mua quần Việt Tiến.
Nhờ mẫu tuần tự, có thể khai phá các xu thế phát triển hành vi của đối tượng.
1.4.3. Phân lớp dữ liệu
Là tiến trình khai phá các luật phân loại hay đặc trưng cho các tập dữ liệu đã
được gán nhãn. Tập dữ liệu học bao gồm tập đối tượng đã được xác định lớp sẽ được
dùng để tạo mơ hình phân lớp dựa trên đặc trưng của đối tượng trong tập dữ liệu học.

Các luật phân lớp dùng để xây dựng các bộ phân lớp dữ liệu. Phân lớp dữ liệu có vai
trị quan trọng trong tiến trình dự báo các khuynh hướng, quy luật phát triển. Áp dụng
vào tiến trình phân lớp dữ liệu khách hàng trong CSDL có thể xây dựng các luật phân
lớp khách hàng. Một luật phân lớp có dạng tiêu biểu như sau:
Nếu khách hàng ở khu vực 1 và có doanh số năm trước > 200 triệu và có cửa
hàng ở khu thị tứ thì thuộc loại khách hàng có thể giao hàng trước trả tiền sau. [2]
10


1.4.4. Khai thác cụm
Là tiến trình nhận diện các cụm tiền ẩn trong tập các đối tượng chưa được xếp
lớp. Tiến trình khai thác cụm dựa trên mức độ tương tự giữa các đối tượng. Các đối
tượng được gom cụm sao cho mức độ tương tự giữa các đối tượng trong cùng một cụm
là cực đại và mức độ tương tự giữa các đối tượng nằm trong cụm khác nhau là cực
tiểu. Các cụm đặc trưng bằng các tính chất chung của tất cả các đối tượng trong cụm.
Do vậy, phát hiện tính chất đặc trưng của khối dữ liệu lớn.
1.5. Những thách thức trong khai phá dữ liệu
KPDL phải làm việc với khối lượng dữ liệu lớn và do từ nhiều nguồn khác nhau
(CSDL, Internet, các loại thiết bị thu nhận tín hiệu, …) nên vấn đề tốc độ xử lý là vấn
đề cần quan tâm trước nhất. Có hai phương hướng để giải quyết vấn đề này là nâng
cao năng lực của phần cứng và cải tiến phần mềm, trong đó việc nghiên cứu đề xuất
các thuật tốn hiệu quả có khả năng làm việc trên khối lượng dữ liệu lớn, và có độ
phức tạp tính tốn thấp là một hướng nghiên cứu đầy tiềm năng. Từ nhu cầu thực tế
trên, gần đây đã xuất hiện nhiều ngành khoa học cơng nghệ hỗ trợ KPDL như tính tốn
song song,...
Trong chương này đã trình bày được kiến thức tổng quan về khai phá dữ liệu như
khái niệm khai phá tri thức, khai phá dữ liệu, quá trình khai phá dữ liệu, các mơ hình
khai phá dữ liệu, ứng dụng khai phá dữ liệu.

11



CHƯƠNG 2. CÁC THUẬT TỐN CƠ BẢN
TÌM TẬP MỤC THƯỜNG XUYÊN
2.1.

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

2.1.1. Cơ sở dữ liệu giao tác
Định nghĩa
Cho I = {x1, x2, …, xn} là tập hợp các mục dữ liệu. Mỗi xi  I gọi là một mục dữ
liệu. Một tập con {xi1, xi2, …, xik}  I được gọi là một giao tác trên I. Đặt ti = {xi1, xi2,
…, xik}, ti gọi là định danh của giao tác {xi1, xi2, …, xik}. Một tập hợp gồm m định danh
giao tác T = {t1, t2, …, tm}, với m bất kỳ được gọi là một cơ sở dữ liệu giao tác trên I.
Mỗi tập con X  I với ‖X‖ = k được gọi là tập k-mục dữ liệu hay k-thuộc
tính của I (trong trường hợp không quan tâm đến số mục dữ liệu của X, ta gọi tắt:
X là tập mục dữ liệu), mỗi tập con S  T gọi là tập định danh giao tác. Để thuận
tiện trong các ví dụ, ta viết X = ABC thay cho X = {A, B, C} và S = 123 thay cho
S = {t1, t2, t3}, XY thay cho X  Y. [1]
Biểu diễn cơ sở dữ liệu giao tác:
Có hai cách biểu diễn tập cơ sở dữ liệu giao tác: Biểu diễn ngang và biểu diễn dọc.
- Biểu diễn ngang: Một CSDL là một danh sách các giao tác. Mỗi giao tác có
một định danh giao tác (tid) và một danh sách những mục dữ liệu trong giao tác đó.
Bảng 2.1. Biểu diễn cơ sở dữ liệu giao tác ngang
Giao tác
t1
t2
t3
t4


Mục dữ liệu
A, C, D
B, C, E
A, B, C, E
B, E

- Biểu diễn dọc: Cơ sở dữ liệu là một danh sách các mục dữ liệu, mỗi mục dữ
liệu có một danh sách tất cả các định danh của các giao tác chứa mục dữ liệu này.

12


Bảng 2.2. Biểu diễn cơ sở dữ liệu giao tác dọc
Mục dữ liệu Định danh giao tác
A

t1, t3

B

t2, t3, t4

C

t1, t2, t3

D

t1


E

t2, t3, t4

Ma trận giao tác: Cho một CSDL giao tác T = {t1, t2, …, tm} trên
I = {x1, x2, …, xn}. Ma trận giao tác của T là ma trận M = (mij)mxn được định nghĩa:

1 khi x j  t i
m ij = 
0 khi x j  t i
Với CSDL giao tác ở bảng 2.1 ta có ma trận giao tác là:
Bảng 2.3. Biểu diễn cơ sở dữ liệu giao tác ma trận
Mục

t1

t2

t3

t4

A

1

0

1


0

B

0

1

1

1

C

1

1

1

0

D

1

0

0


0

E

0

1

1

1

Độ hỗ trợ (support)
Độ hỗ trợ của một tập mục dữ liệu X  I trong cơ sở dữ liệu giao tác T, ký hiệu
Supp(X) là tổng số các giao tác trong T chứa X.
Supp(X) = ∥{t  T | X  t}∥.
Với CSDL cho ở bảng 2.1 ta có:
Supp(A) = 2,

Supp(B) = 3,

Supp(ABC) = 1.

Một số tác giả [23] định nghĩa độ hỗ trợ theo công thức:
Supp(X) = ∥{t  T | X  t}∥ / ∥T∥.
13


×