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

Khai phá tập mục lợi ích cao sử dụng 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 (1.73 MB, 92 trang )

.

ĐẠ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 HỒNG SÂM

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

Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01

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

NGƢỜI HƢỚNG DẪN KHOA HỌC
TS. NGUYỄN HUY ĐỨC

Thái Nguyên - 2014
Số hóa bởi Trung tâm Học liệu

/>

i

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.
Nguyễn Huy Đức – Trường Cao đẳng Sư phạm Trung ương, người đã chỉ bảo và
hướng dẫn tận tình cho tơi trong suốt quá trình nghiên cứu khoa họ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 ln ở bên tơi những lúc khó khăn nhất, ln độ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 12 tháng 03 năm 2014
Tác giả

Nguyễn Hồng Sâm

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

/>

ii

LỜI CAM ĐOAN
Tôi xin cam đoan Luận văn “Khai phá tập mục lợi ích cao sử dụng 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.
Nguyễn Huy Đức. Trong toàn bộ luận văn, những điều được trình bày là của cá
nhân hoặc là được tổng hợp từ nhiều nguồn tài liệu. Tất cả các loại tài liệu đều có
xuất xứ rõ ràng và được trích dẫn hợp pháp. Tơi xin chịu trách nhiệm về luận văn
của mình.
Thái Nguyên, ngày 12 tháng 03 năm 2014
Tác giả

Nguyễn Hồng Sâm


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

/>

iii

MỤC LỤC
Trang phụ bìa

Trang

LỜI CẢM ƠN ............................................................................................................ i
LỜI CAM ĐOAN ..................................................................................................... ii
MỤC LỤC ................................................................................................................ iii
DANH MỤC CÁC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT ....................................v
DANH MỤC CÁC BẢNG ...................................................................................... vi
DANH MỤC HÌNH VẼ ......................................................................................... vii
LỜI MỞ ĐẦU ............................................................................................................1
CHƢƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ KHAI PHÁ TẬP
MỤC THƢỜNG XUYÊN .........................................................................................3
1.1. Khái niệm về khai phá tri thức và khai phá dữ liệu .........................................3
1.2. Kiến trúc của hệ thống khai phá dữ liệu ..........................................................4
1.3. Quá trình khai phá dữ liệu ...............................................................................5
1.4. Một số kỹ thuật khai phá dữ liệu .....................................................................6
1.5. Các cơ sở dữ liệu phục vụ cho khai phá dữ liệu ..............................................9
1.6. Một số ứng dụng của khai phá dữ liệu...........................................................11
1.7. Khai phá tập mục thường xuyên ....................................................................12
1.7.1. Các khái niệm cơ bản .............................................................................12
1.7.1.1. Cơ sở dữ liệu giao tác......................................................................12
1.7.1.2. Tập mục thường xuyên và luật kết hợp ...........................................14

1.7.1.3. Bài toán khai phá luật kết hợp.........................................................15
1.7.2. Cách tiếp cận khai phá tập mục thường xuyên.......................................16
1.7.3. Một số thuật tốn điển hình tìm tập mục thường xun.........................17
1.7.3.1. Thuật toán Apriori ...........................................................................17
1.7.3.2. Thuật toán COFI-tree ......................................................................21
1.7.4. Mở rộng bài toán khai phá tập mục thường xuyên.................................26
1.8. Kết luận chương 1 ..........................................................................................27
CHƢƠNG 2: KHAI PHÁ TẬP MỤC LỢI ÍCH CAO SỬ DỤNG CẤU TRÚC
CÂY TIỀN TỐ.........................................................................................................28
2.1. Mở đầu ...........................................................................................................28
Số hóa bởi Trung tâm Học liệu

/>

iv
2.2. Bài tốn khai phá tập mục lợi ích cao ............................................................29
2.3. Khai phá tập mục lợi ích cao sử dụng cấu trúc cây tiền tố ............................33
2.3.1. Thuật toán COUI-Mine ..........................................................................33
2.3.1.1. Xây dựng cây TWUI-tree................................................................34
2.3.1.2. Khai phá cây TWUI-tree .................................................................39
2.3.1.3. Nhận xét và đánh giá thuật toán COUI-Mine .................................45
2.3.1.4. Khai phá tương tác với cây TWUI-tree...........................................47
2.3.2. Các cấu trúc cây tiền tố cho khai phá lợi ích cao ...................................48
2.3.3. Thuật tốn UP-Growth ...........................................................................51
2.4. Kết luận chương 2 ..........................................................................................54
CHƢƠNG 3: THỰC NGHIỆM KHAI PHÁ TẬP MỤC LỢI ÍCH CAO .........56
3.1. Bài tốn phát hiện nhóm các mặt hàng có lợi nhuận cao ..............................56
3.2. Mơ tả dữ liệu ..................................................................................................56
3.3. Xây dựng chương trình ..................................................................................60
3.4. Thực nghiệm khai phá tìm tập mục lợi ích cao .............................................60

3.5. Kết quả thực nghiệm ......................................................................................61
KẾT LUẬN ..............................................................................................................62
TÀI LIỆU THAM KHẢO ......................................................................................63
Tiếng Việt .............................................................................................................63
Tiếng Anh .............................................................................................................63
PHỤ LỤC .................................................................................................................65

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

/>

v

DANH MỤC CÁC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT
Trong luận văn này, dùng thống nhất các ký hiệu và chữ viết tắt sau:
Các ký hiệu:
I = {i1, i2,…, in}: Tập n mục dữ liệu.
DB = {T1, T2,…, Tm}: Cơ sở dữ liệu có m giao tác.
Db: cơ sở dữ liệu giao tác con của DB, db

