Tải bản đầy đủ (.doc) (79 trang)

Khai thác mẫu phổ biến trên cơ sở dữ liệu tăng trưởng sử dụng cấu trúc node set

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 (861.98 KB, 79 trang )

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

---------------------------

LÊ MINH TÂM

KHAI THÁC MẪU PHỔ BIẾN TRÊN CƠ SỞ
DỮ LIỆU TĂNG TRƯỞNG SỬ DỤNG CẤU
TRÚC NODE-SET

LUẬN VĂN THẠC SĨ
Chuyên ngành : CÔNG NGHỆ THÔNG
TIN Mã số ngành

: 60480201

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


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

LÊ MINH TÂM

KHAI THÁC MẪU PHỔ BIẾN TRÊN CƠ SỞ
DỮ LIỆU TĂNG TRƯỞNG SỬ DỤNG CẤU
TRÚC NODE-SET
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 4 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 24 tháng 4 năm 2017
Thành phần Hội đồng đánh giá Luận văn Thạc sĩ gồm:
TT

Họ và tên

Chức danh Hội đồng

1

TS. CAO TÙNG ANH

Chủ tịch

2


PGS.TS QUẢN THÀNH THƠ

Phản biện 1

3

TS. VŨ THANH HIỀN

Phản biện 2

4

TS. NGUYỄN THỊ THUÝ LOAN

5

TS. LÊ THỊ NGỌC THƠ

Ủy viên
Ủy viên, Thư ký

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

TS. CAO TÙNG ANH


TRƯỜNG ĐH CÔNG NGHỆ TP. HCM


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

PHÒNG QLKH – ĐTSĐH

Độc lập – Tự do – Hạnh phúc

TP. HCM, ngày..… tháng….. năm 20..…
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: Lê Minh Tâm........................................................Giới tính: Nữ .......
Ngày, tháng, năm sinh: 26/ 09/ 1988............................................Nơi sinh: TP. HCM
Chuyên ngành: Công nghệ Thông tin...........................................MSHV:1541860024
I- Tên đề tài:
Khai thác mẫu phổ biến trên cơ sở dữ liệu tăng trưởng sử dụng cấu trúc Nodeset.
II- Nhiệm vụ và nội dung:
Tìm hiểu cơ sở lý thuyết thuật toán Apriori, FP-Growth, PPV, Prepost,
FIN, Prelarge-Tree
Cải tiến thuật toán Prelarge-Tree dựa vào cấu trúc Node-set và thuật toán FIN.
III- Ngày giao nhiệm vụ:
IV- Ngày hoàn thành nhiệm vụ: 31/ 03/ 2017
V- Cán bộ hướng dẫn: PGS.TS VÕ ĐÌNH BẢY
CÁN BỘ HƯỚNG DẪN

PGS.TS VÕ ĐÌNH BẢY

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

PGS.TS VÕ ĐÌNH BẢY


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

Lê Minh Tâm


ii

LỜI CÁM ƠN
Được sự phân công của khoa Công nghệ Thông tin trường đại học Công
nghệ TP.HCM, và sự đồng ý của thầy hướng dẫn PGS Võ Đình Bảy tôi đã thực hiện
đề tài “Khai thác mẫu phổ biến trên cơ sở dữ liệu tăng trưởng sử dụng cấu trúc
Node-set”.
Để hoàn thành khoá luận này, tôi xin chân thành cảm ơn các thầy cô đã tận
tình hướng dẫn, giảng dạy trong suốt quá trình học tập, nghiên cứu và rèn luyện tại
trường đại học Công nghệ TP.HCM.
Xin chân thành cảm ơn Thầy hướng dẫn PGS Võ Đình Bảy đã tận tình, chu
đáo hướng dẫn tôi thực hiện khoá luận này.
Mặc dù đã có nhiều cố gắng để thực hiện đề tài một cách hoàn chỉnh nhất.
Song do buổi đầu làm quen với công tác nghiên cứu khoa học, tiếp cận với thực tế
sàn xuất cũng như hạn chế về kiến thực và kinh nghiệm nên không thể tránh khỏi
những thiếu sót nhất định mà bản thân chưa thấy được. Tôi rất mong được sự góp ý

của quý Thầy, Cô để khoá luận được hoàn chỉnh hơn.
Tôi xin chân thành cảm ơn.
Lê Minh Tâm


3

TÓM TẮT

