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

Khai phá tập phổ biến trên cơ sở dữ liệu tăng trưởng trong lĩnh vực mua bán hàng

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 (4.1 MB, 101 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM

NGUYỄN HOÀNG NHẬT

KHAI PHÁ TẬP PHỔ BIẾN TRÊN
CƠ SỞ DỮ LIỆU TĂNG TRƯỞNG
TRONG LĨNH VỰC MUA BÁN HÀNG

LUẬN VĂN THẠC SĨ KỸ THUẬT

ĐÀ NẴNG, NĂM 2017


ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM

NGUYỄN HOÀNG NHẬT

KHAI PHÁ TẬP PHỔ BIẾN TRÊN
CƠ SỞ DỮ LIỆU TĂNG TRƯỞNG
TRONG LĨNH VỰC MUA BÁN HÀNG

Chuyên ngành: Hệ thống thông tin
Mã số: 61.49.01.04

LUẬN VĂN THẠC SĨ KỸ THUẬT

Người hướng dẫn khoa học: TS. NGUYỄN TRẦN QUỐC VINH

ĐÀ NẴNG, NĂM 2017




i

LỜI CAM ĐOAN
Tôi xin cam đoan:
- Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn
trực tiếp của TS. Nguyễn Trần Quốc Vinh.
- Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng và trung thực
về tên tác giả, tên công trình, thời gian và địa điểm cơng bố.
- Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tơi xin
chịu hồn tồn trách nhiệm.
Tác giả luận văn

Nguyễn Hoàng Nhật


ii

MỤC LỤC

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT ............................... v
DANH MỤC CÁC BẢNG ............................................................................. ix
DANH MỤC CÁC HÌNH VẼ........................................................................ xi
MỞ ĐẦU .......................................................................................................... 1
1. Lý do chọn đề tài .................................................................................. 1
2. Mục tiêu nghiên cứu ............................................................................. 2
3. Đối tượng và phạm vi nghiên cứu ........................................................ 2
4. Phương pháp nghiên cứu ...................................................................... 3
5. Dự kiến kết quả ..................................................................................... 3

6. Ý nghĩa khoa học và thực tiễn .............................................................. 4
7. Bố cục luận văn .................................................................................... 4
CHƯƠNG 1. TỔNG QUAN VỀ KHAI PHÁ TẬP PHỔ BIẾN ................. 5
1.1. TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU ................................................ 5
1.1.1. Mở đầu ............................................................................................ 5
1.1.2. Kiến trúc của một hệ thống khai phá dữ liệu.................................. 6
1.1.3. Các giai đoạn của quá trình khai phá dữ liệu ................................. 6
1.1.4. Một số kỹ thuật khai phá dữ liệu .................................................... 6
1.1.5. Các cơ sở dữ liệu phục vụ cho khai phá dữ liệu ............................. 8
1.1.6. Các phương pháp chính trong khai phá dữ liệu.............................. 9
1.2. MỘT SỐ PHƯƠNG PHÁP KHAI PHÁ TẬP PHỔ BIẾN TRÊN CSDL
TĨNH ............................................................................................................... 10
1.1.1. Mở đầu .......................................................................................... 10
1.1.2. Một số kiến thức cơ bản ............................................................... 10
1.2.3. Phương pháp Apriori .................................................................... 14
1.2.4. Phương pháp FP-Tree ................................................................... 16


iii

1.2.5. Một số thuật toán khai phá tập phổ biến khác .............................. 18
1.2.6. Một số cấu trúc dữ liệu giúp cải thiện thuật toán Apriori ............ 20
1.3. KẾT CHƯƠNG ........................................................................................ 23
CHƯƠNG 2. MỘT SỐ PHƯƠNG PHÁP KHAI PHÁ TẬP PHỔ BIẾN
TRÊN CƠ SỞ DỮ LIỆU TĂNG TRƯỞNG ............................................... 25
2.1. THUẬT TOÁN FUP ................................................................................ 25
2.1.1. Một số ký hiệu .............................................................................. 25
2.1.2. Chi tiết thuật tốn FUP ................................................................. 26
2.1.3. Ví dụ ............................................................................................. 29
2.2. KHÁI NIỆM PRE-LARGE-ITEMSET ................................................... 32

2.3. THUẬT TOÁN PRE-LARGE-ITEMSET ............................................... 34
2.3.1. Các ký hiệu và lý thuyết liên quan ............................................... 34
2.3.2. Thuật tốn ..................................................................................... 36
2.3.3. Ví dụ minh họa ............................................................................. 39
2.4. THUẬT TOÁN PRE-FUFP ..................................................................... 45
2.4.1. Các ký hiệu ................................................................................... 46
2.4.2. Thuật toán ..................................................................................... 46
2.5. THUẬT TOAN PRE-FUT ....................................................................... 55
2.5.1. Các ký hiệu ................................................................................... 55
2.5.2. Thuật toán Pre-FUT ...................................................................... 56
2.5.3. Ví dụ thuật tốn Pre-FUT ............................................................. 58
2.6. KẾT CHƯƠNG ........................................................................................ 65
CHƯƠNG 3. THỰC NGHIỆM VỚI DỮ LIỆU THỰC TẾ...................... 66
3.1. MƠ TẢ DỮ LIỆU .................................................................................... 66
3.2. MƠ TẢ CHƯƠNG TRÌNH ..................................................................... 67
3.3. ĐÁNH GIÁ .............................................................................................. 69
3.4. KẾT CHƯƠNG ........................................................................................ 71


iv

KẾT LUẬN .................................................................................................... 72
TÀI LIỆU THAM KHẢO ............................................................................ 74
QUYẾT ĐỊNH GIAO ĐỀ TÀI (BẢN SAO)


v

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
Ký hiệu


Diễn giải

CSDL

Cơ sở dữ liệu

D

Cơ sở dữ liệu giao dịch (database)

Di

Phần thứ i của D

item

Một thuộc tính trong cơ sở dữ liệu giao dịch

itemset

Tập thuộc tính trong cơ sở dữ liệu giao dịch

X

Một itemset

I

Tập n thuộc tính (item) phân biệt


T

Tập giao dịch

sup(X),

Độ hỗ trợ của itemset X

support(X), s(X)
minsup

Độ hỗ trợ tối thiểu

support count

Độ đếm hỗ trợ

support ratio

Độ hỗ trợ

|X|

Chiều dài của X

conf (X ⇒ Y)

Độ tin cậy của luật kết hợp X ⇒ Y


minconf

Độ tin cậy tối thiểu

BFS

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

DFS

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

k-itemset

Một tập thuộc tính gồm k thuộc tính

Ck

Tập ứng viên k-itemset

Lk

Tập phổ biến k-itemset

Ck

Tập ứng viên k-itemset được sinh ra nhờ sự kết hợp giữa tập giao
dịch và tập Ck

large itemset

small

Tập phổ biến

itemset, Tập không phổ biến


vi

Ký hiệu

Diễn giải

loser
candidate

Tập ứng viên

itemset
hash-tree

Cây băm

hash -table

Bảng băm

hash function

Hàm băm


id{X}

Thứ tự của item X trong giao dịch đang xét

DB

Cơ sở dữ liệu gốc

db

Cơ sở dữ liệu cần thêm vào DB

D

Số lượng giao dịch trong DB

d

Số lượng giao dịch trong db

L

Tập hợp tập phổ biến trong DB

Lk

Tập large k-itemset trong DB

s


Độ hỗ trợ tối thiểu

X.supportD

Số lượng các giao dịch trong DB chứa X

X.supportd

Số lượng các giao dịch trong db chứa X

X.supportUD

Số lượng các giao dịch trong DBdb chứa X

L

Tập hợp các tập phổ biến trong CSDL DBdb

Lk

Tập large k-itemset trong DBdb

lower support

Độ hỗ trợ thấp

upper support

Độ hỗ trợ cao


D

Cở sở dữ liệu gốc

T

Tập hợp các giao dịch mới được thêm vào

U

CSDL sau khi đã được đã thêm các giao dịch mới vào

d

Số lượng các giao dịch trong D

t

Số lượng các giao dịch trong T

Sl

Ngưỡng lower support đối với tập pre-large itemset


vii

Ký hiệu


Diễn giải

Su

Ngưỡng upper support đối với tập large itemset

LDk

Tập large k-itemset trong D

LTk

Tập large k-itemset trong T

LUk

Tập large k-itemset trong U

PkD

Tập pre-large k-itemset trong D

PkT

Tập pre-large k-itemset trong T

PkU

Tập pre-large k-itemset trong U


Ck

Tập hợp tất cả các ứng viên k-itemset trong T

I

Một itemset

SD(I)

Số lần xuất hiện của I trong D

ST(I)

Số lần xuất hiện của I trong T

SU(I)

Số lần xuất hiện của I trong U

c

Số lượng các giao dịch mới được thêm vào CSDL kể từ lần quét
lại CSDL gốc gần nhất

R

Tập rescan itemset, là những itemset không phổ biến trong CSDL
gốc


FUP

Fast-Update algorithm

Pre-FUT

Fast-Update algorithm using Trie data structure and the concept
of PRE-large itemsets

IT-tree

Item-Tidset tree

FP-tree

Frequent-Pattern tree

FP-growth

Frequent Pattern growth

f

Ngưỡng an toàn, dùng để xác định khi nào thuật toán cần quét và
xử lý lại toàn bộ CSDL gốc

TrD

Cấu trúc Trie dùng để lưu tập hợp pre-large và large itemset của



viii

Ký hiệu

Diễn giải
D

TrU

Cấu trúc Trie dùng để lưu tập hợp pre-large và large itemset của
U=D∪T

count T ( X )

Độ đếm hỗ trợ của X trong T

D

Độ đếm hỗ trợ của X trong TrD

U

Độ đếm hỗ trợ của X trong TrU

countTr ( X )
count Tr ( X )


ix


DANH MỤC CÁC BẢNG

Số hiệu

Tên bảng

bảng

Trang

2.1.

CSDL ban đầu

30

2.2.

Các giao dịch mới cần thêm vào

30

2.3.

Tập large itemset được khai phá từ CSDL ban đầu

30

2.4.


4 trường hợp và kết quả xử lý của thuật toán FUP ]

