Tải bản đầy đủ (.doc) (77 trang)

luật kết hợp mờ và ứng dụng đối với một số bài toán dự báo

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.1 MB, 77 trang )

ĐẠI HỌC THÁI
NGUYÊN
TR
Ƣ
ỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN
THÔNG
BÙI VĂN
THẮNG
LUẬT KẾT HỢP MỜ VÀ ỨNG DỤNG
ĐỐI VỚI MỘT SỐ BÀI TOÁN DỰ BÁO
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY
TÍNH
THÁI NGUYÊN - 2014
http://w w

w.lr c

-t n

u.edu .

vn/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
BÙI VĂN
THẮNG
LUẬT KẾT HỢP MỜ VÀ ỨNG DỤNG


ĐỐI VỚI MỘT SỐ BÀI TOÁN DỰ BÁO
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
HƢỚNG
DẪN KHOA HỌC: TS. VŨ VINH QUANG
THÁI NGUYÊN - 2014
i
LỜI CAM
ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi dưới sự hướng dẫn
trực tiếp của TS. Vũ Vinh Quang.
Mọi trích dẫn sử dụng trong báo cáo này đều được ghi rõ nguồn tài liệu tham
khảo theo đúng qui định.
Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu
hoàn toàn trách nhiệm.
Thái Nguyên, ngày27tháng8năm 2014
Tác
giả
Bùi Văn
Thắng
ii
MỤC
LỤC
LỜI CAM ĐOAN i
MỤC LỤC

ii
CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT


iii
DANH MỤC BẢNG iv
DANH MỤC HÌNH VẼ v
MỞ ĐẦU 1
CHƢƠNG
1. MỘT SỐ KIẾN THỨC CƠ BẢN VỀ KHAI PHÁ DỮ LIỆU 3
1.1. Khái niệm cơ bản về khai phá dữ liệu 3
1.1.1. Giới thiệu 3
1.1.2. Khái niệm khai phá dữ
liệu
4
1.2. Một số
hƣớng
nghiên cứu trong khai phá dữ
liệu
5
1.2.1. Một số hướng nghiên cứu 5
1.2.2. Các dạng dữ liệu có thể khai phá 8
1.3. Nhiệm vụ chính của khai phá dữ liệu 8
1.3.1. Phân lớp
(Classification)
9
1.3.2. Hồi quy (Regression) 9
1.3.3. Khai phá luật kết hợp (Association rule) 9
1.3.4. Gom nhóm (Clustering) 9
1.3.5. Tổng hợp
(Summarization)
10
1.3.6. Mô hình ràng buộc (Dependency modeling) 10

1.3.7. Dò tìm biến đổi và độ lệch (Change and Deviation
Dectection)
10
1.4. Bài toán khai phá luật kết hợp 10
1.4.1. Bài toán 10
1.4.2. Một số thuật toán cơ
bản
15
1.5. Logic mờ 23
1.5.1. Định nghĩa tập
mờ
23
1.5.2. Độ cao, miền xác định và miền tin cậy của tập mờ 25
1.5.3. Các phép toán logic trên tập mờ 26
1.5.4. Biến ngôn ngữ và giá trị của nó 27
1.6. Kết
luận
28
iii
CHƢƠNG
2. KHAI PHÁ LUẬT KẾT HỢP MỜ 30
2.1. Rời rạc hóa thuộc tính dựa vào tập mờ 30
2.1.1. Luật kết hợp với thuộc tính số 30
2.1.2. Các phương pháp rời rạc hóa 30
2.2. Luật kết hợp
mờ
33
2.2.1. Rời rạc hóa thuộc tính
mờ
33

2.2.2. Luật kết hợp mờ 35
2.3. Thuật toán khai phá luật kết hợp mờ dựa trên thuật toán
Apriori
37
2.4. Khai phá luật kết hợp mờ dựa trên thuật toán Fp-Growth 40
2.4.1. Thuật toán xây dựng cây CUFP-Tree 40
2.4.2. Thuật toán tìm tập phổ biến FP-Growth dựa trên cậy
CUFP-Tree
41
2.5. Ví dụ thử nghiệm 42
2.5.1. Xây dựng cây CUFP-Tree 42
2.5.2. Thuật toán tìm tập phổ biến 45
2.6. Kết
luận
46
CH
Ƣ
ƠNG
3. ỨNG DỤNG KHAI PHÁ DỮ LIỆU TRONG MÔ HÌNH DỰ
BÁO 48
3.1. Mô hình một số bài toán dự báo 48
3.1.1. Giới thiệu 48
3.1.2. Một mô hình dự báo là
gì?
49
3.1.3. Các kỹ thuật mô hình hóa dự báo phổ biến 51
3.2. Xây dựng các luật kết hợp mờ trong mô hình dự
báo
55
3.3. Một số kết quả thực

nghiệm
55
3.3.1. Môi trường thử
nghiệm
55
3.3.2. Kết quả thử nghiệm với CSDL gồm 20 giao dịch 60
3.3.3. Kết quả thử
nghiệm
61
PHẦN KẾT
LUẬN
62
TÀI LIỆU THAM KHẢO 63
CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
CNTT
Công nghệ thông tin
CSDL
Cơ sở dữ liệu
KPDL
Khai phá dữ liệu
KDD
Knowledge Discovery in Databases
ItemSet Tập mục
Item
Mục
6
DANH MỤC
BẢNG
Bảng 1.1: Cơ sở dữ liệu giao tác
11

Bảng 1.2: Kết quả thuật toán Apriori
16
Bảng 1.3: Những biến đổi dữ liệu của
FP-Growth 19
Bảng 2.1: CSDL thống kế dân số của 10 gia đình
[21]