Ngành công nghiệp công nghệ thông tin ngày càng phát triển, đòi hỏi lượng
thông tin lưu trữ ngày càng cao. Khả năng ứng dụng khai thác dữ liệu nhằm phát hiện
các quy luật thông tin trong lượng dữ liệu khổng lồ, giúp đưa ra những quyết định đúng
đắn mang lại cơ hội phát triển mạnh mẽ cho các doanh nghiệp.
Mặc dù đã có nhiều thuật toán khai thác dữ liệu như Approri (Agrawal &
Srikant,1994), Eclat (Zaki, 2000), FP-Growth (Han và các đồng sự, 2000) nhưng chưa
hiệu quả và phù hợp với lượng lớn dữ liệu hiện nay. Gần đây, Node-list (Deng &
Wang,
2010) và N-list (Deng, Wang, & Jiang, 2012) là hai cấu trúc dữ liệu được sử dụng
phổ biến, nó được chứng minh là rất hiệu quả trong việc khai thác tập phổ biến. Vấn
đề chính đặt ra đối với những cấu trúc này là, cả hai thuật toán đều phải mã hóa cho
từng nút một của PPC-Tree với mã pre-order và post-order. Đây là nguyên nhân gây
tốn bộ nhớ vá bất tiện trong quá trình khai thác tập phổ biến. Vì vậy, cấu trúc Node-set
(Deng & Lv, 2014) hiệu quả hơn cho việc khai thác tập phổ biến. Node-set chỉ yêu
cầu pre-order hoặc post- order cho mỗi nút, chính điều này giúp cho Node-set tiết
kiệm một nửa bộ nhớ so với Node-list và N-list.
Luận văn nhằm tìm hiểu cấu trúc Node-set và áp dụng trong khai thác tập phổ
biến trên cơ sở dữ liệu tăng trưởng.


4


ABSTRACT

The IT industry is growing, demanding an increasing amount of information.
The ability to utilize data mining to detect information rules in huge amounts of data
helps to make the right decisions that provide a strong opportunity for business growth.
Although many data mining algorithms, such as Approri (Agrawal &
Srikant,
1994), Eclat (Zaki, 2000), FP-Growth (Han et al., 2000), are not efficient and
consistent with large amounts of data. Current data. Recently, Node-list (Deng &
Wang, 2010) and N-list (Deng, Wang, & Jiang, 2012) are two commonly used data
structures, which have proved to be very effective in stating Popular file pool. The
main problem with these constructs is that both algorithms must encode each node of
the PPC-Tree with pre-order and post-order code. This is the cause of memory loss
inconvenient patch during the common file exploit. Therefore, the Node-set (Deng &
Lv, 2014) structure is more efficient for common file mining. Node-sets only require
pre-order or post-order for each node, which in turn allows Node-sets to save half the
memory compared to Node-lists and
N-lists.
The thesis aims to investigate the Node-set structure and apply in the popular
file mining on the incremental database.


5

MỤC LỤC
MỞ ĐẦU .....................................................................................................................1
1-

Nhu cầu thực tiễn .........................................................................................1


2-

Mục tiêu đề tài ..............................................................................................1

3-

Phạm vi nghiên cứu đề tài ............................................................................1

4-

Bố cục đề tài .................................................................................................2

CHƯƠNG 1- TỔNG QUAN VỀ ĐỀ TÀI ..................................................................4
I-

giới thiệu về khai thác dữ liệu ..........................................................................4
1-

Dữ liệu là gì? ................................................................................................4

2-

Khai thác dữ liệu là gì?.................................................................................4

3-

Quy trình phát hiện tri thức và khai thác dữ liệu..........................................5

4-


Các k thuật khai thác dữ liệu ......................................................................7

CHƯƠNG 2- CƠ SỞ LÝ THUYẾT ...........................................................................8
I-

KHAI THÁC DỮ LIỆU...................................................................................8
1-

Khai thác luật kết hợp...................................................................................8

2-

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

II-

Các thuật toán khai thác tập phổ biến ........................................................10

1-

Khai thác tập phổ biến sử dụng thuật toán Apriori ....................................10

2-

Khai thác tập phổ biến sử dụng thuật toán FP-growth ...............................14

3-

Khai thác tập phổ biến sử dụng thuật toán PPV.........................................18


4-

Khai thác tập phổ biến sử dụng thuật toán PrePost ....................................25

5-

Tìm hiểu cấu trúc POC-Tree, Node-set và thuật tóan FIN ........................33