32

2. 5.

9 trường hợp xảy ra khi thêm mới giao dịch vào
CSDL

34

2.6.

CSDL ban đầu

39

2.7.

Các giao dịch mới cần thêm vào

39

2.8.

Tập large itemset của CSDL ban đầu

39


2.9.

Tập pre-large itemset của CSDL ban đầu

39

2.10.

Tập ứng viên 1-itemset trong T

40

2. 11.

3 phần của tập ứng viên 1-itemset xét trong T 40

2.12.

Độ đếm hỗ trợ của {A}{B}{C}{E}

41

2.13.

Tập ứng viên 2-itemset trong T

42

2.14.


Tập large và pre-large 2-itemset trong U

42

2.15.

CSDL ban đầu

49

2.16.

Tập pre-large 1-itemset của D

49

2.17.

3 giao dịch mới cần thêm vào

49

2.18..

Tập hợp các item trong T

50

2.19.


Kết quả phân chia tập item trong T thành 3 phần

51

2.20.

Các giao dịch trong D có chứa d [18]

53

2.21.

Giao dịch trong T có chứa phần tử trong Insert_Items

54

2.22.

Cơ sở dữ liệu gốc D

59

2.23.

Tập large itemset của D

59


x


Số hiệu

Tên bảng

bảng

Trang