31
Bảng 2.2: Rời rạc hóa thuộc tính số rời rạc hữu hạn hoặc thuộc tính hạng mục
31
Bảng 2.3: Rời rạc hóa thuộc tính số“Tuổi"
32
Bảng 2.4: Bảng các ký hiệu sử dụng trong thuật toán khai phá luật kết hợp
mờ 38
Bảng 2.5: Bảng các ký hiệu sử dụng trong thuật
toán 40
Bảng 2.6: Cơ sở dữ liệu
mờ 42
Bảng 2.7: Kết quả sau khi thực hiện Bước
1

42
Bảng 2.8:
Header_Table

43
Bảng 2.9: CSDL mờ sau khi đã cập nhật
43
Bảng 2.10: Tập phổ biến
46

Bảng 3.1: Giao tác ví dụ trong CSDL
FAM95 56
Bảng 3.2: CSDL giao tác Bảng 3.1 sau khi mờ
hóa

57
DANH MỤC HÌNH
VẼ
Hình 1.1: Quá trình khai phá tri thức trong CSDL 3
Hình 1.2: FP-tree của dữ liệu Bảng
1.1
20
Hình 1.3: Thành phần của FP-tree 21
Hình 1.4: Hàm thuộc của tập kinh điển
A
23
Hình 1.5: Hàm thuộc của tập mờ
B
24
Hình 1.6: Hàm thuộc của tập mờ
C
24
Hình 1.7: H à

m t h

u

ộc F(x) có m ứ


c c h

u

y ển đ ổ

i t u

y ến tí n

h .

.

25
Hình 1.8: Mô tả g

iá t r

ị ngôn ngữ bằ n

g tập
mờ
.

27
Hình 2.1: Hàm thuộc của các tập
mờ“Tuổi_trẻ”,“Tuổi_trung_niên”,
và“Tuổi_già" 33
Hình 2.2: Kết quả xử lý giao dịch đầu tiên 44

Hình 2.3: Kết quả xử lý giao dịch đầu tiên 45
Hình 2.4: Cây
CUFP-TREE
45
Hình 3.1: Hai khách hàng và các đặc tính đầu vào của
họ.
50
Hình 3.2: Dữ liệu khách hàng gồm các đặc tính đầu vào và kết quả đầu ra được cung
cấp cho một mô hình dự báo trong quá trình huấn
luyện
50
Hình 3.3: Khung nhìn hai chiều của một siêu phẳng tối ưu chia tách dữ liệu và các vec
tơ hỗ trợ 52
Hình 3.4: Khung nhìn hai chiều về kết quả của việc phân cụm một tập dữ liệu đầu vào
thành hai cụm: các hình tam giác màu xanh lá cây và các hình vuông màu
đỏ
53
Hình 3.5: Mạng nơ-ron hướng thuận với tầng đầu vào, tầng ẩn và tầng đầu ra 54
Hình 3.6: Giao diện chương trình, 20 giao dịch mờ 60
Hình 3.7: Các tập phổ biến tìm được 60
Hình 3.8: Luật kết hợp khai
phá
61
Hình 3.9: Kết quả thử nghiệm với hai thuật toán Apriori mờ và thuật toán CUFP 61
MỞ
ĐẦU
1. Đặt vấn đề
Khai phá dữ liệu là một lĩnh vực nghiên cứu quan trọng trong lý thuyết về cơ sở
dữ liệu, có nhiều ứng dụng trong đời sống xã hội. Mục đích chính là nhằm phát hiện
những thông tin mới, các luật mới từ cơ sở dữ liệu đã có hay một cách tổng quát hơn là

từ các kho dữ liệu. Rất nhiều lĩnh vực ứng dụng trong thực tiễn đều sử dụng công cụ
khai phát dữ liệu và tìm kiếm tri thức. Trong lý thuyết về khai phá dữ liệu, khai phá
luật kết hợp đang được quan tâm nghiên cứu nhiều trên thế giới. Một số hướng nghiên
cứu đã và đang được các chuyên gia công nghệ thông tin tập chung nghiên cứu là:
nghiên cứu thiết kế các hệ mờ cho các ứng dụng cụ thể như hệ trợ giúp quyết định, hệ
điều khiển dựa trên hệ tri thức luật, hệ phân loại dựa trên hệ tri thức luật, hệ phân loại
dựa trên lập luận dựa trên hệ luật ứng dụng trong các lĩnh vực như: kinh doanh, thị
trường chứng khoán và dự đoán thị trường, công nghệ sinh học, giáo dục và đào tạo,…
Một số
hƣớng
nghiên cứu trong khai phá dữ liệu
- Luật kết hợp nhị phân: Đây là hướng nghiên cứu đầu tiên của luật kết hợp.
Thuật toán tiêu biểu là Apriori.
- Luật kết hợp có thuộc tính số và thuộc tính hạng mục: Nghiên cứu các hệ
CSDL có thuộc tính số hoặc thuộc tính hạng mục bằng cách rời rạc hóa dữ
liệu cho thuộc tính số để chuyển chúng về thuộc tính nhị phân.
- Luật kết hợp mờ: Phương pháp rời rạc hóa dữ liệu có thuộc tính số và thuộc
tính hạng mục gặp phải vấn đề“điểm biên gãy”. Để khắc phục điều này, các
nhà nghiên cứu đề xuất sử dụng lý thuyết tập mờ và xây dựng các luật kết hợp
dạng mờ.
- Luật kết hợp có trọng số: Sử dụng phương pháp tính độ hỗ trợ cho các tập
mục dựa trên trọng số của các tập mục.
Ngoài ra, còn một số hướng nghiên cứu: khai phá luật kết hợp song song, khai
phá luật kết hợp nhiều mức, luật kết hợp tiếp cận theo hướng tập thô,…
Luận văn tập trung nghiên cứu vào khai phá Luật kết hợp mờ và ứng dụng đối
với bài toán dự báo.
9
2.
Hƣớng
nghiên cứu của đề tài