CHƯƠNG 3 - ỨNG DỤNG NODE-SET TRONG KHAI THÁC TẬP PHỔ BIẾN
TRÊN CƠ SỞ DỮ LIỆU TĂNG TRƯỞNG ............................................................46
I-

Giới thiệu........................................................................................................46

II-

Khai thác tập phổ biến trên cơ sở dữ liệu tăng Trưởng..............................46

1-

Thuật toán Prelarge-itemset .......................................................................47

2-

Thuật toán cập nhật Incremental_FIN........................................................48


6


3-

Ví dụ minh họa ...........................................................................................52

CHƯƠNG 4- KẾT QỦA THỰC NGHIỆM .............................................................59
I-

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

II-

Dữ liệu thực nghiệm ...................................................................................59

III-

So sánh thời gian khai thác.........................................................................59

1-

Khai thác dữ liệu Mushroom......................................................................60

2-

Khai thác dữ liệu T40l10D100K ................................................................61

3-

Khai thác dữ liệu Connect ..........................................................................62

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

I-

Điểm mạnh .....................................................................................................63

II-

Điểm yếu ....................................................................................................63

1-

Hiệu quả của đề tài .....................................................................................63

2-

Hướng phát triển trong tương lai................................................................63


vii

DANH MỤC CÁC TỪ VIẾT
CSDL

: Cơ sở dữ liệu

FIL

: Frequent Itemset Lattice

Large itemset


: Tập phổ biến

Minsupp

: Độ phổ biến tối thiểu

Prelarge itemset

: Tập gần phổ biến

Pre-large tree

: Cây tăng trưởng

Small itemset

: Tập không phổ biến



Độ phổ biến
(Support)


8

DANH MỤC CÁC BẢNG
Bảng 2. 1: CSDL các giao dịch ...................................................................................8
Bảng 2. 2: Độ phổ biến của các tập 1-mục ...............................................................10
Bảng 3. 1: Cơ sở dự liệu ban đầu ..............................................................................52

Bảng 3. 2: Ba giao dịch mới......................................................................................53
Bảng 3.3: Số lượng của tất cả các tập trong giao dịch mới.......................................55
Bảng 3.4: Vùng của các tập trong giao dịch mới ......................................................55
Bảng 3.5: Ba phân vùng của tập trong các giao dịch mới ........................................56
Bảng 4.1: Đặc điểm của các cơ sở dữ liệu thực nghiệm ...........................................59


9

DANH MỤC CÁC BIỂU ĐỒ, ĐỒ THỊ, SƠ ĐỒ, HÌNH ẢNH
Hình 1.1: Quy trình phát triển tri thức và khai thác dữ liệu ........................................5
Hình 2.1: Bước 1 và 2 của thuật toán Apriori tìm tập phổ biến 1-mục ....................12
Hình 2.2: Bước 3 và 4 của thuật toán Apriori tìm tập phổ biến 2-mục. ...................12
Hình 2.3: Bước 5 và 6 của thuật toán Apriori tìm tập phổ biến 3-mục ....................13
Hình 2.4: Bước 7 và 8 của thuật toán Apriori tìm tập phổ biến 4-mục. ...................13
Hình 2.5: Bước 9 và 10 của thuật toán Apriori tìm tập phổ biến 5-mục ..................13
Hình 2.6: Tập phổ biến 1-mục ..................................................................................17
Hình 2.7: Cây FP-tree cho CSDL bảng 2.1...............................................................17
Hình 2.8: Cây PPC-Tree cho CSDL của bảng 2.1 ....................................................19
Hình 2.9: Node-list của tập phổ biến ........................................................................20
Hình 2.10: Node-list của bc ......................................................................................21
Hình 2.11: Node-list của bce.....................................................................................22
Hình 2.12: Minh hoạ khởi dựng PPC-tree ................................................................25
Hình 2.13: Tập phổ biến của N-list ...........................................................................26
Hình 2.14: N-list của bf.............................................................................................28
Hình 2. 15: N-list của bcf ..........................................................................................33
Hình 2.16: POC-tree sau khi chạy thuật toán 2.11 theo dữ liệu của bảng 2.1 ..........35
Hình 2.17: Chỉ ra các Node-set của tất cả tập phổ biến ............................................36
Hình 2.18: Node-set của bf .......................................................................................37
Hình 2.19: Node-set của bcf......................................................................................38