2.24.

Tập pre-large itemset của D

59

2.25.

CSDL cần thêm vào

60

2.26.

Độ đếm hỗ trợ của {A}{B}{C}{D}{E}

61

3.1.

CSDL thực nghiệm


69

3.2.

Bảng giá trị thông số của các CSDL thực nghiệm

69

3.3.

Số lượng tập pre-large và large itemset của CSDL

70

3.4.

Các thông số trong thứ nghiệm thứ hai

70


xi

DANH MỤC CÁC HÌNH VẼ

Số hiệu
bảng
1.1.
1.2.

1.3.
1.4.
1.5.
1.6.
1.7.
1.8.
1.9.
2.1.
2.2.
2.3.
2.4.
2.5.
2.6.
2.7.
2.8.
2.9.
2.10.
2.11.
2.12.
2.13.
2.14.
2.15.
2.16.
2.17.
2.18.

Tên bảng

Trang


Một số lĩnh vực liên quan đến khai phá dữ liệu
Khám phá tri thức trong cơ sở dữ liệu điển hình
Các bước của quy trình khai phá dữ liệu
Ví dụ về phân lớp dữ liệu
Mẫu kết quả của nhiệm vụ phân cụm dữ liệu
Mẫu kết quả của hồi quy.
Cấu trúc cây băm lưu trữ tập ứng viên 3-itemset
Cấu trúc dữ liệu Trie
Cấu trúc Trie lưu trữ tập các ứng viên
4. trường hợp xảy ra khi thêm mới giao dịch vào
CSDL
Tiến trình thực hiện bước 1 trong thụât tốn FUP
Tiến trình tìm tập prelarge và large 1-itemset
9 trường hợp xảy ra khi thêm các giao dịch mới
vào CSDL
Tiến trình tìm tập prelarge và large 1-itemset
Tiến trình tìm tập prelarge và large 2-itemset
Tiến trình tìm tập prelarge và large 3-itemset
Cây FUFP-Tree và Header_Table được xây dựng
Cây FUFP-tree trước khi loại bỏ h
Cây FUFP-tree sau khi loại bỏ h
Cây FUFP-tree sau bước 4
Header_Table sau khi thêm d vào
Cây FUFP-tree sau khi nhánh đầu tiên được xử lý
Cây FUFP-tree sau bước 9
Cây FUFP-tree sau khi nhánh đầu tiên được xử lý
Cây FUFP-tree sau bước 10
TrD lưu trữ tập pre-large và large itemset của D
TrU được xây dựng từ tập ứng viên 1-itemset