- Nghiên cứu lý thuyết tập mờ.
- Nghiên cứu khai phá dữ liệu và khai phá dữ liệu mờ trên CSDL. Tìm hiểu một
số thuật toán trong khai phá dữ liệu: Apriori mờ, thuật toán FP Growth, thuật
toán biểu diễn dữ liệu giao dịch mờ dựa trên cây FP-Tree.
- Cài đặt thử nghiệm một số thuật toán khai phá dữ liệu mờ và thử nghiệm trên
một số bộ dữ liệu.Đánh giá kết quả sau khi thử nghiệm.
3. Đối
tƣợng
nghiên cứu
- Nghiên cứu phương pháp luận cho phép phát hiện tri thức dạng luật mờ, như
luật kết hợp mờ, luật mờ với thuộc tính có trọng số,… từ các kho dữ liệu.
- Cơ sở lý thuyết của việc nghiên cứu lập luận xấp xỉ dựa trên lý thuyết tập mờ,
phương pháp tính toán các thông tin mờ, đánh giá các phương pháp để lấy
quyết định.
- Ứng dụng luật kết hợp mờ đối với một số bài toán dự báo.
4. Kết quả đạt đƣợc
- Tìm hiểu thuật toán nén dữ liệu giao dịch mờ dựa trên cây FP Tree, khai phá tập
phổ biến dựa trên cây đã xây dựng. Đây là hướng nghiên cứu mới, giúp làm
giảm thời gian khai phá tập phổ biến rất nhiều so với thuật toán Apriori mờ.
- Cài đặt thử nghiệm thuật toán Apriori mờ và thuật toán khai phá luật kết hợp
mờ dựa trên thuật toán Fp-Growth.
- Thử nghiệm hai thuật toán trên với một số bộ dữ liệu, so sánh các kết quả đã thu
được sau khi thử nghiệm.
5. Bố cục của luận văn
Phần mở đầu
Chương 1: Một số kiến thức cơ bản về khai phá dữ liệu
Chương 2: Khai phá luật kết hợp mờ
Chương 3: Ứng dụng khai phá dữ liệu trong mô hình dự báo
Kết luận
Tài liệu tham khảo

CHƢƠNG
1. MỘT SỐ KIẾN THỨC CƠ BẢN VỀ KHAI PHÁ DỮ LIỆU
1.1. Khái niệm cơ bản về khai phá dữ liệu
1.1.1. Giới thiệu
Khai phá dữ liệu (data mining) là quá trình khám phá các tri thức mới và các tri
thức có ích ở dạng tiềm năng trong nguồn dữ liệu đã có. Đây là quá trình cốt lõi trong
khai phá tri thức từ CSDL.
Lựa chọn và
biến đổi
Khai phá
dữ liệu
Đánh giá
mẫu và biểu
diễn tri thức
Mẫud
ữ liệu
Tri
thức
Lọc và
tích hợp
Kho
dữ
liệu
Dữ liệu
để
khai
phá
Dữ liệu
Hình 1.1.Quá trình khai phá tri thức trong CSDL
Quá trình khai phá dữ liệu trải qua 3 bước chính sau:

Bƣớc
1: Chuẩn bị dữ liệu
Do dữ liệu được thu thập từ nhiều nguồn khác nhau nên có thể có những sai sót,
dư thừa và trùng lặp. Vì vậy bước chuẩn bị dữ liệu là bước rất quan trọng. Dữ liệu sau
bước chuẩn bị này sẽ nhỏ hơn, xử lý nhanh hơn. Chuẩn bị dữ liệu bao gồm các công
đoạn sau:
- Lọc dữ liệu (Data cleaning): Loại bỏ dữ liệu nhiễu, dữ liệu không thích hợp.
- Tích hợp dữ liệu (Data integration): Tích hợp dữ liệu từ các nguồn khác nhau.
- Chọn dữ liệu (Data selection): Chọn những phần tửdữ liệu liên quan trực tiếp
đến nhiệm vụ.
- Chuyển đổi dữ liệu (Data transformation): Chuyển dữ liệu về những dạng phù
hợp cho việc khai phá.
Bƣớc
2: Khai phá dữ liệu
Đây là bước mang tính tư duy của khai phá tri thức. Ở bước này cần trích xuất
thông tin có ích, các mẫu điển hình trong dữ liệu hay các quy luật liên quan giữa các
yếu tố của dữ liệu. Có rất nhiều các kỹ thuật, thuật toán khác nhau được đề xuất ở
bước này.
Bƣớc
3: Hậu xử lý
Không phải bất cứ mẫu dữ liệu nào được trích xuất ra ở bước khai phá dữ liệu
cũng đều là mẫu hữu ích, đôi khi nó còn bị sai lệch. Vì vậy cần phải có những tiêu
chuẩn đánh giá phù hợp để trích xuất ra các tri thức thực sự có ích. Bước nàybao gồm
2 công đoạn:
- Đánh giá mẫu (Pattern evaluation): Đánh giá mẫu hoặc tri thức đã thu được.
- Biểu diễn tri thức (Knowledge Presentation): Biểu diễn những tri thức khai phá
được để người sử dụng dễ hiểu.
Đây là quá trình mang tính định tính với mục đích phát hiện tri thức và xây dựng
bài toán tổng kết.
Những khó khăn cần giải quyết trong bài toán KPDL là lượng dữ liệu lớn, kích