Hình 2.20: Một ví dụ về cây liệt kê...........................................................................40
Hình 3.1: Chín trường hợp khi thêm giao dịch mới vào CSDL đã tồn tại................47
Hình 3.2: Tập phổ biến và gần phổ biến của CSDL bảng 3.1 ..................................52
Hình 3.3: POC- tree được xây dựng .........................................................................54
Hình 3.4: Kết quả cuối cùng của Prelarge tree .........................................................57
Hình 4.1: Tổng thời gian khai thác và số lượng tập phổ biến khi thêm 10% dữ liệu
với ngưỡng

=0.1,

=0.05. ..................................................................................60


10

Hình 4.2: Tổng thời gian khai thác và số lượng tập phổ biến khi thêm 10 lần dữ liệu


=0.05,

=0.02 .................................................................................................61

Hình 4.3: Tổng thời gian khai thác và số lượng tập phổ biến khi thêm 10 lần dữ liệu


=0.8,

=0.7 .....................................................................................................62



1

MỞ ĐẦU
1- Nhu cầu thực tiễn
Những tổ chức có thể khai thác dữ liệu và thông tin để hỗ trợ việc đưa ra
những quyết định chiến lược trong thế giới số hiện nay sẽ có thể đổi mới doanh
nghiệp và dẫn đầu trong ngành của họ.
Việc giải phóng thông tin kịp thời có thể được sử dụng để mang lại sự thấu
hiểu, kinh nghiệm và những quyết định sáng suốt hơn, giúp các công ty sáng tạo với
tốc độ chưa từng có.
Các tổ chức thành công sẽ tạo ra sự khác biệt bằng cách cung cấp trải nghiệm
khách hàng mang tính nhất quán, an toàn, có thể tùy biến và có khả năng mở rộng. Họ
sẽ đạt được kết quả kinh doanh thực sự thông qua khả năng nâng cao hiệu suất hoạt
động, lòng trung thành của khách hàng và tốc độ tăng trưởng.
Khi công nghệ thông tin đóng vai trò cốt lõi để hỗ trợ mọi ứng dụng đang phục
vụ khách hàng, các công ty có thể tối ưu hóa và bảo vệ cơ sở hạ tầng trung tâm dữ liệu
nhằm cung cấp hiệu năng và chức năng khai thác dữ liệu để cải thiện hoạt động tương
tác với khách hàng. Giúp các chủ doanh nghiệp đưa ra những quyết định hiệu quả hơn
và theo kịp được những xu thế và sở thích mới.
Vấn đề đặt ra, làm sao giải quyết các vấn đề này nhằm giảm chi phí, tốn k m
cho các nhà cung cấp dịch vụ; tối ưu hơn nhằm tăng doanh số, doanh thu cho các tổ
chức, cá nhân.
2- Mục tiêu đề tài
Nghiên cứu cơ sở lý thuyết các k thuật khai thác dữ liệu tăng trưởng. Cụ thể là
đưa ra giải pháp cải tiến thuật toán khai thác dữ liệu tăng trưởng.
3- Phạm vi nghiên cứu đề tài
Vì tầm quan trọng của một số ứng dụng khai thác dữ liệu tăng trưởng, nhiều
thuật toán đã được đề xuất trong lĩnh vực khai thác trong nhiều năm qua, hầu hết các
thuật toán đều tập trung giảm bớt thời gian khai thác nhưng vẫn đưa ra kết quả chính
xác nhất.

Luận văn này tập trung nghiên cứu các giải pháp cho bài toán khai thác dữ liệu
tăng
trưởng. Luận văn khảo sát các cấu trúc dữ liệu và thuật toán đã có từ trước. Việc khảo
sát


nhằm mục đích cải tiến các giải pháp đã có và hướng nghiên cứu trong lĩnh vực này.
Luận văn cũng đưa ra phân tích so sánh kết quả thực hiện của nhiều k thuật khai
thác tăng trưởng đã có và thảo luận các khía cạnh về mặt lý thuyết của lĩnh vực này,
sau đó ứng dụng các kết quả đã chứng minh vào khai thác dữ liệu tăng trưởng.
Dựa trên một số công trình nghiên cứu trong lĩnh vực khai thác dữ liệu tang
trưởng đã công bố trong những năm gần đây, từ đó luận văn trình bày:
- Phương pháp khai thác dữ liệu tăng trưởng. Nghiên cứu cấu trúc dữ liệu
và thuật toán khai thác dữ liệu tăng trưởng, tiêu biểu cấu trúc Node-set và thuật
toán FIN.
- Kết hợp cấu trúc dữ liệu Node-set Node-set với thông tin giao dịch vào thuật
toán FIN. Sau đó có thể áp dụng trực tiếp vào quá trình khai thác dữ liệu tang
trưởng một cách hiệu quả hơn.
- Xây dựng tập cơ sở dữ liệu thực nghiệm, so sánh các kết quả đạt được và
đánh giá hiệu quả của ứng dụng đề xuất về thời gian, bộ nhớ.
4- Bố cục đề tài
Chương 1: Giới thiệu tổng quan.
Chương 2: Cơ sở lý thuyết.
Chương 3: Ứng dụng Node-set trong khai thác tập phổ biến trên cơ sở dữ liệu
tăng
trưởng.
Chương 4: Thực nghiệm và đánh giá
Chương 5: Kết luận và hướng phát triển
Luận văn trình bày trong 5 chương. Chương một trình bày tổng quan về CSDL
tăng trưởng. Chương này cung cấp một cái nhìn chung nhất về lĩnh vực khai thác dữ