5
6
6
7
7
8
20
21
23
25
27
31
33
43
44
45
50
51
52
52
53
53
54
54
55
60
60


xii


Số hiệu
bảng
2.19.
2.20.
2.21.
2.22.
2.23.
2. 24.
2.25.
2.26.
3.1.
3.2.
3.3.
3.4.
3.5.
3.6.
3.7.
3.8.

Tên bảng

Trang

TrU sau khi tập rescan 1-itemset được đánh dấu
TrU sau dòng 19
TrU sau dòng 23
TrU sau khi tập rescan 2-itemset được đánh dấu
TrU sau dòng 19
TrU sau dòng 23

TrU sau dòng 11
TrU sau dòng 19
Các giao dịch được đưa vào thuật toán
Các giao dịch được chuyển đổi sang file .DAT
Các file sinh ra sau khi thực hiện thành cơng các
thuật tốn
File kết quả tập large được sinh ra khi thực hiện
thành cơng thuật tốn
File kết quả tập pre large được sinh ra khi thực
hiện thành công thuật toán
File report tổng hợp thời gian xử lý của tập phổ
biến khi phát sinh các giao dịch mới
Kết quả so sánh trên CSDL Online retail trong thí
nghiệm thứ nhất
Kết quả so sánh trên CSDL Online retail trong thí
nghiệm hai

61
61
62
62
63
63
64
64
66
67
67
67
68

68
70
71


1

MỞ ĐẦU
1. Lý do chọn đề tài
Khai phá dữ liệu là một khái niệm ra đời vào những năm cuối của thập kỷ 80,
nó là q trình tìm kiếm, khám phá dưới nhiều góc độ khác nhau nhằm phát hiện các
mối liên hệ, quan hệ giữa các dữ liệu, đối tượng bên trong CSDL, kết quả của việc
khai phá là xác định các mẫu hay các mơ hình tồn tại bên trong nhưng chúng nằm ẩn
ở các CSDL.
Về bản chất nó là giai đoạn duy nhất rút trích và tìm ra được các mẫu, các mơ
hình hay thơng tin mới, tri thức tiềm ẩn có trong CSDL chủ yếu phục vụ cho mơ tả
và dự đốn. Đây là giai đoạn quan trọng nhất trong quá trình phát hiện tri thức từ
CSDL, các tri thức này hỗ trợ trong việc ra quyết định, điều hành trong khoa học và
kinh doanh.
Trong những năm gần đây thì rất nhiều các kỹ thuật trong khai phá dữ liệu đã
được phát triển. Các hướng tiếp cận trong khai phá dữ liệu có thể phân loại dựa vào
cơ sở dữ liệu làm việc như: CSDL giao dịch, CSDL tạm thời, CSDL quan hệ, CSDL
đa phương tiện v..v. Có nhiều phương pháp trong khai phá dữ liệu đã được đề xuất
như: luật kết hợp (Apriori), phân lớp, gom nhóm (K-mean, K-medoids,..), khai phá
mẫu tuần tự…
Khai phá dữ liệu đã thu hút được sự quan tâm của rất nhiều nhà nghiên cứu, nhờ
có nhiều những ứng dụng trong thực tiễn trong nhiều lĩnh vực như y tế, kinh doanh,
ngân hàng,....
Trong đó, nhu cầu thêm những giao dịch mới vào CSDL hoặc xóa một số giao
dịch trong CSDL hiện tại trong các ứng dụng của thế giới thực là rất cần thiết. Do đó

việc xây dựng và chọn lựa nên một thuật tốn có hiệu suất xử lý tốt nhất để có thể xử
trong trường hợp CSDL tăng trưởng là một yêu cầu cấp thiết và hướng nghiên cứu
phát triển các thuật toán khai phá tập phổ biến trên dữ liệu tăng trưởng là một trong
những hướng nghiên cứu được đầu tư và phát triển mạnh. Đã có rất nhiều thuật tốn
ra đời, tuy nhiên mỗi thuật tốn có ưu, khuyết điểm khác nhau, việc nghiên cứu chọn


2