thước dữ liệu lớn, dữ liệu động và luôn tăng trưởng, các trường dữ liệu không phù hợp,
các giá trị bị thiếu, các trường dữ liệu bị thiếu,…
1.1.2. Khái niệm khai phá dữ liệu
Lĩnh vực KPDL và KDD đã cuốn hút các phương pháp, thuật toán và kỹthuật từ
nhiều chuyên ngành nghiên cứu khác nhau như học máy, thu nhận mẫu, CSDL, thống
kê, trí tuệ nhân tạo, thu nhận tri thức trong hệ chuyên gia,… nhằmhướng tới cùng một
mục tiêu thống nhất là trích lọc ra được các tri thức từ dữ liệu trong các CSDL khổng
lồ. Tính phong phú và đa dạng đó đã dẫn đến một thực trạng là tồn tại một số quan
niệm khác nhau về lĩnh vực nghiên cứu gần gũi nhất với lĩnh vực này - KDD. Với
những gì đã trình bày ở trên, chúng ta có thể hiểu một cách sơ lược rằng KPDL là quá
trình tìm kiếm những thông tin (tri thức) hữu ích, tiềm ẩn và mang tính dự báo trong
các tập dữ liệu lớn. Như vậy, chúng ta nên gọi quá trình này là phát hiện tri thức. Tuy
nhiên các nhà khoa học trong lĩnh vực này đồng ý với nhau rằng hai thuật ngữ trên là
tương đương và có thể thay thế cho nhau. Họ lý giải rằng, mục đích chính của quá
trình phát hiện tri thức là thông tin và tri thức có ích, nhưng đối tượng mà chúng ta
phải xử lý rất nhiều trong suốt quá trình đó lại chính là dữ liệu.
Mặt khác, khi chia các bước trong quá trình khám phá tri thức, một số nhà nghiên
cứu lại cho rằng, KPDL chỉ là một bước trong quá trình khám phá tri thức.
Như vậy, xét ở mức tổng quan thì hai thuật ngữ này là tương đương nhau, nhưng
khi xét cụ thể thì KPDL được xem là một bước trong quá trình khám phá tri thức [7].
Khái niệm 1: Phát hiện tri thức trong CSDL (đôi khi còn được gọi là KPDL) là
một quá trình không tầm thường nhận ra những mẫu có giá trị, mới, hữu ích tiềm năng
và hiểu được trong dữ liệu[8].
Là lĩnh vực nghiên cứu và triển khai được phát triển nhanh chóng và rộng lớn, lại
được rất nhiều nhóm nghiên cứu tại nhiều địa điểm khác nhau trên thếgiới đồng thời
quan tâm, cho nên tồn tại rất nhiều cách tiếp cận khác nhau đối với lĩnh vực KDD. Vì lý
do đó mà trong nhiều tài liệu, các nhà khoa học trên thế giới đã sử dụng nhiều thuật
ngữ khác nhau mà chúng được coi là mang cùng nghĩa với KDD như chiết lọc tri
thức (knowledge extraction), phát hiện thông tin(information discovery), thu hoạch
thông tin (information harvesting), khai quật dữ liệu (data archaeology) và xử lý mẫu

dữ liệu (data pattern processing).
Khái niệm 2: Khai phá dữ liệu là một bước trong quá trình phát hiện tri thức
trong CSDL, thi hành một thuật toán KPDL để tìm ra các mẫu từ dữ liệu theo khuôn
dạng thích hợp [8].
1.2. Một số
hƣớng
nghiên cứu trong khai phá dữ liệu
1.2.1. Một số
hƣớng
nghiên cứu
Kể từ khi được R. Agrawal đề xuất vào năm 1993 [3], lĩnh vực khai phá luật kết
hợp đến nay đã được nghiên cứu và phát triển theo nhiều hướng khác nhau. Có những
Số hóa bởi Trung tâm Học liệu http://w w

w.lrc-t n

u.edu .

vn/
đề xuất nhằm vào cải tiến tốc độ thuật toán, có những đề xuất nhằm tìm kiếm luật có ý
nghĩa hơn, … Sau đây là một số hướng chính.
- Luật kết hợp nhị phân (binary association rule hoặc Boolean association rule):
là hướng nghiên cứu đầu tiên của luật kết hợp. Hầu hết các nghiên cứu ở thời kỳ đầu
về luật kết hợp đều liên quan đến luật kết hợp nhị phân. Trong dạng luật kết hợp này,
các mục (thuộc tính) chỉ được quan tâm là có hay không xuất hiện trong giao dịch của
CSDL chứ không quan tâm về “mức độ” xuất hiện. Có nghĩa là việc mua 20 chai bia
và 1 chai bia được xem là giống nhau. Thuật toán tiêu biểu nhất khai phá dạng luật này
là thuật toán Apriori và các biến thể của nó[4]. Đây là dạng luật đơn giản và như sau
này ta biết các dạng luật khác cũng có thể chuyển về dạng luật này bằng một số
phương pháp như rời rạc hóa, mờ hóa, … Một ví dụ về dạng luật này: “Mua bánh mì =

'yes' AND mua đường= 'yes' => mua sữa = 'yes'AND mua bơ = 'yes', với độ hỗ trợ
20% và độ tin cậy 80%”.
- Luật kết hợp có thuộc tính số và thuộc tính hạng mục (quantitative and
categorical association rule): Các thuộc tính của các CSDL thực tế có kiểu rất đa dạng
(nhị phân - binary, số - quantitative, hạng mục - categorical, …). Để phát hiện luật kết
hợp với các thuộc tính này, các nhà nghiên cứu đã đề xuất một số phương pháp rời rạc
hóa nhằm chuyển dạng luật này vềdạng nhị phân để có thể áp dụng các thuật toán đã
có[16].
- Luật kết hợp mờ (fuzzy association rule): Với những hạn chế còn gặp phải
trong quá trình rời rạc hóa các thuộc tính số (quantitative attributes), các nhà nghiên
cứu đã đề xuất luật kết hợp mờ nhằm khắc phục những hạn chếtrên và chuyển luật kết
hợp về một dạng tự nhiên hơn, gần gũi hơn với người sử dụng. Một ví dụ về dạng luật
này:“Ho khan = 'yes' AND sốt cao AND đau cơ = 'yes' AND khó thở ='yes' => Bị
nhiễm SARS = 'yes', với độ hỗ trợ 4% và độ tin cậy 85%”. Trong luật trên, điều kiện
sốt cao ở vế trái của luật là một thuộc tính đã được mờ hóa.
- Luật kết hợp nhiều mức (multi-level association rules): Ngoài các dạng luật
trên, các nhà nghiên cứu còn đề xuất một hướng nghiên cứu nữa về luật kết hợp là luật
kết hợp nhiều mức. Với cách tiếp cận này, người ta sẽ tìm kiếm thêm những luật có
dạng“Mua máy tính PC => Mua hệ điều hành AND mua phần mềm tiện ích văn
Số hóa bởi Trung tâm Học liệu http://w w

