láng giềng gần nhất, giải thuật di truyền, phương pháp phát hiện luật kết hợp… Trong đó, các hướng tiếp cận khai phá luật kết hợp: luật kết hợp nhị phân, luật kết hợp mờ, luật kết hợp nh
Trang 1TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
NGUYỄN THỊ LY SA
MỘT SỐ KỸ THUẬT ĐÁNH GIÁ LUẬT DỰA TRÊN LÝ THUYẾT TẬP THÔ
LUẬN VĂN THẠC SĨ NGÀNH KHOA HỌC MÁY TÍNH
Thành phố Hồ Chí Minh - 2010
Trang 2ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
NGUYỄN THỊ LY SA
MỘT SỐ KỸ THUẬT ĐÁNH GIÁ LUẬT DỰA TRÊN LÝ THUYẾT TẬP THÔ Chuyên ngành: Khoa học máy tính
LUẬN VĂN THẠC SĨ
HƯỚNG DẪN KHOA HỌC
TS VŨ THANH NGUYÊN
Thành phố Hồ Chí Minh - 2010
Trang 3NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN
TP Hồ Chí Minh, ngày …….tháng …… năm 2010
Cán bộ hướng dẫn
TS Vũ Thanh Nguyên
Trang 4NHẬN XÉT CỦA CÁN BỘ PHẢN BIỆN
TP Hồ Chí Minh, ngày …….tháng …… năm 2010
Cán bộ phản biện
Trang 5MỤC LỤC
Trang
NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN I NHẬN XÉT CỦA CÁN BỘ PHẢN BIỆN II MỤC LỤC III DANH MỤC CÁC BẢNG VI DANH MỤC CÁC HÌNH VII DANH MỤC CÁC TỪ VIẾT TẮT VIII
CHƯƠNG 1 GIỚI THIỆU 1
1.1 KHAI PHÁ DỮ LIỆU 1
1.2 LUẬT KẾT HỢP 2
1.3 LÝ THUYẾT TẬP THÔ 2
1.4 ĐÁNH GIÁ LUẬT 3
1.5 TÓM LẠI 4
CHƯƠNG 2 KIẾN THỨC CƠ BẢN 5
2.1 LÝ THUYẾT TẬP THÔ 5
2.1.1 Các khái niệm 5
2.1.2 Thuật toán tìm các rút gọn 12
2.1.3 Thuật toán tìm rút gọn tối ưu 16
2.1.4 Tập thô và rời rạc hóa dữ liệu 17
2.2 PHÁT SINH LUẬT KẾT HỢP 23
2.2.1 Giới thiệu 23
2.2.2 Khai thác tập phổ biến 23
2.2.3 Khai thác luật kết hợp từ tập phổ biến 28
2.2.4 Sử dụng luật kết hợp vào việc phân lớp 30
CHƯƠNG 3 CÁC PHƯƠNG PHÁP ĐÁNH GIÁ LUẬT DỰA TRÊN LÝ THUYẾT TẬP THÔ 32
3.1 ĐỘ ĐO SỰ HỮU ÍCH CỦA LUẬT 32
3.1.1 Độ hỗ trợ .33
3.1.2 Độ tin cậy 33
3.1.3 Độ đo Lift 34
Trang 63.1.4 Độ đo Laplace 34
3.1.5 Độ chắc chắn 35
3.1.6 Độ đo Leverage 35
3.1.7 Độ đo Correlation 35
3.1.8 Độ đo Jaccard 36
3.1.9 Độ đo Cosine 36
3.1.10 Độ đo Odds Ratio 36
3.1.11 Rule Template 36
3.2 ĐỘ ĐO TẦM QUAN TRỌNG CỦA LUẬT 38
3.2.1 Các định nghĩa 38
3.2.2 Một ví dụ về độ đo RIM 39
3.2.3 Nhận xét về độ đo RIM 40
3.3 ĐỘ ĐO XEM LUẬT NHƯ THUỘC TÍNH 41
3.3.1 Xây dựng bảng quyết định mới 41
3.3.2 Các định nghĩa 43
3.3.3 Một ví dụ về độ đo RAM 43
3.3.4 Nhận xét giữa hai độ đo RIM và độ đo RAM 44
3.4 ĐỘ ĐO TẦM QUAN TRỌNG CẢI TIẾN 45
3.4.1 Định nghĩa 45
3.4.2 Quá trình thực hiện 45
3.4.3 Một ví dụ về độ đo ERIM 46
3.4.4 Nhận xét về độ đo ERIM 47
3.5 ĐỘ ĐO WAERIM 47
3.5.1 Định nghĩa 48
3.5.2 Quá trình thực hiện 48
3.6 ĐỘ ĐO AIERIM 49
3.6.1 Định nghĩa 49
3.6.2 Một ví dụ về độ đo AIERIM 50
CHƯƠNG 4 XÂY DỰNG ỨNG DỤNG SO SÁNH KỸ THUẬT ĐÁNH GIÁ LUẬT GIỮA CÁC ĐỘ ĐO 51
4.1 GIỚI THIỆU 51
4.1.1 Nguồn dữ liệu “Nursery” 51
4.1.2 Nguồn dữ liệu “BankLoan” 52
Trang 74.2 MÔ HÌNH XÂY DỰNG ỨNG DỤNG 54
4.3 KẾT QUẢ SO SÁNH GIỮA CÁC ĐỘ ĐO 55
4.3.1 Sử dụng nguồn “Nursery” 55
4.3.2 Sử dụng nguồn “BankLoan” 56
4.3.3 Kết luận 57
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 65
TÀI LIỆU THAM KHẢO 67
Trang 8DANH MỤC CÁC BẢNG
Bảng 2.1 Một ví dụ về Hệ thông tin 5
Bảng 2.2 Một ví dụ về Bảng quyết định 6
Bảng 2.3 Ma trận khả phân xây dựng từ Bảng 2.2 11
Bảng 2.4 Một ví dụ về Bảng quyết định 11
Bảng 2.5 Ma trận khả phân xây dựng từ Bảng 2.4 12
Bảng 2.6 Quá trình rời rạc hoá 18
Bảng 2.7 Bảng quyết định mới T 21 ∗
Bảng 2.8 Kết quả rời rạc hóa dữ liệu 23
Bảng 2.9 Ví dụ về cơ sở dữ liệu dạng giao dịch 24
Bảng 2.10 Một ví dụ về tập phổ biến 24
Bảng 2.11 Luật kết hợp thỏa minSupp=50%, minConf=80% 29
Bảng 3.1 Ví dụ cho mẫu luật 37
Bảng 3.2 Một số rút gọn từ nguồn Zoo 39
Bảng 3.3 Tập luật quan trọng theo độ đo RIM từ nguồn Zoo 40
Bảng 3.4 Bảng quyết định ví dụ cho độ đo RAM 42
Bảng 3.5 Xây dựng bảng quyết định mới 43
Bảng 3.6 Các luật kết hợp từ nguồn Lenses với minSupp=3% và minConf=70% 44
Bảng 3.7 Tập luật quan trọng theo độ đo RAM từ nguồn Lenses 44
Bảng 3.8 Trọng số cho từng thuộc tính điều kiện của nguồn Car 46
Bảng 3.9 Tập luật với độ đo ERIM từ nguồn Car 46
Bảng 3.10 Mức độ quan trọng của các tập thuộc tính trên nguồn Car 50
Bảng 3.11 Tập luật với độ đo AIERIM từ nguồn Car 50
Bảng 4.1 Các thuộc tính của nguồn Nursery 51
Bảng 4.2 Các thuộc tính của dữ liệu BankLoan 52
Bảng 4.3 Trọng số các thuộc tính điều kiện của BankLoan 53
Bảng 4.4 Kết quả 10 lần thử nghiệm với Nursery 60
Bảng 4.5 Kết quả 10 lần thử nghiệm với BankLoan (trường hơp 1) 62
Bảng 4.5 Kết quả 10 lần thử nghiệm với BankLoan (trường hơp 2) 64
Trang 9DANH MỤC CÁC HÌNH
Hình 1.1 Quá trình phát hiện tri thức 1
Hình 2.1 Tập các điểm cắt trên thuộc tính a 19
Hình 2.2 Tập các điểm cắt cực tiểu 22
Hình 2.3 Cây tìm kiếm IT-tree 26
Hình 2.4 Cây tìm kiếm tập phổ biến với minSupp=50% 27
Hình 4.1 Mô hình xây dựng ứng dụng 54
Hình 4.2 Biểu đồ so sánh giữa các độ đo từ nguồn Nursery 55
Hình 4.3 Biểu đồ so sánh giữa các độ đo từ nguồn BankLoan (trường hợp 1) 56
Hình 4.4 Biểu đồ so sánh giữa các độ đo từ nguồn BankLoan (trường hợp 2) 57
Trang 10DANH MỤC CÁC TỪ VIẾT TẮT
AIERIM Attributes Importance Degree Based Enhanced Rule
Importance Measure CBA Classification Based on Associations
ERIM Enhanced Rule Importance Measure
IT-pair Itemset-Tidset pair
IT-tree Itemset-Tidset tree
KDD Knowledge Discovery in Database
RAM Rule-as-Attribute Measure
WAERIM Weight Average Based Enhanced Rule Importance
Measure
Trang 11Chương 1 GIỚI THIỆU
nhất định trong một lĩnh vực nhất định Khai phá dữ liệu (Data Mining) là một
trong những hoạt động của quá trình phát hiện tri thức, là kỹ thuật chính giúp ta lấy được các tri thức hữu ích, quan trọng
Quá trình phát hiện tri thức có thể được biểu diễn bằng Hình 1.1:
Hình 1.1 Quá trình phát hiện tri thức
Hiện nay trên thế giới đã có nhiều ngành công nghiệp sử dụng kỹ thuật khai phá dữ liệu để phục vụ cho các hoạt động kinh doanh của mình và bước đầu thành công như ngành tài chính, y học, bảo hiểm, sản xuất… Mặc dù kỹ thuật khai phá dữ liệu hiện nay vẫn còn nhiều vấn đề nổi cộm nhưng với những tri thức mà nó đem lại cũng đã chứng tỏ khai phá dữ liệu có một tiềm năng to lớn trong việc tạo ra những lợi nhuận đáng kể trong nền kinh tế
Các hướng tiếp cận khai phá dữ liệu phổ biến đang được nghiên cứu và sử dụng hiện nay: mạng nơron, kỹ thuật phân cụm và phân đoạn, phương pháp
Sử dụng tri thức đã phát hiện được
Trang 12láng giềng gần nhất, giải thuật di truyền, phương pháp phát hiện luật kết hợp… Trong đó, các hướng tiếp cận khai phá luật kết hợp: luật kết hợp nhị phân, luật kết hợp mờ, 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ật kết hợp với các thuộc tính được đánh trọng số…
Luận văn này tập trung vào kỹ thuật phát hiện luật kết hợp theo hướng tiếp cận tập thô trong quá trình khai phá dữ liệu, tiếp theo đó giới thiệu những kỹ thuật đánh giá luật dựa trên cơ sở lý thuyết tập thô để rút trích những luật quan trọng và có ích để tri thức phát hiện được thật sự có ý nghĩa cho ứng dụng
1.2 LUẬT KẾT HỢP
Luật kết hợp là lĩnh vực quan trọng trong khai phá dữ liệu, là kỹ thuật khai phá dữ liệu khá đơn giản nhưng thiết thực Phát hiện luật kết hợp giúp ta tìm ra được các mối liên quan của các thành phần trong dữ liệu Chẳng hạn, từ việc phân tích dữ liệu bán hàng của siêu thị, ta có thể phát hiện thói quen mua hàng
của khách hàng như: khi khách hàng mua bánh mì thì hầu như họ sẽ mua sữa Luật kết hợp có thể được sử dụng để tìm hiểu các thói quen này của khách
hàng, giúp gia tăng số lượng hàng bán được trong siêu thị bằng cách sắp xếp những mặt hàng liên quan với nhau một cách hợp lý
Một luật kết hợp được xem là có ý nghĩa nếu độ hỗ trợ và độ tin cậy của
luật cao hơn ngưỡng hỗ trợ minSup và ngưỡng tin cậy minConf do người dùng
định nghĩa Một ví dụ nhỏ: từ tập dữ liệu bán hàng của siêu thị ta phát hiện luật
kết hợp bread→ cheese với độ hỗ trợ là 80% và độ tin cậy 60% (minSup=50%,
minConf=50%); điều này có nghĩa: trong số các khách hàng mua hàng ở siêu
thị thì có 80% khách hàng vừa mua bread vừa mua cheese và trong số các khách hàng có mua bread thì có 60% khách hàng mua cheese
1.3 LÝ THUYẾT TẬP THÔ
Phát hiện luật theo hướng tiếp cận của lý thuyết tập thô được phát triển bởi Zdzislaw Pawlak vào đầu những năm 1980[12] là một trong những phương pháp đang được nhiều nhà khoa học nghiên cứu và sử dụng trong quá trình khai phá tri thức từ dữ liệu Dữ liệu thực tế thường không đầy đủ, dư thừa, hoặc
Trang 13không chính xác, gây ảnh hưởng không tốt đến quá trình khai phá dữ liệu Ý tưởng “rút gọn” trong lý thuyết tập thô được sử dụng cho phép loại bỏ những thông tin dư thừa mà vẫn giữ được đầy đủ ý nghĩa của tập dữ liệu đang xét, mục tiêu chính là lựa chọn các thuộc tính cốt yếu và cần thiết trong cơ sở dữ liệu Dựa vào đó, việc phát hiện luật vẫn đạt hiệu quả cao nhất mà chỉ cần sử dụng tập con của tập thuộc tính điều kiện thay vì toàn bộ tập thuộc tính điều
kiện
1.4 ĐÁNH GIÁ LUẬT
Một vấn đề đáng quan tâm của quá trình phát sinh luật kết hợp là số lượng luật kết hợp tìm được thường khá lớn, gây khó khăn trong việc xác định luật nào thực sự hữu ích và đáng tin cậy Một giải pháp cho vấn đề này là sử dụng các độ đo hữu ích (Interesting Measures)[11] như độ tin cậy, độ hỗ trợ, Lift,
2
χ , Laplace, Conviction,… Độ đo sự hữu ích của luật được chia làm hai loại chính: độ đo khách quan (Object Measure) – là độ đo tùy thuộc vào cấu trúc của mô hình và dữ liệu sẵn có trong quá trình phát hiện luật, độ đo chủ quan (Subject Measure) – là độ đo tùy thuộc vào sự chọn lựa mô hình do người sử dụng quyết định
Nhóm tác giả Jiye Li cũng đã đề xuất một số độ đo dựa vào lý thuyết tập thô: độ đo Tầm quan trọng của luật (Rule Importance Measure - RIM)[6] là độ
đo khách quan được định nghĩa tương tự độ đo hữu ích dùng để đánh giá mức
độ quan trọng của luật, độ đo Xem luật như thuộc tính (Rule-as-Attribute Measure - RAM)[7] cũng là độ đo khách quan dùng để chọn ra những luật quan trọng nhất từ tập luật, và độ đo Tầm quan trọng cải tiến (Enhanced Rule Importance Measure - ERIM)[9] là sự kết hợp hai độ đo chủ quan và khách quan được định nghĩa dựa vào trọng số của các thuộc tính điều kiện
Trong luận văn này, tôi có nhận xét về hạn chế của độ đo ERIM và đề xuất
2 độ đo mới: độ đo WAERIM (Weight Average Based Enhanced Rule Importance Measure) và độ đo AIERIM (Attributes Importance Degree Based Rule Importance Measure) Tiếp theo, tôi so sánh khả năng đánh giá luật giữa 2
độ đo luận văn đề xuất với các độ đo hữu ích và với các độ đo mà nhóm tác giả
Trang 14Jiye Li đã đề xuất bằng các ứng dụng thực tế trên các nguồn dữ liệu từ UCI và trên nguồn dữ liệu cho vay ngân hàng (BankLoan)
1.5 TÓM LẠI
Luận văn giới thiệu các cách tiếp cận để đánh giá luật kết hợp dựa trên cơ
sở lý thuyết tập thô: độ đo RIM, độ đo RAM, độ đo ERIM, độ đo WAERIM,
độ đo AIERIM và chứng minh hiệu quả đánh giá luật của các độ đo này bằng ứng dụng thực tế
Các phần tiếp theo của luận văn được tổ chức như sau:
Chương 2: Kiến thức nền tảng về lý thuyết tập thô và kiến thức cơ bản về luật kết hợp, ứng dụng lý thuyết tập thô vào quá trình phát sinh luật
Chương 3: Các phương pháp đánh giá luật sử dụng các độ đo, giới thiệu một số độ đo dựa trên cơ sở lý thuyết tập thô và đề xuất hai độ đo mới
Chương 4: Cài đặt các độ đo, dùng các nguồn dữ liệu thực tế để so sánh khả năng đánh giá luật giữa các độ đo này
Cuối cùng là phần Kết luận và hướng phát triển trong tương lai
Trang 15Chương 2 KIẾN THỨC CƠ BẢN
2.1 LÝ THUYẾT TẬP THÔ
Lý thuyết tập thô(Rough Set Theory) được phát triển bởi Zdzislaw Pawlak[12] vào đầu những năm 1980 được xem như một cách tiếp cận mới để phát hiện tri thức và nó tạo thành một cơ sở vững chắc cho các ứng dụng khai phá dữ liệu, vấn đề nỗi bật của lý thuyết tập thô là việc đưa ra ý tưởng để giải quyết tính mơ hồ và không chắc chắn của hệ thông tin Thêm vào đó, việc sử dụng rút gọn (Reduct) thay vì toàn bộ tập thuộc tính điều kiện trong quá trình khai phá dữ liệu đã loại bỏ được những thông tin dư thừa, thiếu chính xác Rút gọn chính là tập các thuộc tính quan trọng và cần thiết nhất trong CSDL, do đó việc tìm các rút gọn hoàn toàn tự nhiên và cần thiết Chương này trình bày về các khái niệm trong lý thuyết tập thô và các thuật toán tìm các rút gọn và lõi
x( ) ∈ là giá trị thuộc tính a của đối tương x
Trang 16Xem ví dụ đơn giản về hệ thông tin trong Bảng 2.1, ta có tập vũ trụ
} , , , ,
Attributes) Trong một số trường hợp, người ta ký hiệu T = (C,D)
Bảng 2.2 Một ví dụ về Bảng quyết định Bảng quyết định trong Bảng 2.2 tương tự như Bảng 2.1, nhưng thêm vào
thuộc tính “Cúm” với V cúm = {Có, Không} Tập thuộc tính A={Đau đầu, Đau
cơ , Thân nhiệt, Cúm}, trong đó tập thuộc tính điều kiện C = {Đau đầu, Đau cơ,
Thân nhiệt } và tập thuộc tính quyết định D = {Cúm}
2.1.1.3 Quan hệ không phân biệt được
Quan hệ không phân biệt được (Indiscernibility Relation): Hệ thống
thông tin T = (U,A=C∪D), với mỗi tập B⊆ A xác định một quan hệ không
phân biệt được IND (B) được định nghĩa như sau:
{( , ) | , ( ) ( )}
)(B x y U U a B a x a y
Trang 17Ví dụ : Xét Bảng 2.2 minh họa cho quan hệ không phân biệt được Nhận
thấy các bệnh nhân u 2 , u 3 , u 5 không phân biệt được với thuộc tính “Đau đầu”, bệnh nhân u 2 , u 5 không phân biệt được với thuộc tính “Đau đầu”, “Đau cơ”… U/IND({Đau đầu}) = {{u 2 , u 3 , u 5 }, {u 1 , u 4 , u 6}}
U/IND({Đau đầu, Đau cơ}) = {{u 1 , u 4 , u 6 }, {u 2 , u 5 }, {u 3}}
U/IND({Đau đầu, Đau cơ, Thân nhiệt}) = {{u 1 }, {u 2 , u 5 }, {u 3 }, {u 4 }, {u 6}}
U/IND({Cúm}) = {{u 1 , u 2 , u 3 , u 6 }, {u 4 , u 5}}
2.1.1.4 Xấp xỉ
Xem từ Bảng 2.2 ta nhận thấy rằng khái niệm Cúm hay Không cúm không thể định nghĩa được với các thuộc tính “Đau đầu”, “Đau cơ”, “Nhiệt độ” Vì bệnh nhân u 2 và u 5 có cùng các triệu chứng, tức là có cùng giá trị các thuộc tính điều kiện “Đau đầu”, “Đau cơ”, “Nhiệt độ” nhưng bệnh nhân u2 bị cúm còn u 5
thì không Bởi vậy, lý thuyết tập thô đưa ra định nghĩa hai tập, gọi là xấp xỉ
dưới và xấp xỉ trên Xấp xỉ dưới (Lower Approximation) trong trường hợp
Bảng 2.2 là tập tất cả các bệnh nhân có thể phân biệt được bệnh cúm rõ ràng, xấp xỉ trên (Upper Approximation) là tập các bệnh nhân không thể phân biệt được bệnh cúm
Cho bảng quyết định T = (U,A=C∪D)và B⊆ ,A X ⊆U Xấp xỉ dưới và
xấp xỉ trên của tập X tương ứng với B, ký hiệu theo thứ tự là B Xvà B Xđược định nghĩa như sau:
}]
[
|{x U x X X
} ]
với [x] B là lớp tương đương chứa phần tử x của quan hệ IND(B)
Rõ ràng B X ⊆ X ⊆ B X Tập BN B(X) = B X \B X được gọi là B-miền biên của X, là các đối tượng không thể quyết định thuộc về X hay không khi dựa trên các thuộc tính của B Còn tập U \B X là B-miền ngoài của X, là các đối tượng không thuộc về X dựa trên các thuộc tính của B
Trang 18) ( B X Q
POS
Q IND X B
u∈ B nếu và chỉ nếu u(B) =v(B) kéo theo u(Q) =v(Q) với mọi v∈U
Ví dụ: Xét bảng quyết định cho trong Bảng 2.2, với X= {x | Cúm(x) = Có}
POS C (D)=C X Có∪C X Không = {u 1 , u 3 , u 6}∪{u 4 }={u 1 , u 3 , u 4 , u 6 }
2.1.1.6 Thuộc tính cần thiết và không cần thiết
Định nghĩa 1 Một thuộc tính c j ∈C được gọi là không cần thiết (Dispensable) trong T nếu:
)()
(D POS \{ } D POS
j
C C
Định nghĩa 2 Một thuộc tính c j ∈C được gọi là cần thiết (Indispensable) trong T nếu:
)()
(D POS \{ } D POS
j
c C
Ví dụ: Xét bảng quyết định T cho trong Bảng 2.2, ta có:
=)
(D
POS C C X Có∪C X Không = {u 1 , u 3 , u 6}∪{u 4 }={u 1 , u 3 , u 4 , u 6}
POS C\{Đau đầu} (D)= {u 1 , u 3 , u 6}∪{u 4 }={u 1 , u 3 , u 4 , u 6}
POS C\{Đau cơ} (D)= {u 1 , u 3 , u 6}∪{u 4 }={u 1 , u 3 , u 4 , u 6}
POS C\{Thân Nhiệt} (D)= {u 3}∪φ={u 3}
Vậy ta có thể kết luận:
Trang 19Thuộc tính “Đau đầu”, “Đau cơ” không cần thiết trong T
Thuộc tính “Thân nhiệt” cần thiết trong T
2.1.1.7 Mức độ phụ thuộc liên quan
Với bảng quyết định T = (U,C∪D), mức độ phụ thuộc liên quan (Relative Dependency) của D trên B ( B⊆C) được định nghĩa như sau:
U
D POS D
B
)()
( =
=γ
Nếu k = 1: D phụ thuộc hoàn toàn vào B
Nếu k < 1: D phụ thuộc một phần vào B (phụ thuộc mức độ k)
2.1.1.8 Rút gọn và lõi
Định nghĩa 1 Tập thuộc tính F∈C được gọi là một phân biệt (Discern)
của C nếu và chỉ nếu thỏa điều kiện:
)()
(D POS D
Định nghĩa 2 Một phân biệt R được gọi là một rút gọn (reduct) của C nếu
và chỉ nếu thỏa điều kiện:
)()
(,POS D POS D R
Hiển nhiên một tập thuộc tính điều kiện có ít nhất một rút gọn Tập tất cả
các rút gọn của C ký hiệu RED(C)
Có thể nói, nếu F là một phân biệt thì ∃R∈RED (C) và R⊆ F
Định nghĩa 3 Giao của tất cả các rút gọn được gọi là lõi (core), ký hiệu
CORE(C)
I
) (
)(
C RED R R C
Trang 20POS {Đau cơ} (D) =φ ≠ POS C (D)
POS {Thân Nhiệt} (D) = {u 3 , u 4 , u 6} ≠ POS C (D)
Suy ra {Đau cơ, Thân Nhiệt} là một rút gọn của C Tương tự, ta cũng có
R 2 ={Đau đầu, Thân nhiệt} là một rút gọn của C
Vậy C có hai rút gọn R 1 , R 2
Lõi của C: CORE(C)=R1∩R2= {Thân nhiệt}
Định nghĩa 4 Một thuộc tính c j∈C được gọi là thuộc tính rút gọn nếu nó
là một phần tử của rút gọn
Ví dụ: Với các rút gọn tìm được trong ví dụ trên, “Đau cơ” và “Đau đầu” là
hai thuộc tính rút gọn Theo lý thuyết tập thô, dựa trên bảng quyết định trong
Bảng2.2 , để có được mô hình phân lớp tốt cho thuộc tính “Cúm”, chúng ta cần thông tin của thuộc tính “Thân nhiệt” cùng với thông tin của thuộc tính “Đau
đầu ” hoặc “Đau cơ”, hai thuộc tính “Đau đầu” và “Đau cơ” không cần thiết
trong cùng một lúc
Nhận xét: Rút gọn và lõi là hai khái niệm quan trọng trong lý thuyết tập
thô, một rút gọn là tập con của tập thuộc tính điều kiện, tìm được bằng cách loại bỏ đi các thuộc tính thừa mà không làm mất đi sức mạnh phân loại của
bảng quyết định, hay nói cách khác rút gọn là tập thuộc tính điều kiện cực tiểu có khả năng quyết định giống như toàn tập thuộc tính điều kiện Thuật
toán tìm các rút gọn và lõi sẽ được trình bày cụ thể trong phần kế tiếp
2.1.1.9 Ma trận khả phân
Giả sử tập vũ trụ U ={u1,u2, ,u n} Ma trận khả phân (hay ma trận phân
biệt được ) của T, ký hiệu D Dis = (m ij)n×n là một ma trận đối xứng mà mỗi phần
tử của nó là một tập hợp các thuộc tính, được xác định như sau:
|
) ( ) (
c u c u C c
D u D u m
j i
j i
Trang 21đối với thuộc đó Nếu m ij =φ thì bảng quyết định là không nhất quán (có hai đối tượng ui và u j bằng nhau trên C nhưng khác nhau trên D) Giá trị λ hàm ý
rằng cặp đối tượng u i và u j không phân biệt trên tập thuộc tính quyết định
Nếu R là một rút gọn thì với mỗi a,b∈R ta có Dis({a})≠Dis({b}).
Ví dụ: Xét bảng quyết định trong Bảng 2.2, ma trận khả phân trong Bảng
2.3, trong đó Các ký hiệu Đ, C, N tượng trưng tương ứng cho các thuộc tính
“Đau đầu”, “Đau cơ”, “Thân nhiệt”
Từ ma trận phân biệt được trong Bảng 2.3, ta có thể kết luận bảng quyết
định cho trong Bảng 2.2 là không nhất quán, vì m25 =φ
“Kinh nghiệm”, “Tiếng Anh”, “Lời giới thiệu" Dựa vào ma trận khả phân (Bảng 2.5) ta có thể kết luận bảng quyết định trong Bảng 2.4 là nhất quán
Trang 22f = 1∧ 2 ∧
với f i ={∨ c|c∈m ij,m ij ≠λ}
Ví dụ: Hàm khả phân tương ứng với ma trận khả phân trong Bảng 2.5
) (
) ( ) (
Trang 23một bài toán với độ phức tạp là NP-khó, bởi vì thời gian tính toán các rút gọn tăng theo hàm mũ với số lượng các thuộc tính
Thuật toán mà luận văn sử dụng để tìm tất cả các rút gọn là thuật giải di truyền A.Ohrn[3] đã sử dụng một thuật giải di truyền tìm các rút gọn được Wroblewski[8] đề xuất để tích hợp vào bộ công cụ ROSETTA– đây là bộ công
cụ được sử dụng trong nhiều các ứng dụng phân tích dữ liệu với những hiệu quả đáng khích lệ
2.1.2.1 Hitting Set
Cho tập hợp S ={S i,i∈N}là tập các phần tử có được từ vũ trụ U, một
hitting set là tập H ⊆U sao cho H∩S i ≠φ với ∀i Nếu loại bỏ bất kỳ nguyên
tử (element) nào trong H đều làm H không còn là hitting set nữa, khi đó H là
minimal hitting set
HS(S) là tập tất cả các hitting set có được từ S và MHS(S) là tập tất cả các
minimal hitting set
Ví dụ: Cho tập S gồm các phần tử như sau:
S = {S1= {1, 2, 3, 4}, S2 = {1, 2, 4}, S3 = {1, 2}, S4 = {2, 3}, S5 = {4}}
=> MHS(S) = {H1={1, 3, 4}, H2={2, 4}}
Việc tìm minimal hiting set ở ví dụ này có thể xem như là vấn đề của giáo viên và lớp học Có tất cả 5 lớp học {S1, S2, S3, S4, S5} và 4 giáo viên 1, 2, 3, 4 Giáo viên 1, 2, 3, 4 có thể dạy lớp S1, giáo viên 1, 2, 4 có thể dạy lớp S2, giáo viên 1, 2 có thể dạy lớp S3, Ta muốn tìm số giáo viên ít nhất mà có thể dạy tất
cả các lớp, đó chính là tìm minimal hitting set, ở ví dụ này ta thu được tập MHS(S) gồm 2 minimal hiting set
2.1.2.2 Rút gọn và Hiting set
Rút gọn là tập thuộc tính nhỏ nhất có khả năng quyết định giống như toàn
bộ tập thuộc tính điều kiện C, nói cách khác rút gọn R là tập các thuộc tính nhỏ
nhất mà hai đối tượng bất kỳ trong bảng quyết định nếu phân biệt được dựa vào
C+D thì cũng phân biệt được dựa vào R+D Với ma trận khả phân, việc tìm rút
Trang 24gọn chính là tìm tập thuộc tính nhỏ nhất R mà giao của R với từng phần tử
(khácλ và khácφ) trong ma trận khả phân đều khác rỗng
Như vậy, vấn đề tìm các rút gọn dễ dàng chuyển thành vấn đề tìm các
minimal hitting set với tập tập S chính là các phần tử (khácλ và khácφ) trong
ma trận khả phân
2.1.2.3 Tìm Minimal Hitting Set với thuật giải di truyền
Thuật giải di truyền (Genetic Algorithm-GA) là kỹ thuật giúp giải quyết vấn
đề bằng cách mô phỏng sự tiến hóa của con người hay của sinh vật nói chung (dựa trên thuyết tiến hóa muôn loài của Darwin) trong điều kiện qui định sẵn của môi trường, mục tiêu của GA không nhằm đưa ra lời giải chính xác tối ưu
mà đưa ra lời giải tương đối tối ưu
Để tìm minimal hitting set bằng thuật giải di truyền chúng ta sử dụng chuỗi nhị phân để biểu diễn các phần tử (cá thể), mỗi chuỗi nhị phân được xem là nhiễm sắc thể (chromosome) tương ứng với một cá thể, mỗi bit ứng với mỗi element được xem là gen (genome) và tập hợp các cá thể được xem là quần thể (population)
Chẳng hạn, các phần tử và các minimal hiting set trong ví dụ phần 2.1.2.1
có thể được mã hóa thành các nhiễm sắc thể như sau:
Các toán tử di truyền được sử dụng để tìm các minimal hiting set bao gồm: lai ghép (crossover), đột biến (mutation), chọn lọc (selection), nghịch chuyển (inversion) và tồn tại (obtain)
Toán tử lai ghép: Giả sử có hai nhiễm sắc thể S1 ={s11,s12, ,s1n} và
}, ,,
, ,,
}, ,,
, ,,
Trang 25Toán tử đột biến: Giả sử có nhiễm sắc thể S1 ={s11,s12, ,s1n}, chọn một số ngẫu nhiên r∈( n0 , ], S3 là nhiễm sắc thể đột biến của S1:
}, ,,
1,,
,, ,,
,, ,,
, ,,
{ 11 12 1 1, 1, 1 1, 1
Toán tử chọn lọc: Giả sử có m cá thể trong quần thể, ta muốn chọn ra [m/2] cá
thể và loại bỏ các cá thể còn lại, các cá thể được chọn phải đảm bảo độ thích nghi “fitness” Hàm thích nghi (fitness function) trong thuật giải di truyền tìm các minimal hitting set phụ thuộc vào 2 yếu tố: số lượng các element trong cá thể (càng ít càng tốt) và số lượng tập giao khác rỗng của cá thể với các phần tử
trong tập S - tập cần tìm các minimal hitting set (càng nhiều càng tốt) Hàm
thích nghi được định nghĩa như sau:
S
S B S S C
B C B
Toán tử tồn tại: Giả sử tồn tại tập S i∈S chỉ có 1 element (card(S i)=1), khi
đó tất cả các hiting set cần phải chứa element này, nghĩa là gen của các nhiễm sắc thể ứng với element này phải luôn luôn bằng 1, ta gọi toán tử này là
“obtain”
Thuật giải GA tìm các minimal hitting set[8]
Bước 1 Phát sinh ngẫu nhiên k* S *S i nhiễm sắc thể để tạo thành quần
thể ban đầu, với k là một hằng số
Bước 2 Kiểm tra xem có điều kiện dừng nào thỏa mãn hay không? nếu có
thì dừng quá trình Ở thuật toán này, điều kiện dừng là số thế hệ vượt
ngưỡng cho phép T
Bước 3 Sử dụng toán tử chọn lọc để chọn lựa những cá thể tốt, loại bỏ
những cá thể xấu từ quần thể
Trang 26Bước 4 Sử dụng các toán tử lai ghép, đột biến, nghịch chuyển và tồn tại để
tạo các nhiễm sắc thể con
Bước 5 Kết hợp các nhiễm sắc thể con với quần thể hiện tại để tạo quần thể
mới bằng toán tử chọn lọc
Bước 6 Quay lại bước 2
Thuật toán này có độ phức tạp là O(n|Si|)
2.1.3 Thuật toán tìm rút gọn tối ưu
Trong rất nhiều ứng dụng, không cần thiết phải tìm tất cả các rút gọn mà chỉ cần một rút gọn là đủ Luận văn sử dụng thuật toán loại trừ ngược heuristic[13]
dựa vào số lượng các giá trị của thuộc tính điều kiện – được gọi là card, từ các
ví dụ thực tế nhóm tác giả [13] đã có nhận xét rằng thuộc tính có giá trị card
càng lớn thì càng càng thiết Khởi gán R = C, tại mỗi bước lặp chọn thuộc tính R
q∈ có giá trị card là thấp nhất và loại q ra khỏi R cho đến khi R là một rút
gọn Bằng cách tiếp cận này ta có thuật toán heuristic mới tìm rút gọn tối ưu như sau:
Input: Bảng quyết định nhất quán T = (C,D)
return R
}
Trang 272.1.4 Tập thô và rời rạc hóa dữ liệu
2.1.4.1 Giới thiệu
Rời rạc hoá dữ liệu là quá trình tiền xử lý dữ liệu có vai trò quan trọng trong lĩnh vực khai phá dữ liệu Đây là quá trình ánh xạ các giá trị số liên tục vào các giá trị khoảng nhất định để tăng độ tổng quát của thông tin, đơn giản hoá việc biểu diễn cũng như xử lý trên các giá trị số tạo điều kiện thuận lợi cho quá trình tìm kiếm tri thức Đã có rất nhiều thuật toán được sử dụng trong rời rạc hoá dữ liệu như: thuật toán rời rạc hoá theo khoảng cách, thuật toán đơn giản, các thuật toán dựa trên tiêu chuẩn thống kê , tuy nhiên không có một thuật toán nào được xem là tối ưu và hiệu quả nhất Việc lựa chọn thuật toán vẫn còn phụ thuộc vào dạng dữ liệu mà chúng ta cần xử lý
Ở đây luận văn tìm hiểu thuật toán sử dụng suy diễn nhị phân theo cách tiếp cận thô do nhóm tác giả Nguyễn Hùng Sơn[10], thuật toán đã được thử nghiệm
và tích hợp vào bộ công cụ ROSETTA, việc thử nghiệm này cho các kết quả rất khả quan
2.1.4.2 Tập thô và bài toán rời rạc hóa dữ liệu
Rời rạc hoá dữ liệu được hiểu là một hàm số: Q:V a →C a với Va là miền
giá trị của thuộc tính a cần rời rạc hoá và C a là bộ giá trị rời rạc mà thuộc tính a
có thể nhận được sau khi tiến hành rời rạc hoá Với mỗi giá trị v∈V a, hàm rời rạc hoá sẽ gán cho nó một nhãn c∈C a tương ứng, nhãn c sẽ được sử dụng thay cho các giá trị thực v của dữ liệu trong quá trình phân tích
Bài toán rời rạc hoá dữ liệu được phát biểu theo lý thuyết tập thô như sau:
Với bảng quyết định nhất quán T = (U,C∪D) và tập vũ trụ U = {x1, x2, ,
xn}, giả sử mọi thuộc tính a∈C là liên tục với V a là miền giá trị của thuộc tính
a: Va =[la ,ra )⊂ R và D là thuộc tính phân lớp
Ta tiến hành rời rạc hóa thuộc tính a, nghĩa là phân hoạch V a thành các khoảng như sau:
Trang 28{ [ 0 , 1), ,[ , 1), ,[ , 1 )}
a k a k a i
a i a a
a a
a a
p0 < 1 < <
với k là số giá trị sau khi rời rạc hoá
Mỗi phân hoạch P a được xác định duy nhất nhờ một tập các điểm cắt trên
V a : { p a 1 , p a 2 , , p a k } Khi tập cắt rỗng thì số khoảng trong P a là 1
Rời rạc hóa dữ liệu chính là quá trình xác định tập các điểm cắt c a, xét đến
cùng là việc tìm kiếm một tập k giá trị thuộc một miền V a sao cho việc phân
hoạch các giá trị của thuộc tính a theo tập các điểm cắt ấy là tốt Đối với bài
toán phân lớp, một quá trình rời rạc hoá được coi là tốt khi nó không làm thay đổi các kết quả phân lớp của tập mẫu, tức là không làm thay đổi độ nhất quán của bảng quyết định
Việc tìm kiếm nói trên không thể tiến hành một cách vét cạn vì miền trị của thuộc tính là vô hạn, do đó ta phải tiến hành tìm kiếm thông minh Từ trước tới nay, các thuật toán rời rạc hoá dữ liệu đều có bản chất là đưa ra một mẹo giải cho bài toán tìm kiếm này Phần dưới đây trình bày chi tiết thuật toán rời rạc hóa sử dụng suy diễn nhị phân (Boolean Reasoning) theo cách tiếp cận thô
2.1.4.3 Thuật toán rời rạc hóa dữ liệu sử dụng suy diễn nhị phân theo cách tiếp cận thô
Xét bảng quyết định T = (U,C∪D), với mỗi thuộc tính a∈C có miền trị V a
= [v a , w a ), bây giờ ta tiến hành tìm phân hoạch P a
Ví dụ Xét một bảng quyết định cho trong Bảng 2.6 với hai thuộc tính điều
kiện a và b và bảy đối tượng x 1 , , x 7
Trang 29Tập những giá trị có thể có của hai thuộc tính a và b được định nghĩa bởi:
trên Cụ thể các điểm cắt được biểu diễn trong Hình 2.1
(a, 0.9); (a, 1.15); (a, 1.35); (a, 1.5); (b, 0.75); (b, 1.5); (b, 2.5)
Hình 2.1 Tập các điểm cắt trên thuộc tính a
Ứng với mỗi thuộc tính điều kiện a bất kỳ, một tập các vết cắt P bất kỳ sẽ định nghĩa một thuộc tính điều kiện mới aP , các giá trị thuộc tính mới a P sẽ được gán tương ứng với các giá trị của thuộc tính a dựa và tập các điểm cắt P
Chẳng hạn, với tập các điểm cắt P = {(a, 0.9), (a, 1.5), (b, 0.75), (b, 1.5)} cho bảng quyết định trong Bảng 2.6(i), nếu a <0.9 thì a P = 0, nếu a ∈[0.9, 1.5) thì
a P = 1, và nếu a >= 1.5 thì a P = 2; tương tự cho thuộc tính b P Một bảng quyết định mới với 2 thuộc tính điều kiện aP , b P được trình bày trong Bảng 2.6(ii)
Mục tiêu mà suy diễn nhị phân muốn hướng tới trong việc rời rạc hóa dữ liệu là bằng cách nào để xây dựng một tập nhỏ nhất các điểm cắt mà không làm mất đi khả năng phân biệt của các cặp đối tượng phân biệt nhau trong tập mẫu?
1
a a
Trang 30Quá trình rời rạc hóa sử dụng suy diễn nhị phân tiến hành theo các bước sau:
Bước 1 Định nghĩa tập các biến nhị phân:
} , , , , , , { ) ( 1a 2a 3a 4a 1b 2b 3b
p p p p p p p U
p3 tương ứng với khoảng [2, 3) của b
Bước 2 Xây dựng bảng quyết định mới ∗
T với các thuộc tính điều kiện là các biến nhị phân tìm được trong bước 1 Các đối tượng trong ∗
T là các cặp đối
tượng phân biệt được (x i , x j ) dựa vào thuộc tính D trong T, giá trị các đối tượng
này tại các thuộc tính trong ∗
T được xác định dựa trên công thức khả phân:
b b a
p p p x
x1, 2) 1 1 2( = ∨ ∨
ψ
b a a
p p p x
x1, 3) 1 2 3
ψ
a a a
p p p x
x1, 5) 1 2 3
ψ
b a a
p p p x
x4, 2) 2 3 1
ψ
b b a
p p p x
x4, 5) 2
ψ
b b b a a
p x
x6, 3) 3 4
ψ
b a
p p x
x6, 5) 4 3
ψ
b a
p p x
x7, 2) 2 1
ψ
b b
p p x
x7, 3) 2 3
ψ
b a
p p x
x7, 5) 3 2
ψ
Trang 31Công thức khả phân ψ(x i,x j)dùng để phân biệt đối tượng x i , x j Chẳng
p p x
T được xây dựng trong Bảng 2.7
Bước 3 Sử dụng thuật toán MD-Heuristic để tìm tập điểm cắt P nhỏ nhất
mà không làm thay đổi khả năng phân biệt của các cặp đối tượng T Ý tưởng
của thuật toán này là tìm một điểm cắt sao cho số lượng các cặp đối tượng phân biệt được bằng điểm cắt này là lớn nhất
U* p1a p2a p3a p4a p1b p2b p3b D*
(x1, x2) 1 0 0 0 1 1 0 1 (x1, x3) 1 1 0 0 0 0 1 1 (x1, x5) 1 1 1 0 0 0 0 1 (x4, x2) 0 1 1 0 1 0 0 1 (x4, x3) 0 0 1 0 0 1 1 1 (x4, x5) 0 0 0 0 0 1 0 1 (x6, x2) 0 1 1 1 1 1 1 1 (x6, x3) 0 0 1 1 0 0 0 1 (x6, x5) 0 0 0 1 0 0 1 1 (x7, x2) 0 1 0 0 1 0 0 1 (x7, x3) 0 0 0 0 0 1 0 1 (x7, x5) 0 0 1 0 0 1 0 1
Bảng 2.7 Bảng quyết định mới T ∗
Thuật toán MD-Heuristic:
(i) Tạo T * từ T, và gán B = T *
(ii) Chọn một cột trong B có giá trị 1 xuất hiện nhiều nhất
(iii) Xoá cột vừa chọn và các dòng có giá trị 1 tương ứng với cột vừa xoá
(iv) Nếu B≠Ø thì quay lại (ii)
Áp dụng Thuật toán MD-Heuristic cho bảng quyết định mới T * trong
Bảng2.7 , ta có thu được tập nhỏ nhất các cột trong T *theo thứ tự p2b, p2a, p4a
Kết quả thu được tập các điểm cắt cực tiểu là:
Trang 32P = {(a, 1.15), (a, 1.5), (b, 1.5)}
Các điểm cắt này được vẽ minh họa trong Hình 2.2
Hình 2.2 Tập các điểm cắt cực tiểu Kết quả rời rạc hóa tập dữ liệu mẫu với tập các điểm cắt cực tiểu (Bảng
Trang 332.2 PHÁT SINH LUẬT KẾT HỢP
2.2.1 Giới thiệu
Lĩnh vực khai thác luật kết hợp cho đến nay đã được nghiên cứu và phát triển theo nhiều hướng khác nhau Có khá nhiều thuật toán được phát triển nhằm làm tăng hiệu quả khai thác luật kết hợp, cải tiến tốc độ thuật toán hay nhằm tìm ra những luật kết hợp có ý nghĩa hơn như: họ thuật toán Apriori, họ thuật toán FP-tree, thuật toán IT-tree… Tuy các thuật toán này có khác nhau về hướng tiếp cận nhưng có điểm chung là chia bài toán khai thác luật kết hợp thành hai giai đoạn:
Giai đoạn 1: Tìm tất cả các tập phổ biến
Giai đoạn 2: Khai thác luật kết hợp từ chúng
2.2.2 Khai thác tập phổ biến
2.2.2.1 Các định nghĩa[1]
1 Dữ liệu giao dịch
Cho I ={i1,i2, ,i n}là tập tất cả các mặt hàng (item) T ={t1,t2, ,t m} là tập tất cả các giao dịch trong cơ sở dữ liệu giao dịch D, mỗi giao dịch được phân biệt bởi định danh Tid Cơ sở dữ liệu D được cho là quan hệ nhị phân (hai ngôi) δ trên I và T hay δ ⊆I×T Nếu giao dịch t có chứa item i thì ta viết
Ví dụ xét cơ sở dữ liệu dạng giao dịch: với I = {A, B, C, D, E}, T = {1, 2, 3,
4 , 5, 6} và thông tin về các giao dịch được cho trong Bảng 2.9 Trong bảng
này, giao dịch thứ Tid = 1 có thể được biểu diễn bằng quan hệ hai ngôi như
sau: {Aδ 1 , Bδ1 , Dδ 1 , Eδ 1}
2 Itemset và Tidset
Itemset là tập các hạng mục (item) thuộc I
Tidset là tập các định danh (id) thuộc T
Trang 34Định danh giao dịch (Tid) Nội dung giao dịch
Độ phổ biến: Cho cơ sở dữ liệu giao dịch D và itemset X ⊆ I Độ phổ biến
của X trong D, ký hiệu s(X), được định nghĩa là phần trăm số giao dịch mà X
xuất hiện trong D trên tổng số giao dịch trong cơ sở dữ liệu D,
%)(
)(
)
(
D Card
X Card
X
Tập phổ biến (Frequent Itemset): Cho itemset X ⊆ I và ngưỡng phổ biến
tối thiểu minSupp (minSupp là giá trị do người dùng chỉ định) Itemset X được xem là tập phổ biến theo ngưỡng minSupp nếu s(X)≥minSupp
Ví dụ: Với cơ sở dữ liệu giao dịch cho trong Bảng 2.9, và giá trị ngưỡng
minSupp =50% Các tập phổ biến tìm được với ngưỡng minSupp được liệt kê trong Bảng 2.10:
E, BE 83%(5/6)
A, C, D, AB, AE, BC, BD, ABE 67%(4/6)
AD, CE, DE, ABD, ADE, BCE, BDE, ABDE 50%(3/6)
Bảng 2.10 Một ví dụ về tập phổ biến
Các tính chất của tập phổ biến:
(1) Nếu X phổ biến thì mọi Y ⊂ X cũng phổ biến
(2) Nếu X không phổ biến thì mọi Y ⊃ Xcũng không phổ biến
Trang 35Ví dụ: Xét tập phổ biến X=ABDE trong ví dụ trên, tất cả các tập con của X
là: {A, B, D, E, AB, AD, AE, BD, BE, DE, ABD, ABE, BDE} cũng là các tập phổ biến
IT-pair (Itemset-Tidset pair): là một itemset X và tập các giao dịch t(X)
chứa X, ký hiệu X×t (X)
Ví dụ: Xét CSDL trong Bảng 2.9, ta có các cặp IT-pair sau:
45 )
AC
135 )
t
2.2.2.2 Khai thác tập phổ biến dùng cây IT-Tree[1]
Cấu trúc cây tìm kiếm IT-Tree: Gọi I là tập các hạng mục và itemset
Định nghĩa trên có nghĩa: hai itemset X và Y có cùng lớp tương đương nếu
và chỉ nếu chúng có cùng k phần tử đầu tiên
Cây IT-tree của cơ sở dữ liệu trong Bảng 2.9 được xây dựng trong Hình 2.3
Mỗi nút trong cây tìm kiếm IT-Tree này đại diện cho một cặp IT-pair X ×t (X),
thực tế nó là một lớp tiền tố Tất cả các nút của nút X thuộc về lớp tương đương của nó vì chúng có cùng chung tiền tố X
Lớp tương đương:
Một lớp tương đương được ký hiệu là [P] với [P]={l1,l2, ,l n} Trong đó P
là nút cha (tiền tố) và mỗi nút l i là một item đơn, đại diện cho nút Pl i×t(Pl i)
Chẳng hạn trong Hình 2.3, nút gốc của cây tương ứng với lớp []={A,B,C,D,E},
nút trái cuối của nút gốc bao gồm lớp [A] chứa tất cả các itemset có A là tiền
tố, nghĩa là tập {B, C, D, E} Tương tự, các nút con còn lại của nút gốc là các lớp [B]={C, D, E}, lớp [C]={D, E}, lớp [D]={E}, lớp E={}…
Trang 36Hình 2.3 Cây tìm kiếm IT-tree Như vậy, rõ ràng rằng mỗi thành viên của một lớp đại diện cho một nút con của nút cha Một lớp là tập các item mà tiền tố có thể kết hợp với các item này
để mở rộng thành một nút mới, ta nhận thấy không có cây con nào là con của tiền tố mà không được duyệt cả
Sức mạnh của cách tiếp cận lớp tương đương là chia không gian tìm kiếm đầu tiên thành các vấn đề con, độc lập Với mỗi nút con X của nút gốc có thể được giải quyết như một vấn đề hoàn toàn mới, ta có thể liệt kê dễ dàng các nút
con của X với tiền tố là X
Thuật toán khai thác tập phổ biến
Thuật toán phát sinh tập phổ biến với ngưỡng minSupp dựa vào cây tìm
kiếm IT-Tree và lớp tương đương được xây dựng trên ý tưởng: Cho trước lớp
gồm các itemset với tiền tố P, P={l1,l2, l n}, ta tiến hành tính toán giao của
)
(Pl i
t và t(Pl j) với j>i để tìm lớp các mở rộng phổ biến mới [Pl i ]={ l j | j>i
và s(Pl i l j) >minSupp} Chẳng hạn, từ nút gốc []={A, B, C, D, E} với
minSupp=50% ta thu được các lớp [A]={B, D, E}, lớp [A] không chứa C vì AC không phổ biến Tương tự, ta có lớp [B]={C, D, E}, lớp [C]={D, E}, lớp D={E} và lớp E={}…
{}x123456
ABCx45 ABDx135 ABEx1345
ABCDx5 ABCEx45
ABCDEx5
ACDx5 ACEx45
ACDEx5 ABDEx135
BCDx56 BCEx245 BDEx135
BCDEx5
CDEx5 ADEx35
DEx135
Trang 37Input: Lớp tương đương [P] ban đầu chứa tất cả các tập phổ biến 1-itemset
và ngưỡng phổ biến minSupp
Output: Tập tất cả các tập phổ biến thỏa ngưỡng minSupp
for (mỗi itemset l j∈[P] with j >i) {
} Generare_Frequents ([P i ], minSupp)
}
}
Ví dụ: Với cơ sở dữ liệu trong Bảng 2.9, cây tìm kiếm minh họa cho quá
trình tìm tập phổ biến với ngưỡng minSupp=50% (xem Hình 2.4):
{}x123456
ABDEx135
Hình 2.4 Cây tìm kiếm tập phổ biến với minSupp=50%
Trang 382.2.3 Khai thác luật kết hợp từ tập phổ biến
)(}
\{
Y s
X s Y
Y X Y
tập phổ biến nên luật sinh ra cũng phổ biến
Vậy, việc phát sinh luật của một tập phổ biến X là tìm tất cả các tập phổ biến con Y của X và phát sinh luật giữa Y và X \Y Chẳng hạn, với tập phổ biến
ABE∈FI với minSupp=50%, minConf=80% trong ví dụ phần 1.2.2, ta có các luật kết hợp trong Bảng 2.11:
2.2.3.2 Loại bỏ luật dư thừa
Kết quả của quá trình phát hiện luật thường chứa khá nhiều luật dư thừa, cần phải loại bỏ các luật dư thừa này khỏi tập luật kết hợp Sau đây là các định nghĩa về luật dư thừa:
Định nghĩa 1
Nếu tồn tại 2 luật có dạng r1 = X →Z,r2 =Y →Z Ta nói luật r2 =Y →Z là
luật dư thừa nếu X là tập con của Y ( X ⊆Y)
Định nghĩa 2
Nếu tồn tại 2 luật có dạng r1 = X →Y,r2 = X →Z Ta nói luật r2 = X →Z
là luật dư thừa nếu Z là tập con của Y ( Z ⊆Y )
Trang 39Ví dụ: Xét tập luật gồm 3 luật:
},
,{r1 E AC r2 EB AC r3 E C
Khi đó ta nói luật r2 =EB→AC là luật dư thừa vì tồn tại luật r1=E→AC
và {E} ⊆ {E,B}, tương tự luật r3 =E→C cũng là luật dư thừa vì tồn tại luật
AC
E
r1= → và C ⊆ AC Vậy sau khi loại bỏ dư thừa tập luật thu được là
}{r1 E AC
2.2.3.3 Tập thô trong quá trình phát sinh luật
Chuyển đổi Bảng quyết định thành Bảng bitmap
Phương pháp phát hiện luật kết hợp nêu trên được phát triển để phân tích nguồn dữ liệu dạng giao dịch: mỗi dòng là các giao dịch của khách hàng và mỗi giao dịch bao gồm các mặt hàng (item) được mua Để áp dụng phương pháp phát hiện luật kết hợp trên vào dữ liệu có thuộc tính đa giá trị (dạng bảng quyết định) ta cần định nghĩa lại item theo cách khác: một item là sự kết hợp tên của thuộc tính với giá trị có thể có của thuộc tính, mỗi thuộc tính đều có một tập hữu hạn các giá trị mà ta gọi là miền Khi đó, bảng quyết định sẽ được chuyển đổi thành bảng bitmap với các thuộc tính điều kiện của bảng bitmap là các item mới được định nghĩa và giá trị của các thuộc tính điều kiện của bảng bitmap chỉ là những giá trị nhị phân 0 và 1
Chẳng hạn với thuộc tính “Bằng cấp” trong Bảng 2.4, Domain(Bằng
cấp )={Cao học, Đại học, Trung cấp} Các thuộc tính nhị phân tương ứng là
a 1 :“Bằng cấp=Cao học”, a 2 :“Bằng cấp=Đại học”, a 3 :“Bằng cấp=Trung cấp”
Dữ liệu của bảng quyết định với thuộc tính “Bằng cấp” được chuyển đổi sang bảng bitmap được trình bày trong Bảng 2.12
Thu nhỏ tập luật kết hợp
Áp dụng thuật toán phát sinh luật kết hợp vào bảng quyết định T = (C,D)mục đích thu được tập luật có dạng X →Y với X ⊆C,Y ⊆D Do đó, những luật có vế phải không chứa thuộc tính quyết định đều không có ý nghĩa nên bị loại bỏ, hay nói cách khác các tập phổ biến không chứa thuộc tính quyết định không được dùng để khai thác luật kết hợp