DB.

Ip: Mục dữ liệu thứ p.
Tq: Giao tác thứ q.
n: Số mục dữ liệu một cơ sở dữ liệu giao tác.
m: Số giao tác một cơ sở dữ liệu giao tác.
A, B, C,…: Tên các mục dữ liệu trong 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 = ABC thay cho X = {A, B, C} trong các cơ sở dữ liệu giao tác ví dụ.
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.

minsup: Ngưỡng độ hỗ trợ tối thiểu.
minutil: Giá trị lợi ích tối thiểu.
X : Số phần tử của tập hợp X.

Viết tắt:
KPDL: Khai phá dữ liệu
CSDL: Cơ sở dữ liệu.
CNTT: Công nghệ thông tin.
CNTT và TT: Công nghệ Thông tin và Truyền thơng.

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

/>

vi

DANH MỤC CÁC BẢNG
Bảng 1.1: Biểu diễn ngang của cơ sở dữ liệu giao tác. .............................................13
Bảng 1.2: Biểu diễn dọc của cơ sở dữ liệu giao tác. .................................................13
Bảng 1.3: Ma trận giao tác của cơ sở dữ liệu cho ở bảng 1.1. ..................................14
Bảng 1.4: Cơ sở dữ liệu giao tác minh họa thực hiện thuật toán Apriori. ................20
Bảng 1.5: Cơ sở dữ liệu giao tác minh họa thực hiện thuật toán COFI-tree. ...........22
Bảng 1.6: Các mục dữ liệu và độ hỗ trợ....................................................................23
Bảng 1.7: Các mục dữ liệu thường xuyên đã sắp thứ tự. ..........................................23

Bảng 1.8: Các mục dữ liệu trong giao tác sắp xếp giảm dần theo độ hỗ trợ. ...........23
Bảng 2.1: Cơ sở dữ liệu giao tác. ..............................................................................30
Bảng 2.2: Bảng lợi ích...............................................................................................30
Bảng 2.3: Lợi ích các giao tác của cơ sở dữ liệu bảng 2.1 và bảng 2.2. ...................36
Bảng 2.4: Lợi ích TWU của các mục dữ liệu............................................................36
Bảng 2.5: Các mục dữ liệu có lợi ích TWU c

. .................36

Bảng 2.6: Các mục dữ liệu trong giao tác sắp giảm dần theo lợi ích TWU. ............37
Bảng 2.7: Lợi ích các tập mục ứng viên ...................................................................43
Bảng 2.8: Cơ sở dữ liệu ví dụ cho thuật tốn UP-Growth ........................................52
Bảng 2.9: Bảng lợi ích của CSDL bảng 2.8 ..............................................................53
Bảng 2.10: Các giao tác được sắp lại các mục dữ liệu theo TWU giảm dần ............53
Bảng 3.1: Dữ liệu đã trích chọn để khai phá .............................................................57
Bảng 3.2: Bảng lợi ích các mặt hàng ........................................................................58
Bảng 3.3: Mã hóa các mặt hàng ................................................................................58

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

/>

vii

DANH MỤC HÌNH VẼ
Hình 1.1: Q trình phát hiện tri thức .........................................................................4
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: Quá trình KPDL ..........................................................................................6
Hình 1.4: Cây quyết định ............................................................................................7
Hình 1.5: Mẫu kết quả của nhiệm vụ phân cụm dữ liệu .............................................8

Hình 1.6: Mẫu kết quả của nhiệm vụ hồi quy .............................................................8
Hình 1.7: Phân loại các thuật tốn khai phá tập mục thường xun. ........................17
Hình 1.8: Cây FP-tree của CSDL bảng 1.5. ..............................................................24
Hình 1.9: Cây COFI-tree của mục D. .......................................................................24
Hình 1.10: Các bước khai phá cây D-COFI-tree. .....................................................25
Hình 2.1: Cây TWUI-tree sau khi lưu giao tác T1. ...................................................37
Hình 2.2: Cây TWUI-tree sau khi lưu giao tác T1 và T2. .........................................38
Hình 2.3: Cây TWUI-tree của cơ sở dữ liệu bảng 2.1 và bảng 2.2. ..........................38
Hình 2.4: Cây C-COUI-tree sau khi lưu mẫu CBE...................................................40
Hình 2.5: Cây C-COUI-tree sau khi lưu mẫu CBE và CE. .......................................40
Hình 2.6: Cây C-COUI-tree sau khi xây dựng xong.................................................40
Hình 2.7: Cây D-COUI-tree. .....................................................................................41
Hình 2.8: Cây B-COUI-tree. .....................................................................................41
Hình 2.9: Các bước khai phá cây D-COUI-Tree. .....................................................42
Hình 2.10: 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.1 và bảng 2.2. ...........................................................................49
Hình 2.11: 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.1 và bảng 2.2. ................................................49
Hình 2.12: 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.1 và bảng 2.2. .................................................................50
Hình 2.13: Cây TWUI-tree của CSDL bảng 2.8 với minutil = 40 ............................54
Hình 2.14: Cây UP-tree của CSDL bảng 2.8 với minutil = 40 .................................54
Hình 3.1: Dữ liệu đã mã hóa chuẩn bị cho khai phá .................................................59
Hình 3.2: Dữ liệu mã hóa của bảng 3.2.....................................................................59
Hình 3.3: Giao diện chương trình .............................................................................60
Hình 3.4: Giao diện kết quả khai phá........................................................................61

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

