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

Khai phá tập mục lợi ích cao dựa trên cấu trúc cây tiền tố

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 (2.4 MB, 85 trang )

i
S húa bi Trung tõm Hc liu

đại học thái nguyên
Tr-ờng đại học CÔNG NGHệ THÔNG TIN Và TRUYềN
THÔNG



NGUYN TH LUYN

KHAI PH TP MC LI CH CAO
DA TRấN CU TRC CY TIN T


LUN VN THC S KHOA HC MY TNH

thái nguyên - năm 2014
ii
Số hóa bởi Trung tâm Học liệu

®¹i häc th¸i nguyªn
Tr-êng ®¹i häc C¤NG NGHÖ TH¤NG TIN Vµ TRUYÒN
TH¤NG




NGUYỄN THỊ LUYẾN

[



KHAI PHÁ TẬP MỤC LỢI ÍCH CAO
DỰA TRÊN CẤU TRÚC CÂY TIỀN TỐ

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH



Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60 48 01

Ngƣời hƣớng dẫn khoa học: TS. LÊ VĂN PHÙNG
Thái Nguyên, 2014
iii
Số hóa bởi Trung tâm Học liệu

LỜI CAM ĐOAN

Tôi xin cam đoan Luận văn "Khai phá tập mục lợi ích cao dựa trên cấu
trúc cây tiền tố" đã đƣợc thực hiện theo đúng mục tiêu đề ra dƣới sự hƣớng dẫn của
TS. Lê Văn Phùng. Kết quả đạt đƣợc trong luận văn là sản phẩm của cá nhân tôi.
Trong toàn bộ luận văn, những điều đƣợc trình bày là của cá nhân và là đƣợc tổng
hợp từ nhiều nguồn tài liệu. Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và
đƣợc trích dẫn hợp pháp.
Tôi xin chịu hoàn toàn trách nhiệm và chịu mọi hình thức kỷ luật theo quy
định cho lời cam đoan của mình.

Thái Nguyên, ngày 29 tháng 9 năm 2014
Người cam đoan




Nguyễn Thị Luyến






iv
Số hóa bởi Trung tâm Học liệu

LỜI CẢM ƠN

Lời đầu tiên tôi xin gửi lời cảm ơn chân thành và biết ơn sâu sắc tới TS. Lê
Văn Phùng – Trƣờng Đại học công nghệ Thông tin và Truyền thông, Thầy đã chỉ
bảo và hƣớng dẫn tận tình cho tôi trong suốt quá trình làm việc và thực hiện luận
văn này.
Tôi xin chân thành cảm ơn sự dạy bảo, giúp đỡ, tạo điều kiện và khuyến
khích tôi trong quá trình học tập và nghiên cứu của các thầy cô giáo của Viện Công
nghệ thông tin, Trƣờng Đại học Công nghệ thông tin và Truyền thông - Đại học
Thái Nguyên.
Và cuối cùng, tôi xin gửi lời cảm ơn tới gia đình, ngƣời thân và bạn bè,
những ngƣời luôn ở bên tôi những lúc khó khăn nhất, luôn động viên tôi, khuyến
khích tôi trong cuộc sống và trong công việc.
Tôi xin chân thành cảm ơn!

Thái Nguyên, ngày 29 tháng 9 năm 2014
Tác giả




Nguyễn Thị Luyến




v
Số hóa bởi Trung tâm Học liệu

MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN iv
DANH MỤC CÁC HÌNH VẼ vii
DANH MỤC CÁC BẢNG viii
DANH MỤC CÁC KÝ HIỆU ix
DANH MỤC CHỮ VIẾT TẮT x
MỞ ĐẦU 1
CHƢƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 3
1.1 Quá trình khám phá tri thức 3
1.1.1 Khái niệm về quá trình khám phá tri thức và khai phá dữ liệu 3
1.1.2 Kiến trúc về một số hệ thống khai phá dữ liệu 5
1.1.3. Một số ứng dụng của khai phá dữ liệu 6
1.2 Một số phƣơng pháp khai phá dữ liệu thông dụng 7
1.2.1 Phƣơng pháp luật kết hợp 7
1.2.2 Phƣơng pháp cây quyết định 8
1.3 Kết luận chƣơng 1 12
CHƢƠNG 2: KHAI PHÁ TẬP MỤC THƢỜNG XUYÊN VÀ TẬP MỤC LỢI ÍCH
CAO 13
2.1 Khai phá tập mục thƣờng xuyên 13

2.1.1 Cơ sở dữ liệu giao tác 13
2.1.2 Tập mục thƣờng xuyên và luật kết hợp 15
2.1.3 Bài toán khai phá luật kết hợp và một số thuật toán về khai phá tập mục
thƣờng xuyên 17
2.2 Bài toán Khai phá tập mục lợi ích cao 29
2.2.1 Khái niệm về tập mục lợi ích cao 29
2.2.2 Một số bài toán khai phá tập mục lợi ích cao 29
2.3 Khai phá tập mục lợi ích cao dựa trên cây tiền tố 34
2.3.1 Định nghĩa cây tiền tố 34
vi
Số hóa bởi Trung tâm Học liệu

2.3.2 Một số thuật toán khai phá tập mục lợi ích cao dựa trên cây tiền tố 35
2.3.3 Các cấu trúc cây tiền tố cho khai phá lợi ích cao 56
2.3.4 Thuật toán UP-Growth 59
2.4 Kết luận chƣơng 2 62
CHƢƠNG 3: THỰC NGHIỆM KHAI PHÁ TẬP MỤC LỢI ÍCH CAO DỰA
TRÊN CẤU TRÚC CÂY TIỀN TỐ 63
3.1. Bài toán phát hiện nhóm các mặt hàng có lợi nhuận cao 63
3.2. Mô tả dữ liệu 63
3.3 Xây dựng chƣơng trình 70
3.4 Thực nghiệm khai phá tìm tập mục lợi ích cao 71
3.5 Kết luận chƣơng 3 72
KẾT LUẬN 73
1. Những kết quả chính của luận văn 73
2. Hƣớng nghiên cứu tiếp theo 73
TÀI LIỆU THAM KHẢO 74
A. Tiếng việt 74
B. Tiếng Anh 74


vii
Số hóa bởi Trung tâm Học liệu

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

Hình 1.1. Các bƣớc trong Data Mining và KDD 5
Hình 1.2. Kiến trúc của một hệ thống khai phá dữ liệu 5
Hình 1.3. Luồng thông tin đƣợc sử dụng theo cách kết hợp 8
Hình 1.4 Cây quyết định về khái niệm mua máy tính 9
Hình 1.5. Cây quyết định phân lớp (bad/good) mức lƣơng 11
Hình 1.6 Các bƣớc thực hiện thuật toán K-Mean 12
Hình 2.1. Cây FP-tree của CSDL bảng 2.5 27
Hình 2.2. Cây COFI-tree của mục D 27
Hình 2.3. Minh họa các bƣớc khai phá cây D-COFI-tree 28
Hình 2.4. Cây TWUI-tree sau khi lƣu giao tác T
1
39
Hình 2.5. Cây TWUI-tree sau khi lƣu giao tác T1 và T2 39
Hình 2.6. Cây TWUI-tree của CSDL bảng 2.9 và bảng 2.10 40
Hình 2.7. Cây C-COUI-tree sau khi lƣu mẫu CBE 42
Hình 2.8. Cây C-COUI-tree sau khi lƣu mẫu CBE và CE 43
Hình 2.9. Cây C-COUI-tree sau khi xây dựng xong 43
Hình 2.10. Cây D-COUI-tree 43
Hình 2.11. Cây B-COUI-tree 44
Hình 2.12. Các bƣớc khai phá cây D-COUI-Tree 45
Hình 2.13. Không gian tìm kiếm tập mục lợi ích cao theo thuật toán Hai pha 56
Hình 2.14. Cây TWUI-tree có các mục dữ liệu sắp tăng dần theo trật tự từ
điển của cơ sở dữ liệu bảng 2.9 và bảng 2.10 57
Hình 2.15. Cây TWUI-tree có các mục dữ liệu sắp giảm dần theo số lần xuất
hiện của chúng trong cơ sở dữ liệu bảng 2.9 và bảng 2.10 57

Hình 2.16. Cây TWUI-tree có các mục dữ liệu sắp giảm dần theo TWU của
chúng trong cơ sở dữ liệu bảng 2.9 và bảng 2.10 58
Hình 2.17. Cây
TWUI-tree
của CSDL bảng 2.8 với minutil = 40 62
Hình 2.18. Cây UP-tree của CSDL bảng 2.8 với minutil = 40 62
Hình 3.1. Tệp CSDL.txt biểu diễn dữ liệu đầu vào 70
Hình 3.2. Giao diện chính của chƣơng trình 71
Hình 3.3. Tập các mục lợi ích cao 72

viii
Số hóa bởi Trung tâm Học liệu

DANH MỤC CÁC BẢNG

Bảng 1.1: Tập dữ liệu huấn luyện quyết định phân lớp mức lƣơng 10
Bảng 2.1: Biểu diễn ngang của cơ sở dữ liệu giao tác 14
Bảng 2.2: Biểu diễn dọc của cơ sở dữ liệu giao tác 14
Bảng 2.3: Ma trận giao tác của cơ sở dữ liệu cho ở bảng 2.1 15
Bảng 2.4: Cơ sở dữ liệu giao tác minh họa thực hiện thuật toán Apriori 21
Bảng 2.5: CSDL giao tác minh họa thực hiện thuật toán COFI-tree 25
Bảng 2.6: Các mục dữ liệu và độ hỗ trợ 25
Bảng 2.7: Các mục dữ liệu thƣờng xuyên đã sắp thứ tự 25
Bảng 2.8: Các mục DL trong giao tác sắp xếp giảm dần theo độ hỗ trợ 26
Bảng 2.9. CSDL giao tác 32
Bảng 2.10 Bảng lợi ích 32
Bảng 2.11: Lợi ích các giao tác của cơ sở dữ liệu bảng 2.9 và bảng 2.10 37
Bảng 2.12: Lợi ích TWU của các mục dữ liệu 37
Bảng 2.13: Các mục dữ liệu có lợ 38
Bảng 2.14. Các mục dữ liệu trong giao tác sắp giảm dần theo lợi ích TWU 38

Bảng 2.15. Kết quả tính lợi ích của các tập mục ứng viên 46
Bảng 2.16: Cơ sở dữ liệu ví dụ cho thuật toán UP-Growth 60
Bảng 2.17: Bảng lợi ích của CSDL bảng 2.15 61
Bảng 2.18: Các giao tác đƣợc sắp lại các mục dữ liệu theo TWU giảm dần 61
Bảng 3.1 Dữ liệu đã trích chọn để khai phá 65
Bảng 3.2. Mã hóa các mặt hàng 68
Bảng 3.3. Bảng lợi ích các mặt hàng 69





ix
Số hóa bởi Trung tâm Học liệu

DANH MỤC CÁC KÝ HIỆU

X
: Số phần tử của tập hợp X.
A, B, C,…: Tên các mục dữ liệu trong cơ sở dữ liệu giao tác ví dụ.
Conf(X->Y): Độ tin cậy của một luật X->Y
db DB : db là cơ sở dữ liệu giao tác con của DB.
DB = {T
1
, T
2
,…, T
m
}: Cơ sở dữ liệu có m giao tác.
I = {i

1
, i
2
,…, i
n
}: Tập n mục dữ liệu.
I
p
: Mục dữ liệu thứ p.
m: Số giao tác một cơ sở dữ liệu giao tác.
Minconf: Độ tin cậy tối thiểu
minShare: Ngƣỡng cổ phần tối thiểu.
minsup: Ngƣỡng độ hỗ trợ tối thiểu.
minutil: Ngƣỡng lợi ích tối thiểu
n: Số mục dữ liệu một cơ sở dữ liệu giao tác.
Nếu X Y thì X gọi là tập con của tập Y, Y gọi là tập cha của tập X
P(Y/X): Xác suất có điều kiện (độ tin cậy của luật Y->X)
P(Y/X): Xác suất có điều kiện (độ tin cậy của luật kết hợp X->Y)
Sup(X): Tỷ lệ % của giao tác chứa tập X
T
q
: Giao tác thứ q.
U(X): Lợi ích của tập mục trong CSDL DB
X = ABC thay cho X = {A, B, C} trong các cơ sở dữ liệu giao tác ví dụ.
X, Y,…: Tập con của tập mục dữ liệu I, X, Y I.








x
Số hóa bởi Trung tâm Học liệu

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


AIS Thuật toán AIS
CHARM Thuật toán CHAM
CNTT Công nghệ thông tin
CSDL Cơ sở dữ liệu
FP-Growth Thuật toán FP-Growth
SETM Thuật toán SETM
UP-Growth Thuật toán UP-Growth

DM Data Mining Khai phá dữ liệu
HU
High Utility
Khai phá tập mục lợi ích cao
TWU
Transaction Weighted Utility
Tập mục ràng buộc lợi ích theo giao tác
TWUI-tree
Transaction Weighted Utility
tree
Là một cấu trúc cây tiền tố
KDD
Knowledge Discovery from Data
Phát hiện tri thức từ dữ liệu

PT
Prefix-tree
Cây tiền tố


1
1
Số hóa bởi Trung tâm Học liệu

MỞ ĐẦU
Ngày nay, sự phát triển không ngừng ứng dụng công nghệ thông tin (CNTT)
và truyền thông vào nhiều lĩnh vực đời sống, văn hóa, xã hội, quản lý kinh tế, khoa
học kỹ thuật, đã tạo ra nhiều cơ sở dữ liệu (CSDL) mới có quy mô lớn. Để khai
thác hiệu quả nguồn thông tin dữ liệu lớn đó nhằm hỗ trợ tiến trình ra quyết định,
ngƣời ta đã nghiên cứu một khuynh hƣớng kỹ thuật mới là Kỹ thuật Khai phá dữ
liệu bên cạnh các phƣơng pháp khai thác thông tin truyền thống.
Khai phá dữ liệu và khám phá tri thức (Data Mining and knowledge discovery)
là một lĩnh vực quan trọng của ngành Công nghệ thông tin. Đây là lĩnh vực đã thu
hút đông đảo các nhà khoa học trên thế giới và trong nƣớc tham gia nghiên cứu.
Khai phá tập mục thƣờng xuyên đƣợc biết đến nhƣ một bài toán con của khai phá
luật kết hợp đƣợc giới thiệu bởi Agrawal vào năm 1993 khi phân tích CSDL bán
hàng của siêu thị, phân tích sở thích mua của khách hàng bằng cách tìm ra những
mặt hàng khác nhau đƣợc khách hàng mua trong cùng một lần mua. Những thông
tin nhƣ vậy giúp ngƣời quản lý kinh doanh tiếp thị chọn lọc và thu xếp không gian
bày hàng hợp lý hơn, giúp cho việc kinh doanh hiệu quả hơn.
Mô hình khai phá tập mục thƣờng xuyên cơ bản có nhiều ứng dụng trong
thực tế bên cạnh đó còn có những hạn chế, không đáp ứng đƣợc nhu cầu của
ngƣời sử dụng.
Để đáp ứng yêu cầu của thực tiễn, khai phá tập mục thƣờng xuyên đã có nhiều
cách thức mở rộng và ứng dụng, từ thay đổi phƣơng pháp luận đến thay đổi đa dạng

các kiểu dữ liệu, mở rộng các nhiệm vụ khai phá và đa dạng các ứng dụng mới.
Trong những năm qua, đã có nhiều hƣớng mở rộng bài toán đƣợc quan tâm nghiên
cứu. Một trong những hƣớng đó là bài toán khai phá tập mục lợi ích cao, đánh giá
lợi ích mà tập mục dữ liệu mang lại trong CSDL.
Khai phá tập mục lợi ích cao thực sự là một lĩnh vực đang thu hút nhiều nhà
nghiên cứu và doanh nghiệp quan tâm.
Khai phá tập mục lợi ích cao là sự mở rộng, tổng quát hóa của khai phá tập
mục cổ phần cao. Mô hình khai phá tập mục lợi ích cao đƣợc Yao và cộng sự đề
xuất (Hong Yao và Hamilton, 2006; H. Yao, Hamilton và Butz, 2004) [6], [12].
Trong mô hình khai phá tập mục lợi ích cao, giá trị của mục dữ liệu trong giao
tác là một số (nhƣ số lƣợng đá bán của mặt hàng), gọi là giá trị khách quan; ngoài ra
còn có bảng lợi ích cho biết lợi ích mang lại khi bán một đơn vị hàng đó (gọi là giá
2

Số hóa bởi Trung tâm Học liệu


trị chủ quan, do ngƣời quản lý kinh doanh xác định). Lợi ích của một tập mục là số
đo lợi nhuận mà tập mục đó đóng góp trong CSDL, nó có thể là tổng lợi nhuận, là
tổng chi phí của tập mục. Khai phá tập mục lợi ích cao là khám phá tất cả các tập
mục lợi ích không nhỏ hơn ngƣỡng lợi ích tối thiểu quy định bởi ngƣời sử dụng.
Nhƣ vậy, trong quá trình sử dụng và khai thác thông tin ngƣời ta nhận thấy
rằng có rất nhiều tri thức còn tiềm ẩn trong dữ liệu. Vấn đề đặt ra là làm thế nào để
khai thác đƣợc thông tin và khai thác một cách có hiệu quả.
Một câu hỏi nghiên cứu đặt ra là: “Có thể tìm đƣợc dạng biểu diễn nhỏ gọn và
không mất thông tin của các tập mục lợi ích cao trong khai phá tập mục lợi ích cao
không ?”
Với mục đích tìm hiểu bài toán tập mục lợi ích cao và các thuật toán khai phá
dựa trên cấu trúc cây tiền tố, em đã chọn đề tài “Khai phá tập mục lợi ích cao dựa
trên cấu trúc cây tiền tố” làm luận văn cao học của mình. Trong đó tìm hiểu vận

dụng kiến thức sƣu tập đƣợc vào giải quyết bài toán về khai phá tập mục lợi ích cao
dựa trên cấu trúc cây đặc biệt là cây “tiền tố”.
Nội dung luận văn gồm 3 chƣơng:
Chƣơng I: Tổng quan về khai phá dữ liệu.
Chƣơng II: Khai phá tập mục thƣờng xuyên và tập mục lợi ích cao.
Chƣơng III: Thực nghiệm khai phá tập mục lợi ích cao dựa trên cấu trúc cây
tiền tố.












3

Số hóa bởi Trung tâm Học liệu



CHƢƠNG 1
TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1 Quá trình khám phá tri thức
1.1.1 Khái niệm về quá trình khám phá tri thức và khai phá dữ liệu
Theo bách khoa toàn thƣ, khai phá dữ liệu (Data Mining- DM) là khâu chủ yếu

trong quá trình phát hiện tri thức từ dữ liệu để trợ giúp cho việc làm quyết định
trong quản lý. DM sử dụng nhiều phƣơng pháp của phân tích thống kê, của lý
thuyết nhận dạng, của các hệ học, các mạng nơ-ron nhân tạo,… nhằm phát hiện các
mẫu hình tri thức trực tiếp từ các kho dữ liệu. DM và phát hiện tri thức là những
hƣớng ngiên cứu mới trong tổ chức và khai thác các hệ thống thông tin và trợ giúp
quyết định.
Thuật ngữ DM do Fayyad Smyth và Piatestky-Shapiro đề xuất năm 1989. Có
rất nhiều định nghĩa khác nhau về DM đã đƣợc đƣa ra. Theo nghĩa đơn giản nhất,
DM là việc trích lọc tri thức từ một lƣợng lớn dữ liệu. Nó còn có một tên gọi khác
“trích chọn tri thức”, “phân tích dữ liệu/mẫu”, “khảo cổ dữ liệu”, “nạo vét dữ liệu”.
Giáo sƣ Tom Mitchell đƣa ra định nghĩa về DM nhƣ sau: “DM là việc sử dụng
dữ liệu lịch sử để khám phá những quy tắc và cải thiện những quyết định trong
tương lai”. Với một cách tiếp cận thực tế hơn, tiến sĩ Fayyad đã phát biểu:: “DM
thường được xem là việc khám phá tri thức trong các CSDL, là một quá trình trích
xuất những thông tin tiềm ẩn, trước đây chưa biết và có khả năng là hữu ích, dưới
dạng các quy luật, ràn buộc, quy tắc trong CSDL”. Các nhà thống kê thì xem “DM
như là một quá trình phân tích được thiết kế thăm dò một lượng cực lớn các dữ liệu
nhằm phát hiện ra các mẫu thích hợp và/ hoặc các mối liên hệ mang tính hệ thống
giữa các biến và sau đó sẽ hợp thức hóa các kết quả tìm được bằng cách áp dụng
các mẫu đã phát hiện được cho tập con mới của dữ liệu”[3]
Nói chung, DM là cốt lõi của quá trình phát hiện tri thức. Nó gồm có các giải
thuật DM chuyên dụng, một số quy định về hiệu quả tính toán chấp nhận đƣợc. DM
nhằm tìm ra những mâu thuẫn mới, mẫu có tính chất không tầm thƣờng, những
thông tin tiềm ẩn mang tính dự đoán chƣa đƣợc biết đến và có khả năng mang lại
4

Số hóa bởi Trung tâm Học liệu


ích lợi. Nói ngắn gọn hơn, DM là việc tìm kiếm các kiến thức, các mẫu hấp dẫn

trong kho dữ liệu.
DM là hoạt động trọng tâm của quá trình khai phá tri thức. Quá trình phát hiện
tri thức gồm các bƣớc [1], [4]:
Bước 1 - Trích chọn dữ liệu (data selection): Là bƣớc trích chọn những tập
dữ liệu cần đƣợc khai phá từ các tập dữ liệu lớn (databases, data ware houses).
Bước 2 - Tiền xử lý dữ liệu (data preprocessing): Là bƣớc làm sạch dữ liệu
(xử lý dữ liệu không đầy đủ, dữ liệu nhiễu, dữ liệu không nhất quán,…), rút gọn dữ
liệu (sử dụng các phƣơng pháp thu gọn dữ liệu, histograms, lấy mẫu…), rời rạc hóa
dữ liệu (dựa vào histograms, entropy, phân khoảng, ). Sau bƣớc này, dữ liệu sẽ
nhất quán, đầy đủ, đƣợc rút gọn và đƣợc rời rạc hóa.
Bước 3 - Biến đổi dữ liệu (data transformation): Là bƣớc chuẩn hóa và làm
mịn dữ liệu để đƣa dữ liệu về dạng thuận lợi nhất nhằm phục vụ cho các kỹ thuật
khai thác ở bƣớc sau.
Bước 4 - Khai phá dữ liệu (data mining): Đây là bƣớc quan trọng và tốn
nhiều thời gian nhất của quá trình khám phá tri thức, áp dụng các kỹ thuật khai phá
(phần lớn là các kỹ thuật của machine learning) để khai phá, trích chọn đƣợc các
mẫu (pattern) thông tin, các mối liên hệ đặc biệt trong dữ liệu.
Bước 5 - Đánh giá và biểu diễn tri thức (knowledge representation &
evaluation): Dùng các kỹ thuật hiển thị dữ liệu để trình bày các mẫu thông tin (tri thức)
và mối liên hệ đặc biệt trong dữ liệu đã đƣợc khai thác ở bƣớc trên biểu diễn theo dạng
gần gũi với ngƣời sử dụng nhƣ đồ thị, cây, bảng biểu, luật,…. Đồng thời bƣớc này cũng
đánh giá những tri thức khám phá đƣợc theo những tiêu chí nhất định.
Trong giai đoạn khai phá dữ liệu, 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 tri thức cần thiết nhất. Các tri thức nhận đƣợc cũng có thể
đƣợc lƣu và sử dụng lại.
5

Số hóa bởi Trung tâm Học liệu




Hình 1.1. Các bước trong Data Mining và KDD
DM có thể đƣợc tiến hành trên một lƣợng lớn dữ liệu có trong CSDL, các kho
dữ liệu hoặc trong các loại lƣu trữ thông tin khác.
Các mẫu đáng quan tâm có thể đƣợc đƣa đến ngƣời dùng hoặc đƣợc lƣu trữ
trong một cơ sở tri thức.
1.1.2 Kiến trúc về một số hệ thống khai phá dữ liệu













Hình 1.2: Kiến trúc của một hệ thống khai phá dữ liệu
Giao diện đồ họa cho
ngƣời dùng
(Graphical user
interface)
Đánh giá mẫu
(Pattern evaluation)
Máy khai phá dữ liệu
(Data mining engine)
Máy chủ CSDL hay

kho dữ liệu
(Database or Ware house
Server)
Cơ sở dữ liệu
Kho dữ liệu
Các lƣu trữ
thông tin khác
Làm sạch; tích hợp dữ liệu;
lọc
Cơ sở
tri thức
(Knowledge
-base)
6

Số hóa bởi Trung tâm Học liệu


Kiến trúc của một hệ thống DM điển hình có thể có các thành phần nhƣ hình
1.2 [3], [9].
- CSDL, kho dữ liệu hoặc các lưu trữ thông tin khác (Databases, Data ware
house,…): Đây là một hay một tập CSDL, các kho dữ liệu, các trang tính hay các
dạng lƣu trữ thông tin khác. Các kỹ thuật làm sạch dữ liệu và tích hợp dữ liệu có thể
đƣợc thực hiện trên những dữ liệu này.
- Máy chủ CSDL hay máy chủ kho dữ liệu (Database or Warehouse Server):
Máy chủ này có trách nhiệm lấy những dữ liệu tích hợp dựa trên các yêu cầu khai
phá của ngƣời dùng.
- Cơ sơ tri thức (Knowledge-base): Đây là miền tri thức dùng để hƣớng dẫn
việc tìm kiếm hay đánh giá độ quan trọng của các hình mẫu kết quả.
- Máy DM (Data mining engine): Một hệ thống DM cần phải có một tập các

modun chức năng để thực hiện công việc nhƣ: đặc trƣng hóa, kết hợp, phân lớp,
phân cụm, phân tích sự tiến hóa.
- Module đánh giá mẫu (Pattern evaluation): Bộ phận tƣơng tác với các
module DM để duyệt tìm các mẫu đáng đƣợc quan tâm. Nó có thể dùng các
ngƣỡng về độ quan tâm để lọc mẫu đã khám phá đƣợc. Cũng có thể module đánh
giá mẫu đƣợc tích hợp vào module khai phá, tùy theo cách cài đặt của phƣơng
pháp khai phá đƣợc dùng.
- Giao diện đồ họa người dùng (Graphical user interface): Bộ phận này cho
phép ngƣời dùng giao tiếp với hệ thống DM. Ngoài ra, bộ phận này cho phép ngƣời
dùng xem các lƣợc đồ CSDL, lƣợc đồ kho dữ liệu (hay các cấu trúc dữ liệu), các
đánh giá mẫu và hiển thị các mẫu trong các khuôn dạng khác nhau.
1.1.3. Một số ứng dụng của khai phá dữ liệu
DM đƣợc vận dụng trong nhiều lĩnh vực khác nhau nhằm khai thác nguồn dữ
liệu phong phú đƣợc lƣu trữ trong các hệ thống thông tin. Tuỳ theo bản chất của
từng lĩnh vực, việc vận dụng DM có những cách tiếp cận khác nhau.
DM đƣợc vận dụng có hiệu quả để giải quyết các bài toán phức tạp trong
những ngành đòi hỏi kỹ thuật cao nhƣ: Tìm kiếm mỏ dầu từ ảnh viễn thám, xác định
7

Số hóa bởi Trung tâm Học liệu


vùng gãy trong ảnh địa chất để dự đoán thiên tai, cảnh báo hỏng hóc trong các hệ
thống sản xuất.
Phân nhóm và dự đoán là những kỹ thuật rất cần thiết cho việc quy hoạch và
phát triển hệ thống quản lý và sản xuất trong thực tế nhƣ: dự đoán tái sử dụng điện
năng cho các công ty cung cấp điện, lƣu lƣợng viễn thông cho các công ty điện
thoại, mức độ tiêu thụ sản phẩm cho các nhà sản xuất, giá trị của sản phẩm trên thị
trƣờng cho các công ty tài chính hay phân nhóm khách hàng tiềm năng.
Khai phá dữ liệu tuy là một lĩnh vực mới nhƣng đã 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, các
ứng dụng điển hình, có thể liệt kê nhƣ sau:
- Phân tích dữ liệu và hỗ trợ ra quyết định (Analysis & decition support).
- Điều trị trong y học (Medical): Mối liên hệ giữa triệu trứng, chuẩn đoán và
phƣơng pháp điều trị (chế độ dinh dƣỡng, thuốc men, phẫu thuật).
- Phân lớp văn bản, tóm tắt văn bản và phân lớp các trang Web (Text mining &
Web mining).
- Tin sinh học (Bio-informatics): Tìm kiếm, đối sánh các hệ gen và thông tin di
truyền, mối liên hệ giữa một số hệ gen và một số bệnh di truyền.
- Nhận dạng.
- Tài chính và thị trƣờng chứng khoán (Finance & Stock market): Phân tích
tình hình tài chính và dự đoán giá cổ phiếu.
- Bảo hiểm (Insurance).
- Giáo dục (Education).
1.2 Một số phƣơng pháp khai phá dữ liệu thông dụng
1.2.1 Phương pháp luật kết hợp
Sự kết hợp (hay mối quan hệ) là kỹ thuật khai phá dữ liệu đƣợc biết đến nhiều
hơn, hầu nhƣ quen thuộc và đơn giản. Ở đây, bạn thực hiện một sự tƣơng quan đơn
giản giữa hai hoặc nhiều mục, thƣờng cùng kiểu để nhận biết các mẫu. Ví dụ, khi
theo dõi thói quen mua hàng của ngƣời dân, bạn có thể nhận biết rằng một khách
8

Số hóa bởi Trung tâm Học liệu


hàng luôn mua kem khi họ mua dâu tây, nên bạn có thể đề xuất rằng lần tới khi họ
mua dâu tây, họ cũng có thể muốn mua kem.
Việc xây dựng các công cụ khai phá dữ liệu dựa trên sự kết hợp hay mối quan
hệ có thể thực hiện đơn giản bằng các công cụ khác nhau. Ví dụ, trong InfoSphere
Warehouse một trình hƣớng dẫn đƣa ra các cấu hình của một luồng thông tin đƣợc

sử dụng kết hợp bằng cách xem xét thông tin nguồn đầu vào của cơ sở dữ liệu,
thông tin về cơ sở ra quyết định và thông tin đầu ra của bạn. Hình 1 cho thấy một ví
dụ của cơ sở dữ liệu ví dụ mẫu

Hình 1.3 Luồng thông tin được sử dụng theo cách kết hợp
1.2.2 Phương pháp cây quyết định
Trong lý thuyết quyết định, cây quyết định là đồ thị của các quyết định và hậu
quả có thể của nó (bao gồm cả rủi ro và hao phí tài nguyên). Nó mô tả tri thức dạng
đơn giản nhằm phân các đối tượng dữ liệu thành một số lớp nhất định và đƣợc
9

Số hóa bởi Trung tâm Học liệu


dùng để hỗ trợ quá trình ra quyết định. Quá trình xây dựng cây quyết định có thể
xem nhƣ là một chiến thuật chia để trị cho sự phân lớp đối tƣợng [3].
Cây quyết định là công cụ dùng để phân lớp dữ liệu. Với khai phá dữ liệu, cây
quyết định tƣợng trƣng cho một phƣơng thức quyết định cho việc xác định lớp của
các dữ kiện (các thuộc tính đƣợc xét trên mỗi đối tƣợng) đã cho. Mỗi nút của cây
chỉ ra một tên lớp hoặc là một phép thử cụ thể. Phép thử này chia không gian các dữ
kiện tại nút đó thành các kết quả có thể đạt đƣợc của phép thử. Mỗi tập con đƣợc
chia ra là không gian con của các dữ kiện, sẽ tƣơng ứng với một vấn đề con của sự
phân lớp, điều này sẽ đƣợc giải quyết bởi một cây con tƣơng ứng.
Cây quyết định đƣợc biểu diễn dƣới dạng một sơ đồ có cấu trúc cây. Mỗi nút
của nó (trừ nút lá) ghi một phép thử trên 1 thuộc tính, mỗi nhánh biểu thị một kết
quả của phép thử, và mỗi nút lá ghi một nhãn lớp. Nút trên cùng gọi là nút gốc.
Các nút của cây đƣợc gán nhãn là tên các thuộc tính, các cạnh đƣợc gán các
giá trị có thể của các thuộc tính, các lá mô tả các lớp khác nhau. Các đối 60 Khai
phá dữ liệu tƣợng đƣợc phân lớp theo các đƣờng đi trên cây, qua các cạnh tƣơng
ứng với các giá trị của thuộc tính của đối tƣợng tới lá.

Một cây điển hình đƣợc chỉ ra trên hình 1.4 dành cho khách hàng mua sắm
máy tính với các thuộc tính tuổi, sinh viên, tiềm lực tài chính. Các nút (hình chữ
nhật) trong hình vẽ, trừ nút lá, biểu thị một phép thử trên 1 thuộc tính. Mỗi nút lá
(hình ovan) biểu thị 1 lớp (hoặc là mua máy tính = yes, hoặc là mua máy tính =no).


youth Middle_aged Senior


no yes Fair excellent



Hình 1.4 Cây quyết định về khái niệm mua máy tính
Một số thuật toán cây quyết định chỉ làm việc với cây nhị phân, trong khi đó,
một số thuật toán khác có thể làm việc với các cây không phải nhị phân.
Age
Student
Credit-rating?

yes
no
yes
yes
no
10

Số hóa bởi Trung tâm Học liệu



Trong lĩnh vực học máy, cây quyết định là một kiểu mô hình dự báo, nghĩa là
một ánh xạ từ các quan sát về một sự vật/hiện tƣợng tới các kết luận về giá trị mục
tiêu của sự vật/ hiện tƣợng. Mỗi nút trong tƣơng ứng với một biến; đƣờng nối giữa
nó với nút con của nó thể hiện giá trị cụ thể cho biến đó. Mỗi nút lá đại diện cho giá
trị dự toán của biến mục tiêu, cho trƣớc các giá trị dự toán biến đƣợc biểu diễn bởi
đƣờng đi từ nút gốc tới nút lá đó. Kỹ thuật học máy dung trong cây quyết định đƣợc
gọi là học bằng cây quyết định, hay chỉ gọi với cái tên ngắn gọn là cây quyết định.
Cây quyết định có thể đƣợc mô tả nhƣ là sự kết hợp của các kỹ thuật toán
học và tính toán nhằm hỗ trợ việc mô tả, phân loại và tổng quát hóa một tập dữ liệu
cho trƣớc.
Cây quyết định có 2 tên khác:
- Cây hồi quy: Ƣớc lƣợng các hàm giá trị số thực thay vì đƣợc sử dụng cho
các nhiệm vụ phân loại.
- Cây phân loại: Có chứa các biến phân loại nhƣ: giới tính (nam hay nữ), kết
quả của một trận đấu (thắng hay thua).
Ví dụ:
Cây quyết định phân lớp mức lƣơng có các dữ liệu sau:
ID (Định danh), age (tuổi), salary (lƣơng).
Phân lớp mức lƣơng thành 2 lớp: tốt (good), xấu(bad).
Cho tập dữ liệu:
Bảng 1.1: Tập dữ liệu huấn luyện quyết định phân lớp mức lương

ID
Age
Salary
Class
1
30
65
Good

2
23
15
Bad
3
40
70
Good
4
55
40
Bad
5
55
100
Good
6
45
60
Good
Cây quyết định phân lớp mức lƣơng ứng với dữ liệu trong bảng 1.1 có dạng:


Age?
11

Số hóa bởi Trung tâm Học liệu




<=34 >34



<=40 >40 <=50 >50
bad good bad good
Hình 1.5. Cây quyết định phân lớp (bad/good) mức lương
Các cây quyết định đƣợc sử dụng để phân loại theo các phƣơng cách sau:
Cho một bộ dữ liệu X, cần xác định nó thuộc lớp nào. Các giá trị thuộc tính
của X đƣợc thử dựa vào cây quyết định. Một con đƣờng lần theo vết từ gốc đến nút
lá nào đó. Tên lớp của lá đó là tên lớp gán cho bộ dữ liệu X.
Cây quyết định đã trở thành công cụ phân loại phổ biến vì việc xây dựng công
cụ phân lớp theo cây quyết định không đòi hỏi kiến thức nghiệp vụ hoặc tập tham
số nào và do vậy nó đƣợc ƣu tiên để tiến hành khai phá tri thức. Các cây quyết định
có thể xử lý dữ liệu có số chiều rất cao. Việc biểu diễn tri thức ở dạng cây là dễ
dàng cảm nhận và rất thích hợp với con ngƣời.
K-Means là thuật toán rất quan trọng và đƣợc sử dụng phổ biến trong kỹ thuật
phân cụm. Tƣ tƣởng chính của thuật toán K-Means là tìm cách phân nhóm các đối
tƣợng (objects) đã cho vào K cụm (K là số các cụm đƣợc xác đinh trƣớc, K nguyên
dƣơng) sao cho tổng bình phƣơng khoảng cách giữa các đối tƣợng đến tâm nhóm
(centroid ) là nhỏ nhất.
Thuật toán K-Means được mô tả như sau
Salary?
Salary?
12

Số hóa bởi Trung tâm Học liệu




Hình 1.6 Các bước thực hiện thuật toán K-Mean
Thuật toán K-Means thực hiện qua các bước chính sau:
1. Chọn ngẫu nhiên K tâm (centroid) cho K cụm (cluster). Mỗi cụm đƣợc đại
diện bằng các tâm của cụm.
2. Tính khoảng cách giữa các đối tƣợng (objects) đến K tâm (thƣờng dùng
khoảng cách Euclidean)
3. Nhóm các đối tƣợng vào nhóm gần nhất
4. Xác định lại tâm mới cho các nhóm
5. Thực hiện lại bƣớc 2 cho đến khi không có sự thay đổi nhóm nào của các
đối tƣợng
1.3 Kết luận chƣơng 1
Chƣơng 1 trình bày chi tiết các khái niệm cơ bản, kiến trúc, quá trình khai phá
dữ liệu và một số phƣơng pháp khai phá dữ liệu thông dụng. Phƣơng pháp luật kết
hợp, phƣơng pháp cây quyết định, phƣơng pháp K- Mean (Phân cụm), đều là những
thuật toán đơn giản, quen thuộc và rất quan trọng trong quá trình khai phá tập mục
lợi ích cao.
Trong chƣơng 2 sẽ trình bày các khái niệm cơ bản về tập mục thƣờng xuyên và
tập mục lợi ích cao, cấu trúc cây tiền tố và các thuật toán khai phá tập mục lợi ích
cao sử dụng cấu trúc cây tiền tố.


13

Số hóa bởi Trung tâm Học liệu























CHƢƠNG 2
KHAI PHÁ TẬP MỤC THƢỜNG XUYÊN VÀ TẬP MỤC LỢI ÍCH CAO

2.1 Khai phá tập mục thƣờng xuyên
2.1.1 Cơ sở dữ liệu giao tác
Định nghĩa 1
Cho tập các mục (item)
n
iiiI , ,,
21
. Một giao tác (transaction) T là một tập
con của I, T I. Cơ sở dữ liệu giao tác là một tập các giao tác
m
TTTDB , ,,

21
.
Mỗi giao tác đƣợc gán một định danh TID. Một tập mục con X I, gồm k mục phân
biệt đƣợc gọi là một k-tập mục. Giao tác T gọi là chứa tập mục X nếu X T.
Biểu diễn cơ sở dữ liệu giao tác: Cơ sở dữ liệu giao tác thƣờng đƣợc biểu diễn ở
dạng biểu diễn ngang, biểu diễn dọc và biểu diễn bởi ma trận giao tác.
14

Số hóa bởi Trung tâm Học liệu


Biểu diễn ngang: Cơ sở dữ liệu là một danh sách các giao tác. Mỗi giao tác có
một định danh TID và một danh sách các mục dữ liệu trong giao tác đó.
Ví dụ 1:
Bảng 2.1: Biểu diễn ngang của cơ sở dữ liệu giao tác

TID
Mục dữ liệu
T1
B, C, D
T2
B, C, D
T3
A, B, D
T4
C, D, F
T5
C, D
T6
A, C

T7
A, B, C, F
T8
A, C
T9
A, B, E
T10
A, E
T11
A, B, C

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.

Bảng 2.2: Biểu diễn dọc của cơ sở dữ liệu giao tác


Mục dữ liệu
Định danh giao tác
A
T3, T6, T7, T8, T9, T10, T11
B
T1, T2, T3, T7, T9, T11
C
T1, T2, T4, T5, T6, T7, T8,
T11
D
T1, T2, T3, T4, T5
E
T9, T10

F
T4, T7

15

Số hóa bởi Trung tâm Học liệu


Ma trận giao tác: Cơ sở dữ liệu giao tác
12
, ,
m
DB TT T

trên tập các mục
(item)
12
, , ,
n
I i i i
đƣợc biểu diễn bởi ma trận nhị phân
( ) ,
pq m n
Mm
ở đó:
1
0
qp
qp
iT

khi
pq
khi i T
m

Ví dụ 2: Cơ sở dữ liệu bảng 2.1 biểu diễn ở dạng ma trận giao tác là:
Bảng 2.3: Ma trận giao tác của cơ sở dữ liệu cho ở bảng 2.1

TID
A
B
C
D
E
F
T1
0
1
1
1
0
0
T2
0
1
1
1
0
0
T3

1
1
0
1
0
0
T4
0
0
1
1
0
1
T5
0
0
1
1
0
0
T6
1
0
1
0
0
0
T7
1
1

1
0
0
1
T8
1
0
1
0
0
0
T9
1
1
0
0
1
0
T10
1
0
0
0
1
0
T11
1
1
1
0

0
0


2.1.2 Tập mục thường xuyên và luật kết hợp
Định nghĩa 2 (Độ hỗ trợ)
Cho tập mục
.XI
Ta gọi độ hỗ trợ (Support) của X trong cơ sở dữ liệu giao
tác
,DB
ký hiệu
sup( ),X
là tỷ lệ phần trăm các giao tác chứa
X
trên tổng số các
giao tác trong
,DB
tức là:
DB
XTDBT
X
}
)sup(

Ta có:
1)sup(0 X
với mọi tập mục
IX


Định nghĩa 3

×