ra 1 thuật tốn phù hợp có hiệu suất xử lý cao để xử lý CSDL trong trường hợp phát
sinh giao dịch là cần thiết.
Đó chính là lý do tơi chọn đề tài : “Tìm hiểu một số phương pháp khai phá tập
phổ biến trên cơ sở dữ liệu tăng trưởng trong lĩnh vực mua bán hàng” để làm đề
tài luận văn thạc sĩ của mình.
2. Mục tiêu nghiên cứu
- Tìm hiểu các phương pháp khai phá cơ sở dữ liệu cơ bản.
- Tìm hiểu kỹ thuật khai phá dữ liệu dựa trên khai phá luật kết hợp trong CSDL
giao dịch:
o Nghiên cứu, phân tích, đánh giá 1 số phương pháp khai phá tập phổ biến trên
cơ sở dữ liệu tĩnh: Apriori, cây FP- Tree.
o Nghiên cứu, phân tích, đánh giá 1 phương pháp khai phá tập phổ biến trên cơ
sở dữ liệu tăng trưởng: Thuật toán FUP, Pre – large– Itemset, Pre- FUFP.
- So sánh thực tế hiệu năng của thuật toán Pre- FUT và thuật toán Pre – large –
Itemset trong lĩnh vực mua bán hàng online.
3. Đối tượng và phạm vi nghiên cứu
3.1. Đối tượng nghiên cứu
- Thuật toán Apriori
- Thuật toán FP- Tree
- Thuật toán FUP
- Thuật toán Pre – large – Itemset

- Thuật toán Pre-FUFP
- Thuật toán Pre-FUT
- Các CSDL khi phát sinh thêm các giao dịch, cụ thể ở đây là các giao dịch khi
thực hiện thanh toán mua hàng.
Phạm vi nghiên cứu
- Tập phổ biến khi phát sinh giao dịch mới.
- Kỹ thuật khai phá tập phổ biến dựa trên khai phá luật kết hợp khi CSDL phát
sinh giao dịch mới.


3

4. Phương pháp nghiên cứu
4.1. Nghiên cứu lý thuyết
- Nghiên cứu tài liệu, ngơn ngữ và các cơng nghệ có liên quan.
- Kỹ thuật khai phá dữ liệu dựa trên khai phá luật kết hợp trong CSDL giao
dịch.
- Kỹ thuật khai phá tập phổ biến trên cơ sở dữ liệu tĩnh.
- Kỹ thuật khai phá tập phổ biến trên cơ sở dữ liệu tăng trưởng.
4.2. Nghiên cứu thực nghiệm
- Tiến hành thu thập và tổng hợp các tài liệu có liên quan đến kỹ thuật khai
phá dữ liệu sử dụng luật kết hợp, các thuật toán khai phá dữ liệu trên CSDL tĩnh và
CSDL động.
- So sánh hiệu xuất xử lý các CSDL động của thuật toán Pre- FUT và Prelarge- Itemset trên CSDL giao dịch mua hàng tại siêu thị.
5. Dự kiến kết quả
5.1. Kết quả về lý thuyết
- Hiểu thêm được các phương pháp khai phá dữ liệu.
o Kỹ thuật khai phá tập phổ biến dựa trên khai phá luật kết hợp trong CSDL
giao dịch.
o Các phương pháp khai phá tập phổ biến trên cơ sở dữ liệu tĩnh: Apriori, cây

FP- Tree.
o Các phương pháp khai phá tập phổ biến trên cơ sở dữ liệu tăng trưởng:
Thuật toán FUP, Pre- FUFP.
- Cải tiến hiệu suất thuật toán FUP nhanh hơn bằng thuật toán Pre-FUT.
5.2. Kết quả về thực tiễn
Chọn ra được 1 thuật toán phù hợp để cải tiến hiệu suất của kỹ thuật khai phá
tập phổ biến dựa trên luật kết hợp trong trường hợp CSDL tăng trưởng ,phát sinh
thêm các giao dịch mới, giúp quản lý và các luật đã khai phá được hiệu quả hơn, từ
đó có thể tiến hành tiếp q trình sinh ra các luật kết hợp hiệu quả hơn.
Có thể áp dụng thuật toán để xử lý CSDL tăng trưởng của nhiều lĩnh vực khác nhau.


4

6. Ý nghĩa khoa học và thực tiễn
Áp dụng lý thuyết về khai phá luật kết hợp trong CSDL giao dịch để nghiên cứu
các thuật toán khai phá tập phổ biến trên CSDL tăng trưởng
Về mặt thực tiễn, việc nghiên cứu giúp chọn ra 1 thuật toán phù hợp giúp cải
thiện thời gian xử lý các CSDL giao dịch tăng trưởng, giúp quản lý, cập nhật các luật
trong kỹ thuật khai phá dữ liệu dựa trên khai phá luật kết hợp trên CSDL tốt hơn.
7. Bố cục luận văn
Chương 1: Tổng quan về khai phá tập phổ biến trên cơ sở dữ liệu tăng trưởng
Trong chương này, chúng tơi trình bày cơ sở lý thuyết làm nền tảng để nghiên
cứu, bao gồm: Tổng quan về khai phá dữ liệu, các kỹ thuật khai phá dữ liệu. Tìm hiểu
một số phương pháp, thuật toán khai phá dữ liệu trên cơ sở dữ liệu tĩnh : Apriori, FP
Tree, Apriori-Tid, Apriori Hybrid.
Chương 2: Một số phương pháp khai phá tập phổ biến trên cơ sở dữ liệu tăng
trưởng
Trong chương này, chúng tơi trình bày kiến thức lý thuyết, thuật tốn, ví dụ
minh họa về các thuật toán khai phá tập phổ biến trên cơ sở dữ liệu tăng trường như:

FUP, Pre – large – Itemset, Pre- FUFP, Pre – FUT.
Chương 3: Thực nghiệm
Trong chương này, chúng tơi sẽ xây dựng ứng thuật tốn khai phá tập phổ biến
trên CSDL tăng trưởng được đánh giá cao hiện nay là Pre-FUT và thuật toán Pre –
Large – Itemset sử dụng ngôn ngữ C. Tiến hành so sánh hiệu suất, thời gian xử lý
giữa 2 thuật tốn để tìm ra 1 thuật tốn hiệu quả nhất. CSDL được sử dụng là các giao
dịch thanh toán mua hàng của 1 công ty mua bán sản phẩm trực tuyến từ năm 2010
đến 2011.
Cuối cùng là những đánh giá, kết luận và hướng phát triển của đề tài.


5

CHƯƠNG 1

TỔNG QUAN VỀ KHAI PHÁ TẬP PHỔ BIẾN
1.1. TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1.1. Mở đầu
Khai phá dữ liệu là một khái niệm ra đời vào những năm cuối của thập kỷ 80,
nó là q trình tìm kiếm, khám phá dưới nhiều góc độ khác nhau nhằm phát hiện các
mối liên hệ, quan hệ giữa các dữ liệu, đối tượng bên trong CSDL, kết quả của việc
khai phá là xác định các mẫu hay các mơ hình tồn tại bên trong nhưng chúng nằm ẩn
ở các CSDL.
Trong những năm gần đây thì rất nhiều các kỹ thuật trong khai phá dữ liệu đã
được phát triển. Các hướng tiếp cận trong khai phá dữ liệu có thể phân loại dựa vào
cơ sở dữ liệu làm việc như: CSDL giao dịch, CSDL tạm thời, CSDL quan hệ, CSDL
đa phương tiện v..v. Có nhiều phương pháp trong khai phá dữ liệu đã được đề xuất
như: luật kết hợp (Apriori), phân lớp, gom nhóm (K-mean, K-medoids,..), khai phá
mẫu tuần tự…
Khai phá dữ liệu được áp dụng trong nhiều lĩnh vực :


Hình 1.1. Một số lĩnh vực liên quan đến khai phá dữ liệu


6

1.1.2. Kiến trúc của một hệ thống khai phá dữ liệu
Kiến trúc của một hệ thống khai phá dữ liệu có các thành phần như sau:

Hình 1.2. Khám phá tri thức trong cơ sở dữ liệu điển hình

1.1.3. Các giai đoạn của quá trình khai phá dữ liệu
Các giai đoạn của quá trình khai phá dữ liệu được thể hiện trong hình 1.3.

Hình 1.3. Các bước của quy trình khai phá dữ liệu

Quá trình xử lý khai phá dữ liệu bắt đầu bằng việc xác định chính xác vấn
đề cần giải quyết. Sau đó sẽ xác định dữ liệu liên quan dùng để xây dựng giải
pháp. Tiếp theo là thu thập dữ liệu có liên quan và xử lý chúng thành dạng sao
cho thuật tốn khai phá dữ liệu có thể hiểu được.
1.1.4. Một số kỹ thuật khai phá dữ liệu
a. Phân lớp dữ liệu
Khái niệm phân lớp dữ liệu được Han và Kamber đưa ra năm 2000. Phân lớp


7

dữ liệu là xây dựng một mơ hình mà có thể phân các đối tượng thành những lớp để
dự đoán giá trị bị mất tại một số thuộc tính của dữ liệu hay tiên đoán giá trị của dữ
liệu sẽ xuất hiện trong tương lai.

Một ví dụ tiêu biểu về phân lớp dữ liệu:

Hình 1.4. Ví dụ về phân lớp dữ liệu

b. Phân nhóm dữ liệu
Phân nhóm là kỹ thuật khai phá dữ liệu tương tự như phân lớp dữ liệu. Tuy
nhiên, sự phân nhóm dữ liệu là q trình học khơng được giám sát, là q trình nhóm
những đối tượng vào trong những lớp tương đương, đến những đối tượng trong một
nhóm là tương đương nhau, chúng phải khác với những đối tượng trong những nhóm
khác. Trong phân lớp dữ liệu, một bản ghi thuộc về lớp nào là phải xác định trước,
trong khi phân nhóm khơng xác định trước.