/>


1

LỜI MỞ ĐẦU
Khai phá tập mục thường xuyên đóng vai trò quan trọng trong nhiều nhiệm
vụ khai phá dữ liệu. Khai phá tập mục thường xuyên xuất hiện như là bài toán con
của nhiều lĩnh vực khai phá dữ liệu như khám phá luật kết hợp, khám phá mẫu tuần
tự,… Bài toán khai phá luật kết hợp do Agrawal, T.Imielinski và A. N. Swami đề
xuất và nghiên cứu lần đầu vào năm 1993 với mục tiêu là phát hiện các tập mục
thường xuyên, từ đó tạo các luật kết hợp. Trong mơ hình của bài tốn này, giá trị
của mỗi mục dữ liệu trong một giao tác là 0 hoặc 1, tức là chỉ quan tâm mục dữ liệu
có xuất hiện trong giao tác hay khơng. Bài tốn cơ bản này có nhiều ứng dụng, tuy
vậy, do tập mục thường xuyên chỉ mang ngữ nghĩa thống
.
Nhằm khắc phục hạn chế của bài toán cơ bản khai phá luật kết hợp, nhiều
nhà nghiên cứu đã mở rộng bài toán theo nhiều hướng khác nhau. Năm 1997,
Hilderman và các cộng sự đề xuất bài toán khai phá
, giá trị của mục dữ liệu trong giao tác là một số. Năm 2004, nhóm các nhà
nghiên cứu H. Yao, Hamilton và Butz, mở rộng tiếp bài tốn, đề xuất mơ hình khai
phá tập mục lợi ích cao.
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),
ngồ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á trị chủ quan). Lợi ích của tập mục là số đo lợi nhuận mà tập mục đó
mang lại. Khai phá tập mục lợi ích cao là khám phá tất cả các tập mục có lợi ích
khơng nhỏ hơn ngưỡng lợi ích tối thiểu của người sử dụng.
Trong những năm gần đây, bài toán này đã và đang thu hút sự quan tâm của
nhiều nhà nghiên cứu trong và ngồi nước. Đã có một số thuật tốn phát hiện tập
mục lợi ích cao được đề xuất. Các thuật tốn này có thể phân thành hai loại:
- Thuật toán kiểu Apriori (Apriori-like), sinh ra các tập mục ứng viên, duyệt

theo chiều rộng.
- Thuật toán không sinh ứng viên, chuyển đổi cơ sở dữ liệu thành cấu trúc
cây, duyệt theo chiều sâu để phát hiện các tập mục lợi ích cao. Các thuật tốn loại
này hiệu quả hơn và tránh được khối lượng tính tốn lớn.
Số hóa bởi Trung tâm Học liệu

/>

2
Với ý nghĩa đó và mục đích tìm hiểu bài tốn tìm tập mục lợi ích cao và các
thuật tốn khai phá sử dụng cấu trúc cây tiền tố, em đã quyết định lựa chọn đề tài
luận văn: “ KHAI PHÁ TẬP MỤC LỢI ÍCH CAO SỬ DỤNG CẤU TRÚC
CÂY TIỀN TỐ”
Nội dung luận văn gồm 3 chương:
Chương 1: Tổng quan về khai phá dữ liệu và khai phá tập mục thường xuyên.
Chương 2: Khai phá tập mục lợi ích cao sử dụng cấu trúc cây tiền tố.
Chương 3: Chương trình thực nghiệm và ứng dụng.

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 VÀ KHAI PHÁ
TẬP MỤC THƢỜNG XUYÊN
1.1. Khái niệm về khai phá tri thức và khai phá dữ liệu
KPDL là việc rút trích tri thức một cách tự động và hiệu quả từ một khối dữ
liệu lớn. Tri thức đó thường ở dạng các mẫu có tính chất khơng tầm thường, khơng
tường minh (ẩn), chưa được biết đến và có tiềm năng mang lại lợi ích. Có một số

nhà nghiên cứu cịn gọi KPDL là phát hiện tri thức trong cơ sở dữ liệu (Knowledge
Discovery in Database – KDD). Ở đây chúng ta có thể coi KPDL là cốt lõi của q
trình phát hiện tri thức. Quá trình phát hiện tri thức gồm các bước [3], [6]:
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,…v.v), 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…v.v), rời
rạc hóa dữ liệu (dựa vào histograms, entropy, phân khoảng,...v.v). 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,…v.v. Đồ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.

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

/>

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

Hình 1.1: Q trình phát hiện tri thức
Việc KPDL 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.2. Kiến trúc của hệ thống khai phá dữ liệu
Kiến trúc của một hệ thống KPDL điển hình có thể có các thành phần phần
như hình 1.2 [3], [6].
- 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.

(Graphical user interface)

Giao diện đồ họa cho người dùng

(Pattern evaluation)

Đánh giá mẫu
Cơ sở
tri thức

(Data mining engine)

Máy khai phá dữ liệu


(Database or Ware house Server)

Máy chủ CSDL hay kho dữ liệu

(Knowledge-base)

Làm sạch; tích hợp dữ liệu; lọc

Cơ sở dữ liệu

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

Kho dữ liệu

Các lưu trữ

thông tin khác
/>

5

Hình 1.2: Kiến trúc của một hệ thống khai phá dữ liệu
- 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 KPDL (Data mining engine): Một hệ thống KPDL 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.