liệu
CSDL tăng trưởng.
Chương hai trình bày cơ sở lý thuyết về khai thác dữ liệu đã được phát triển.
Trong đó, luận văn mô tả sơ lượt thuật toán Apriori, FP-Growth, PPV, PrePost là các
thuật toán cơ bản làm cơ sở để phát triển các thuật toán sau này.
Chương ba trình bày chi tiết cấu trúc dữ liệu Node-set, thuật toán FIN và áp
dụng chúng trong khai thác dữ liệu tăng trưởng.


Luận văn trình bày tổng quan về khai thác dữ liệu tăng trưởng, lý do vì sao
chọn cấu trúc Node-set, thuật toán FIN vào thuật toán khai thác dữ liệu tăng trưởng.
Chương bốn trình bày những kết quả thực nghiệm và nhận x t.
Chương năm trình bày kết luận và hướng phát triển trong tương
lai.


CHƯƠNG 1- TỔNG QUAN VỀ ĐỀ TÀI
I- GIỚI THIỆU VỀ KHAI THÁC DỮ LIỆU
1- Dữ liệu là gì?
Những năng gần đây, nhu cầu lưu trữ dữ liệu ngày càng cao. Các công ty
muốn phát triển đón đầu thị hiếu phải nắm rõ được nhu cầu và sở thích khách hàng.
Đơn cử như trang eBay, Amazon hoặc những trang tương tự, trang này cũng sẽ đưa ra
những sản phẩm gợi ý tiếp theo cho bạn, ví dụ khi xem điện thoại, nó sẽ gợi ý cho bạn
mua thêm ốp lưng, pin dự phòng; hoặc khi mua áo thun thì sẽ có thêm gợi ý quần
jean, dây nịt, v.v... Vì vậy, nghiên cứu được sở thích, thói quen của khách hàng cũng
gián tiếp giúp doanh nghiệp bán được nhiều hàng hóa hơn.
Vậy những thông tin về thói quen, sở thích này có được từ đâu? Chính là từ
lượng dữ liệu khổng lồ mà các doanh nghiệp thu thập trong lúc khách hàng gh thăm
và tương tác với trang web của mình. Chỉ cần doanh nghiệp biết khai thác một cách có
hiệu quả dữ liệu thì nó không chỉ giúp tăng lợi nhuận cho chính họ mà còn tăng trải

nghiệm mua sắm của người dùng, chúng ta có thể tiết kiệm thời gian hơn nhờ những
lời gợi ý so với việc phải tự mình tìm kiếm. Tuy nhiên dữ liệu ngày một lớn thời gian
khai thác ngày càng dài, tốc độ ngày càng chậm ảnh hưởng đến hiệu quả trong quá
trình sử dụng.
Khai thác dữ liệu được xem như là một công nghệ tri thức giúp khai thác
những thông tin hữu ích từ những kho dữ liệu được tích trữ trong suốt quá trình hoạt
động của một công ty, tổ chức nào đó.
2-

h i th c ữ iệu là gì?

Khai thác dữ liệu được định nghĩa như là một quá trình chắt lọc hay khai thác
tri thức từ một lượng lớn dữ liệu. Một ví dụ hay được sử dụng là là việc khai thác vàng
từ đá và cát, data mining được ví như công việc Đãi cát tìm vàng trong một tập hợp
lớn các dữ liệu cho trước. Thuật ngữ khai thác dữ liệu ám chỉ việc tìm kiếm một tập
hợp nhỏ có giá trị từ một số lượng lớn các dữ liệu thô. Có nhiều thuật ngữ hiện được
dùng cũng có nghĩa tương tự với từ khai thác dữ liệu như khai thác tri thức
(knowledge mining), chắt lọc tri thức (knowledge extraction), phân tích dữ liệu mẫu
(data patern analysis), khảo cổ dữ liệu (data archaeoloogy), nạo v t dữ liệu
(datadredging), v.v...


