ỨNG DÔNG LÝ THUYẾT LUẬT KẾT HỢP KHAI PHÁ DỮ LIỆU TÁC NGHIỆP
LỜI CẢM ƠN
!
"!#$%&'"!#!()*+,&'
- ./01)234567$.89.:
;'5'</.,(
"=#./,.%<05%>?@5
A$BC3D<#.E&EF)(
!(&'"!#!G
)!3,(()*+,&'- ./(%
.,9D&>HIJ(BK*'6$5LH
,()*
'</.,(MNB)O()*+,
M'- ./7$.8,!()*6$5LH
6<09(P(6$
"KQ9R<S>.>'.5,T./7$.8.
5L9(A%(BKP(6$5<.:K#$
U*'5&>H@,.:&!(&RD>B@A
.?(A6.)0BV@$1W'!5,
X
- YZY[O\YY]
5L
Hồ Xuõn Hựng
MỤC LỤC
1
ỨNG DÔNG LÝ THUYẾT LUẬT KẾT HỢP KHAI PHÁ DỮ LIỆU TÁC NGHIỆP
LÝ THUYẾT TỔNG QUAN 10
1.1 SƠ LƯỢC VỀ KHAI PHÁ TRI THỨC 11
1.2 BÀI TOÁN KHAI PHÁ LUẬT KẾT HỢP 21
1.3 THUẬT TOÁN TèM LARGE ITEMSET - APRIORI 26
1.4 THUẬT TOÁN SINH LUẬT 31
MỘT SỐ VẤN ĐỀ MỞ RỘNG 33
1.5 CÁC THUẬT TOÁN TèM LUẬT KẾT HỢP KHÁC 33
1.6 KHAI PHÁ LUẬT KẾT HỢP TRấN CƠ SỞ DỮ LIỆU PHÂN TÁN.38
1.7 CÁC VẤN ĐỀ KHAI PHÁ LUẬT TRONG THỰC TẾ 43
KHAI PHÁ LUẬT KẾT HỢP TRONG CƠ SỞ DỮ LIỆU GIA TĂNG 47
1.8 SƠ LƯỢC 47
1.9 THUẬT TOÁN UWEP 51
1.10 THUẬT TOÁN ZIGZAG 58
PHÂN TÍCH - THIẾT KẾ 64
1.11 PHÂN TÍCH 64
1.12 THIẾT KẾ MODULE 68
1.13 THIẾT KẾ DỮ LIỆU 73
CÀI ĐẶT 76
1.14 LỰA CHỌN GIẢI PHÁP 76
1.15 MÔI TRƯỜNG 77
1.16 CÀI ĐẶT CÁC KĨ THUẬT CẢI TIẾN TỐC ĐỘ THUẬT TOÁN 77
KẾT QUẢ - ĐÁNH GIÁ - ỨNG DỤNG 83
1.17 KẾT QUẢ ĐẠT ĐƯỢC 84
1.18 THỬ NGHIỆM – ĐÁNH GIÁ 86
1.19 ĐỀ XUẤT GIẢI PHÁP CHO BÀI TOÁN THỰC TẾ 94
TÀI LIỆU THAM KHẢO 99
2
ỨNG DÔNG LÝ THUYẾT LUẬT KẾT HỢP KHAI PHÁ DỮ LIỆU TÁC NGHIỆP
DANH MỤC HèNH
3
ỨNG DÔNG LÝ THUYẾT LUẬT KẾT HỢP KHAI PHÁ DỮ LIỆU TÁC NGHIỆP
DANH MỤC BẢNG
4
ỨNG DÔNG LÝ THUYẾT LUẬT KẾT HỢP KHAI PHÁ DỮ LIỆU TÁC NGHIỆP
DANH MỤC CÁC TỪ VIẾT TẮT
Từ viết tắt Từ gốc
KDD Knowledge Discovery from Data
MIS Minimum Item Support
TID Transaction Identifier
DD Data Distribution
DMA Distritbuted Mining of Association Rules
DIC Dynamic Itemset Counting
CD Count Distribution
AIS
R. Agrawal – T. Imielinski – A. Swami
MFCS
Maximum Frequent Candidate Set
MFS
Maximum Frequent Set
SETM
Set-Oriented Mining for Association Rules.
DHP
Direct Hashing and Puning
FP-Tree
Frequent pattern tree
DIC
Dynamic Itemset Counting
DANH MỤC CÁC THUẬT NGỮ
5
ỨNG DÔNG LÝ THUYẾT LUẬT KẾT HỢP KHAI PHÁ DỮ LIỆU TÁC NGHIỆP
Tên tiếng Anh Tên Tiếng Việt Ý nghĩa
Item Khoản mục Một thuộc tính trong Cơ sở dữ liệu giao
dịch
Itemset Tập các khoản mục Tập hợp các khoản mục
Association Rule Luật kết hợp
Support(X) Độ Hỗ trợ(X) Tỉ lệ phần trăm các giao dịch hỗ trợ trên
tổng số các giao dịch trong D.
Subset Tập con
Confidence Độ tin cậy
Large Itemset
(Frequent Itemset)
Tập các khoản mục
lớn
Tập các Khoản mục có Hỗ trợ lớn hơn Hỗ
trợ tối thiểu
Min Support Hỗ trợ tối thiểu
Candidate Itemset Tập các khoản mục Ứng
viên
Tập trung gian các khoản mục, dùng để
tạo các tập khoản mục lớn
Local Support Count Số đếm cục bộ
Global Support Count Số đếm toàn cục
Transaction Giao dịch
k-itemset Itemset có k item
Interesting itemset Itemset đáng quan tâm
Itemset tiềm năng là Large
Maximal frequent
itemset
Large Itemset cực đại Large Itemset mà không có bất kỳ
superset nào của nó là large itemset
^"6D.)0B_$>$9H. P'(`
LỜI NÓI ĐẦU
Giới thiệu đề tài
6
ỨNG DÔNG LÝ THUYẾT LUẬT KẾT HỢP KHAI PHÁ DỮ LIỆU TÁC NGHIỆP
Khai phá Tri thức là hoạt động tư duy của con người dựa trên sự tri giác kết
quả đạt được từ việc khai phá dữ liệu. Tri thức có được do khai phá dữ liệu có
thể phân thành 2 loại như sau:
a. Phân lớp (Classification) :Mục đích là tìm ra tập các khẳng định
(predicate) mô tả các lớp đối tượng dữ liệu và áp dụng để xác định một
đối tượng dữ liệu thuộc hay không thuộc các lớp trên.
b. Kết hợp (Association) :Tri thức cho biết quan hệ giữa các thuộc
tính của đối tượng dữ liệu dưới dạng luật, gọi là luật kết hợp. Cơ sở lý
thuyết cho lớp bài toán khai phá tri thức kết hợp là dựa trên việc thống kê
mức độ thường xuyên xảy ra đồng thời các thuộc tính đú trờn một cơ sở
dữ liệu.
“Nghiờn cứu các phương pháp khai phá luật kết hợp và áp dụng để khai phá
dữ liệu tác nghiệp” là nội dung, đồng thời cũng là tên của đề tài tốt nghiệp
này. Đề tài giới thiệu về bài toán khai phá luật kết hợp cùng với các phương
pháp, thuật toán kinh điển nhưng quan trọng và đặc biệt bám sát các phương
pháp mới kể từ sau năm 2000. Đề tài cũng đưa ra đánh giá về hiệu năng của
một số thuật toán dựa trên kết quả thử nghiệm cài đặt các thuật toán đó.
Lí do chọn đề tài
Đề tài này được lựa chọn bởi những lí do sau:
a. Đề tài nghiên cứu có khả năng ứng dụng cao, được áp dụng để khai phá
thông tin trong nhiều lĩnh vực của xã hội, như Y tế, Bảo hiểm, Chứng
khoán v.v
b. Đề tài nghiên cứu là vấn đề quan trọng trên thế giới nhưng còn rất mới
mẻ tại Việt Nam.
c. Đề tài nghiên cứu có sự thách thức nhất định về chuyên môn, đòi hỏi
người tham gia phải nắm vững được những vấn đề chuyên môn khác
như: cơ sở dữ liệu, tính toán song song, kĩ thuật lập trình v.v
Mục tiêu của đề tài
Trong khuôn khổ của một bài luận văn tốt nghiệp, mục tiêu của đề tài được
xác định gồm:
7
ỨNG DÔNG LÝ THUYẾT LUẬT KẾT HỢP KHAI PHÁ DỮ LIỆU TÁC NGHIỆP
a. Xác định rõ vấn đề cần nghiên cứu
b. Nắm được những kết quả nghiên cứu đã đạt được trên thế giới và xu thế
phát triển
c. Nắm vững lý thuyết, biết phân tích ưu & khuyết điểm của các phương
pháp, thuật toán nhằm đưa ra phương án tối ưu trong các tình huống khai
phá cụ thể
d. Vận dụng kiến thức nắm được, tiến hành cài đặt thử nghiệm các thuật
toán, đánh giá hiệu năng và nghiên cứu các phương án cải tiến
e. Đề xuất giải pháp ứng dụng cho một bài toán trong nước
Phương pháp luận
Tác giả đã thực hiện nghiên cứu theo các phương pháp luận sau:
a. Tự tìm, đọc hiểu các tài liệu trên mạng Internet
b. Tham khảo sự hướng dẫn của thầy giáo hướng dẫn
Bố cục luận văn
Phần 1 - Cơ sở lý thuyết : Giới thiệu các lý thuyết liên quan, tóm lược các
nghiên cứu kinh điển trong quá khứ và tập trung trình bày các nghiên cứu gần
đây về các thuật toán khai phá cơ sở dữ liệu gia tăng.
Phần 1 bao gồm các chương:
Chương 1: Lý thuyết căn bản : Giới thiệu tổng quan về bài toán khai
phá luật kết hợp. Trình bày thuật toán Apriori.
Chương 2: Một số vấn đề mở rộng : Giới thiệu các thuật toán khai
phá song song và các bài toán khai phá luật kết hợp mở rộng
Chương 3: Khai phá cơ sở dữ liệu gia tăng : Trình bày phương pháp
khai phá cở sở dữ liệu thay đổi theo thời gian (cơ sở dữ liệu gia tăng).
Phần 2 - Cài đặt thử nghiệm và đánh giá kết quả: Trình bày các công việc
thực hiện trong quá trình cài đặt thử nghiệm các thuật toán, đồng thời đánh
giá kết quả đạt được.
8
ỨNG DÔNG LÝ THUYẾT LUẬT KẾT HỢP KHAI PHÁ DỮ LIỆU TÁC NGHIỆP
PHẦN I
CƠ SỞ LÝ THUYẾT
aBb(5A.%<1><LP'.> 3LH
W'<65O':D<J>IP'5%&'$3D<#
9
ỨNG DÔNG LÝ THUYẾT LUẬT KẾT HỢP KHAI PHÁ DỮ LIỆU TÁC NGHIỆP
6&'$<6&>0$&.E5A.%c$$(V>
&>&'$<65.c#6$(5DLH
.5%&'$BC3D<#'O
3d
e ")ef1>IP'
\ ")\g BK5A.%C(
h ")hM'$BC3D<#'O
LÝ THUYẾT TỔNG QUAN
gi.JW')<2#D5A.%IP'5>>5%
&'$3D<#")GBB5j(').EW'&'$<6
&>0$B52&N6&D5A.%.)0.%6$:@d
• "O5%&'$(H5&'$3D<#"&N6&'
$.E5BB
• "O5%&'$<6&>0$^&#JAP
(&'$`
10
ỨNG DÔNG LÝ THUYẾT LUẬT KẾT HỢP KHAI PHÁ DỮ LIỆU TÁC NGHIỆP
• 6&'$<6&>0$&.Ek$((
1.1 SƠ LƯỢC VỀ KHAI PHÁ TRI THỨC
1.1.1 Khái niệm & nguồn gốc
Phát hiện tri thức và Khai phá dữ liệu (KDD) đang là hướng nghiên cứu thu
hút nhiều sự quan tâm trong vòng hai thập kỉ trở lại.
Bắt nguồn từ việc các công ty kinh doanh hoặc các công ty nghiên cứu thị
trường sau một thời gian hoạt động đã thu thập được những thông tin phong
phú về thị trường, khách hàng Nhưng dữ liệu họ thu thập được chủ yếu dưới
dạng thống kê, không mang tính định hướng để có thể giúp đỡ những người
hoạt động trong lĩnh vực đú cú thờm được tri thức và xa hơn, đưa ra một quyết
định.
KDD ra đời nhằm nghiên cứu, cung cấp các thuật toán, công cụ hiệu quả
nhằm phát hiện thông tin có ích dưới dạng các mẫu (pattern) hoặc các mô hình
(models) từ kho dữ liệu kích thước lớn.
Đầu vào là kho dữ liệu phong phú, kích thước lớn, chủ yếu là dữ liệu về thông
tin kinh doanh do các công ty nghiên cứu thị trường lớn thu thập.
Đầu ra là những tri thức cụ thể và có ích cho công việc của con người.
Vấn đề được mô hình hoá bằng các ngôn ngữ và công cụ toán học và được
thực thi bằng các công cụ tin học.
Ứng dụng của khai phá tri thức
Những tri thức được phát hiện sau quá trình khai phá tri thức được áp dụng
trong những lĩnh vực sau:
Quản lí dữ liệu
Thống kê
Học máy
Hỗ trợ đưa ra quyết định
11
ỨNG DÔNG LÝ THUYẾT LUẬT KẾT HỢP KHAI PHÁ DỮ LIỆU TÁC NGHIỆP
Kết quả (dạng tri thức thu được) sau khi khai phá
Tri thức khai phá từ dữ liệu thuộc cỏc nhúm dưới đây:
• Đặc tính (Characterization) : Tổng quỏt hoỏ đặc tính dữ liệu
• Phân loại (Classfication) : Mô tả sự khác biệt về thuộc tính
• Phân cụm (Clustering) : Nhúm cỏc dữ liệu có chung thuộc tính
• Kết hợp (Association) : Mối quan hệ đồng thời của nhiều thuộc tính
• Phân tích xu hướng (Trend analysis) : Tìm ra chiều hướng tiến hoá của dữ
liệu hiện thời
• Phân tích mẫu (Pattern analysis) : Tỡm cỏc mẫu đặc biệt trong dữ liệu lớn
Loại dữ liệu dùng để khai phá
Khai phá tri thức thường được áp dụng trên những loại dữ liệu như: Quan hệ
(relational), Giao dịch (transactional), Đối tượng (object-oriented), Tiến hoá
(temporal), multi-media …
Các kĩ thuật khai phá tri thức
• Thống kê (statistics)
• Học biểu tượng (symbolic learning)
• Mạng Nơron (neural networks)
• Mô hình hoá (visualization)
1.1.2 Các bước khai phá tri thức
Quá trình khai phá tri thức bao gồm những bước dưới đây:
Phát hiện và hiểu vấn đề :Hiểu phạm vi, lĩnh vực của bài toán và phát biểu
lại bài toán dưới dạng mô hình toán học
Thu thập và tiền xử lí dữ liệu : Xứ lí dữ liệu bị mất (missing data), loại
bỏ nhiễu (noises), chuyển dạng dữ liệu (transformation) và rút gọn dữ liệu
(reduction)
12
NG DễNG Lí THUYT LUT KT HP KHAI PH D LIU TC NGHIP
Khai phỏ d liu : Trớch lc mu (patterns) v/hoc mụ hỡnh
(models). Quỏ trỡnh ny gi l quỏ trỡnh phỏt hin tri thc.
ỏnh giỏ kt qu : Duyt mu, mụ hỡnh tỡm c (Loi b cỏc mu,
mụ hỡnh khụng cú ớch)
ng dng kt qu : a kt qu vo thc t (tr thnh d liu cho
chng trnh khỏc hoc thụng bỏo trc tuyn)
Hỡnh 1-1 Cỏc bc khai phỏ tri thc
1.1.3 Cỏc phng phỏp khai phỏ d liu
Khai phỏ d liu l bc quan trng nht trong quỏ trỡnh khai phỏ tri thc.
Cụng on khai phỏ tri thc c thc hin sau cỏc quỏ trỡnh thu thp v tinh
lc d liu, cú ngha l ch tm cc mu (pattern) cú ý ngha trờn tp d liu
cú hy vng ch khụng phi l trờn ton b CSDL nh cỏc phng phỏp thng
kờ trc õy.
Cỏc phng phỏp c chia lm hai nhúm ph thuc vo mc ớch ca tng
phng phỏp: Nhúm d oỏn (Prediction) v Nhúm mụ t (Description). D
oỏn dng cc bin trong CSDL nhm d oỏn giỏ tr cha bit trong tng
lai ca cỏc bin cn quan tõm khỏc. Mụ t li tp trung vo vic i tỡm kim
cỏc mu m con ngi cú th hiu c nhm mụ t d liu. S phõn chia ny
ch mang tớnh tng i.
13
Thu thập và tiền xử lí dữ liệu
Hiểu phạm vi, hiểu vấn đề
Khai phá dữ liệu
Đánh giá kết quả
Vận dụng kết quả
ỨNG DÔNG LÝ THUYẾT LUẬT KẾT HỢP KHAI PHÁ DỮ LIỆU TÁC NGHIỆP
Dưới đây là một số phương pháp khai phá dữ liệu.
1. Phân lớp (Classifications)
Phân lớp là việc học một hàm ánh xạ một item dữ liệu vào các lớp đã được
định nghĩa trước. VD: phân lớp các xu hướng của các thị trường tài chính hay
tự động xác định các đối tượng cần quan tâm trong các CSDL ảnh lớn.
Hình dưới minh họa cho việc phân lớp dữ liệu vay thành các miền khác nhau.
Chú ý rằng không thể tách biệt các lớp bằng một ranh giới là một đường thẳng
tuyến tính.
Hình 1-2 Minh họa phân lớp
Hồi qui (Regression)
Hồi quy là việc học một hàm ánh xạ một item dữ liệu vào một biến dự đoán có
giá trị thực. VD: dự đoán khả năng tử vong của bệnh nhân dựa trên các kết quả
điều trị, dự đoán nhu cầu khách hàng đối với một sản phẩm mới nhằm đưa ra
chiến lược quảng cáo,
Hình dưới biểu diễn kết quả hồi quy tuyến tính đơn giản với total debt được
coi như hàm tuyến tính với income.
Hình 1-3 Minh họa hồi qui
14
Income
Debt
Income
Debt
Regression Line
ỨNG DÔNG LÝ THUYẾT LUẬT KẾT HỢP KHAI PHÁ DỮ LIỆU TÁC NGHIỆP
Tạo nhóm (Clustering)
Tạo nhóm là một nhiệm vụ thường thấy, bằng cách tìm kiếm các tập xác định
phân theo loại nhằm mô tả dữ liệu. Các loại có thể phân biệt hoặc giao nhau.
VD: tạo cỏc nhúm khách hàng giống nhau theo một cách nào đó trong CSDL
marketing hay xác định cỏc nhúm dải phổ hồng ngoại từ các ảnh chụp trên bầu
trời.
Hình dưới biểu diễn một cách tạo nhóm cho tập dữ liệu vay thành 3 nhóm.
Chú ý rằng cỏc nhúm có thể giao nhau.
Hình 1-4 Tạo nhóm cho tập dữ liệu vay
Tổng hợp (Summerizations)
Tổng hợp bao gồm các phương pháp tìm kiếm một cách mô tả ngắn gọn súc
tích một tập con dữ liệu. Các kỹ thuật tổng hợp thường được áp dụng trong
việc phân tích các dữ liệu tương tác và sinh báo cáo tự động.
Bài toán này rất quan trọng trong TextMining. Trong CSDL hiện nay, đa phần
các trường lại có kiểu Text, nhiều khi là mô tả hiện tượng, yêu cầu giải quyết
vấn đề, thăm dò ý kiến khách hàng. Rõ ràng một công việc vô cùng cần thiết
là tạo được một hệ thống keyword cho các mục dữ liệu này, trợ giúp trong
việc tìm kiếm cũng như phân tích đánh giá.
Mô hình hoá phụ thuộc (Dependency Modeling)
15
Income
Debt
Cluster 1
Cluster 2
Cluster 3
ỨNG DÔNG LÝ THUYẾT LUẬT KẾT HỢP KHAI PHÁ DỮ LIỆU TÁC NGHIỆP
Là việc tìm ra một mô hình có khả năng mô tả các phụ thuộc cần thiết giữa các
biến. Các mô hình phụ thuộc tồn tại ở 2 cấp: cấp cấu trúc và cấp định lượng.
Cấp cấu trúc chỉ rõ (thường ở dạng đồ họa) các biến phụ thuộc địa phương vào
nhau. Trong khi đó, cấp định lượng chỉ rõ mức độ phụ thuộc dưới dạng các
con số.
Phát hiện thay đổi (Change and Deviation Detection)
Phát hiện thay đổi và lạc hướng là phương pháp tập trung vào việc phát hiện
những thay đổi đáng kể trong dữ liệu từ các giá trị đo được trước đó.
Biểu diễn Mô hình (Model Representation)
Biểu diễn mô hình là phương pháp sử dụng một ngôn ngữ L dùng để mô tả các
mẫu tìm được. Do đó, cần phải quan tâm liệu ngôn ngữ L được chọn có khả
năng diễn đạt được đầy đủ ý nghĩa của các mẫu tìm được không ? Vì vậy, các
nhà phân tích dữ liệu phải hiểu rõ các giả thiết về biểu diễn của phương pháp
mà mình sử dụng.
Ước lượng Mô hình (Model Evaluation)
Lượng giá mô hình là công việc đánh giá mức độ đáp ứng các tiêu chuẩn chủa
quá trình KDD của một mẫu cụ thể nào đó. Việc lượng giá độ chính xác dự
đoán dựa trên việc kiểm tra chéo (cross validation). Còn việc lượng giá chất
lượng mô tả bao gồm: độ chính xác dự đoán (predictive accuracy), độ mới
(novelty), độ hữu dụng (utility), và mức độ hiểu được của mô hình. Các tiêu
chuẩn về thống kê cũng như logic đều được áp dụng trong quá trình này.
Các phương pháp tìm kiếm (Search Method)
Phương pháp tìm kiếm bao gồm 2 thành phần: Tìm kiếm tham số (Parameter
Search) và Tìm kiếm mô hình (Model Search). Đối với Tìm kiếm tham số,
thuật toán thực hiện tìm kiếm các tham số tối ưu húa cỏc tiêu chuẩn lượng giá
mô hình, các dữ liệu quan sát được và một cách biểu diễn mô hình. Tìm kiếm
mô hình là một phép lặp các phương pháp tìm kiếm tham số.
1.1.4 Các kĩ thuật khai phá dữ liệu kinh điển
Bài toán Phân loại - Cây quyết định
16
ỨNG DÔNG LÝ THUYẾT LUẬT KẾT HỢP KHAI PHÁ DỮ LIỆU TÁC NGHIỆP
Luật phân loại (Classification Rules) giỳp gỏn cỏc đối tượng mới vào một tập
hợp các lớp. Ví dụ, với một hồ sơ của một khách hàng đăng kí bảo hiểm, nên
phân loại anh ta vào nhúm cú rủi ro thấp, vừa hay cao? Có nhiều kĩ thuật trong
lớp bài toán tìm luật phân loại như Mạng Neural, Bayesian; nhưng kĩ thuật
kinh điển nhất là kĩ thuật Cây quyết định (Decision Tree).
Cây quyết định là một phương pháp nhằm xếp loại các dữ liệu theo một tiêu
chuẩn nào đó dựa vào mức độ khác nhau của các thuộc tính, sự xếp loại mức
độ khác nhau của các thuộc tính cho phép chúng ta tạo ra các tri thức dưới
dạng các luật diễn tả mối quan hệ giữa các thuộc tính của đối tượng, đó là
những tri thức rất có ích cho việc làm quyết định, đặc biệt trong khâu dự báo
để làm quyết định. Cây quyết định có thể dễ dàng chuyển đổi sang dạng luật
với cấu trúc l9
Kĩ thuật này được thực hiện thông qua việc xây dựng một cây với mỗi nhánh
là thông tin được phân lớp qua mỗi câu hỏi, cỏc lỏ của cây sẽ tạo thành một
phân hoạch của tập dữ liệu ta có.
Quỏ trình dựng cây gồm hai bước:
e UVd.,3D<#()2:P3V'(L
J.)0<V''*.E_..K)0A<#
.)0.c,39K
\ j'dj('5<,RD?c<%
Thuật toán dựng cây: tại mỗi node của cây tiến hành như sau:
e "(' JK)AOH(*R.()2
\ gC( m*R2n(? J
h _$>$.K)0A<#(*R39<
] >.K)0( 39 5% .K)03o
>&!<c$<,o)2e.>)2]39<
Ví dụ: Một nhà đầu tư muốn phân loại sở thích của các khách hàng nam, nữ
đối với nhu cầu mua xe máy trên thị trường Hà Nội nhằm có một chiến lược
đầu tư thích đáng. Nhà đầu tư phân tích dữ liệu về tình hình mua xe trong thời
17
ỨNG DÔNG LÝ THUYẾT LUẬT KẾT HỢP KHAI PHÁ DỮ LIỆU TÁC NGHIỆP
gian đã qua, xếp lớp khách hàng thông qua các câu hỏi về tuổi tác, loại xe,
màu sắc và từ đó lập được một cây quyết định sau:
Hình 1-5 Minh họa cây quyết định
Nhận xét:
• Dễ hiểu.
• Áp dụng với dữ liệu bất kì, không cần có giả thiết từ trước.
• Áp dụng được với các dữ liệu số lẫn dữ liệu rời rạc.
• Chỉ có một thuộc tính đầu ra.
• Thuộc tính đầu ra phải là dữ liệu rời rạc.
Bài toán Tạo nhóm - Thuật toán K-Means
18
Khách hàng
Động cơ xe
≥ 70 cc≤ 70 cc
Tuổi Tuổi
≤ 30
> 30
≤ 40 ≥ 40
Nữ
Màu
Xanh
≠
Nữ
Nguồn gốc Nam
Nội Ngoại
Nam
- -
Kiểu
Viva
≠
Nữ
Nam - -
ỨNG DÔNG LÝ THUYẾT LUẬT KẾT HỢP KHAI PHÁ DỮ LIỆU TÁC NGHIỆP
Khác với luật phân loại, luật tạo nhóm là luật được rút ra từ những đối tượng
đã biết khẳng định sự tương đồng giữa các đối tượng trong cùng một nhóm.
K-means là kĩ thuật tạo nhóm thường được dùng nhất trong thực tế, được phát
minh đầu tiên bởi J.B.Mac Queen năm 1967. Để tiện cho việc minh họa chúng
ta chỉ minh họa tiến trình với biểu đồ 2 chiều nhưng phương pháp hoàn toàn
có thể thực hiện với không gian n chiều. Khi đó cách thức thực hiện vẫn
không thay đổi.
Các bước thực hiện
e "M<BKR7
\ "4LM.E<pR7
h R.E @
] J<,(n@
[ fc$<,)2hq[.>&Rp&!.I
Nhận xét:
• Phải lựa chọn trước số nhóm.
• Không áp dụng cho trường hợp có giá trị khuyết (missing value)
• Hoạt động tốt nhất khi kích thước cỏc nhúm là ngang bằng.
• Không xác định được độ ưu tiên (significance) của các thuộc tính.
Bài toán Khai phá luật kết hợp
Kĩ thuật khai phá luật kết hợp giỳp tỡm những qui luật mang tính chất thống
kê gọi là luật kết hợp từ các cơ sở dữ liệu Transaction. Mỗi luật kết hợp được
đặc trưng bởi độ đo: độ Hỗ trợ (Support) và độ Tin cậy (Confidence).
Quá trình khai phá luật kết hợp được thực hiện qua hai giai đoạn:
e 8f'(9a9B9
\ 8<6&>0$of'(9a9B9.)0
Nhận xét
• Đơn giản dễ hiểu nhưng hữu ích.
19
ỨNG DÔNG LÝ THUYẾT LUẬT KẾT HỢP KHAI PHÁ DỮ LIỆU TÁC NGHIỆP
• Các luật đều có độ đo (độ Hỗ trợ và độ Tin cậy) nên đảm bảo tính chính
xác và tin cậy.
• Dữ liệu lớn tuỳ ý.
• Có thể đặt độ ưu tiên của thuộc tính (chỉ quan tâm đến các luật chứa
thuộc tính cho trước).
So sánh các kĩ thuật - Lựa chọn kĩ thuật thích hợp
Các kĩ thuật nói trên đều có những ưu thế riêng tuỳ theo môi trường và bài
toán cài đặt chúng. Ngoài việc xác định mong muốn khai phá ra các luật mang
tính chất như thế nào: phân loại, tạo nhóm hay kết hợp, người khai phá cũng
cần quan tâm đến những vấn đề sau khi lựa chọn kĩ thuật khai phá:
• Có dữ liệu mới không? Tức là phải học giám sát (supervised) hay
không giám sát (unsupervised).
• Tương tác giữa các thuộc tính đầu vào và đầu ra?
• Kiểu dữ liệu của thuộc tính đầu ra?
• Độ phân tán (Distribution) của dữ liệu?
• Thuộc tính nào mô tả dữ liệu chính xác nhất?
• Dữ liệu có giá trị khuyết (missing value) không?
'$3iV&'5&><
A$>.c('<<>.E('.)0P<6DJo
BC3D<#&3')*<&E3D<#('B'M'$
f6&>0$./.)0<<*#P.@5(L>2
./@(A%&>P*H5%<N5V,=#'.@7
DP'.7H.><N5VLH(5O
.S<,W'<#Bb6$((<2$&'$<6
&>0$ 3(':@<)05%5A.%P'(
(<N5V56$(B)2LH.(L>
25%&'$BC3D<#'O
20
ỨNG DÔNG LÝ THUYẾT LUẬT KẾT HỢP KHAI PHÁ DỮ LIỆU TÁC NGHIỆP
1.2 BÀI TOÁN KHAI PHÁ LUẬT KẾT HỢP
1.2.1 Giới thiệu bài toán
Khái niệm khai phá luật liên kết ra đời năm 1993 bởi Rakesh Agrawal cùng
với bài toán phân tích giỏ hàng. Bài toán này có thể được phát biểu như sau :
“Cú bao nhiêu phần trăm khách hàng mua đồng thời bơ và sữa?”.
Ứng dụng của khai phá luật liên kết sẽ mang lại cho người quản lý siêu thị
những vấn đề mang tính xu hướng: Đặt hàng loại gì, số lượng bao nhiêu,
quảng cáo, bán hàng, … nhằm tăng doanh số bán hàng và giảm giá thành.
1.2.2 Các khái niệm
Trước khi phát biểu bài toán, ta làm quen với một số khái niệm được dùng
trong bài viết sau. Những khái niệm hay thuật ngữ chưa có khái niệm tương
ứng bằng tiếng Việt sẽ được giữ nguyên bằng tiếng Anh, để người đọc tiện
theo dõi khi tham khảo các tài liệu gốc.
a. Item
Item có thể coi là một thuộc tính nhị phân.
b. Itemset
Một Itemset X là tập hợp các item (X={I
1
, I
2
, , I
k
}). k-Itemset là Itemset
gồm k item (lực lượng bằng k).
c. Transaction
Transaction t là một vector, với t[k]=1 nếu I
k
có mặt trong t và t[k] =0 nếu
ngược lại.
Tập hợp các Transaction t là dữ liệu D. Mỗi Transaction được gắn với một số
chỉ mục duy nhất TID.
d. Support của Itemset
Một Transaction t được gọi là hỗ trợ (support) Itemset X nếu mọi item trong X
đều thuộc t.
21
ỨNG DÔNG LÝ THUYẾT LUẬT KẾT HỢP KHAI PHÁ DỮ LIỆU TÁC NGHIỆP
Support của Itemset X là số các Transaction trong D hỗ trợ X.
e. Large Itemset
Itemset gọi là Large nếu có Support lớn hơn một ngưỡng Support cho trước,
thường được kí hiệu là Minsup.
f. Luật kết hợp (Association Rule)
Một luật kết hợp là một bộ X⇒ Y , với X, Y là các Itemset khác nhau, Y khác
rỗng. X gọi là tiền đề, Y gọi là hệ quả của luật.
Độ hỗ trợ (Support) của luật là xác suất một Transaction hỗ trợ X U Y.
B = B$$((“r⇒st) = (rUs)
Độ tin cậy (Confidence) của luật là xác suất một Transaction hỗ trợ X cũng hỗ
trợ Y.
= l399(“r⇒st) = (X|s)
Có thể lấy ví dụ minh hoạ cho các khái niệm nói trên như sau:
Cho cơ sở dữ liệu giao dịch D của một cửa hàng cú cỏc mặt hàng là A, B, C,
D, E, F. D có 4 giao dịch tương ứng như sau.
Min support 50%
Min confidence 50%
Khách hàng mua C
Khách mua cả A và C
Khách hàng mua A
22
ỨNG DÔNG LÝ THUYẾT LUẬT KẾT HỢP KHAI PHÁ DỮ LIỆU TÁC NGHIỆP
Hình 1-6 Minh họa Luật kết hợp
Cho trước độ hỗ trợ tối thiểu minsup = 50%, độ tin cậy tối thiểu minconf
= 50%. Xét Itemset {A, C} có thể suy ra 2 luật kết hợp với độ hỗ trợ và độ
tin cậy lần lượt là:
k⇒"(s = 50%, c = 66.7%)
"⇒ k(s = 50%, c = 100%)
1.2.3 Các tính chất liên quan đến luật kết hợp
Các tính chất của luật kết hợp được bàn dưới đây sẽ là cơ sở lập luận của các
thuật toán khai phá luật kết hợp.
Tính chất 1d>k<6$W'52k<9B9B$$(^k`u
B$$(^`
Thật vậy, vì tất cả các Transaction hỗ trợ B thì cũng sẽ hỗ trợ A.
Tính chất 2d>9B9k&!f'(99B9'W'kG&!
<2^>B$$(^k`vB$B$$(^`vB$52<9B9'
W'k`
Tính chất 3d><f'(99B9kW'G<f'(9
^>B$$(^`uB$B$$(^k`uB$`
Tính chất 3 là hệ quả trực tiếp của tính chất 1.
Tính chất 4d>r
⇒
s5s
⇒
wR'/(LU)'_rxs
⇒
w
Tính chất 5d>rxs
⇒
wR'/(LU)'_r
⇒
s5s
⇒
w
R'/(LU
Tính chất 6d>r
⇒
s5s
⇒
wR'/(LU)'_r
⇒
w
Tính chất 7d>k
⇒
^fqk`&!R'/.%&#l399<6
⇒
^fq`52<6$W'kG&!R'/.%&#l399
23
ỨNG DÔNG LÝ THUYẾT LUẬT KẾT HỢP KHAI PHÁ DỮ LIỆU TÁC NGHIỆP
1.2.4 Phát biểu bài toán
Gọi I={I
1
, I
2
, , I
m
} là tập các thuộc tính nhị phân.
D là tập các Transaction.
Minsup và MinConf lần lượt là độ hỗ trợ tối thiểu và độ tin cậy tối
thiểu.
Bài toán đặt ra là với các dữ kiện đầu vào cho trước trên, phải tìm được các
luật kết hợp thoả mãn đồng thời hai điều kiện :
Có độ hỗ trợ lớn hơn độ hỗ trợ tối thiểu
Có độ tin cậy lớn hơn độ tin cậy tối thiểu
1.2.5 Lược đồ cơ bản của thuật toán khai phá luật kết hợp
Trong thực tế có nhiều thuật toán khai phá luật kết hợp. Mặc dù khác nhau về
phương pháp chi tiết, song chúng đều thực hiện theo lược đồ chung gồm 2 giai
đoạn:
Giai đoạn 1: Tỡm cỏc Large Itemset
Giai đoạn 2: Tỡm các luật kết hợp từ các Large Itemset tìm được
Mục đích của giai đoạn 1 xuất phát từ tư tưởng sau:
“BF.@7<6&>0$r
⇒
sR'/M.@. n(0W'0$rxs
Bb<2. n(0KE=B^rxs`yB^r
⇒
s`uB$U.@a9B9
rxs<f'(9a9B9”
Như vậy để tỡm cỏc luật kết hợp thỏa mãn, ta sẽ đi tìm các Large Itemset rồi
từ mỗi Large Itemset L đó, phát sinh và kiểm tra điều kiện thỏa mãn các luật
có dạng k
⇒
fqk, (A là tập con bất kì của L).
Nếu dùng phương pháp vét cạn, thì số lượng các Itemset có khả năng Large là
rất lớn, tương đương với kích thước mũ của tập các item, trong đó hàm mũ
tăng theo số các item. Để hạn chế sự bùng nổ không gian các khả năng cần
duyệt, người ta giới hạn không gian tìm kiếm trong một tập các Itemset gọi là
24
ỨNG DÔNG LÝ THUYẾT LUẬT KẾT HỢP KHAI PHÁ DỮ LIỆU TÁC NGHIỆP
tập các Candidate (ứng viên). Các candidate là các Itemset có nhiều khả năng
là Large.
Các thuật toán khác nhau sẽ có chiến lược xác định candidate khác nhau.
Chiến lược tìm kiếm và phương pháp tổ chức lưu trữ candidate chính là điều
đáng lưu tâm nhất trong một thuật toán khai phá luật kết hợp bởi nó sẽ quyết
định hiệu năng của thuật toán này.
Tập Large Itemset tìm được trong giai đoạn 1 sẽ là đầu vào của giai đoạn 2, là
giai đoạn sinh luật dựa trên các Larget Itemset đó. Một luật được hình thành
với tiền đề là một tập con của Large Itemset L và hệ quả là tập các item còn
lại. Do L là large nờn cỏc tập con của nó cũng là large. Do đó, việc kiểm tra
điều kiện thỏa mãn của luật này chỉ còn phụ thuộc vào việc độ độ tin cậy tối
thiểu mà thôi. Nếu luật L không thỏa mãn thì cũng không cần kiểm tra các luật
có tiền đề là tập con của tiền đề của L.
Ví dụ minh hoạ:
25
Giai đoạn 1
Tìm các Large Itemset (MinSupport là 40 %)
Giai đoạn 2
Tìm các luật kết hợp (MinConfidence là 70%)
{ coke, bread, hamburger }
{ coke, hamburger , juice}
{ milk, sandwich, juice }
{ sandwich, milk, juice, bread }
{ hamburger, juice, coke}
{ coke, bread, hamburger }
{ coke, hamburger , juice}
{ hamburger, juice }
{ milk, hamburger, sweater }
{ coke, milk, juice }
{ coke, juice }
{ coke, sweater 39$'
<'YzYZY{Y|
}}}}}}}}}}}}}
}}}}}}}}}}}}}
}}}}}}}}}}}}}
}}}}}}}}}}}}}
}}}}}}}}}}}}}
}}}}}}}}}}}}}
}}}}}}}}}}}}}
}}}
Giai đoạn 1 Tìm các Large Itemset (MinSupport
là 40 %)
Giai đoạn 2 Tìm các luật kết hợp MinConfidence = 70%