- Modun đánh giá mẫu (Pattern evaluation): Bộ phận này tương tác với các
modun KPDL để 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ể modun đánh
giá mẫu được tích hợp vào modun 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 còn
cho phép người dùng giao tiếp với hệ thống KPDL. Ngồi ra, bộ phận này cịn 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.3. Quá trình khai phá dữ liệu
Các giải thuật khai phá dữ liệu thường được miêu tả như những chương trình
hoạt động trực tiếp trên tệp dữ liệu. Với các phương pháp học máy và thống kê
trước đây, thường thì bước đầu tiên là các giải thuật nạp toàn bộ tệp dữ liệu vào
trong bộ nhớ. Khi chuyển sang các ứng dụng công nghiệp liên quan đến việc khai
phá các kho dữ liệu lớn, mơ hình này khơng thể đáp ứng được. Khơng chỉ bởi vì nó
khơng thể nạp hết dữ liệu vào trong bộ nhớ mà còn vì khó có thể chiết xuất dữ liệu
ra các tệp đơn giản để phân tích được.
Q trình khai phá dữ liệu được thể hiện bởi mơ hình sau [2]:
Thống kê
tóm tắt
Xác định
nhiệm vụ

Xác định dữ
liệu liên quan

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

Thu thập và
tiền xử lý DL


Giải thuật
khai phá DL
Dữ liệu
trực tiếp

Mẫu

/>

6

Hình 1.3: Quá trình KPDL
+ Xác định nhiệm vụ: Xác định chính xác vấn đề cần giải quyết.
+ Xác định các dữ liệu liên quan dùng để xây dựng giải pháp.
+ Thu thập các dữ liệu có liên quan và xử lý chúng thành dạng sao cho giải
thuật khai phá dữ liệu có thể hiểu được. Ở đây có thể gặp một số vấn đề: dữ liệu
phải được sao ra nhiều bản (nếu được chiết suất vào các tệp), quản lý tập các tệp dữ
liệu, phải lặp đi lặp lại nhiều lần tồn bộ q trình (nếu mơ hình dữ liệu thay đổi
v.v…).
+ Chọn thuật toán khai phá dữ liệu thích hợp và thực hiện việc khai phá dữ
liệu: nhằm tìm được các mẫu (pattern) có ý nghĩa dưới dạng biểu diễn tương ứng
với các ý nghĩa đó.
1.4. Một số kỹ thuật khai phá dữ liệu
Mục đích của khai phá dữ liệu là chiết xuất ra các tri thức có lợi cho kinh
doanh hay cho nghiên cứu khoa học… Do đó, ta có thể xem mục đích của khai phá
dữ liệu sẽ là mô tả các sự kiện và dự đoán. Các mẫu khai phá dữ liệu phát hiện được
nhằm vào mục đích này. Dự đốn liên quan đến việc sử dụng các biến hoặc các đối
tượng (bản ghi) trong CSDL để chiết xuất ra các mẫu, dự đoán được những giá trị
chưa biết hoặc những giá trị tương lai của các biến đáng quan tâm. Mô tả tập trung

vào việc tìm kiếm các mẫu mơ tả dữ liệu mà con người có thể hiểu được.
Để đạt được những mục đích này, nhiệm vụ chính của khai phá dữ liệu bao
gồm như sau:
Phân lớp dữ liệu [6]
Khái niệm phân lớp dữ liệu được Han và Kamber đưa ra năm 2000. Phân lớp
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ự đố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.
Quá trình phân lớp dữ liệu được thực hiện qua hai bước. Bước thứ nhất: Dựa
vào tập hợp dữ liệu huấn luyện, xây dựng một mơ hình mơ tả những đặc trưng của
những lớp dữ liệu hoặc những khái niệm, đây là quá trình học có giám sát, học theo
mẫu được cung cấp trước. Bước thứ hai: Từ những lớp dữ liệu hoặc những khái
niệm đã được xác định trước, dự đoán giá trị của những đối tượng quan tâm.

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

/>

7
Một kỹ thuật phân lớp dữ liệu được Han và Kamber đưa ra là cây quyết định.
Mỗi nút của cây đại diện một quyết định dựa vào giá trị thuộc tính tương ứng. Kỹ

thuật này đã được nhiều tác giả nghiên cứu và đưa ra nhiều thuật tốn.
Một ví dụ tiêu biểu về cây quyết định:
Tuổi
>35

TID

30-35


Sinh viên

Yes

Giáo sư

Yes

Yes

No

No

Hình 1.4: Cây quyết định
Trong hình 1.4 là một cây quyết định cho lớp mua laptop, chỉ ra một khách
hàng sẽ mua hay không mua một laptop. Mỗi nút lá đại diện một lớp mà đánh giá
mua laptop là Yes hay No. Sau khi mơ hình này được xây dựng, chúng ta có thể dự
đốn việc có thể mua một laptop hay khơng dựa vào những thuộc tính khách hàng
mới là tuổi và nghề nghiệp. Cây quyết định có thể ứng dụng rộng rãi trong nhiều
hoạt động của đời sống thực.
Phân nhóm dữ liệu [6]
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. Trong phân nhóm, những
đối tượng được nhóm lại cùng nhau dựa vào sự giống nhau của chúng. Sự giống

nhau giữa những đối tượng được xác định bởi những chức năng giống nhau. Thông
thường những sự giống về định lượng như khoảng cách hoặc độ đo khác được xác
định bởi những chuyên gia trong lĩnh vực của mình.
Nợ
nhóm 1

nhóm 2
+
+