Khai thác dữ liệu được gọi là khám phá tri thức trong cơ sở dữ liệu. Đây là
tiến trình của khám phá những mẫu hay tri thức có ích từ nguồn dữ liệu, như là cơ sở
dữ liệu, văn bản, ảnh, Web, v.v... Các mẫu phải có giá trị, có khả năng hữu ích và dễ
hiểu. Khai thác dữ liệu là một lĩnh vực đa ngành liên quan đến máy học, thống kê, cơ
sở dữ liệu, trí tuệ nhân tạo, thu thập thông tin, và mô phỏng trực quan.
Đ nh n h 1 1: Khai thác dữ liệu là một tập hợp các k thuật được sử dụng để
tự động khai thác và tìm ra các mối quan hệ lẫn nhau của dữ liệu trong một tập hợp
dữ liệu khổng lồ và phức tạp, đồng thời cũng tìm ra các mẫu tiềm ẩn trong tập dữ liệu

đó.
3- Quy trình phát hiện t i thức v

h i th c ữ iệu

Khai thác dữ liệu là một bước trong bảy bước của quá trình KDD
(Knowleadge
Discovery in Database) và KDD được xem như các quá trình khác nhau theo thứ tự sau:
biến đổi
dữ liệu
xử lý
dữ liệu

các mẫu
đánh giá và biểu
diễn các tri thức
dữ liệu đã
được làm sạch

trích chọn
dữ liệu

khai thác
dữ liệu

dữ liệu đã
được chọn

các
tri thức


Hình 1.1: Quy trình phát triển tri thức và khai thác dữ
liệu
Bắt đầu của quá trình là kho dữ liệu thô và kết thúc với tri thức được chiết
xuất ra. Về lý thuyết thì có vẽ rất đơn giản nhưng thực sự đây là một quá trình rất
khó khăn gặp phải rất nhiều vướng mắc như: quản lý các tập dữ liệu, phải lặp đi lặp
lại toàn bộ quá trình, v.v...
 Gôm ữ iệu (Gathering): tập hợp dữ liệu là bước đầu tiên trong quá
trình
khai thác dữ liệu. Đây là bước được khai thác trong một cơ sở dữ liệu, một kho dữ
liệu và thậm chí các dữ liệu từ các nguồn ứng dụng Web.


 T ch ọc ữ iệ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 đó, trích chọn dữ liệu từ những kho dữ liệu và
sau đó chuyển đổi về dạng thích hợp cho quá trình khai thác tri thức. Quá trình này
bao gồm cả việc xử lý với dữ liệu nhiễu (noisy data), dữ liệu không đầy đủ
(incomplete data), v.v... Ví dụ chọn ra những thông tin duyệt web của người dùng
được lưu tại Web log mà những thông tin đó cho biết được người dùng đã xem một
sản phẩm cụ thể nào chứ không phải là người dùng đã thao tác khác (xem hoặc lưu
hình ảnh; truy cập trang không tồn tại; v.v...)


ạch, tiền

v chu n

t ước ữ iệu (Cleaning, Pre-

processing

and Preparation): giai đoan thứ ba này là giai đoạn hay bị sao lãng, nhưng thực tế
nó là một bước rất quan trọng trong quá trình khai thác dữ liệu. Một số lỗi thường
mắc phải trong khi gom dữ liệu là tính không đủ chặt chẽ, 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 dữ liệu. Ví dụ: trong
Web log, cần loại bỏ các liên kết mà người dùng truy cập mà không tồn tại. Giai
đoạn này sẽ tiến hành xử lý những dạng dữ liệu không chặt chẽ 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ày 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.
 Chu ển đổi ữ iệu (Transformation): tiếp theo là 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.


h i th c

ữ iệu (Data mining): đây là công đoạn quan trọng và tốn

nhiều chi phí nhất của quá trình khai thác tri thức. Xác định nhiệm vụ khai thác dữ
liệu và lựa chọn k thuật khai thác để thực hiện khai thác, phát sinh tập mẫu. Các
mẫu này
là nguồn tri thức thô. Trong công đoạn này, 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 thông tin cần thiết nhất. Các tri thức nhận được có thể
được lưu lại và sử dụng lại.
 Diễn

