Cho trước một tập các giao dịch D, khi đó bài toán khai phá luật kết hợp là sinh ratất cả các luật kết hợp mà có độ ủng hộ và độ tin cậy lớn hơn một ngưỡng mà ngườidùng cho trước.. Thuật
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
TIỂU LUẬN MÔN KHAI THÁC DỮ LIỆU
MỘT SỐ THUẬT TOÁN CƠ BẢN
TRONG KHAI THÁC DỮ LIỆU
Giảng viên hướng dẫn : PGS.TS Đỗ PhúcHọc viên thực hiện : Lương Chấn Viễn
Trang 2MỤC LỤC
Chương 1: KHAI PHÁ LUẬT KẾT HỢP 1
1.1 Bài tốn thực tế 1
1.2 Mơ hình bài tốn 1
1.3 Thuật giải tổng quát 2
1.4 Tìm tập phổ biến bằng thuật tốn Apriori 3
1.4.1 Định lý về tính chất của tập phổ biếns 3
1.4.2 Ký hiệu 3
1.4.3 Thuật tốn tìm tập phổ biến 4
1.4.4 Thuật tốn sinh ứng cử viên Apriori-gen 4
1.5 Xây dựng thuật tốn sinh luật Apiori bằng cây 6
1.6 Chương trình demo 9
Chương 2: PHÂN LỚP – CLASSIFICATION 13
2.1 Classifier 13
2.2 Hai mơ hình tiếp cận 13
2.3 Nạve Bayes Classifier 14
2.3.1 Giả thiết nạve Bayes 14
2.3.2 Mơ hình xác suất 15
2.3.3 Độ phức tạp 15
2.4 Chương trình Demo 16
Chương 3: GOM CỤM – CLUSTERING 18
3.1 Thuận tốn gọm cụm k-mean 18
3.2 Chương trình demo gom cụm bằng thuật tốn k-means 20
Chương 4: LÝ THUYẾT TẬP THƠ - ROUGH SET THEORY 23
4.1 Hệ thống thơng tin - Information systems 23
4.2 Quan hệ bất khả phân biệt 23
4.3 Xấp xỉ tập hợp 24
4.4 Các rút gọn - reducts 24
4.5 Hàm thành viên thơ - rough membership function 25
4.6 Chương trình demo 27
4.6.1 Phần nhập vào bảng hệ thống thơng tin 27
4.6.2 Phần tính tốn trong khái niệm cơ bản của tập thơ 27
Trang 4cơ sở dữ liệu.
4.1 Bài toán thực tế
5 Khi công nghệ mã vạch phát triển cho phép các tổ chức bán lẻ có thể một cách dễdàng thu thập và lưu trữ số lượng lớn các dữ liệu bán hàng (basket data) Trong đómỗi một mẫu tin (record) trong dữ liệu như vậy thường bao gồm ngày giao dịch vàcác mặt hàng đã mua trong giao dịch Các tổ chức này xem cơ sở dữ liệu như phầnquan trọng của cơ sở tiếp thị Họ quan tâm đến khả năng tiếp thị định hướng trênthông tin trong cơ sở dữ liệu, cho phép các nhà tiếp thị của họ có thế phát triển vàthực hiện các chương trình tiếp thị cũng như tùy chỉnh và chiến lược tiếp thị
6 Một ví dụ về luật kết hợp là 98 trong tổng số khách hàng mua lốp xe và phụ tùng ô
tô cũng mua các dịch vụ liên quan Tìm tất cả các luật như vậy để làm cơ sở cho tiếpthị chéo giữa các mặt hàng Các ứng dụng khác có thể kể đến như thiết kế catalog,buôn bán phụ tùng, cách bố trí cửa hàng cũng như phân khúc khách hàng trên thóiquen mua hàng Các cơ sở dữ liệu có liên quan đến các ứng dụng này thường là rấtlớn Do đó, các thuật toán liên quan cần phải nhanh (độ phức tạp nhỏ) để có thể sửdụng được
6.1 Mô hình bài toán
7 Ta gọi I={i1,i2, …,i m} là tập các món hàng (items) và D là tập các giao dịch(transactions) Trong đó mỗi giao dịch T ∈ D là một tập hợp các món hàng được muatrong giao dịch đó
Trang 513 Trong đó X , Y ⊂I và X ∩Y =∅.
14 Ta nói luật X ⇒Y xảy ra trong D với độ tin cậy (confidence) hay xác suất là
15.c X⇒ Y=p (Y ⊆T|X ⊆T )= p((X ∪Y )⊆T)
p ( X ⊆T ) =
|D X∪Y|
|D X|
16 Và độ ủng hộ (support) hay tần suất xảy ra của luật là
17.s X ⇒Y=s X∪Y=p(( X∪Y ) ⊆T)=|D X ∪Y|
|D|
18 Cho trước một tập các giao dịch D, khi đó bài toán khai phá luật kết hợp là sinh ratất cả các luật kết hợp mà có độ ủng hộ và độ tin cậy lớn hơn một ngưỡng mà ngườidùng cho trước
19.{X ⇒Y :c X ⇒Y ≥ minconf ∧ s X⇒Y ≥minsup}
19.1 Thuật giải tổng quát
20 Bài toán khám phá tấst cả các luật kết hợp có thể được phân tách thành hai bàitoán con:
1 Tìm tất cả các tập các mặt hàng (itemsets) X ⊆ I có độ ủng hộ trên hỗ trợ tối thiểu
s X ≥ minsup Các itemsets thõa điều kiện vậy gọi là tập phổ biến Thuật toán Aprioritrình bày ở phần sau là sẽ giải quyết vấn đề này
Trang 622 Đầu vào: tập các tập phổ biến L={Z }.
23 Đầu ra: tập các luật kết hợp R={R }
24 initialize R ←{};
25 for each large itemset Z:
26 for each X ⊂ Z and X ≠ ∅:
31.∀ X ⊂Y : minsup ≤ s Y →minsup ≤ s X
32 Phát bi ểu 2 : cho trước một tập Y, nếu tồn tại một tập con X ⊂Y không phải là tậpphổ biến thì Y cũng không phải là tập phổ biến
33.∃ X ⊂Y ∧ s X<minsup → s Y<minsup
34 Ch ứng minh:
35 Do ∀ T ∈ D Y thì theo định nghĩa ta có Y ⊆T Mà X ⊂Y nên X ⊂T, từ đó
T ∈ D X Nên Ta có X ⊂Y nên D X ⊃ D Y
36 Khi đó s X=|D X|>s Y=|D Y| nên nếu minsup ≤ s Y thì minsup ≤ s X Suy ra phátbiểu 1 đúng Phát biểu 2 là nghịch đảo của phát biểu 1
37 Từ tính chất trên, các thuật toán tìm các tập phổ biến bằng từ các tập phổbiến nhỏ; đầu tiên là tập phổ biến có 1 phần tử Từ các tập phổ biến nhỏ đó, ta
Trang 7suy ra các tập lớn hơn gọi là tập ứng cử viên Và duyệt cơ sở dữ liệu để tìm tậpphổ biến dựa trên tập ứng cử viên đó.
37.1.1 Ký hiệu
38 Giả sử ta có một thứ tự sắp xếp các mặt hang ký hiệu là ¿
39 Khi ta nói một itemset X (X ⊆ I, tập các mặt hànx+_g hay một giac dịch), ta xemnhư itemset X đã được sắp xếp, tức mặt hàng thứ i bé hơn mặt hàng thứ i+1 Nếu ta
45
C k
46 Tập các ứng cử viên kitemset
-47 Điều kiện: L k ⊆C k
48 Bảng 1-1 Bảng ký hiệu
48.1.1 Thuật toán tìm tập phổ biến
49 Thuật toán tìm tập phổ biến dựa trên tính chất của tập phổ biến như sau
50 Algorithm Apriori
∀ i∈ I
Trang 855 L k+ 1 ←{X ∈C k+1 ∧minsup<s X}
56 end
56.1.1 Thuật toán sinh ứng cử viên Apriori-gen
57 Như vậy, bài toán cần giải quyết là sinh tập các k +1-itemset làm ứng cử viên đểtìm tập các k +1-itemset phổ biến từ tập các k-itemset
58 Điều kiện của tập ứng cử viên C k+1:
Tối tiểu: tức dựa trên thông tin của L k ta có thể loại các itemset chắc chắn khôngphổ biến Nghĩa là:
Trang 974 Tập con k-itemset của {1,2,3,4} là {2,3,4},{1,3,4},{1,2,4}, {1,2,3 } đềuthuộc L3.
75 Ta bỏ tập {1,3,4,5 } vì tập con {1,4,5 } không thuộc L3
76 Tính đúng đắn của Apriori-gen
Tính tối tiểu: từ bước lược (prune step) ta bảo đảm tính tối tiểu của C k+1
Tính đầy đủ: với mọi Z ∈ L k+1 , Z={i1, … ,i k ,i k +1} khi đó X ={i1, … , i k} và
Y ={i1, … , i k−1 , i k+1} đều thuộc L k nên bước kết là đầy đủ
76.1 Xây dựng thuật toán sinh luật Apiori bằng cây
- Thuật toán được xây dựng một cách có hiệu quả thông qua cấu trúc cây.Cây thểhiện các tập phổ biến được tìm Quá trình xây dựng cây cũng chính là quá trìnhtìm kiếm tập phổ biến
- Mỗi node của cây (trừ nút gốc root) tương ứng với một tập phổ biến Với mỗinode X tương ứng với tập {i1, … ,i k} thì ta có:
o Node cha Y của X tương ứng với tập phổ biến {i1, … ,i k−1}
o Các node con của X là các tập phổ biến có k phần tử đầu bằng {i1, … ,i k}
o Các con trỏ đến các node con của X được lưu trữ trong một danh sắp đượcsắp xếp hay một hash Nhờ đó việc tìm kiếm một node con bất kỳ có độphức tạp thấp
Trang 10- Bước kết được thay bằng thao tác trên cây như sau: các node candidate sinh ratrong phép kết được thay bởi việc kết các sibling Y của X với X Ví dụ:
78
- Trong bước lược bỏ, ta cần duyệt qua các tập con X của candidate Y có thuộc L k
hay không Nếu Y có chiều dài là k thì có k tập con cần phải kiểm tra Việc kiểmtra itemset có thuộc L bằng cách tìm kiếm trên cây Nếu xem thời gian di chuyển
từ node cha đến node con là hằng số O(1) thì cần tốn O(k ) thời gian (do duyệt đếnchiều sâu thứ k của cây) Vậy mỗi ứng cử trong bước lược được kiểm tra với chiphí O(k2)
Trang 11- Ví dụ về quá trình tìm phần tử {1,3,5} thông qua duyệt cây
80 Sau khi kết thúc quá trình xây dựng cây, các node trên cây tương ứng là các tậpphổ biến Các node lá của cây là các tập phổ biến tối đại
Trang 1281.1 Chương trình demo
82
Trang 1383 Bố cục giao diện chương trình gồm 2 phần, phần bên trái cho phép nhập đề bài,phần bên phải hiển thị quá trình tìm tập phổ biến cũng như luật kết hợp.
84
85 Quá trình tìm kiếm luật kết hợp được chia làm 2 phân tương ứng với 2 bước củathuật toán tìm luật tổng quát:
Trang 1592
93
Trang 1694 Chương 2: PHÂN LỚP – CLASSIFICATION
95.
2.1 Classifier
96 Định nghĩa: một classifier (hàm phân lớp) là một hàm f ánh xạ một vector đầu vào(input feature vector) x ∈ X đến một lớp y ∈Y Trong đó X là không gian đặc tính(feature space) C là tập các lớp cần phân loại Ở đây ta giả sử các mỗi vector đầu vàochỉ thuộc một lớp duy nhất, tức các lớp này loại trừ lẫn nhau (mutually exclusive)
97 Mục tiêu của ta là cần huấn luyện hay tìm một hàm f : X ↦Y từ một tập huấn luyệnban đầu Mỗi tập huấn luyện là một cặp (x(i)
, y(i)), quá trình huấn luyện như vậy đượcgọi là học có giám sát (supervised learning)
98 Trong nội dung hiện tại, ta chỉ quan tâm đến các hàm phân lớp xác suất, là cáchàm gán nhãn dựa trên việc tính toán p ( y|x )
2.2 Hai mô hình tiếp cận
99 Có 2 mô hình tiếp cận chính là Generative model và discriminative model được
mô tả như sau:
p (Y|X ) trực tiếp từ dữ liệuhuấn luyện
Trang 17từ dữ liệu huấn luyện.
112 Ước lượng các tham số
θ cho p (Y|X ) trực tiếp từ dữliệu huấn luyện
xác suất liên kết trên X và Y
119 Đơn giản do không cầndiễn tả cũng như đưa giả thiết
122 Mô hình chỉ cho cácbiến Y phụ thuộc có điều kiệnvào các biến X
123 không áp dụng đượctrong học không giám sát
Trang 18p ( x) =argmax c p ( y=c ) p ( x|y=c )
134 Thế giả thiết nạve Bayes vào ta cĩ
135 f ( x )=argmax c p ( y=c ) p ( x|y=c )=argmax c p ( y=c )∏
Trang 192.3.3 Độ phức tạp
139 Phức tạp về không gian: ta cần lưu trữ các tham số trên Nếu số lượng lớp
là l, số chiều của vector đầu vào là d thì ta cần l không gian lưu trữ giá trị của
p( y =c) và l d không gian lưu trữ hàm xác suất p(x i|y=c) Nếu các biến x i là biến rờirạc có k giá trị thì ta cần lưu trữ ldk giá trị p(x i=v|y =c)
140 Phức tạp về thời gian: Ta cần duyệt qua một lần các dữ liệu huấn luyện đểtính các tham số cần tìm Đsộ phức tạp về thời gian là O(n) với n là số lượng các dữliệu huấn luyện
2.4 Chương trình Demo
141 Phần nhập đề bài
Trang 20145
Trang 21146 Chương 3: GOM CỤM – CLUSTERING
147.
148 Bài toán gom cụm: khi cho trước một tập dữ liệu huấn luyện {x(1)
, … , x(m)} thìmục tiêu của bài toán là gom nhóm các các dữ liệu tương tự nhau vào một tậpcụm Mỗi một cụm đại diện cho các phần tử trong cụm đó
3.1 Thuận toán gọm cụm k-means
149 k-mean clustering algorithm
Trang 22159 Mỗi lần lặp của thuật toán, ta gán lại nhãn cụm c(i ) cho x(i) bằng cách chọncụm có trọng tâm gần nhất Sau đó, ta di chuyển trọng tâm của cụm đến trọng tâm củacác điểm thuộc cụm Thuật toán hội tụ có thể kiểm tra bằng cách (1) nếu trong tâmmới của cụm không thay đổi hoặc thay đổi rất nhỏ (¿ϵ ) thì ta nói thuật toán hội tụ.Cách (2) là kiểm tra các nhãn c(i ) có thay đổi qua mỗi bước lặp hay không.
Trang 23các dấu x trên đồ thị (hình 2) Trong trường hợp của ví dụ k =2 và trong tậm của 2cụm được khởi tạo như hình 2 Ta gán nhãn các điểm đến cụm có trọng tâm gần nhấtnhư hình 3 Tiếp theo, ta di chuyển trong tâm cụm đến trọng tâm của các điểm thuộccụm như hình 4 Lặp lại 2 bước trên như hình 5 và hình 6 Dừng lại khi hội tụ.
3.2 Chương trình demo gom cụm bằng thuật toán k-means
173 Phần nhập đề bài
174
Trang 24176.
Trang 25177 Phần trình bày quá trình chạy của thuật toán
178
Trang 26180 Chương 4: LÝ THUYẾT TẬP THÔ - ROUGH SET THEORY
181.
182 Lý thuyết tập thô được phát triển ban đầu bởi Zdzislaw Pawlak vào nhữngnăm đầu của thập niên 1980, được sử dụng như một công cụ phân tích các bảng dữliệu nhằm tổng hợp một cách xấp xỉ các khái niệm từ các dữ liệu này
4.1 Hệ thống thông tin - Information systems
183 Hệ thống thông tin là một tập dữ liệu dưới dạng bảng Các dòng đại diệncho từng trường hợp, sự kiện hay đơn giản là một đối tượng Mỗi cột biểu diễn chomột thuộc tính của những đối tượng đó Một cách hình thức, ta định nghĩa một hệthông thông tin IS là một cặp
184 IS=(U , A )
185 Trong đó U là một tập hữu hạn các đối tượng, gọi là tập vũ trụ A là tập hữuhạn các thuộc tính, mỗi thuộc tính a ∈ A là một hàm ánh xạ các đối tượng đến giá trịcủa thuộc tính a của đối tượng đó: a :U ↦V a Trong đó V a là miền giá trị của thuộctính a
4.2 Quan hệ bất khả phân biệt
186 Các hệ thống quyết định chứa trong tri thức về mô hình mà hệ thống đóbiểu diễn Tuy nhiên, những bảng dữ liệu này thường lớn một cách không cần thiết vì
sự dư thừa ở 2 mức độ: cùng một đối tượng hay những đối tượng không phân biệtđược với nhau được biểu diễn lặp lại nhiều lần; cũng như một số thuộc tính dư thừatrong bảng thông tin
187 Định nghĩa: Quan hệ bất khả phân biệt theo tập thuộc tính B ⊆ A:
188 ¿DB={(x , y ) ∈U2
|∀ a∈ B : a( x )=a ( y ) }
Trang 27189 Có thể thấy quan hệ ¿D B ⊆U ×U là một quan hệ tương đương vì nó thỏacác tính chất phản xạ, đối xứng và bắc cầu Do đó quan hệ ¿D B có thể phân hoạch tập
vũ trụ U thành các lớp tương đương U /¿D B Ta ký hiệu lớp tương của đối tượng x là
[x]B={y ∈U|x∈D B y} là tập các đối tượng bất khả phân biệt với x dựa vào thuộc tính B
4.3 Xấp xỉ tập hợp
190 Ta thường quan tâm việc phân hoạch tập vũ trụ thành các lớp, khái niệm.Tuy nhiên, một số khái niệm không thể được định nghĩa rõ ràng nếu dựa vào cácthuộc tính của đối tượng
191 Xấp xỉ tập hợp cho ta định nghĩa những khái niệm như thế một cách xấp xỉ,bằng 2 tập rõ
192 Cho trước một hệ thống thông tin IS=(U , A) và một tập con X ⊆U Ta xấp
xỉ tập X bằng tập thuộc tính B⊆ A bởi 2 tập rõ (crisp set) như sau
193 B X={x∨[x]B ⊆ X}
194 B X=´ {x ∨[x]B ∩ X ≠ ∅}
195 Khi đó nếu một đối tượng x ∈ B X thì ta nói x chắc chắn thuộc X Nếu
x ∈ ´B X thì ta nói x có thể thuộc X, ngược lại nếu x ∉ ´B X thì x chắc chắn không thuộc
Trang 28B bảo toàn quan hệ bất khả phân biệt) được gọi là reduct của A.
203 Định nghĩa miền B-dương của thuộc tính D:
204 Cho một hệ thống thông tin (U , A ), thuộc tính quyết định D và tập thuộctính B ⊆ A
Trang 29213 Khi đó hàm phân biệt
214 f ={m ij∨c ij ≠ ∅}
4.5 Hàm thành viên thô - rough membership function
215 Hàm thành viên thô lượng hóa mức độ của vùng phủ lấp tương đối giữa tập
x ∈ R X
224
1225
x ∈ ( R X−R X )
226
(0,
227 Một số tính chất của hàm thành viên μ X
Trang 304.6 Chương trình demo
4.6.1 Phần nhập vào bảng hệ thống thông tin
231
Trang 314.6.2 Phần tính toán trong khái niệm cơ bản của tập thô
232
Trang 32233 Tính quan hệ bất khả phân biệt và phân hoạch
234
Trang 33235 Tính xấp xỉ tập hợp
236
Trang 34237 Tính reduct
238
239
240
Trang 35241 TÀI LIỆU THAM KHẢO
242. Agrawal, Rakesh, and Ramakrishnan Srikant "Fast algorithms for miningassociation rules." In Proc 20th Int Conf Very Large Data Bases, VLDB, vol 1215,
pp 487-499 1994
243