+

+

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

+
+ +
+

+ +

+
+ +
+
+
+

+


+
+ + +
+
+
+ />
nhóm 3

Thu nhập


8

Hình 1.5: Mẫu kết quả của nhiệm vụ phân cụm dữ liệu
Đa số các ứng dụng phân nhóm được sử dụng trong sự phân chia thị trường.
Với sự phân nhóm khách hàng vào trong từng nhóm, những doanh nghiệp có thể
cung cấp những dịch vụ khác nhau tới nhóm khách hàng một cách thuận lợi. Ví dụ,
dựa vào chi tiêu, số tiền trong tài khoản và việc rút tiền của khách hàng, một ngân
hàng có thể xếp những khách hàng vào những nhóm khác nhau. Với mỗi nhóm,
ngân hàng có thể cho vay những khoản tiền tương ứng cho việc mua nhà, mua xe,…
Trong trường hợp này ngân hàng có thể cung cấp những dịch vụ tốt hơn và cũng
chắc chắn rằng tất cả các khoản tiền cho vay đều có thể thu hồi được. Ta có thể
tham khảo một khảo sát tồn diện về kỹ thuật và thuật tốn phân nhóm trong.
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ỗ thuộc tính để dự báo là liên tục chứ khơng rời rạc [6]. Việc dự
báo các giá trị số thường được làm bởi các phương pháp thống kê cổ điển chẳng hạn
như hồi qui tuyến tính. Tuy nhiên, phương pháp mơ hình hóa cũng được sử dụng
[6].
Nợ


đường hồi quy
tuyến tính
+

0

0
0

+

0

+

0

0
+

0

+

0
0

+

+

+

0

+

0

0

0

0

Thu nhập

Hình 1.6: Mẫu kết quả của nhiệm vụ hồi quy
Ứng dụng của hồi quy là rất nhiều, ví dụ: dự đoán số lượng sinh vật phát
quang hiện thời trong khu rừng bằng cách dị tìm vi sóng bằng thiết bị cảm biến từ
xa; dự đoán khả năng tử vong của bệnh nhân khi biết các kết quả xét nghiệm chẩn
đoán; dự đoán nhu cầu tiêu thụ một sản phẩm mới bằng một hàm chi tiêu quảng
Số hóa bởi Trung tâm Học liệu

/>

9
cáo… hình 1.6 chỉ ra mẫu kết quả hồi quy tuyến tính đơn giản, ở đây tổng số nợ
được điều chỉnh cho phù hợp giống như một hàm thu nhập tuyến tính. Việc điều
chỉnh này là khơng đáng kể bởi vì chỉ tồn tại một tương quan yếu giữa hai biến.
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 [6]. 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.
Mơ hình hóa phụ thuộc (dependency modeling): Là việc tìm kiếm 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 biến [6]. Những phụ thuộc này thường được biểu thị dưới dạng luật.
Quan hệ phụ thuộc cũng có thể biểu diễn dưới dạng mạng tin cậy [6]. Đó là
đồ thị có hướng khơng có dạng chu trình, các nút biểu diễn thuộc tính và trọng số
chỉ liên kết phụ thuộc giữa các nút đó.
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. Độ lệch theo thời gian là sự thay đổi có nghĩa của dữ liệu
theo thời gian. Độ lệch theo nhóm là sự khác nhau giữa dữ liệu trong hai tập con dữ
liệu, tính cả trường hợp tập con của đối tượng này thuộc tập con kia, nghĩa là xác
định dữ liệu trong một nhóm con của đối tượng có khác nhau đáng kể so với tồn
bộ đối tượng [6].
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ệ
Đến nay, hầu hết dữ liệu được lưu giữ dưới dạng cơ sở dữ liệu quan hệ. Cơ
sở dữ liệu quan hệ là một nguồn tài nguyên lớn nhất chứa những đối tượng mà
chúng ta cần khai phá. Cơ sở dữ liệu quan hệ có cấu trúc cao, dữ liệu được mơ tả
bởi một tập những thuộc tính và lưu trong những bảng. Khai phá dữ liệu trên cơ sở
dữ liệu quan hệ chủ yếu tập trung khai phá mẫu. Ví dụ, trong cơ sở dữ liệu của một
Số hóa bởi Trung tâm Học liệu


/>

10
ngân hàng, ta có thể tìm được những khách hàng có mức chi tiêu cao, ta có thể phân
loại những khách hàng này dựa vào quá trình chi tiêu của họ. Cũng với việc phân
tích những mục tiêu của khách hàng, chúng ta có thể cung cấp một số thơng tin của
khách hàng đến những doanh nghiệp khác. Giả sử rằng một khách hàng chi mỗi
tháng 500 đô la cho thời trang, nếu được phép, ngân hàng có thể cung cấp thông tin
về khách hàng này cho những cửa hàng thời trang.
Cơ sở dữ liệu giao tác
Cơ sở dữ liệu giao tác là tập hợp những bản ghi giao dịch, trong đa số các
trường hợp chúng là những bản ghi các dữ liệu hoạt động của doanh nghiệp, tổ
chức. Với tính phổ biến của máy tính và thương mại điện tử, ngày nay có rất nhiều
cơ sở dữ liệu giao tác.
Cơ sở dữ liệu không gian
Cơ sở dữ liệu không gian bao gồm hai phần: Phần thứ nhất là dữ liệu quan hệ
hay giao tác, phần thứ hai là thông tin định vị hoặc thông tin địa lý. Những luật kết
hợp trên cơ sở dữ liệu không gian mô tả mối quan hệ giữa các đặc trưng trong cơ sở
dữ liệu không gian. Dạng của luật kết hợp không gian có dạng X

