Tải bản đầy đủ (.pdf) (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 (1.26 MB, 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 Node-set.
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


iii

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 postorder 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.


iv

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.


v

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


vi

3-

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

CHƢƠNG 4- KẾT QỦA THỰC NGHIỆM .............................................................59
Môi trƣờng thực nghiệm ................................................................................59


III-

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ểm mạnh .....................................................................................................63

III-

Đ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)


viii

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


ix


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


x

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


2

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.


3


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.


4

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...


5

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.



6

 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



7

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

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

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

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.


8

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


9

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


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

(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:


10

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

Độ phổ biến

(support)

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ậ

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

≥ minSupp. Tƣơng tự, tập phổ biến

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”


11

Thuật t

Đầu v
Đầu

n 2 1: Thuật toán Aprori
:CSDL giao dịch D và ngƣỡng phổ biến minSupp


: 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).


×