w.lrc-t n

u.edu .

vn/
phòng, …” thay vì chỉnhững luật quá cụ thể như“Mua máy tính IBM PC => Mua hệ
điều hành Microsoft Windows AND mua Microsoft Office, …”. Rõ ràng, dạng luật
đầu là dạng luật tổng quát hóa của dạng luật sau và tổng quát hóa cũng có nhiều mức
khác nhau.

- Luật kết hợp với thuộc tính được đánh trọng số (association rule with
weighted items): Trong thực tế, các thuộc tính trong CSDL không phải có vai trò
ngang bằng nhau. Có một số thuộc tính được chú trọng và lúc đó ta nói những thuộc
tính đó có mức độ quan trọng cao hơn các thuộc tính khác. Ví dụ, khi khảo sát về khả
năng lây nhiễm hội chứng SARS, thông tin về thân nhiệt, đường hô hấp rõ ràng là
quan trọng hơn rất nhiều so với thông tin về tuổi tác. Trong quá trình tìm kiếm luật,
chúng ta sẽ gán cho các thuộc tính thân nhiệt, đường hô hấp các trọng số lớn hơn so
với trọng số của thuộc tính tuổi tác. Đây là một hướng nghiên cứu rất thú vị và đã
được một số nhà nghiên cứu đề xuất cách giải quyết bài toán này. Với luật kết hợp có
thuộc tính được đánh trọng số, chúng ta sẽ khai phá được những luật mang rất nhiều ý
nghĩa, thậm chí là những luật“hiếm” (tức có độ hỗ trợ thấp, nhưng mang một ý nghĩa
đặc biệt).
- Bên cạnh những nghiên cứu về những biến thể của luật kết hợp, các nhà
nghiên cứu còn chú trọng đề xuất những thuật toán nhằm tăng tốc quá trình tìm kiếm
tập phổ biến từ CSDL. Người ta chứng minh rằng, chỉ cần tìm kiếm những tập phổ
biến cực đại (maximal frequent Itemsets) là đủ đại diện cho tập tất cả các tập phổ biến
[15](thuật toán MAFIA), hoặc chỉ cần tìm tập các tập phổ biến đóng (Closed Itemset)
là đủ[17]. Những thuật toán này cải thiện đáng kể vềmặt tốc độ do áp dụng được
những chiến lược cắt tỉa“tinh xảo” hơn các thuật toán trước đó.
- Khai phá luật kết hợp song song (parallel mining of association rules): Bên
cạnh khai phá luật kết hợp với các thuật toán tuần tự, các nhà làm tin học cũng tập
trung vào nghiên cứu các thuật toán song song cho quá trình phát hiện luật kết hợp.
Nhu cầu song song hóa và xử lý phân tán là cần thiết bởi kích thước dữ liệu ngày càng
lớn nên đòi hỏi tốc độ xử lý cũng như dung lượng bộ nhớ của hệ thống phải được đảm
bảo. Có rất nhiều thuật toán song song khác nhau đã được đề xuất, chúng có thể phụ
thuộc hoặc độc lập với cấu hình phần cứng.
Số hóa bởi Trung tâm Học liệu http://w w

w.lrc-t n


u.edu .

vn/
- Luật kết hợp tiếp cận theo hướng tập thô (mining association rules based on
rough set): Tìm kiếm luật kết hợp dựa trên lý thuyết tập thô.
Ngoài ra, còn một số hướng nghiên cứu khác về khai phá luật kết hợp như: Khai
phá luật kết hợp trực tuyến, khai phá luật kết hợp được kết nối trực tuyến đến các kho
dữ liệu đa chiều (multidimensional data, data warehouse) thông qua công nghệ OLAP
(Online Analysis Processing), MOLAP (Multidimensional OLAP), ROLAP
(Relational OLAP), ADO (ActiveX Data Object) for OLAP,…
1.2.2. Các dạng dữ liệu có thể khai phá
Do KPDL được ứng dụng rộng rãi nên nó có thể làm việc với rất nhiều kiểu dữ
liệu khác nhau. Sau đây là một số kiểu dữ liệu điển hình.
- CSDL quan hệ (relational databases).
- CSDL đa chiều (multidimensional structures, data warehouses).
- CSDL dạng giao dịch (transactional databases).
- CSDL quan hệ - hướng đối tượng (object-relational databases).
- Dữ liệu không gian và thời gian (spatial and temporal data).
- Dữ liệu chuỗi thời gian (time-series data).
- CSDL đa phương tiện (multimedia databases) như âm thanh (audio), hình ảnh
(image), phim ảnh (video), …
- Dữ liệu Text và Web (text database & www).
1.3. Nhiệm vụ chính của khai phá dữ liệu
Rõ ràng rằng mục đích của khai phá dữ liệu là các tri thức chiết xuất được sẽ
được sử dụng cho lợi ích cạnh tranh trên thương trường và các lợi ích trong nghiên cứu
khoa học.Do đó, ta có thể coi mục đích chính của khai thác dữ liệu sẽ là mô tả và dự
đoán. Các mẫu mà khai phá dữ liệu phát hiện được nhằm vào mục đích này.
Dự đoán liên quan đến việc sử dụng các biến hoặc các trường trong cơ sở dữ liệu
để chiết xuất ra các mẫu là các dự đoán những giá trị chưa biết hoặc những giá trị
trong 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.
Số hóa bởi Trung tâm Học liệu http://w w

