Khai
Click here to load reader
-
Upload
hiepltsdsgthh -
Category
Documents
-
view
132 -
download
4
Transcript of Khai
1
1
KHAI THÁC
DỮ LIỆU &
ỨNG DỤNG
(DATA MINING)GV : NGUYỄN HOÀNG TÚ ANH
2
BBBBÀÀÀÀI 4I 4I 4I 4
KHAI THÁC CHUỖI TUẦN TỰ
2
3
NỘI DUNG
1. Giới thiệu2. Khái niệm cơ bản3. Thuật toán GSP khai thác
chuỗi tuần tự
4
GIỚI THIỆU� Thứ tự (theo thời gian): quan trọng
CSDL chuỗi thời gian (time-series DB) , CSDL chuỗi (sequence DB)
Tập (mẫu) phổ biến → Mẫu tuần tự phổ biến (sequental pattern)
� Ứng dụng của khai thác mẫu tuần tựChuỗi mặt hàng :
Mua máy tính, sau đó mua CD-ROM, sau đó mua máy camera kỹ thuật số trong vòng 3 tháng
Chăm sóc bệnh nhân, tại họa tự nhiên (động đất), qui trình kỹthuật, thị trường và tiếp thị,…
Cuộc gọi điện thoại, Weblog
Chuỗi DNA và cấu trúc gen
3
5
Tổ hợp của A,T,G,CPhần tử của chuỗi DNAChuỗi DNAChuỗi gen
Trang chủ, trang index , thông tin liên lạc, …
Tập các file đã xem ( sau khi nhắp chuột )
Hoạt động duyệt web của người sử dụng
Dữ liệu Web
Sách, sổ tay, CD, …Tập các mặt hàng được khách hàng mua vào thời điểm t
Quá trình mua hàng của khách hàng
Khách hàng
Sự kiện(hạng mục)
Phần tử(giao dịch)
ChuỗiCSDL chuỗi
Chuỗi
E1E2
E1E3 E2 E3
E4E2
Phần tử
(Giao dịch)Sự kiện(Hạng mục)
VÍ DỤ DỮ LIỆU CHUỖI
6
NỘI DUNG
1. Giới thiệu
2. Khái niệm cơ bản3. Thuật toán GSP khai thác
chuỗi tuần tự
4
7
1. CHUỖI (Sequence)Chuỗi là danh sách các phần tử ( giao dịch) cóthứ tự.
Mỗi phần tử của chuỗi : tập các sự kiện (hạngmục)
Các sự kiện trong một phần tử không có thứ tự (thường viết theo bảng chữ cái)
Ký hiệu :
Chuỗi s = < s1 s2 … sn > với sj là tập các sự kiện.
sj - gọi là phần tử của chuỗi s và có dạng (x1x2 …xm ) với xj là một sự kiện (hạng mục)
VD : < C (M,P) (S,T) > là một chuỗi có chiều dài =5 vàcó 3 phần tử
KHÁI NIỆM CƠ BẢN
8
KHÁI NIỆM CƠ BẢN
� CHUỖI (tt)� Chuỗi si = < a1 a2 … an > là chuỗi con của chuỗi sj =
< b1 b2 … bm > nếu :
� n ≤≤≤≤ m� ∃∃∃∃ các số nguyên i1 < i2 <… <in sao cho a1 ⊆⊆⊆⊆ bi1 ,
a2 ⊆⊆⊆⊆ bi2 , … , an ⊆⊆⊆⊆ bin
< {2,4} {2,4} {2,5} >
< {1,2} {3,4} >
< {2,4} {3,5,6} {8} >
Chuỗi dữ liệu
Có< {2} {4} >
Không< {1} {2} >
Có< {2} {3,5} >
Thuộc ?Chuỗi con
5
910e, g…
400
20e, f
…
300
15
20
25
30
a, d
c
b, c
a, e
200
200
200
200
10
15
20
25
30
aa, b, c
a, c
d
c, f
100
100
100
100
100
Ngày
mua
Mã hàngMã
KH2. CSDL CHUỖI
Cho CSDL D
Ví dụ :
KHÁI NIỆM CƠ BẢN
<eg(a,f)cbc>400
<(e,f)(a,b)(d,f)c,b>300
<(a,d)c(b,c)(a,e)>200
<a(a,b,c)(a,c)d(c,f)>100
SequenceSID
10
2. CSDL CHUỖI (tt) Cho CSDL chuỗi D ={ d1, d2, …, dn}
Đ� ph� bi�n c�a chu�i s trên CSDL D là t� l� gia schu�i ch�a s trên t�ng s chu�i trong D
Supp(s)= |{di ∈ ∈ ∈ ∈ D | s là chu�i con c�a di }| / |D| Ví dụ :
s = <(a,b) c> Supp(s) = 2/4 = 50%s1 = <c (a,b)> s2 = <c a>s3 = <a b c>
Supp(s1) =?Supp(s2) =?
Supp(s3) =?
KHÁI NIỆM CƠ BẢN
<eg(a,f)cbc>400
<(e,f)(a,b)(d,f)cb>300
<(a,d)c(b,c)(a,e)>200
<a(a,b,c)(a,c)d(c,f)>100
SequenceSID
6
11
3. BÀI TOÁN KHAI THÁC CHUỖI TUẦN TỰ
Cho CSDL chuỗi và ngưỡng minsupp, cần
tìm toàn bộ các chuỗi con phổ biến thỏa
mãn minsupp đã cho.
Ví dụ : CSDL chuỗi D và minsupp = 50% = 2/4
KHÁI NIỆM CƠ BẢN
• Chuỗi con s = <(a,b) c> làchuỗi tuần tự phổ biến• Các chuỗi s1 = <c (a,b)>, s2 = <c a>, s3 = <a b c> cóphải là chuỗi phổ biến ?<eg(a,f)cbc>400
<(e,f)(a,b)(d,f)cb>300
<(a,d)c(b,c)(a,e)>200
<a(a,b,c)(a,c)d(c,f)>100
SequenceSID
12
4. THÁCH THỨC
Tồn tại một số lượng lớn chuỗi tuần tự phổbiến bị dấu trong CSDL
Thuật toán khai thác cần
Tìm toàn bộ các mẫu thỏa mãn ngưỡngminsupp
Hiệu quả, co dãn, số lần duyệt CSDL nhỏ
Có thể kết hợp với nhiều loại ràng buộc củangười dùng.
KHÁI NIỆM CƠ BẢN
7
13
5. NGHIÊN CỨU
Định nghĩa khái niệm và thuật toángiống thuật toán Apriori ( Apriori-All) - 1995.
GSP – Phương pháp khai thác dựatrên tính chất Apriori - 1996
Phương pháp phát triển mẫu : PrefixSpan - 2001
KHÁI NIỆM CƠ BẢN
14
6. Tính chất cơ bản của chuỗi tuần tựTính ch�t Apriori :
Nếu S là chuỗi không phổ biến thì không cóchuỗi bao (super-sequence) nào của S là phổbiến
Ví dụ : Trong CSDL dưới, nếu <hb> là chuỗi không phổbiến →→→→ <hba>, <hab> và <(a,h)b> cũng không phổ biến
KHÁI NIỆM CƠ BẢN
<a(b,d)bcb(a,d,e)>50
<(b,e)(c,e)d>40
<(a,h)(b,f)abf>30
<(b,f)(c,e)b(f,g)>20
<(b,d)cb(a,c)>10
SequenceSeq. ID
minsupp = 2
8
15
NỘI DUNG
1. Giới thiệu
2. Khái niệm cơ bản
3. Thuật toán GSP khai thácchuỗi tuần tự
16
1. BẢN CHẤTGSP : Generalized Sequential Pattern- Agrawal & Srikant, EDBT’96
Duyệt CSDL để tìm các chuỗi phổ biến có độ dài 1.
For mỗi cấp ( chuỗi có độ dài k)
Tạo các chuỗi ứng viên có độ dài (k+1) từ các chuỗiphổ biến chiều dài k (sử dụng Apriori)
Duyệt CSDL để đếm độ phổ biến của từng chuỗi ứngviên và loại các ứng viên không thỏa mãn ngưỡng minsupp
Lặp lại đến khi không còn chuỗi phổ biến hoặc không cònứng viên
S d�ng tính ch�t Apriori đ� c�t b�t �ng viên
THUẬT TOÁN GSP
9
17
VÍ DỤ THUẬT TOÁN GSP
� Các �ng viên đ�u tiên C1 :<a>, <b>, <c>, <d>, <e>, <f>, <g>, <h>
� Duyệt CSDL để tính độ phổ biến của từngứng viên và tìm F1
-> F1 = <a>, <b>, <c>, <d>, <e>, <f>
<a(b,d)bcb(a,d,e)>50<(b,e)(c,e)d>40
<(a,h)(b,f)abf>30<(b,f)(c,e)b(f,g)>20<(b,d)cb(a,c)>10
SequenceSeq. ID
minsupp =2
1<h>
1<g>
2<f>
3<e>
3<d>
4<c>
5<b>
3<a>
SupCandC1
18
VÍ DỤ THUẬT TOÁN GSP� T�o các �ng viên C2 : = phép kết
� Các chuỗi chiều dài = 2 và có 2 phần tử
<ff><fe><fd><fc><fb><fa><f>
<ef><ee><ed><ec><eb><ea><e>
<df><de><dd><dc><db><da><d>
<cf><ce><cd><cc><cb><ca><c>
<bf><be><bd><bc><bb><ba><b>
<af><ae><ad><ac><ab><aa><a>
<f><e><d><c><b><a>
10
19
VÍ DỤ THUẬT TOÁN GSP� T�o các �ng viên C2 (tt)
� Các chuỗi chiều dài = 2 và có 1 phần tử
� Tổng cộng có 51 chuỗi ứng viên chiều dài =2
<f>
<(e,f)><e>
<(d,f)><(d,e)><d>
<(c,f)><(c,e)><(c,d)><c>
<(b,f)><(b,e)><(b,d)><(b,c)><b>
<(a,f)><(a,e)><(a,d)><(a,c)><(a,b)><a>
<f><e><d><c><b><a>
20
VÍ DỤ THUẬT TOÁN GSP
� Xác đ�nh t�p chu�i ph� bi�n F2
� Duyệt CSDL và xác định độ phổ biếncủa từng chuỗi ứng viên chiều dài = 2
� Có 19 ứng viên có độ phổ biến≥ minsupp (=2)
� > Tập chuỗi phổ biến F2 gồm có19 chuỗi
11
21
VÍ DỤ THUẬT TOÁN GSP
<ff><fe><fd><fc><fb><fa><f>
<ef><ee><ed><ec><eb><ea><e>
<df><de><dd><dc><db><da><d>
<cf><ce><cd><cc><cb><ca><c>
<bf><be><bd><bc><bb><ba><b>
<af>1
<ae>1
<ad>1
<ac>1
<ab>2
<aa>Supp=2
<a>
<f><e><d><c><b><a>
22
VÍ DỤ THUẬT TOÁN GSP
<f>
<(e,f)><e>
<(d,f)><(d,e)><d>
<(c,f)><(c,e)><(c,d)><c>
<(b,f)>2
<(b,e)>1
<(b,d)>2
<(b,c)>0
<b>
<(a,f)>0
<(a,e)>1
<(a,d)>1
<(a,c)>1
<(a,b)>Supp=0
<a>
<f><e><d><c><b><a>
12
23
VÍ DỤ THUẬT TOÁN GSP
� T�o t�p �ng viên C3
� Dùng phép kết : F2 với F2
� Ví d� : <ab>, <aa> và <ba> : chuỗi phổ biếnchiều dài = 2 � <aaa>, <aba>, <aab>, <bab>, <baa> - ứng viên chiều dài = 3
� <(b,d)>, <bb> và <db> chuỗi phổ biến chiều
dài=2 � <(b,d)b>, <b(b,d)>, <bbb>, <d(b,d)>, <dbb>- ứng viên chiều dài = 3
� Phép loại bỏ : dựa trên tính chất Apriori
� Có 46 ứng viên chiều dài = 3
24
VÍ DỤ THUẬT TOÁN GSP
� Tìm t�p chu�i ph� bi�n F3
� Duyệt CSDL và xác định độ phổ biếncủa từng chuỗi ứng viên chiều dài = 3
� Có 19 ứng viên có độ phổ biến
≥ minsupp
� > Tập chuỗi phổ biến F3 gồm 19 chuỗi
13
25
VÍ DỤ THUẬT TOÁN GSP
1st scan: 8 cand. 6 length-1 seq. pat.
2nd scan: 51 cand. 19 length-2 seq. pat. 10 cand. not in DB at all
3rd scan: 46 cand. 19 length-3 seq. pat. 20 cand. not in DB at all
4th scan: 8 cand. 6 length-4 seq. pat.
5th scan: 1 cand. 1 length-5 seq. pat.
<a(b,d)bcb(a,d,e)>50
<(b,e)(c,e)d>40
<(a,h)(b,f)abf>30
<(b,f)(c,e)b(f,g)>20
<(b,d)cb(a,c)>10
SequenceSeq. ID
minsupp =2
<a> <b> <c> <d> <e> <f> <g> <h>
<aa> <ab> … <af> <ba> <bb> … <ff> <(ab)> … <(ef)>
<abb> <aab> <aba> <baa> <bab> …
<abba> <(b,d)bc> …
<(b,d)cba> Supp(Cand.)<<<< minsupp
Cand. ∉∉∉∉ CSDL
26
THUẬT TOÁN GSP2. Pseudo-Code
Input : CSDL chuỗi D, minsupp
Output : F - các chuỗi tuần tự phổ biến trong D
Ck : Tập chuỗi ứng viên chiều dài kFk : Tập chuỗi phổ biến chiều dài kF1 = Tìm_chuỗi_phổ_biến_chiều dài 1(D); // có dạng <x>for (k = 1; Fk ≠∅; k++) {
Ck+1 = apriori_gen(Lk); // Tạo tập chuỗi ứng viên chiều dài (k+1)
if Ck+1 ≠∅ then
{ Duyệt CSDL để tính Fk+1 = { s ∈ Ck+1 | supp(s)≥minsupp }
}}
return F = ∪k Fk;
14
27
THUẬT TOÁN GSP
3. Tạo tập chuỗi ứng viên chiều dài (k+1)Hàm apriori_gen nhận Fk và trả về tập chuỗi ứng viên chiều dài(k+1). G�m 2 bư�c : k�t và c�t b�
Bư�c k�t :
Chu�i s1 k�t v�i chu�i s2 n�u
Chu�i s1 sau khi b� b�t đi 1 h�ng m�c đ�u tiên thìging như
Chu�i s2 b� b�t 1 h�ng m�c cui cùng
K�t qu� phép k�t = chuỗi s1 mở rộng thêm 1 hạngmục cuối cùng của chuỗi s2 . H�ng m�c thêm nàycó th� t�o thành m�t ph�n t m�i trong s1 n�u nólà ph�n t riêng bi�t thu�c s2, ngư�c l�i là m�tthành viên c�a ph�n t cui cùng c�a s1
Bư�c c�t b� : lo�i các chu�i �ng viên có ch�a các chu�i con không ph� bi�n
28
VÍ DỤ TẠO TẬP CHUỖI ỨNG VIÊN
� Giả sử F3 = {<(1,2) 3>, <(1,2) 4>, <1(3,4)>,
<(1,3) 5>, <2 (3,4)>, <2 3 5>}
� Sau bước kết :
� C4 = {<(1,2) (3,4)>, <(1,2) 3 5>}
� <(1,2) 4> không kết được với chuỗi nào khác vì
không tồn tại chuỗi có dạng <2 (4,x) > hoặc
<2 4 x>
� Sau bước loại bớt :
� C4 = {<(1,2) (3,4)>}
vì <1 3 5> ∉ F3 nên <(1,2) 3 5> bị loại
15
29
BÀI TẬP XD
TẬP CHUỖI ỨNG VIÊN
< {1} {2} {3} >
< {1} {2 5} >
< {1} {5} {3} >
< {2} {3} {4} >
< {2 5} {3} >
< {3} {4} {5} >
< {5} {3 4} >
• Thời gian : 7’
• Giả sử F3 là tập gồm 7 chuỗi
• Xác định tập ứng viên C4
• Trình bày kết quả trước lớp
F3
30
ĐÁP ÁN BÀI TẬP XD
TẬP CHUỖI ỨNG VIÊN
< {1} {2} {3} >
< {1} {2 5} >
< {1} {5} {3} >
< {2} {3} {4} >
< {2 5} {3} >
< {3} {4} {5} >
< {5} {3 4} >
F3
16
31
HẠN CHẾ CỦA GSP
� Số lượng khổng lồ tập chuỗi ứng viên (đặc biệt chuỗi có chiều dài = 2)
� Duyệt CSDL nhiều lần � Không hi�u qu� khi khai thác các chu�i dài
-> M�t trong các cách gi�i quy�t : PrefixSpan (t� đ�c trong tài li�u tham kh�o)
32
BÀI TẬP TẠI LỚP
� Thời gian : 10’� Cho CSDL chuỗi và minsupp = 4
� Tìm các t�p �ng viên và t�p chu�i ph� bi�n
<a(b,d)bcb(a,d,e)>50
<(b,e)(c,e)d>40
<(a,h)(b,f)abf>30
<(b,f)(c,e)b(f,g)>20
<(b,d)cb(a,c)>10
SequenceSeq. ID
17
33
ĐÁP ÁN BÀI TẬP TẠI LỚP
34
BÀI TẬP
1. Cho CSDL chuỗi D và minsupp = 50%. Xác định tập chuỗiphổ biến trên D .
2. Có thể áp dụng ý tưởng thuật toánFP-Growth vào bàitoán tìm chuỗi phổbiến không và nhưthế nào ?
10
2025
d,g,h
b,fa,g,h
40
4040
10a,b, f30
15
20
a, b,f
e
20
20
10
1520
25
a, d
a, b, ca, b,f
a,c,d,f
10
1010
10
Ngàymua
Mã hàngMãKH
18
35
TÀI LIỆU THAM KHẢO 1. R. Srikant, R. Agrawal . Mining sequential patterns :
Generalizations and perfomance improvements.
EDBT’96.
2. J. Han J. Pei. Pattern Growth Methods for
Sequential Pattern Mining : Principles and
Extensions, ACM SIGKDD 2001, USA.
3. http://illimine.cs.uiuc.edu/demo/ : Demo một số thuật
toán tìm tập phổ biến và chuỗi phổ biến
4. http://www-
users.cs.umn.edu/~kumar/dmbook/resources.htm : Chương trình một số thuật toán và phần mềm cơ
bản của các bài toán trong khai thác dữ liệu
36
Q & A