Y, với X, Y là

tập hợp những vị từ khơng gian. Những thuật tốn khai phá luật kết hợp không gian
tương tự như khai phá luật kết hợp nhưng thêm những vị từ về không gian.
Cơ sở dữ liệu có yếu tố thời gian
Giống như cơ sở dữ liệu khơng gian, cơ sở dữ liệu có yếu tố thời gian bao
gồm hai phần: Phần thứ nhất là dữ liệu quan hệ hay giao tác, phần thứ hai là thông
tin về thời gian xuất hiện dữ liệu ở phần thứ nhất. Những luật kết hợp có yếu tố thời
gian có nhiều thơng tin hơn những luật kết hợp cơ bản. Ví dụ, từ luật kết hợp cơ bản
{Bia}


{Thuốc lá}, với dữ liệu có yếu tố thời gian chúng ta có thể có nhiều luật:

Độ hỗ trợ của luật {Bia}

{Thuốc lá} là 20% từ 9 giờ đến 13 giờ là 50% trong

thời gian từ 19 giờ tới 22 giờ. Rõ ràng rằng, những người bán lẻ có thể xác định
chiến lược để buôn bán tốt hơn.
Hầu hết nghiên cứu về lĩnh vực này ngày nay hình thành một hướng khai phá
dữ liệu mới gọi là khai phá mẫu lặp liên tục, khai phá tập mục dữ liệu thường xuyên
trong cơ sở dữ liệu thời gian.
Cơ sở dữ liệu đa phƣơng tiện
Số hóa bởi Trung tâm Học liệu

/>

11
Số lượng trang web đang bùng nổ trên thế giới, web có mặt ở khắp mọi nơi,
duyệt web đã là nhu cầu của mọi tầng lớp trong xã hội. Thông tin trên web đang
phát triển với tốc độ rất cao, khai phá thông tin trên web (web mining) đã trở thành
một lĩnh vực nghiên cứu chính của khai phá dữ liệu, được các nhà nghiên cứu đặc
biệt quan tâm. Khai phá dữ liệu web thông thường được chia thành ba phạm trù
chính: Khai phá cách dùng web (web usage mining), khai phá cấu trúc web (web
structure mining) và khai phá nội dung web (web content mining).
Khai phá cách dùng web tập trung vào việc khai phá thông tin của người truy
cập web. Với những thông tin này người khai phá dữ liệu có thể cung cấp những
thơng tin hữu ích cho người dùng và các nhà kinh doanh.
1.6. Một số ứng dụng của khai phá dữ liệu
KPDL đượ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 KPDL có những cách tiếp cận khác nhau.
KPDL được vận dụng có hiệu quả để giải quyết các bài tố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ự đố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ự đố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.
Ngồi ra KPDL cịn được áp dụng trong việc giải quyết các vấn đề xã hội
như: phát hiện tội phạm hay tăng cường an ninh xã hội và mang lại những hiệu quả
thiết thực cho các hoạt động trong đời sống hàng ngày.
Một số ứng dụng cụ thể nhƣ sau [3], [6]:
- KPDL được sử dụng để phân tích dữ liệu, hỗ trợ ra quyết định.
- Trong sinh học: nó dùng để tìm kiếm, so sánh các hệ gen và thơng tin di
truyền, tìm mối liên hệ giữa các hệ gen và chẩn đoán một số bệnh di truyền.
- Trong y học: KPDL giúp tìm ra mối liên hệ giữa các triệu chứng, chẩn đốn
bệnh.
Số hóa bởi Trung tâm Học liệu

/>

12
- Tài chính và thị trường chứng khốn: KPDL dùng để phân tích tình hình tài
chính, phân tích đầu tư, phân tích cổ phiếu.
- Khai thác dữ liệu web.
- Trong thơng tin kỹ thuật: KPDL dùng để phân tích các sai hỏng, điều khiển
và lập lịch trình.

- Trong thơng tin thương mại: dùng để phân tích dữ liệu người dùng, phân
tích dữ liệu marketing, phân tích đầu tư, phát hiện các gian lận.
- Trong cơng nghiệp viễn thơng: Phân tích nhu cầu và phân tích các mẫu gian
lận và xác định các mẫu khác thường.
1.7. Khai phá tập mục thƣờng xuyên
1.7.1. Các khái niệm cơ bản
Khai phá luật kết hợp là một kỹ thuật quan trọng của khai phá dữ liệu. Mục
tiêu khai phá là phát hiện những mối quan hệ giữa các giá trị dữ liệu trong cơ sở dữ
liệu. Mơ hình đầu tiên của bài tốn khai phá luật kết hợp là mơ hình nhị phân (hay
cịn gọi là mơ hình cơ bản) được R. Agrawal, T. Imielinski và A. Swami đề xuất
vào năm 1993, xuất phát từ nhu cầu phân tích dữ liệu của cơ sở dữ liệu giao tác,
phát hiện các mối quan hệ giữa các tập mục hàng hóa (Itemsets) đã bán được tại
siêu thị [4]. Việc xác định các mối quan hệ này không phân biệt vai trị khác nhau
cũng như khơng dựa vào các đặc tính vốn có của các thuộc tính mà chỉ dựa vào sự
xuất hiện cùng lúc của chúng.
Phần tiếp sau đây nêu một số khái niệm cơ bản và phát biểu bài toán khai
phá luật kết hợp, bài toán đầu tiên dẫn đến bài toán khai phá tập mục thường xuyên.
1.7.1.1. Cơ sở dữ liệu giao tác
Định nghĩa 1.1: Cho tập các mục (item) I