w.lrc-t n

u.edu .

vn/
Để đạt được hai mục đích này, nhiệm vụ chính của khai phá dữ liệu là:
- Phân lớp (Classification).
- Hồi qui (Regression).
- Khai phá luật kết hợp (Association rule).
- Gom nhóm (Clustering).
- Tổng hợp (Summarization).
- Mô hình ràng buộc (Dependency modeling).
- Dò tìm biến đổi và độ lệch (Change and Deviation Dectection).
1.3.1. Phân lớp (Classification)
Phân lớp là việc phân loại một mẫu dữ liệu vào một trong số các lớp đã xác
định.Mục tiêu của thuật toán phân lớp là tìm ra các mối quan hệ nào đó giữa các thuộc
tính dự báo và thuộc tính phân lớp, từ đó sử dụng mối quan hệ này để dự báo lớp cho
các bộ dữ liệu mới khác cùng khuôn dạng.
1.3.2. Hồi quy (Regression)
Hồi quy là việc lọc một hàm ánh xạ từ một mẫu dữ liệu thành một biến dự đoán
có giá trị thực. Có rất nhiều ứng dụng khai phá dữ liệu với nhiệm vụ hồi quy, ví dụ
như biết các phép đo vi sóng từ xa, đánh giá 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 chỉ tiêu quảng cáo, …
1.3.3. Khai phá luật kết hợp (Association rule)
Trong lĩnh vực Data Mining, mục đích của luật kết hợp (Association Rule - AR)

là tìm ra các mối quan hệ giữa các đối tượng trong khối lượng lớn dữ liệu. Nội dung cơ
bản của luật kết hợp sẽ được trình bày kỹ hơn trong phần sau.
1.3.4. Gom nhóm (Clustering)
Là việc mô tả chung để tìm ra các tập xác định các nhóm hay các loại để mô tả
dữ liệu. Các nhóm có thể tách riêng nhau hoặc phân cấp hoặc gối lên nhau. Có nghĩa là
một dữ liệu có thể vừa thuộc nhóm này, vừa thuộc nhóm kia. Các ứng dụng khai phá
dữ liệu có nhiệm vụ gom nhóm như: Phát hiện tập các khách hàng có phản ứng giống
nhau trong cơ sở dữ liệu tiếp thị, xác định các loại quang phổ từ các phương pháp đo
tia hồng ngoại.
1.3.5. Tổng hợp (Summarization)
Nhiệm vụ tổng hợp là việc sản sinh ra các mô tả đặc trưng cho một lớp. Các mô
tả này là một kiểu tổng hợp, tóm tắt mô tả các đặc tính chung của tất cả các bộ dữ liệu
thuộc một lớp.
Các mô tả đặc trưng thể hiện dưới dạng các luật thường có khuôn dạng:“Nếu
một bộ dữ liệu thuộc về một lớp đã chỉ ra trong tiền đề, thì bộ dữ liệu đó có tất cả các
thuộc tính đã nêu trong kết luận”. Những luật này có những đặc trưng khác biệt so với
các luật phân lớp. Luật phát hiện đặc trưng cho một lớp chỉ được sản sinh khi các bộ
dữ liệu thuộc về lớp đó.
1.3.6. Mô hình ràng buộc (Dependency modeling)
Bao gồm việc tìm kiếm một mô hình mô tả sự phụ thuộc đáng kể giữa các biến.
Các mô hình phụ thuộc tồn tại dưới hai mức: Mức cấu trúc của mô hình xác định các
biến nào là phụ thuộc cục bộ với nhau, mức định lượng của một mô hình xác định độ
mạnh của sự phụ thuộc theo một thước đo nào đó.
1.3.7. Dò tìm biến đổi và độ lệch (Change and Deviation Dectection)
Tập trung vào khai thác những thay đổi đáng kể nhất trong dữ liệu từ các giá trị
chuẩn hoặc được đo trước đó.
Vì các nhiệm vụ khác nhau này yêu cầu số lượng và các dạng thông tin rất khác
nhau nên chúng thường ảnh hưởng đến việc thiết kế và chọn thuật toán khai phá dữ
liệu khác nhau. Ví dụ như thuật toán tạo cây quyết định tạo ra được một mô tả phân
biệt được các mẫu giữa các lớp nhưng không có các tính chất và đặc điểm của lớp.

1.4. Bài toán khai phá luật kết hợp
1.4.1. Bài toán
Trong lĩnh vực Data Mining, mục đích của luật kết hợp (Association Rule - AR)
là tìm ra các mối quan hệ giữa các đối tượng trong khối lượng lớn dữ liệu.
Bài toán giỏ mua hàng trong siêu thị: Giả định chúng ta có rất nhiều mặt hàng,
ví dụ như “bánh mì”, “sữa”,…(coi là tính chất hoặc trường). Khách hàng khi đi siêu
thị sẽ bỏ vào giỏ mua hàng của họ một số mặt hàng nào đó, và chúng ta muốn tìm hiểu
các khách hàng thường mua các mặt hàng nào đồng thời, thậm chí chúng ta không
cần biết khách hàng cụ thể là ai. Nhà quản lý dùng những thông tin này để điều chỉnh
việc nhập hàng về siêu thị, hay đơn giản là để bố trí sắp xếp các mặt hàng gần nhau,
hoặc bán các mặt hàng đó theo một gói hàng, giúp cho khách đỡ mất công tìm kiếm.
Bảng 1.1: Cơ sở dữ liệu giao tác
Giao tác Mục dữ liệu
t
1
A, B, E
t
2
B, D
t
3
B, C
t
4
A, B, D
t
5
A, C
t
6