Hình 1.5. Mẫu kết quả của nhiệm vụ phân cụm dữ liệu

c. Hồi qui (Regression)
Là việc học một hàm ánh xạ từ một tập dữ liệu thành một biến dự đốn có giá
trị thực. Nhiệm vụ hồi qui tương tự như phân lớp, điểm khác nhau chính là ở chỗ


8

thuộc tính để dự báo là liên tục chứ khơng rời rạc.

Hình 1.6. Mẫu kết quả của hồi quy.

d. Tổng hợp (summarization)
Là công việc liên quan đến các phương pháp tìm kiếm một mơ tả cơ đọng cho
tập con dữ liệu. Các kỹ thuật tổng hợp thường được áp dụng trong việc phân tích dữ
liệu có tính thăm dị và báo cáo tự động.
e. Mơ hình hóa phụ thuộc (dependency modeling)

Là việc tìm kiếm mơ hình mơ tả các phụ thuộc quan trọng giữa các biến. Mơ
hình phụ thuộc tồn tại ở hai mức:
Mức cấu trúc của mơ hình (thường dưới dạng đồ thị) xác định các biến phụ
thuộc cục bộ vào các biến khác.
Mức định lượng của mơ hình xác định mức độ phụ thuộc của các biến.
f. Phát hiện sự thay đổi và độ lệch (change and deviation dectection):
Nhiệm vụ này tập trung vào khám phá những thay đổi có ý nghĩa trong dữ liệu
dựa vào các giá trị chuẩn hay độ đo đã biết trước, phát hiện độ lệch đáng kể giữa nội
dung của tập con dữ liệu và nội dung mong đợi. Hai mơ hình độ lệch thường dùng là
lệch theo thời gian và lệch theo nhóm.
1.1.5. Các cơ sở dữ liệu phục vụ cho khai phá dữ liệu
Dựa vào những kiểu dữ liệu mà kỹ thuật khai phá áp dụng, có thể chia dữ
liệu thành các loại khác nhau:
- Cơ sở dữ liệu quan hệ


9

- Cơ sở dữ liệu giao tác
- Cơ sở dữ liệu khơng gian
- Cơ sở dữ liệu có yếu tố thời gian
- Cơ sở dữ liệu đa phương tiện.
1.1.6. Các phương pháp chính trong khai phá dữ liệu
a. Phân lớp và dự đoán (Classification & Prediction)
Xếp một đối tượng vào một trong những lớp đã biết. Ví dụ : phân lớp vùng địa
lý theo dữ liệu thời tiết.
b. Phân cụm và phân đoạn (Clusterring and Segmentation)
Sắp xếp các đối tượng theo từng cụm (số lượng và tên của cụm chưa được biết
trước). 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à lớn nhất và mức độ tương tự giữa các đối tượng nằm trong các

cụm khác nhau là nhỏ nhất. Lớp bài tốn phân cụm cịn được gọi là học không giám
sát hạy học không thầy.
c. Khai phá chuỗi theo thời gian (Sequential temporal patterns)
Cũng tương tự như khai phá dữ liệu bằng 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 khốn bởi vì chúng có tính dự báo cao.
d. Mơ tả khái niệm và tổng hợp hóa (Summarization)
Liên quan đến các phương pháp tìm kiếm một mơ tả cho một tập con dữ
liệu. Các kỹ thuật toán tắt thường được áp dụng cho các phân tích dữ liệu tương tác
có tính thăm dị và tạo báo cáo tự động.
e. Luật kết hợp (Association rules)
Luật kết hợp là dạng luật biểu diễn tri thức ở dạng khá đơn giản. Mục tiêu
của phương pháp này là phát hiện và đưa ra các mối liên hệ giữa các giá trị dữ
liệu trong cơ sở dữ liệu. Mẫu đầu của giải thuật khai phá dữ liệu là tập luật kết
hợp tìm được.
Trong số đó thì khai phá luật kết hợp trong CSDL giao dịch là một trong những
kỹ thuật phổ biến nhất trong khai phá dữ liệu [1, 2, 3, 4, 7, 8, 19, 20, 22].


10

Luật kết hợp được sử dụng rộng rãi trong nhiều lĩnh vực khác nhau như: Kinh
doanh, sản xuất, giao thông, viễn thông, giáo dục, quản lý thị trường, …

1.2. MỘT SỐ PHƯƠNG PHÁP KHAI PHÁ TẬP PHỔ BIẾN TRÊN CSDL
TĨNH
1.1.1. Mở đầu
Hiện nay thì có rất nhiều phương pháp khai phá tập phổ biến trên CSDL tăng
trưởng. Trong số đó thì khai phá luật kết hợp trong CSDL giao dịch là một trong
những kỹ thuật phổ biến nhất trong khai phá dữ liệu, có thể chia làm 2 hướng chính:

Phương pháp khai phá tập phổ biến mà cần phải phát sinh tập ứng viên.
Phương pháp khai phá tập phổ biến không cần phát sinh tập ứng viên.
Phương pháp khai phá tập phổ biến mà yêu cầu phát sinh tập ứng viên cịn được
gọi là phương pháp tựa Apriori. Thuật tốn đầu tiên được Cheung và cộng sự [6] đề
xuất là FUP (Fast-UPdated algorithm). Tuy nhiên thuật toán vẫn xử lý lại toàn bộ
CSDL gốc khi thêm mới giao dịch vào CSDL. Một số thuật toán khác cũng đã được
đề xuất [21].
Phương pháp khai phá tập phổ biến mà không yêu cầu phát sinh tập ứng viên
còn được gọi là phương pháp tựa FP-tree (Frequent-Pattern tree). Thực tế phương
pháp FP-tree vẫn phát sinh ứng viên, nhưng ứng với mỗi ứng viên phát sinh ra thì sẽ
tính nhanh được độ hỗ trợ, do đó giải quyết được vấn đề bùng nổ tập ứng viên. Bên
cạnh đó thì rất nhiều các thuật tốn đã được đề xuất như AFPIM [15], EFPIM [17].
Bởi vì các thuật toán khai phá tập phổ biến trên CSDL tăng trưởng đều dựa vào
những thuật toán khai phá tập phổ biến trên CSDL tĩnh, do đó trong các mục tiếp theo
của chương này thì luận văn sẽ giới thiệu một số khái niệm cũng như một số thuật
toán khai phá tập phổ biến tiêu biểu trên CSDL tĩnh và thuật toán khai phá tập phổ
biến trên CSDL động.
1.1.2. Một số kiến thức cơ bản
a. Các khái niệm
I = {i1,…, in}: tập n thuộc tính (item) phân biệt.
X ⊆ I : được gọi là tập thuộc tính hay một itemset.


11
D: CSDL giao dịch, mỗi giao dịch (transaction) T ∈ D được định nghĩa như một
tập con các thuộc tính trong I (T ⊆ I) và có một định danh duy nhất có dạng i1,…, ik>. Một giao dịch T ∈ D hỗ trợ cho tập thuộc tính X, X ⊆ I nếu nó chứa tất cả
các thuộc tính của X, nghĩa là X ⊆ T
Một số định nghĩa cơ bản [1]:
Định nghĩa 2.1: Cho CSDL giao dịch D và tập dữ liệu X ⊆ I . Độ đếm hỗ trợ

(support count) của X trong D, kí hiệu σ(X), được định nghĩa là số giao dịch mà X
xuất hiện trong D.
Đôi khi ký hiệu T(X) cũng được dùng để hiểu là số giao dịch mà X xuất hiện
trong D.
Định nghĩa 2.2: Cho CSDL giao dịch D và tập dữ liệu X ⊆ I . Độ hỗ trợ của X
trong D, kí hiệu sup(X) (support(X) hoặc s(X)), được định nghĩa là tỷ lệ phần trăm
của các giao dịch hỗ trợ X trên tổng các giao dịch có trong D.

sup( X )  Pr ( X ) 

T  D | X  T 
D

(2.1)

Ta có 0 ≤ sup(X) ≤ 1 với mọi tập thuộc tính X.
Định nghĩa 2.3: Cho một tập X ⊆ I và một ngưỡng hỗ trợ tối thiểu minsup ∈
(0,1] (được xác định bởi người sử dụng). Một itemset X được gọi là một tập phổ biến
(frequent itemset hoặc large itemset) với độ hỗ trợ tối thiểu minsup nếu và chỉ nếu
sup(X) ≥ minsup.
Một tập phổ biến được sử dụng như là một tập đáng quan tâm trong các thuật
tốn, ngược lại những tập khơng phải tập phổ biến là những tập không đáng quan
tâm. Trong các phần trình bày sau này, luận văn sử dụng những cụm từ khác như ‘‘X
có độ hỗ trợ tối thiểu’’ , ‘‘X khơng có độ hỗ trợ tối thiểu’’ cũng chỉ để nói lên X thỏa
mãn hay khơng thỏa mãn sup(X) ≥ minsup. Một tập thuộc tính X được gọi là

k-

itemset nếu lực lượng của X bằng k (tức là |X| = k).
Một số tính chất liên quan đến tập phổ biến [1, 7]:

Tính chất 2.1: Nếu A ⊆ B với A, B ⊂ I thì sup(A) ≥ sup(B) vì tất cả các giao
dịch của D hỗ trợ B thì cũng hỗ trợ cho A.


×