i1 , i2 ,..., in . 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 DB
X

T1 , T2 ,..., Tm . Mỗi giao tác được gán một định danh TID. Một tập mục con

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.

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

/>

13
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.1:
Bảng 1.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 1.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

Ma trận giao tác: Cơ sở dữ liệu giao tác DB T1 , T2 ,..., Tm trên tập các mục (item)
I

i1 , i2 ,..., in được biểu diễn bởi ma trận nhị phân M

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

(mpq )m n , ở đó:

/>

14
1 khi iq Tp

m pq

0 khi iq Tp

Ví dụ 1.2: Cơ sở dữ liệu bảng 1.1 biểu diễn ở dạng ma trận giao tác là:
Bảng 1.3: Ma trận giao tác của cơ sở dữ liệu cho ở bảng 1.1.
A
0
0
1

0
0
1
1
1
1
1
1

TID
T1
T2
T3
T4
T5
T6
T7
T8
T9
T10
T11

B
1
1
1
0
0
0
1

0
1
0
1

C
1
1
0
1
1
1
1
1
0
0
1

D
1
1
1
1
1
0
0
0
0
0
0


E
0
0
0
0
0
0
0
0
1
1
0

F
0
0
0
1
0
0
1
0
0
0
0

1.7.1.2. Tập mục thƣờng xuyên và luật kết hợp
Định nghĩa 1.2: Cho tập mục X


I . 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à: sup( X )
Ta có: 0 sup( X ) 1 với mọi tập mục X
Định nghĩa 1.3: Cho tập mục X
minsup

T

DB T
DB

X}

I

I và ngưỡng hỗ trợ tối thiểu (minimum support)

0,1 (được xác định trước bởi người sử dụng). X được gọi là tập mục

thường xuyên (frequent itemset hoặc large itemset) với độ hỗ trợ tối thiểu minsup
nếu sup( X )

minsup, ngược lại X gọi là tập mục không thường xuyên.

Định nghĩa 1.4: Một luật kết hợp là một biểu thức dạng X
là các tập con của I , X

Y


Y , trong đó X và Y

; X gọi là tiền đề, Y gọi là kết luận của luật.

Luật kết hợp có hai thơng số quan trọng là độ hỗ trợ và độ tin cậy.
Số hóa bởi Trung tâm Học liệu

/>

15
Định nghĩa 1.5: Độ hỗ trợ (Support) của một luật kết hợp X→Y, ký hiệu là
sup(X→Y), là độ hỗ trợ của tập mục X

Y , sup( X

Như vậy độ hỗ trợ của luật kết hợp X

Y ) sup( X

Y ).

Y chính là xác suất P( X

Y ) của sự

xuất hiện đồng thời của X và Y trong một giao tác.
Ta có: 0 sup( X

Y ) 1.


Định nghĩa 1.6: Độ tin cậy (Confidence) của một luật X
conf ( X

Y ), là tỷ lệ phần trăm giữa số giao tác chứa X

Y , ký hiệu

Y và số giao tác chứa X

trong cơ sở dữ liệu DB.
conf ( X

Y)

sup( X Y )
sup( X )

Độ tin cậy của luật kết hợp X
P(Y / X )

{T

và ta có 0 conf ( X

DB X
{T

T


DB X

Y

Y chính là xác suất có điều kiện P(Y / X ) :

T}

T}

{T

=

DB X

{T

DB X

Y

T}
T}

=

sup( X Y )
sup( X )


Y ) 1.

Các luật thỏa mãn cả hai ngưỡng độ hỗ trợ tối thiểu (minsup) và độ tin cậy
tối thiểu (minconf), tức thỏa mãn sup( X

minsup và conf ( X

Y)

Y)

minconf,

được gọi là luật kết hợp mạnh.
Tính chất cơ bản của tập mục thƣờng xuyên:
Cho cơ sở dữ liệu giao tác DB và ngưỡng độ hỗ trợ tối thiểu minsup. Các tập
mục thường xuyên có các tính chất sau:
(1) Nếu X , Y là các tập mục và X

Y thì sup( X ) sup(Y ).

(2) Nếu một tập mục là khơng thường xun thì mọi tập cha của nó của nó
cũng khơng thường xun.
(3) Nếu một tập mục là thường xuyên thì mọi tập con khác rỗng của nó cũng
là tập mục thường xun.
Tính chất (3) được gọi là tính chất Apriori, tính chất này là cơ sở để rút gọn
khơng gian tìm kiếm các tập mục thường xuyên.
1.7.1.3. Bài toán khai phá luật kết hợp
Cho cơ sở dữ liệu giao tác DB, ngưỡng độ hỗ trợ tối thiểu minsup và ngưỡng
độ tin cậy tối thiểu minconf.

Yêu cầu: Tìm tất cả các luật kết hợp X
sup( X

Y ) minsup và conf ( X

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

Y trên cơ sở dữ liệu DB sao cho

Y ) minconf.

/>