iải v

đ nh


i

t

uả

ẫu Int

t ti n

Ev u ti n

Result): đây là giai đoạn cuối trong quá trình khai thác dữ liệu. Ở giai đoạn này, các


mẫu dữ liệu được chiết xuất ra bởi phần mềm khai thác dữ liệu. 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á để chiết xuất ra các tri thức (Knowledge).
Quá trình khai thác tri thức không chỉ là một quá trình tuần tự từ bước đầu tiên
đến bước cuối cùng mà là một quá trình lặp và quay lui lại các bước đã qua. Trong
khai thác tri thức thì có thể cần có sự tương tác của con người để điều chỉnh rút trích
dữ liệu cần thiết.
4- C c

thuật h i th c ữ iệu

Khai thác dữ liệu được chia nhỏ thành một số hướng chính như sau:
 M tả h i niệm (concept description): thiên về mô tả, tổng hợp và tóm

tắt

khái niệm. Ví dụ: tóm tắt văn bản.
 Luật

th

ci ti n u

khá đơn giản. Ví dụ: “60

là dạng luật biểu diễn tri thứ ở dạng

nam giới vào siêu thị nếu mua bia thì có tới 80

trong

số họ sẽ mua thêm thịt bò khô”. Luật kết hợp được ứng dụng nhiều trong lĩnh vực
kính doanh, y học, tin-sinh, tài chính
 Ph n ớ v

ựđ

n c

thị trường chứng khoán, v.v...
i ic ti n

icti n xếp một đối tượng

vào
một trong những lớp đã biết trước. Ví dụ: phân lớp vùng địa lý theo dữ liệu thời tiết.

Hướng tiếp cận này thường sử dụng một số k thuật của machine learning như cây
quyết định (decision tree), mạng nơron nhân tạo (neural network), v.v... Người ta
còn gọi phân lớp là học có giám sát (học có thầy).
 Ph n cụ

c u t in