B, C
t
7
A, C
t
8
A, B, C, E
t
9
A, B, C, G
Khai phá luật kết hợp được mô tả như sự tương quan của các sự kiện-
những sự kiện xuất hiện thường xuyên một cách đồng thời. Nhiệm vụ chính
của khai phá luật kết hợp là phát hiện ra các tập con cùng xuất hiện trong một
khối lượng giao dịch lớn của một cơ sở dữ liệu cho trước. Nói cách khác,
thuật toán khai phá luật kết hợp cho phép tạo ra các luật mô tả các sự kiện xảy
ra đồng thời (một cách thường xuyên) như thế nào. Các thuật toán này trải
qua 2 pha: pha một:Đi tìm các sự kiện xảy ra thường xuyên, pha hai là tìm luật.
Cho I= {I1, I2, …, Im} là tập hợp của m tính chất riêng biệt. Giả sử D là
CSDL, với các bản ghi chứa một tập con T các tính chất (có thể coi như T I), các bản
ghi đều có chỉ số riêng. Một luật kết hợp là một mệnh đề kéo theo có dạng X Y, trong
đó X, Y I, thỏa mãn điều kiện X Y= . Các tập hợp X và Y được gọi là các tập
hợp tính chất (itemset). Tập X gọi là nguyên nhân, tập Y gọi là hệ quả.
Có 2 độ đo quan trọng đối với luật kết hợp: Độ hỗ trợ (support) và độ tin cậy
(confidence), được định nghĩa như phần dưới đây.
Độ hỗ trợ:
Định nghĩa 1.1: Độ hỗ trợ của một tập hợp X trong cơ sở dữ liệu D là tỷ số giữa
các bản ghi có chứa tập X và tổng số bản ghi trong D (hay là phần trăm của các
bản ghi trong D có chứa tập hợp X), ký hiệu là support(X) hay supp(X) (support sẽ tự
sinh ra khi cài thuật toán).
(1.1)

Ta có: 0 ≤ supp(X) ≤ 1 với mọi tập hợp X.
Định nghĩa 1.2: Độ hỗ trợ của một luật kết hợp X Y là tỷ lệ giữa số lượng các
bản ghi chứa tập hợp , so với tổng số các bản ghi trong D - Ký hiệu supp(X Y)

(1.2)
Khi chúng ta nói rằng độ hỗ trợ của một luật là 50%, có nghĩa là có 50% tổng số
bản ghi chứa . Như vậy, độ hỗ trợ mang ý nghĩa thống kê của luật.
Trong một số trường hợp, chúng ta chỉ quan tâm đến những luật có độ hỗ trợ cao
(Ví dụ như luật kết hợp xét trong cửa hàng tạp phẩm). Nhưng cũng có trường hợp, mặc
dù độ hỗ trợ của luật thấp, ta vẫn cần quan tâm (ví dụ luật kết hợp liên quan đến
nguyên nhân gây ra sự đứt liên lạc ở các tổng đài điện thoại).
Độ tin cậy:
Định nghĩa 1.3: Độ tin cậy của một luật kết hợp là tỷ lệ giữa số lượng các
bản ghi trong D chứa với số bản ghi trong D có chứa tập hợp X. Ký hiệu độ tin
cậy của một luật là conf(r). Ta có .
Nhận xét: Độ hỗ trợ và độ tin cậy có xác suất sau:
Có thể định nghĩa độ tin cậy như sau:
http://w w

w.lrc-t n

u.edu .

vn/Số hóa bởi Trung tâm Học liệu
Định nghĩa 1.4: Độ tin cậy của một luật kết hợp X Y là tỷ lệ giữa số lượng các
bản ghi của tập hợp chứa X Y, so với tổng số các bản ghi chứa X.
http://w w

w.lrc-t n


u.edu .

vn/Số hóa bởi Trung tâm Học liệu
Nói rằng độ tin cậy của một luật là 90%, có nghĩa là có tới 90% số bản ghi chứa
X chứa luôn cả Y. Hay nói theo ngôn ngữ xác suất là: “Xác suất có điều kiện để xảy ra
sự kiện Y đạt 85%”. Điều kiện ở đây chính là: “Xảy ra sự kiện X”.
Như vậy, độ tin cậy của luật thể hiện sự tương quan (correlation) giữa X và Y.
Độ tin cậy đo mức độ tin cậy của luật, và người ta hầu như chỉ quan tâm đến những
luật có độ tin cậy cao. Ví dụ, một luật kết hợp đi tìm các nguyên nhân dẫn tới hỏng hóc
của hệ thống tổng đài, hay đề cập đến những mặt hàng thường hay được khách hàng
mua kèm với mặt hàng chính mà độ tin cậy thấp sẽ không có ích cho công tác quản lý.
Việc khai thác các luật kết hợp từ CSDL chính là việc tìm tất cả các luật có độ hỗ
trợ và độ tin cậy do người sử dụng xác định trước. Các ngưỡng của độ hỗ trợ và độ tin
cậy được ký hiệu là minsup và mincof. Ví dụ: Khi phân tích giỏ hàng của người mua
hàng trong một siêu thị ta được luật kiểu như: 85% khách hàng mua sữa thì cũng mua
bánh mì, 30% thì mua cả hai thứ. Trong đó: “mua sữa” là tiền đề còn “mua bánh mì”
là kết luận của luật. Con số 30% là độ hỗ trợ của luật còn 80% là độ tin cậy của luật.
Chúng ta nhận thấy rằng tri thức đem lại bởi luật kết hợp dạng trên có sự khác
biệt rất nhiều so với những thông tin thu được từ các câu lệnh truy vấn dữ liệu thông
thường như SQL. Đó là những tri thức, những mối liên hệ chưa biết trước và mang
tính dự báo đang tiềm ẩn trong dữ liệu. Những tri thức này không đơn giản là kết quả
của phép nhóm, tính tổng hay sắp xếp mà là của một quá trình tính toán khá phức tạp.
Tập hợp:
Định nghĩa 1.5: Tập hợp X được gọi là tập hợp thường xuyên (Frequents
itemset) nếu có , với minsup là ngưỡng độ hỗ trợ cho trước.Kí
hiệu tập này là FI.
Tính chất 1.1: Giả sử là hai tập hợp với thì
.
Như vậy, những bản ghi nào chứa tập hợp B thì cũng chứa tập hợp A.
Tính chất 1.2:Giả sử A, B là hai tập hợp , nếu B là tập hợp thường

