Tải bản đầy đủ (.doc) (109 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.79 MB, 109 trang )

i
ĐẠ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

th¸i nguyªn - n¨m 2014


ii

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


3

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


4

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


5

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


6

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


vi
i

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


8

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


9

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 = {T1, T2,…, Tm}: Cơ sở dữ liệu có m giao tác.
I = {i1, i2,…, in}: Tập n mục dữ liệu.
Ip: 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
Tq: 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.


10

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


AIS
CHARM
CNTT
CSDL

Thuật toán AIS
Thuật toán CHAM
Công nghệ thông tin
Cơ sở dữ liệu

FP-Growth
SETM
UP-Growth

Thuật toán FP-Growth
Thuật toán SETM
Thuật toán UP-Growth

DM
HU

Data Mining
High Utility

Khai phá dữ liệu
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 Là một cấu trúc cây tiền tố

tree
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

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á

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


/>

2

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

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

/>


3

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

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

/>

4

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

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

/>

5

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

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

/>

6

(Graphical user
(Pattern evaluation)


Giao diện đồ họa cho
Đánh giá mẫu
Cơ sở

(Data mining engine)

(Database or Ware house

tri thức
Máy khai phá dữ liệu

(Knowledge

Máy chủ CSDL hay

Làm sạch; tích hợp dữ liệu;
Cơ sở dữ liệu

Kho dữ liệu

Các lưu trữ
thông tin khác

Hình 1.2: Kiến trúc của một hệ thống khai phá dữ liệu

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



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



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


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).
Age
youth

Middle_aged

Senior


Student
no
no

Credit-rating?

yes

yes

Fair
yes

excellent


no

yes

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.


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?



<=34

>34

Salary?
<=40

Salary?
>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


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


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


×