xếp các đối tượng theo từng cụm (số lượng cũng

như tên của cụm chưa được biết trước. Người ta còn gọi phân cụm là học không
giám sát (học không thầy).
: tương tự như khai thác luật kết hợp nhưng có thêm
tính thứ tự và tính thời gian. Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vực
tài


chính và thị trường chứng khoán vì nó có tính dự báo cao.


CHƯƠNG 2- CƠ SỞ LÝ THUYẾT
I- KHAI THÁC DỮ LIỆU
1- Khai thác luật

th

Khai thác luật kết hợp trong CSDL là một trong các chức năng chính của khai
thác dữ liệu, là tìm ra các mối quan hệ giữa các đối tượng trong khối lượng dữ liệu
lớn.
Khai thác dữ liệu để tìm luật kết hợp gồm 2 giai đoạn:
- Khai thác tập phổ biến.

- Sinh luật kết hợp từ các tập phổ biến tìm được.
Khai thác tập phổ biến là bài toán rất quan trọng vì nó là giai đoạn đầu tiên
trong khai thác luật kết hợp.
2- Khai thác tập phổ bi n
Bài toán khai thác tập phổ biến là tìm kiếm các hạng mục, phần tử (itemset) có
độ phổ biến (support) thỏa mãn ngưỡng phổ biến tối thiểu (minSupp) được cho trước
tùy vào yêu cầu của người sử dụng. Nói đơn giản hơn là tìm các phần tử mục, có số
lần xuất hiện lớn hơn hoặc bằng một con số minSupp cho trước.
Ví dụ 2.1: lọc ra các mặt hàng xuất hiện từ 40

trong các giao dịch bán trở

lên trong cửa hàng. Trong đó, độ phổ biến (support) của mỗi mặt hàng là số lần bán
mặt hàng đó và minSupp = 40%.
Cho một cơ sở dữ liệu D là các giao dịch, mỗi giao dịch có mã ID duy nhất và
liệt kê các mục có trong giao dịch đó. Tập hợp tất cả các mục kí hiệu là I = {i1, i2, ...,
im}. Gọi X = {i1, i2, ..., ik} với X

I là một tập k-mục nếu nó chứa k mục. Các

giao dịch và mục ở đây có thể hiểu là giao dịch bán hàng và các mặt hàng bán trong
mỗi giao dịch (xem bảng 2.1).
Bảng 2.1: CSDL các giao dịch
STT
1
2
3
4
5


C c ục
a, c, g
e, a, c, b
f, e, c, b, i
b, f, h
b, f, e, c, d


Trong đó I = {a, b, c, d, e, f, g, h}. {a}, {b}, {c}, .v.v... là các mặt hàng (mục).
{c}
là mục xuất hiện trong các giao dịch có mã ID là 1, 2, 3, 5. Tập 1- mục là { a, b, c, d,
e, f, g,
}; tập 2-mục gồm {ab, ac,, ae, af, ag, bc, bd, be, bf, bg, cd, ce, cf, cg, de, df, ef}; tập
3-mục gồm {abc, abe,,, ace, agc, bce, bcd, bcf, bde, bdf, bef, cde, cdf, cde, cdf, cef;
tương tự ta có tập 4-mục, 5-mục, v.v.
2.1-

Các khái niệ

c

ản

 Item (phần tử, mục)

-

Các phần tử, mục đang được quan tâm.

- I={I1,I2,...,Im}:tập tất cả m mục có thể có trong tập dữ liệu

 Itemset (tập phần tử, mục)
- Tập hợp các item.
- Một tập hợp có k mục gọi là tập k-mục.
 Transaction (giao dịch)

Là hành động thực hiện tương tác với hệ thống (ví dụ: giao dịch “khách hàng
mua hàng”).
Mỗi giao dịch chứa một số mục có trong giao dịch đó.
2.2-

Đ nh n h

độ hổ i n

Cho CSDL giao dịch D và tập dữ liệu X
hiệu

I. Độ phổ biến của X trong D, kí

(X), được định nghĩa là số lần mà X xuất hiện trong D 1 .
Ví dụ 2.1: Theo bảng 2.2, {A} có độ phổ biến là 4, ký hiệu (A) = 4 vì {A}
xuất hiện 4 lần trong 6 giao dịch của D. Tương tự, ta có độ phổ biến của các mục sau:


Bảng 2.2: Độ phổ biến của các tập 1-mục
Mục

Độ phổ biến

a


2

b

4

c

4

d

1

e

3

f

3

g

1

h

1


i

1
2.3Tập X

Đ nh n h

tậ

(support)

hổ i n

I được gọi là phổ biến nếu (X) ≥ minSupp (với minSupp là giá trị

do người dùng chỉ định).
Ví dụ 2.2: Cho minSupp = 40% (40*5/100 = 2). Tập phổ biến 1-mục của giao
dịch
D trong bảng 2.1 là {a, b, c, e, f} vì có độ phổ biến
biến

≥ minSupp. Tương tự, tập phổ

2-mục là {ac, bc, be, bf, ce}, tập phổ biến 3- mục là {bce}.
II- CÁC THUẬT TOÁN KHAI THÁC TẬP PHỔ BIẾN
1- Khai thác tập phổ bi n s dụng thuật toán Apriori
Thuật toán Apriori được đề xuất bởi Agrawal năm 1994 3 . Mục đích là để
tìm mối liên hệ giữa các mặt hàng (danh mục) được bán trong siêu thị. Thuật toán dựa
trên tính chất:

- “Mọi tập con của tập phổ biến đều phổ biến, nghĩa là ∀X

Y, nếu (Y) ≥

minSupp thì (X) ≥ minSupp”
-

“Mọi tập cha của tập không phổ biến đều không phổ biến, nghĩa là ∀Y ⊇ X

nếu (X) < minSupp thì (Y) < minSupp”


Thuật t

n 2 1: Thuật toán Aprori

Đầu v :CSDL giao dịch D và ngưỡng phổ biến minSupp
Đầu

: FIs chứa tất cả các tập phổ biến của D

i k: Tập các ứng viên có kích thước k
Lk: Các tập phổ biến có kích thước k
L1 ={i∈I: (i)≥minSup}
for (k = 2; Lk-1 !=∅; k++) do
Ck = { { các ứng viên được tạo ra từ Lk -1 } }
for each t ∈ D do
if C

k


t then C .count++
k

Lk = {Ck | Ck.count ≥ minSupp }
FIs = ∪kLk;
Ví dụ 2.3: X t cơ sở dữ liệu như trong bảng 2.1. Với minSupp= 40% (40*5/100
=
2). Ta thực hiện các bước sau
Bước 1: Tính độ phổ biến cho các tập 1-mục.
Bước 2: Chọn ra các tập phổ biến 1-mục có độ phổ biến thỏa minSupp (hình
2.1).


×