16
Bài toán khai phá luật kết hợp này được gọi là bài tốn cơ bản hay bài tốn
nhị phân, vì ở đây, giá trị của mục dữ liệu trong cơ sở dữ liệu là 0 hoặc 1 (xuất hiện
hay không xuất hiện).
Bài toán khai phá luật kết hợp được chia thành hai bài tốn con. Bài tốn thứ
nhất là tìm tất cả các tập mục thỏa mãn độ hỗ trợ tối thiểu cho trước, tức là tìm tất
cả các tập mục thường xuyên. Bài toán thứ hai là sinh ra các luật kết hợp từ các tập
mục thường xuyên đã tìm được thỏa mãn độ tin cậy tối thiểu cho trước.
Bài toán thứ hai được giải quyết như sau: giả sử đã tìm được X là tập mục
thường xuyên, ta sinh ra các luật kết hợp bằng cách tìm
cậy của luật X \ Y

Y

X , kiểm tra độ tin

Y có thỏa mãn độ tin cậy tối thiểu khơng. Bài tốn thứ hai này


đơn giản, mọi khó khăn nằm ở bài toán thứ nhất, hầu hết các nghiên cứu về luật kết
hợp đều tập trung giải quyết bài toán thứ nhất là tìm các tập mục thường xuyên.
1.7.2. Cách tiếp cận khai phá tập mục thƣờng xuyên
Các nghiên cứu về khai phá tập mục thường xuyên tập trung vào tìm các
thuật toán mới hoặc đề xuất giải pháp nâng cao hiệu quả các thuật tốn đã có. Phần
này sẽ trình bày khái quát các kỹ thuật chính để khai phá tập mục thường xuyên.
Bài toán khai phá tập mục thường xuyên có thể chia thành hai bài tốn nhỏ:
tìm các tập mục ứng viên và tìm các tập mục thường xuyên. Tập mục ứng viên là
tập mục mà ta hy vọng nó là tập mục thường xun, phải tính độ hỗ trợ của nó để
kiểm tra. Tập mục thường xuyên là tập mục có độ hỗ trợ lớn hơn hoặc bằng ngưỡng
hỗ trợ tối thiểu cho trước. Đã có rất nhiều thuật tốn tìm tập mục thường xun
được cơng bố, ta có thể phân chúng theo hai tiêu chí sau:
- Phương pháp duyệt qua khơng gian tìm kiếm.
- Phương pháp xác định độ hỗ trợ của tập mục.
Phương pháp duyệt qua khơng gian tìm kiếm được phân chia thành hai cách:
duyệt theo chiều rộng (Breadth First Search – BFS) và duyệt theo chiều sâu (Depth
First Search – DFS).
Duyệt theo chiều rộng là duyệt qua cơ sở dữ liệu gốc để tính độ hỗ trợ của tất
cả các tập mục ứng viên có (k-1) mục trước khi tính độ hỗ trợ của các tập mục ứng
viên có k mục. Với cơ sở dữ liệu có n mục dữ liệu, lần gặp thứ k phải kiểm tra độ
hỗ trợ của tất cả C nk

n!
tập mục ứng viên có k mục.
k!(n k )!

Duyệt theo chiều sâu là duyệt qua cơ sở dữ liệu đã được chuyển đổi thành
cấu trúc cây, quá trình duyệt gọi đệ quy theo chiều sâu của cây.
Số hóa bởi Trung tâm Học liệu


/>

17
Với cơ sở dữ liệu có n mục dữ liệu, khơng gian tìm kiếm có tất cả 2 n tập
con, rõ ràng đây là bài tốn NP khó, do vậy cần phải có phương pháp duyệt thích
hợp, tỉa nhanh các tập ứng viên.
Phương pháp xác định độ hỗ trợ của tập mục X được chia làm hai cách: cách
thứ nhất là đếm số giao tác chứa X trong cơ sở dữ liệu và cách thứ hai là tính phần
giao của các tập chứa định danh của các giao tác chứa X.
Các thuật tốn khai phá có thể phân loại như sau (theo [6])
BFS

BFS

Giao

Đếm

Đếm
Giao
AIS
Apriori
Dic

Partition

FP-growth

Eclat


Hình 1.7: Phân loại các thuật tốn khai phá tập mục thường xuyên.
Phần tiếp sau mô tả chi tiết nội dung hai thuật toán tiêu biểu và là cơ sở để
phát triển các thuật toán mới trong luận văn: Thuật toán Apriori tiêu biểu cho
phương pháp sinh ra các tập mục ứng viên và kiểm tra độ hỗ trợ của chúng; Thuật
toán FP-growth, đại diện cho phương pháp không sinh ra tập mục ứng viên, cơ sở
dữ liệu được nén lên cấu trúc cây, sau đó khai phá bằng cách phát triển dần các mẫu
trên cây này.
1.7.3. Một số thuật tốn điển hình tìm tập mục thƣờng xun
1.7.3.1. Thuật toán Apriori
Apriori là thuật toán khai phá tập mục thường xuyên do R. Agrawal và R.
Srikant đề xuất vào năm 1993 [4]. Ý tưởng của thuật tốn Apriori cịn là nền tảng
cho việc phát triển nhiều thuật toán khai phá tập mục thường xuyên khác về sau.
Ý tưởng chính của thuật toán như sau: sinh ra các tập mục ứng viên từ các
tập mục thường xuyên ở bước trước, sử dụng kỹ thuật “tỉa” để bỏ đi những tập mục
ứng viên không thoả mãn ngưỡng hỗ trợ cho trước. Cơ sở của kỹ thuật này là tính
chất Apriori: Bất kỳ tập con nào của tập mục thường xuyên cũng phải là tập mục
thường xuyên. Vì vậy các tập mục ứng viên gồm k mục có thể được sinh ra bằng

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

/>

×