xuyên và thì A cũng là tập hợp thường xuyên.
Thật vậy, nếu B là tập hợp thường xuyên thì , mọi tập
hợp
A là con của tập hợp B đều là tập hợp thường xuyên trong CSDL D vì
(Tính chất 1.1).
Tính chất 1.3: Giả sử A, B là hai tập hợp, và A là tập hợp không
thường
xuyên thì B cũng là tập hợp không thường xuyên.
Định nghĩa 1.6: Một tập mục X được gọi là đóng (closed) nếu không có tập
cha
nào của X có cùng độ hỗ trợ với nó, tức là không tồn tại một tập mục X' nào

và t(X) = t(X') (với t(X) và t(X') tương ứng là tập các giao chứa tập mục X

X'). Ký hiệu tập phổ biến đóng là FCI.
Định nghĩa 1.7: Nếu X là phổ biến và không tập cha nào của X là phổ biến, ta
nói rằng X là một tập phổ biến lớn nhất (maximally frequent itemset). Ký hiệu tập tất
cả các tập phổ biến lớn nhất là MFI. Dễ thấy .
Khai phá luật kết hợp là công việc phát hiện ra (tìm ra, khám phá, phát hiện) các
luật kết hợp thỏa mãn các ngưỡng độ hỗ trợ ( ) và ngưỡng độ tin cậy ( ) cho trước.
Bài toán khai phá luật kết hợp được chia thành hai bài toán nhỏ, còn gọi là hai pha:
Pha 1: Tìm tất cả các tập phổ biến (tìm FI) trong CSDL T.
Pha 2: Sử dụng tập FI tìm được ở pha 1 để sinh ra các luật tin cậy (interesting
rules). Ý tưởng chung là nếu gọi ABCD và AB là các tập mục phổ biến, thì chúng ta
có thể xác định luật AB CD với tỷ lệ độ tin cậy:

(1.3)
Nếu
conf
minconf thì luật được giữ lại (và thỏa mãn độ hỗ trợ tối thiểu


ABCD là phổ biến).
Trong thực tế, hầu hết thời gian của quá trình khai thác luật kết hợp là thực hiện
ở pha 1. Nhưng khi có những mẫu rất dài (mẫu chứa nhiều mục) xuất hiện trong dữ
liệu, việc sinh ra toàn bộ các tập phổ biến (FI) hay các tập đóng (FCI) là không thực tế.
Hơn nữa, có nhiều ứng dụng mà chỉ cần sinh tập phổ biến lớn nhất (MFI) là đủ, như
khám phá mẫu tổ hợp trong các ứng dụng sinh học.
Có rất nhiều nghiên cứu về các phương pháp sinh tất cả các tập phổ biến và tập
phổ biến lớn nhất một cách có hiệu quả. Khi các mẫu phổ biến (frequent pattern) dài
có từ 15 đến 20 items) thì tập FI, thậm chí cả tập FCI trở nên rất lớn và hầu hết các
phương pháp truyền thống phải đếm quá nhiều tập mục mới có thể thực hiện được.
Các thuật toán dựa trên thuật toán Apriori – đếm tất cả 2k tập con của mỗi k-itemset
mà chúng quét qua, và do đó không thích hợp với các itemset dài được. Các phương
pháp khác sử dụng “lookaheads” để giảm số lượng tập mục được đếm. Tuy nhiên, hầu
hết các thuật toán này đều sử dụng tìm kiếm theo chiều rộng, ví dụ: tìm tất cả các k-
itemsets trước khi tính đến các (k+1)-itemsets.
Cách làm này hạn chế hiệu quả của lookaheads, vì các mẫu phổ biến dài hơn mà
hữu ích vẫn chưa được tìm ra.
1.4.2. Một số thuật toán cơ bản
1.4.2.1. Thuật toán Apriori
Thuật toán Apriori được Agrawal và Srikant phát biểu năm 1994[3]. Apriori là
thuật toán phổ biến nhất để tìm luật kết hợp, được coi là một sự cải tiến lớn trong lịch
sử khai phá luật kết hợp vì đã vượt xa tầm của các thuật toán quen thuộc trong lĩnh vực
này. Thuật toán dựa trên một nhận xét đơn giản là bất kỳ tập con nào của tập thường
xuyên cũng là tập thường xuyên. Do đó, trong quá trình đi tìm tập ứng viênk Itemset,
chỉ cần dùng đến các tập thường xuyên k-1 Itemset đã tìm thấy ở bước trước đó. Nhờ
vậy, bộ nhớ được giải phóng đáng kể.
Thuật toán Apriori có hai bước để tìm ra tất cả các tập mục dữ liệu thường
xuyên:
-

Bƣớc
1: Duyệt qua CSDL để tìm ra tất cả các mục dữ liệu thường xuyên bằng
cách đếm số lần xuất hiện của từng mục trong tất cả các giao tác (Bảng 1.2.a), sau đó
loại bỏ những mục dữ liệu có độ hỗ trợ nhỏ hơn Minsup, được tập L
1
. Tập L
1
gọi là tập
các mục dữ liệu thường xuyên một mục dữ liệu (Bảng 1.2.b). Trong bước 2, mỗi lần
duyệt CSDL tiếp theo ta chỉ cần xét các mục dữ liệu trong bảng này.
-
Bƣớc
2: Gọi C
k
là tập các tập ứng viênkItemset, L
k
là tập các tập thường xuyên
k Itemset. Quá trình tìm tập L
k
trải qua ba công đoạn nhỏ:

×