Sự phân tích một cách tự động và mang tính dự báocủa khai phá dữ liệu có ưu thế hơn hẳn so với phân tích thông thường ở chỗ,khai phá dữ liệu có thể sử dụng với các cơ sở dữ liệu CSDL chứ
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
VIỆN CÔNG NGHỆ THÔNG TIN
- -NGUYỄN THỊ THU
TÌM HIỂU VỀ KHAI PHÁ DỮ LIỆU
VÀ ỨNG DỤNG TRONG ĐÀO TẠO
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành: Sư phạm Tin học
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
VIỆN CÔNG NGHỆ THÔNG TIN
- -NGUYỄN THỊ THU
TÌM HIỂU VỀ KHAI PHÁ DỮ LIỆU
VÀ ỨNG DỤNG TRONG ĐÀO TẠO
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành: Sư phạm Tin học
Giáo viên hướng dẫn:
Đỗ Thị Lan Anh
HÀ NỘI, 2019
Trang 3LỜI CẢM ƠN
Trong thời gian nghiên cứu và làm đề tài, em đã gặp không ít khó khăn
về cách làm và kiến thức Tuy nhiên, em đã nhận được sự giúp đỡ tận tình của
cô giáo và các bạn, em đã hoàn thành đề tài này
Có được thành quả này, cho phép em được bày tỏ lời cảm ơn đến cácthầy cô giáo trong Viện Công Nghệ Thông Tin Trường Đại Học Sư Phạm HàNội 2 đã giúp em hoàn thành chương tìn và đề tài này
Đồng thời em gửi lời cảm ơn đặc biệt về sự hướng dẫn và chỉ bảo của
cô giáo Ths Đỗ Thị Lan Anh đã tận tình giúp đỡ em trong suốt quá trìnhhoàn thành chương trình cũng như đề tài này
Cùng với sự góp ý và hỗ trợ của các bạn trong lớp K41- Sư phạm Tinhọc Tuy nhiên do thời gian có hạn, cũng như kinh nghiệm còn thiếu nêntrong đề tài sẽ không tránh khỉ những thiếu xót, hạn chế nhất định Những ýkiến, nhận xét của thầy cô và các bạn là cơ sở để em học hỏi và hoàn thiện tốtkiến thức của mình hơn Em rất mong nhận được nhận xét và góp ý của thầy
cô và các bạn
Em xin chân thành cảm ơn!
Sinh viên thực hiện
Nguyễn Thị Thu
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan khoá luận được hoàn thành bằng sự cố gắng của bảnthân, dưới sự hướng dẫn tận tình của giảng viên Ths Đỗ Thị lan Anh và thamkhảo một số tài liệu đã được ghi rõ nguồn
Khoá luận hoàn toàn không sao chép từ tài liệu có sẵn nào Kết quảnghiên cứu không trùng lặp với các tác giả khác
Nếu sai, tôi xin hoàn toàn chịu trách nhiệm!
Sinh viên thực hiện
Nguyễn Thị Thu
Trang 5MỤC LỤC
ĐẶT VẤN ĐỀ 1
CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 3
1.1 Khái niệm về khai phá dữ liệu và phát triển tri thức 3
1.2 Các bước trong quá trình phát hiện tri thức 4
1.3 Kiến trúc hệ thống khai phá dữ liệu 5
1.4 Các nhiệm vụ trong khai phá dữ liệu 6
1.4.1 Phát hiện các luật tối ưu truy vấn ngữ nghĩa 6
1.4.2 Phát hiện sự phụ thuộc cơ sở dữ liệu 7
1.4.3 Phát hiện sự sai lệch 7
1.4.4 Phát hiện luật kết hợp 8
1.4.5 Mô hình hóa sự phụ thuộc 9
1.4.6 Mô hình hóa nhân quả 9
1.4.7 Phân nhóm 10
1.4.8 Phân lớp 10
1.4.9 Hồi quy 11
1.4.10 Tổng hợp 11
1.5 Sơ lược về một số kĩ thuật khai phá dữ liệu 12
1.5.1 Phân lớp dữ liệu 12
1.5.2 Phân cụm dữ liệu 12
1.5.3 Cây quyết định 12
1.5.4 Luật kết hợp 13
1.5.5 Hồi quy 13
1.5.6 Mạng Nơron 14
1.5.7 Giải thuật di truyền 14
1.6 Các cách thức và giải pháp cơ bản 14
1.7 Kết luận 16
CHƯƠNG 2: CƠ SỞ LÍ THUYẾT LUẬT KẾT HỢP 17
Trang 62.1.1 Luật thừa 17
2.1.2 Luật kết hợp 18
2.1.3 Một số tính chất của luật kết hợp 21
2.1.4 Phát biểu bài toán khai phá luật kết hợp 22
2.1.5 Một số hướng tiếp cận trong khai phá luật kết hợp 23
2.2 Các đặc trưng của luật kết hợp 26
2.2.1 Không gian tìm kiếm luật 26
2.2.2 Độ hỗ trợ của luật 28
2.3 Một số thuật toán cơ bản 29
2.3.1 Thuật toán Apriori 29
2.3.2 Thuật toán Apriori-tid 34
2.3.3 Thuật toán AIS 37
2.3.4 Thuật toán SETM 39
2.3.5 Thuật toán CHARM 42
2.4 Kết luận 44
CHƯƠNG 3: ỨNG DỤNG KHAI PHÁ LUẬT KẾT HỢP TRONG ĐÀO TẠO 45
3.1 Bài toán 45
3.2 Công cụ sử dụng trong chương trình 45
3.3 Mô tả dữ liệu bài toán 47
3.4 Chuẩn hoá dữ liệu đầu vào cho thuật toán 48
3.5 Kết quả khai phá luật kết hợp sử dụng thuật toán Apriori 50
3.6 Kết quả khai phá dữ liệu từ cơ sở dữ liệu điểm của trường Đại học Sư Phạm Hà Nội 2 53
3.7 Kết luận 53
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 54
TÀI LIỆU THAM KHẢO 55
Trang 8DANH MỤC HÌNH VẼ
Hình 1.1 Quy trình phát hiện tri thức 4
Hình 2.1: Dàn cho tập I = {1, 2, 3, 4} 26
Hình 2.2 Cây cho tập I = {1, 2, 3, 4} 27
Hình 2.3: Các bước thực hiện thuật toán apriori 33
Hình 2.4: Các bước thực hiện thuật toán Apriori_TID 36
Hình 2.5 Các bước thực hiện thuật toám AIS 38
Hình 2.6: Các bước thực hiện thuật toám SETM 41
Hình 3.1 Giao diện phần mềm WEKA 46
Hình 3.2 Môi trường Weka Explorer 47
Hình 3.3: Bảng dữ liệu khoá 41 48
Hình 3.4: Phân bố điểm của sinh viên học môn Tin học đại cương 50
Hình 3.5: Phân bố điểm sinh viên ứng với các môn khác nhau 51
Trang 9DANH MỤC BẢNG
Bảng 2.1: Ví dụ về một cơ sở dữ liệu dạng giao dịch - F 19Bảng 2.2 : Các tập phổ biến trong cơ sở dữ liệu ở bảng 2.1 với độ hỗ trợ tối thiểu 25% 20Bảng 2.3 Cơ sở dữ liệu giao dịch D 32Bảng 2.4: Cơ sở dữ liệu giao dịch D1 35Bảng 3.1: Các luật thu được trên dữ liệu sinh viên của lớp Sư phạm Tin học khoá 41 52
Trang 101 Lí do chọn đề tài
ĐẶT VẤN ĐỀ
Trang 11Khai phá dữ liệu (KPDL) là quá trình dựa trên những dữ liệu có sẵn,tìm kiếm các mẫu mới, những thông tin tiềm ẩn mang tính dự đoán trong cáckhối dữ liệu lớn Những công cụ khai phá dữ liệu có thể dự đoán những xuhướng trong tương lai Sự phân tích một cách tự động và mang tính dự báocủa khai phá dữ liệu có ưu thế hơn hẳn so với phân tích thông thường ở chỗ,khai phá dữ liệu có thể sử dụng với các cơ sở dữ liệu (CSDL) chứa dữ liệukhông đầy đủ hoặc biến đổi liên tục.
Một trong những nội dung cơ bản nhất trong khai phá dữ liệu và rất phổbiến là phát hiện các luật kết hợp Phương pháp này nhằm tìm ra các tập thuộctính thường xuất hiện đồng thời trong cơ sở dữ liệu và rút ra các luật về ảnhhưởng của một tập thuộc tính dẫn đến sự xuất hiện của một thuộc tính khácnhư thế nào Apriori là thuật toán luật kết hợp, việc áp dụng thuật toán Apriorivào khai phá dữ liệu sẽ giúp phát hiện ra các luật kết hợp Vì vậy, việc lựachọn thuật toán luật kết hợp để ứng dụng vào việc khai phá dữ liệu sẽ manglại hiệu quả tốt Đây là phương pháp điển hình cho việc tư vấn, đặc biệt là
trong đào tạo.Vì vậy tôi chọn đề tài “Tìm hiểu khai phá dữ liệu và ứng dụng trong đào tạo” Kết quả nghiên cứu cung cấp các thông tin hỗ trợ sinh
viên lựa chọn môn học, hướng nghiên cứu, đồng thời hỗ trợ cán bộ phòng đàotạo thuận lợi hơn trong công tác đào tạo Cụ thể là tìm ra các luật có ích giúpcho các nhà quản lí đào tạo sắp xếp khung chương trình, lên thời khoá biểu,…
2 Mục đích và nhiệm vụ nghiên cứu
- Mục đích: Giúp tư vấn cho quá trình đào tạo từ việc cài đặt thuậttoán Apriori sinh các luật kết hợp từ đó giúp tư vấn trong đào tạo
- Nhiệm vụ nghiên cứu:
+ Tìm hiểu khai phá dữ liệu
+ Tìm hiểu các thuật toán khai phá đặc biệt là thuật toán Apriori
Trang 12+ Cài đặt chương trình thử nghiệm
3 Phương pháp nghiên cứu
- Phương pháp nghiên cứu lí thuyết
- Phương pháp thực nghiệm: lấy dữ liệu mẫu và cài đặt thử nghiệm
Trang 13CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1 Khái niệm về khai phá dữ liệu và phát triển tri thức
Với sự phát triển mạnh mẽ của công nghệ thông tin con người đã xâydựng được nhiều hệ CSDL lớn tập trung hoặc phân tán, nhiều hệ quản trịCSDL mạnh với các công cụ phong phú giúp con người khai thác hiệu quảhơn các nguồn tài nguyên dữ liệu trong các hoạt động kinh tế xã hội
Sự phát triển nhanh chóng của công nghệ thông tin dẫn đến một lượng lớn
dữ liệu được thu thập và lưu trữ trong các CSDL lớn đã vượt qua khả năngcủa con người có thể hiểu được chúng nếu không có những công cụ hỗ trợ tốt.Dẫn tới một lượng lớn dữ liệu ít được xem xét tới Vì vậy khi con người đưa
ra quyết định thường không dựa vào những thông tin và dữ liệu thu thập được
mà dựa vào nhận thức và suy đoán để đưa ra quyết định Tình huống đặt ra ởđây là nhiều dữ liệu nhưng vẫn thiếu thông tin và thiếu tri thức Do đó một kĩ
thuật mới đã ra đời đó là kĩ thuật khai phá tri thức trong cơ sở dữ liệu
(Knowledge Discovery in Database) gọi tắt KDD
Năm 1989 thuật ngữ KDD được đưa ra với ý nghĩa là thực hiện các xử lý
để tìm ra các tri thức trong CSDL và mục đích nhấn mạnh đến các ứng dụng ởmức cao hơn của khai phá dữ liệu (data mining) Khai phá dữ liệu thườngđược dùng trong các lĩnh vực thống kê, sử dụng phương pháp thống kê để môhình dữ liệu và phát hiện các mẫu, luật,…
KDD là một quá trình tổng thể bao gồm nhiều bước nhằm phát hiện ra cáctri thức hữu ích trong dữ liệu còn khai phá dữ liệu chỉ tập trung vào việc ứngdụng các thuật toán nhằm phát hiện các mẫu từ dữ liệu mà không có thêm cácbước của quá trình KDD như bước kết hợp với tri thức đã có hoặc bước đánhgiá kết quả thu được Các bước thêm vào này rất cần thiết để thấy được rằngnhững thông tin thu được từ dữ liệu là thực sự hữu ích Nhiều khi các mẫu thuđược từ quá trình khai phá dữ liệu nhờ việc thực hiện một ứng dụng nào đó
Trang 14phát hiện tri thức từ dữ liệu đặc trưng bằng các bước lặp chính là lặp lại cácứng dụng theo một thuật toán khai phá dữ liệu cụ thể và hiểu các mẫu thuđược từ thuật toán này.
Định nghĩa: “KDD là một quá trình không tầm thường của việc xác định các mẫu mới, có giá trị, có hiệu quả sử dụng và cơ bản hiểu được trong cơ sở
dữ liệu”.[6]
Định nghĩa của Ferruzza: “Khai phá dữ liệu là tập hợp các phương pháp được dùng trong tiến trình khám phá tri thức để chỉ ra sự khác biệt các mối quan hệ và các mẫu chưa biết bên trong dữ liệu” [2]
1.2 Các bước trong quá trình phát hiện tri thức
Quy trình phát hiện tri thức thường tuân theo các bước sau [2]:
Hình thành và định nghĩa bài toán
Thu thập và tiền xử lí dữ liệu
Khai phá dữ liệu, rút ra các tri thức
Phân tích và kiểm định kết quả
Sử dụng các tri thức phát hiện được
Hình 1.1 Quy trình phát hiện tri thức
B
ư ớ c 1 : Hình thành, xác định và định nghĩa bài toán: Là tìm hiểu lĩnh
vực ứng dụng từ đó hình thành bài toán, xác định các nhiệm vụ cần phải hoànthành Bước này sẽ quyết định cho việc rút ra được các tri thức hữu ích và chophép chọn các phương pháp khai phá dữ liệu thích hợp với mục đích ứngdụng và bản chất của dữ liệu
Trang 15được gọi là tiền xử lí dữ liệu nhằm loại bỏ nhiễu (làm sạch dữ liệu), xử lí việcthiếu dữ liệu (làm giàu dữ liệu), biến đổi dữ liệu và rút gọn dữ liệu nếu cầnthiết, bước này thường chiếm nhiều thời gian nhất trong toàn bộ quy trìnhphát hiện tri thức Do dữ liệu được lấy từ nhiều nguồn khác nhau, không đồngnhất, … có thể gây ra các nhầm lẫn Sau bước này, dữ liệu sẽ nhất quán, đầy
đủ, được rút gọn và rời rạc hóa
B
ư ớ c 3 : Khai phá dữ liệu, rút ra các tri thức: Là khai phá dữ liệu, hay nói
cách khác là trích ra các mẫu hoặc/và các mô hình ẩn dưới các dữ liệu Giaiđoạn này rất quan trọng bao gồm các công đoạn như: chức năng, nhiệm vụ vàmục đích của khai phá dữ liệu, dùng phương pháp khai phá nào? Thôngthường, các bài toán khai phá dữ liệu bao gồm: các bài toán mang tính mô tả -đưa ra tính chất chung nhất của dữ liệu, các bài toán dự báo – bao gồm cả việcphát hiện suy diễn dựa trên dữ liệu hiện có Tùy theo bài toán xác định được
mà ta sử dụng các phương pháp khai phá dữ liệu cho phù hợp
B
ư ớ c 4 : Phân tích và kiểm định kết quả: Là hiểu tri thức đã tìm được, đặc
biệt là làm sáng tỏ các mô tả và dự đoán Các bước trên có thể lặp đi lặp lạinhiều lần, kết quả thu được lấy trung bình trên tất cả các lần thực hiện
B
ứng dụng vào trong thực tế Do các kết quả có thể là các dự đoán hoặc các mô
tả nên chúng có thể được đưa vào các hệ thống hỗ trợ ra quyết định nhằm tựđộng hóa quá trình này
Tóm lại: KDD là một quá trình kết xuất ra tri thức từ kho dữ liệu mà trong
đó khai phá dữ liệu là công đoạn quan trọng nhất
1.3 Kiến trúc hệ thống khai phá dữ liệu
Kiến trúc của hệ thống khai phá dữ liệu có thể chia thành các thành phầnchính như sau:
Trang 16- Kho dữ liệu: là một tập các cơ sở dữ liệu, các công cụ làm sạch dữ liệu
và tích hợp dữ liệu có thể thực hiện trên chúng
- Cơ sở tri thức: là yếu tố tri thức được dùng để đánh giá các mẫu kếtquả khai phá được
- Kỹ thuật khai phá: là các công cụ để thực hiện các nhiệm vụ: mô tả,kết hợp, phân lớp, phân nhóm dữ liệu
- Công cụ đánh giá mẫu: gồm một số modul sử dụng các độ đo và tươngtác với các modul khai phá dữ liệu để tập trung vào các thuộc tính cầnquan tâm
- Biểu diễn dạng đồ họa: modul này giao tiếp với người dùng và hệthống khai phá dữ liệu
1.4 Các nhiệm vụ trong khai phá dữ liệu
Ngày nay, nhu cầu phát hiện tri thức từ CSDL ngày càng cao dẫn tới sựphát triển mạnh mẽ của các loại hệ thống phát hiện tri thức trong CSDL Đểđáp ứng các nhu cầu từ nhiều lĩnh vực khác nhau mà việc phát hiện tri thứctrở lên đa dạng và phong phú hơn Do đó, nhiệm vụ phát hiện tri thức trongCSDL cũng trở nên đa dạng hơn và có thể phát hiện rất nhiều tri thức khácnhau
1.4.1 Phát hiện các luật tối ưu truy vấn ngữ nghĩa
Là biến đổi các câu truy vấn ban đầu thành một câu truy vấn mới bằngcách thêm hoặc xóa đi các mối liên kết bằng việc sử dụng các tri thức CSDLngữ nghĩa bao gồm các ràng buộc về tính toàn vẹn và sự phụ thuộc hàm đểsản sinh ra các câu truy vấn hiệu quả hơn Như vậy câu truy vấn đã biến đổicũng trả lại cùng câu trả lời giống như câu truy vấn ban đầu trong bất kì trạngthái nào của CSDL thỏa mãn kiến thức về ngữ nghĩa được sử dụng trong phépbiến đổi Các hệ thống phát hiện luật SQO có thể được chia thành ba lớp:
Trang 17- Các hệ thống hướng truy vấn (hệ thống báo cáo) trong đó thuật toánphát hiện tri thức trong CSDL nhằm phục vụ các truy vấn CSDL thực củangười dùng.
- Các hệ thống hướng dữ liệu (hệ thống tác nghiệp) trong đó thuật toánphát hiện tri thức trong CSDL chủ yếu phục vụ sự phân bổ dữ liệu trong trạngthái hiện thời của CSDL
- Các hệ thống kết hợp các đặc tính của cả hệ thống hướng truy vấn vàhướng dữ liệu
Một đặc tính quan trọng của các luật SQO, khác với các kiểu phát hiệntri thức khác, là việc chọn các thuộc tính để tổng hợp một SQO cần phải tínhđến chi phí liên quan như dùng phương pháp truy cập nào và sơ đồ chỉ sốtrong hệ quản trị CSDL Việc này là cần thiết để tiết kiệm thời gian xử lí truyvấn Một thuật toán phát hiện tri thức trong CSDL loại này đòi hỏi phải xemxét tối ưu chi phí
1.4.2 Phát hiện sự phụ thuộc cơ sở dữ liệu
Trong một mô hình cơ sở dữ liệu quan hệ, chúng ta nghiên cứu quan hệtrong CSDL quan hệ không tính đến quan hệ giữa các thuộc tính Các quan hệnày thường được thể hiện thông qua sự phụ thuộc dữ liệu hoặc ràng buộc toànvẹn Ở đây sẽ sử dụng thuật ngữ phụ thuộc CSDL để chỉ sự phụ thuộc dữ liệukiểu này Sự phụ thuộc CSDL được sử dụng trong thiết kế hoặc duy trìCSDL Phương pháp phát hiện tự động sự phụ thuộc CSDL này chính là mộtkiểu nhiệm vụ của khai phá dữ liệu
1.4.3 Phát hiện sự sai lệch
Nhiệm vụ này nhằm khám phá sự thay đổi có ý nghĩa dưới dạng độ đo
đã biết trước hoặc giá trị chuẩn, phát hiện sự sai lệch đáng kể giữa nội dungcủa tập con dữ liệu thực và nội dung mong đợi Hai mô hình sai lệch hay dùng
là lệch theo thời gian và lệch theo nhóm Sai lệch theo thời gian là sự thay đổi
Trang 18giữa dữ liệu trong hai tập con dữ liệu, ở đây tính cả trường hợp tập con dữliệu này thuộc tập con kia, nghĩa là xác định dữ liệu trong một nhóm con củađối tượng có khác đáng kể so với toàn bộ đối tượng không? Theo cách này,các sai sót dữ liệu hay sai lệch so với giá trị thông thường được phát hiện.
Một giao dịch có thể chứa một số điều khoản, tập hợp tất cả các điềukhoản sẽ thuộc vào một không gian A nào đó mà mỗi giao dịch khi đó là mộttập con của A Chúng ta cần phát hiện mối quan hệ, mối kết hợp trong số cácđiều khoản chứa trong các giao dịch của một dữ liệu nào đó sao cho sự xuấthiện của một số điều khoản nào đó trong giao dịch sẽ kéo theo sự xuất hiệncủa một số điều khoản khác trong cùng một giao dịch đó
Một luật kết hợp là một quan hệ có dạng X → Y, trong đó X và Y làtập các phần tử và X ∩ Y = Mỗi luật kết hợp được đặc trưng bởi độ hỗ trợ(supp) và độ tin cậy (conf) Độ hỗ trợ được định nghĩa như tỷ lệ số giỏ thỏamãn cả X và Y trên toàn bộ số giỏ chỉ thỏa mãn X
Trang 191.4.5 Mô hình hóa sự phụ thuộc
Nhiệm vụ này liên quan tới việc tìm kiếm một mô hình mô tả sự phụthuộc giữa các biến, các thuộc tính theo hai mức: mức cấu trúc và mức địnhlượng Mức cấu trúc của mô hình mô tả thường biểu diễn dưới dạng đồ thị.Trong đó, các biến phụ thuộc bộ phận vào các biến khác Mức định lượng môhình mô tả mức độ phụ thuộc được biểu thị dưới dạng luật “nếu – thì”: “nếu(tiên đề là đúng) thì (kết luận đúng)” Về nguyên tắc thì cả tiên đề và luật kếthợp đều có thể là sự kết hợp logic của các giá trị thuộc tính Trên thức tế, tiên
đề thường là nhóm các giá trị thuộc tính và kết luận chỉ là một giá trị thuộctính Hơn thế nữa hệ thống có thể phát hiện các luật phân lớp trong đó tất cảcác luật cần phải có cùng một thuộc tính do người dùng chỉ ra trong kết luận
Quan hệ phụ thuộc cũng có thể biểu diễn dưới dạng mạng tin cậyBayes Đó là một đồ thị có hướng, không có chu trình Các nút biểu diễnthuộc tính và trọng số biểu diễn độ mạnh của sự phụ thuộc giữa các nút đó
1.4.6 Mô hình hóa nhân quả
Nhiệm vụ này tập trung phát hiện mối nhân quả trong thuộc tính Giốngnhư luật phụ thuộc các luật nhân quả cũng là các luật “nếu – thì” nhưng mạnhhơn Luật phụ thuộc đơn giản chỉ là một mối quan hệ tương hỗ giữa tiên đề vàkết luận của luật mà không có ý nghĩa quan hệ nhân quả trong quan hệ này Do
đó, cả tiên đề và kết luận có thể quan hệ dưới sự ảnh hưởng của một biến thứ
ba, nghĩa là một thuộc tính có thể có ở trong tiên đề hoặc trong kết luận Luậtnhân quả không chỉ chỉ ra mối tương quan giữa tiên đề và kết luận mà còn chobiết tiên đề thực sự tạo ra kết luận và mối quan hệ giữa hai thành phần này làtrực tiếp Tập các mối quan hệ có thể được biểu diễn bằng đồ thị nhân quả
Thuật toán CAUDISCO phát hiện các luật nhân quả bằng cách áp dụngcác phép kiểm tra sự độc lập thống kê của từng cặp thuộc tính Sau đó, đối vớicác thuộc tính phụ thuộc lẫn nhau, thuật toán sẽ xác định mối quan hệ là có
Trang 20xác thực, tiềm năng hay chỉ là một liên kết giả tạo, không phụ thuộc vào tậpcác điều kiện thỏa mãn bởi quan hệ nhân quả.
Các quan hệ nhân quả cần phụ thuộc vào thời gian theo định nghĩa lànguyên nhân trước kết luận Nguyên nhân và kết quả đều có ít nhất một sựkiện thời gian đi kèm và thời gian của kết quả phải đi sau thời gian củanguyên nhân Mặc dù yếu tố thời gian làm rõ ý nghĩa nhân quả nhưng hệthống thường khó phân biệt các liên kết giả tạo
1.4.7 Phân nhóm
Là việc mô tả chung để tìm ra các tập hay các nhóm, loại mô tả dữ liệu.Các nhóm có thể tách nhau hoặc phân cấp Tức là dữ liệu có thể vừa thuộcnhóm này lại vừa thuộc nhóm khác Các ứng dụng khai phá dữ liệu có nhiệm
vụ phân nhóm như: phát hiện tập các cửa hàng bán hàng trực tuyến uy tín trênứng dụng bán hàng trực tuyến; xác định các quang phổ từ các phương pháp đotia hồng ngoại, … Liên quan chặt chẽ đến việc phân nhóm là nhiệm vụ đánhgiá dữ liệu, hàm mật độ xác suất đa biến/ các trường trong CSDL
1.4.8 Phân lớp
Phân lớp là việc xác định một hàm ánh xạ từ một mẫu dữ liệu vào mộttrong số các lớp đã được biết trước đó Mục tiêu của thuật toán phân lớp làtìm ra mối quan hệ nào đó giữa thuộc tính dự báo và thuộc tính phân lớp Quátrình phân lớp có thể sử dụng mối quan hệ này để dự báo cho các mục mới.Các kiến thức biểu diễn dưới dạng các luật có dạng: “Nếu các thuộc tính dựbáo của một mục thỏa mãn điều kiện của các tiền đề thì mục nằm trong lớpchỉ ra trong kết luận”
Ví dụ: Một mục biểu diễn thông tin về các nhân viên trong đó các thuộctính dự báo là: họ tên, tuổi, giới tính, trình độ học vấn,… và thuộc tính phânlớp là trình độ lãnh đạo của nhân viên
Trang 211.4.9 Hồi quy
Hồi quy là việc họ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 Về khái niệm, nhiệm vụ hồi quy tương tự như phânlớp Điểm khác nhau chính là ở chỗ thuộc tính để dự báo là liên tục chứkhông phải rời rạc Việc dự báo các giá trị số thường được làm bởi cácphương pháp thống kê cổ điển, chẳng hạn như hồi quy tuyến tính Tuy nhiên,các phương pháp mô hình hóa cũng được sử dụng như cây quyết định, trong
đó nút lá là mô hình tuyến tính phát sinh tập các lớp giả có giá trị thuộc tínhđích tương tự nhau, sau đó sử dụng phương pháp quy nạp để thay thế các lớptrong luật quy nạp bằng tổ hợp các giá trị của thuộc tính lớp cho các bộ dữliệu theo luật
Ứng dụng của hồi quy là rất nhiều: dự báo nhu cầu của người dùng vớimột sản phẩm trong dịp tết; dự đoán số lượng sinh vật phát quang hiện thờitrong khu rừng bằng cách dò tìm vi sóng bằng các thiết bị cảm biến từ xa; dựđoán giá bất động sản bằng cách kiểm tra các thuộc tính như: vị trí địa lí, nămxây dựng, số phòng ngủ,…
1.4.10 Tổng hợp
Nhiệm vụ tổng hợp là công việc liên quan đến các phương pháp tìmkiếm một mô tả tập con dữ liệu Kĩ thuật tổng hợp thường áp dụng trong việcphân tích dữ liệu có tính thăm dò và báo cáo tự động Nhiệm vụ tổng hợpchính là sản sinh ra các mô tả đặc trưng cho một lớp Mô tả này là một kiểutổng hợp, tóm tắt các đặc tính chung của tất cả hay hầu hết các mục của mộtlớp Các mô tả đặc trưng thể hiện theo luật có dạng sau: “Nếu một mục thuộc
về lớp đã chỉ trong tiền đề thì mục đó có tất cả các thuộc tính đã nêu trong kếtluận” Cần lưu ý rằng các luật này có những đặc trưng khác biệt so với luậtphân lớp Luật phát hiện đặc trưng cho một lớp chỉ sản sinh khi các mục đãthuộc về lớp đó
Trang 221.5 Sơ lược về một số kĩ thuật khai phá dữ liệu
Có nhiều kỹ thuật khác nhau được sử dụng đề khai phá dữ liệu nhằmthực hiện chức năng mô tả và dự đoán Với mỗi chức năng có các kĩ thuậtkhai phá dữ liệu tương ứng của nó
1.5.1 Phân lớp dữ liệu
Mục tiêu của phân lớp dữ liệu là dự đoán nhãn lớp cho các mẫu dữ liệu.Quá trình phân lớp dữ liệu được chia làm 2 bước là: Xây dựng mô hình dữliệu và sử dụng mô hình dữ liệu Mô hình dữ liệu sẽ được sử dụng để dự đoánnhãn lớp độ chính xác của mô hình chấp nhận được Một số phương phápphân lớp dữ liệu phổ biến là: phân lớp theo cây quyết định, phân lớp kiểuBayes, phân lớp dựa trên quy tắc if – then, …
1.5.2 Phân cụm dữ liệu
Mục tiêu của kĩ thuật phân cụm dữ liệu là nhóm các đối tượng tương tựnhau trong tập dữ liệu vào các cụm sao cho nhóm các lớp đối tượng tương tựnhau Kĩ thuật phân cụm thường không thực hiện độc lập mà sử dụng kết hợpvới các kĩ thuật khác Một lớp phân cụm được đưa ra thì phải có một kĩ thuậtkhác áp dụng trên lớp đó để đưa được ra ý nghĩa của cụm đó Hai kĩ thuật
phân cụm cơ bản là phân hoạch (partitional) và phân cấp (hierarchical).
Ngoài ra, còn một số kĩ thuật phân cụm khác như: phân cụm dựa vào mật độ,phân cụm dựa vào lưới, phân cụm dựa vào mô hình,…
Một số thuật toán khai phá dữ liệu bằng phân cụm dữ liệu là: thuật toánk-means, thuật toán PAM (Partitioning Around Medoids), thuật toán CALAR(Clustering LARge Application), thuật toán BRICH (Balanced InterativeReducing and Clustering Using Hierarchies), thuật toán DBCAN (Density –Based Spatial Clustering of Application with Noise),…
1.5.3 Cây quyết định
Kĩ thuật cây quyết định là một công cụ mạnh và hiệu quả trong phânlớp và dự báo Các đối tượng dữ liệu sẽ được phân thành các lớp và các giá trị
Trang 23của đối tượng dữ liệu chưa biết sẽ được dự đoán Cây quyết định được biểudiễn dưới dạng một sơ đồ có cấu trúc cây Nút trên cùng gọi là nút gốc Mỗinút trên cây (trừ nút lá) ghi một phép thử trên thuộc tính, mỗi nhánh biểu diễnmột kết quả của phép thử Mỗi nút lá sẽ ghi một nhãn lớp Tri thức rút ra từ kĩthuật cây quyết định thường được mô tả rõ ràng, tường minh, dễ hiểu chongười sử dụng.
Một số thuật toán khai phá dữ liệu bằng cây quyết định là: Thuật toánCLS (Concept Learning System), thuật toán ID3 (Interactive Dichotomizer 3),thuật toán C4.5, thuật toán SLIQ (Supervised Learning In Quest),…
1.5.4 Luật kết hợp
Mục tiêu của phương pháp này là phát hiện và đưa ra mối quan hệ giữacác giá trị trong cơ sở dữ liệu Kết quả của luật kết hợp là tập luật kết hợp tìmđược Phương pháp khai phá luật kết hợp gồm hai bước:
- Bước 1: Tìm tất cả các tập mục phổ biến Một tập mục phổ biến đượcxác định thông qua việc tính độ hỗ trợ và thoả mãn độ hỗ trợ cực tiểu
- Bước 2: Sinh ra các luật kết hợp mạnh từ tập mục phổ biến, luật phảithoả mãn độ hỗ trợ và độ tin cậy cực tiểu
Một số thuật toán khai phá dữ liệu bằng luật kết hợp là: thuật toán AIS,thuật toán Apriori, thật toán Apriori_TID, thuật toán SETM, thuật toánFT_growth,…
1.5.5 Hồi quy
Mục tiêu của hồi quy là dự đoán các giá trị liên tục của đầu ra Ví dụchúng ta có thể dự đoán lương của một giảng viên đại học sau 5 năm kinhnghiệm, hay dự đoán giá cổ phiếu của một công ty sau một thời gian trên sànchứng khoán Phương pháp hồi quy là một lựa chọn tốt khi tất cả các biến độclập cũng là giá trị liên tục Nhiều bài toán có thể giải quyết bằng hồi quytuyến tính Nhiều bài toán phi tuyến tính cũng được giải bằng cách chuyển
Trang 24sang giải lặp bài toán tuyến tính Một số phương pháp hồi quy là: mô hình hồiquy, hồi quy Poisson, hồi quy logistic,…
1.5.6 Mạng Nơron
Mạng Nơ-ron là một trong những kĩ thuật khai phá dữ liệu được ứngdụng phổ biến hiện nay Kĩ thuật này ra đời do mong muốn nâng khả nănglàm việc của máy tính dần tăng bằng khả năng làm việc của bộ não con người
Kết quả của mạng nơ-ron là khả năng tạo ra các mô hình dự đoán có độchính xác cao, có thể áp dụng cho nhiều bài toán khác nhau Tuy nhiên, kĩthuật này khá phức tạp, khi tiến hành sẽ gặp rất nhiều khó khăn như: mấtnhiều thời gian, nhiều dữ liệu và nhiều lần kiểm tra thử
1.5.7 Giải thuật di truyền
Giải thuật di truyền là phương pháp tìm kiếm cực trị tổng thể, kỹ thuậttối ưu tổng thể có tầm qua trọng rất lớn đối với nhiều vấn đề khác nhau trongkhoa học kĩ thuật Ý tưởng của giải thuật di truyền là mô phỏng theo cơ chếcủa quá trình chọn lọc và di truyền trong tự nhiên
1.6 Các cách thức và giải pháp cơ bản
Khai phá dữ liệu không phải là việc đơn giản mà có rất nhiều khó khăn vàthách thức Tuy nhiên không có nghĩa là việc giải quyết là hoàn toàn bế tắc
mà phải xem xét cũng như tìm cách giải quyết những vấn đề này
Đầu vào chủ yếu của một hệ thống khai thác tri thức là các dữ liệu thôtrong cơ sở phát sinh trong khai phá dữ liệu Do các dữ liệu trong thực tếthường động, không đầy đủ, lớn và bị nhiễu Trong nhiều trường hợp khác,người ta không biết cơ sở dữ liệu có chứa các thông tin cần thiết cho việc khaithác dữ liệu hay không và làm thế nào để giải quyết với sự dư thừa nhữngthông tin không thích hợp này
Dữ liệu lớn: Các CSDL lớn với hàng trăm trường và bảng với hàng triệu bản ghi và với kích thước đến gigabyte và terabyte đã là chuyện
Trang 25bình thường Các phương pháp giải quyết hiện nay là đưa ra một ngưỡng cho
cơ sở dữ liệu, lấy mẫu, các phương pháp xấp xỉ, xử lý song song
Kích thước lớn: Không chỉ có số lượng bản ghi lớn mà số cáctrường trong cơ sở dữ liệu cũng nhiều Vì vậy kích thước bài toán trở lên lớnhơn Một tập dữ liệu kích thước lớn làm tăng không gian tìm kiếm mô hìnhsuy diễn và làm tăng khả năng một giải thuật khai phá dữ liệu có thể tìm thấycác mẫu giả Chúng ta khắc phục bằng cách làm giảm kích thước tác động củabài toán và sử dụng các tri thức biết trước để xác định các biến không phùhợp
Dữ liệu động: Nội dung của cơ sở dữ liệu thay đổi liên tục Dữliệu thay đổi theo thời gian và việc khai phá dữ liệu cũng bị ảnh hưởng bởithời gian quan sát dữ liệu Việc dữ liệu thay đổi nhanh chóng có thể làm chocác mẫu khai thác trước đó mất giá trị Các biến trong CSDL của ứng dụng đãcho cũng có thể bị thay đổi, bị xóa, hoặc tăng lên theo thời gian Vấn đề nàyđược giải quyết bằng các giải pháp tăng trưởng để nâng cấp các mẫu và coicác thay đổi như là cơ hội để khai thác bằng cách sử dụng nó để tìm kiếm cácmẫu bị thay đổi
Các trường không phù hợp: Một đặc điểm khác là tính khôngthích hợp của dữ liệu, nghĩa là mục dữ liệu trở thành không thích hợp vớitrọng tâm hiện tại của việc khai thác Một khía cạnh khác đôi khi cũng liênquan đến độ phù hợp là tính ứng dụng của một thuộc tính đối với một tập concủa cơ sở dữ liệu Vấn đề này giải quyết bằng cách lấy ví dụ mẫu, chọn lọccác bộ dữ liệu đặc trưng và tốt nhất
Các giá trị bị thiếu: Đây là vấn đề có thể nói là rất khó khăntrong việc khai phá dữ liệu Sự có mặt hay vắng mặt của giá trị các thuộc tính
dữ liệu phù hợp có thể ảnh hưởng đến việc khai phá dữ liệu Trong một hệthống tương tác, sự thiếu vắng dữ liệu quan trọng có thể dẫn đến việc yêu cầu
Trang 26vắng mặt của dữ liệu như một điều kiện, thuộc tính bị mất có thể coi như mộtgiá trị trung gian và là giá trị không biết Chúng ta có thể tận dụng các xử lísong song để khắc phục vấn đề này Hiện nay, do giá thành các phần cứngkhông cao lắm, có thể áp dụng các giải pháp song song cho việc khai phá dữliệu: Phân chia nhiệm vụ, dữ liệu cho nhiều bộ xử lí thực hiện đồng thời.
1.7 Kết luận
Nội dung chương tìm hiểu quá trình phát hiện tri thức và các vấn đề khaiphá dữ liệu Phát hiện tri thức là một quá trình rút ra tri thức từ dữ liệu màtrong đó khai phá dữ liệu là giai đoạn quan trọng nhất Khai phá dữ liệu lànhiệm vụ tìm ra các dữ liệu có ích từ số lượng lớn dữ liệu Trong chương nàytóm tắt một số kĩ thuật dùng để khai phá dữ liệu và phân tích việc khai phá dữliệu Trong các kĩ thuật khai phá dữ liệu, phát hiện luật kết hợp là một lĩnhvực đang được quan tâm và đây cũng là lĩnh vực nghiên cứu của khoá luận, sẽđược trình bày chi tiết trong chương 2
Trang 27CHƯƠNG 2: CƠ SỞ LÍ THUYẾT LUẬT KẾT HỢP
2.1 Lí thuyết về luật kết hợp
2.1.1 Luật thừa
a) Định nghĩa
Xét luật r: X→Y thuộc tập các luật {R} của một cơ sở tri thức [3]
Luật r được gọi là luật thừa nếu với các luật còn lại thuộc tập R {r} nếuchúng ta có thể suy ra một luật r: X→Y
Một định nghĩa khác: Gọi R: tập luật của cơ sở tri thức; r thuộc R:X→Y; (X)R-{r}: tập các mệnh đề suy ra từ X bằng các luật thuộc R-{r}; luật r:X→Y thuộc R gọi là thừa nếu Y thuộc (X)R-{r}
ta có: X→Y→Z→T
Thuật toán xác định (X)R-{r}
1 Bước 1: Ketqua:= X;
2 Bước 2: Với mọi r thuộc R, nếu vế trái r thuộc kết quả thì
Ketqua:= Ketqua ∪ Vephai(r)
3 Bước 3: Lặp lại bước 2 cho đến khi nào kết quả không thay đổinữa Khi đó ta có (X)R-{r}
b) Thuật toán loại bỏ luật thừa:
Tư tưởng thuật toán loại bỏ luật thừa gồm các bước sau:
1 Buớc 1: t R = R {r}, từ định nghĩa của luật thừa trên, chúng ta có
Trang 282 Bước 2: Xác định (X)R = (Aj| Aj là các mệnh đề có thể suy diễn
từ X dựa trên tập luật R)
3 Bước 3 : Kiểm tra nếu Y thuộc (X)R hay không:
• Nếu đúng: thì luật r là thừa đối với tập R
• Ngược lại: thì luật r không thừa đối với tập R
Giải thuật chính loại bỏ luật thừa:
Bước 1: Xét luật r trong tập luật R, kiểm tra r có thừa đối với tập R {r} không?
-Bước 2 : Nếu thừa thì R= R {r}; lặp lại bước 1 với luật khác
Bước 3: Lặp lại cho đến khi không còn bỏ luật nào nữa
2.1.2 Luật kết hợp
Cho một tập I = {I1, I2, ,Im} là tập gồm m khoản mục (item), còn đượcgọi là các thuộc tính (attribute) Các phần tử trong I là phân biệt nhau X ⊆Iđược gọi là tập mục (itemset) Nếu lực lượng của X bằng k (tức là |X| = k) thì
X được gọi là k-itemset
Một giao dịch (transaction) T được định nghĩa như một tập con (subset)của các khoản mục trong I (T ⊆l) Tương tự như khái niệm tập hợp, các giaodịch không được trùng lặp, nhưng có thể nới rộng tính chất này của tập hợp
và trong các thuật toán sau này, người ta đều giả thiết rằng các khoản mụctrong một giao dịch và trong tất cả các tập mục (item set) khác, có thể coichúng đã được sắp xếp theo thứ tự từ điển của các item
Gọi D là CSDL của n giao dịch và mỗi giao dịch được đánh nhãn vớimột định danh duy nhất (Unique Transasction IDentifier-TID) Nói rằng, mộtgiao dịch T ∈ D hỗ trợ (support) cho một tập X ⊆ I nếu nó chứa tất cảcác item của X, nghĩa là X ⊆ T, trong một số trường hợp người ta dùng kýhiệu T(X) để chỉ tập các giao dịch hỗ trợ cho X Kí hiệu support(X) (hoặcsupp(X),
Trang 29s(X)) là tỷ lệ phần trăm của các giao dịch hỗ trợ X trên tổng các giao dịchtrong D, nghĩa là:
Trang 30supp (�) =|{� ∈ �|� ⊆
��}|
�
Ví dụ về cơ sở dữ liệu F (dạng giao dịch) : X = {A, B, C, D, E},
T = {1, 2, 3, 4} Thông tin về các giao dịch cho ở bảng sau :
Đ ị
Bảng 2.1: Ví dụ về một cơ sở dữ liệu dạng giao dịch - F
Tập phổ biến (frequent itemset) [2]: Support tối thiểu minsup ∈ ( 0, 1]
(Minimum Support) là một giá trị cho truớc bởi nguời sử dụng Nếu tập mục
X ⊆ I có supp(X) ≥ minsup thì ta nói X là một tập phổ biến - frequent itemset(hoặc large itemset) Một frequent itemset đuợc sử dụng như một tập đángquan tâm trong các thuật toán Ngược lại, những tập không phải frequentitemset là những tập không đáng quan tâm Trong các trình bày sau này, ta sẽ
sử dụng những cụm từ khác như “X có support tối thiểu” hay “X không cósupport tối thiểu” cũng để nói lên rằng X thỏa mãn hay không thỏa mãnsupport(X) ≥ minsup
Ví dụ: Với cơ sở dữ liệu F cho ở bảng 2.1 và giá trị ngưỡng minsup =
25% sẽ liệt kê tất cả các tập phổ biến (frequent-itemset) như sau :
Trang 31Bảng 2.2 : Các tập phổ biến trong cơ sở dữ liệu ở bảng 2.1
với độ hỗ trợ tối thiểu 25%
Một số tính chất (TC) liên quan đến các frequent itemset [4]:
Tính chất 1: support cho tất cả các subset: nếu A ⊆ B thì A, B là các
itemset thì supp(A) ≥ supp(B) vì tất cả các giao dịch của D support B thì cũngsupport A
Tính chất 2 : Nếu một item A không có support tối thiểu trên D nghĩa là support(A) < minsup thì một superset B của A sẽ không phải là một frequent
vì support(B) ≤ support(A) < minsup
Tính chất 3: Nếu item B là frequent trên D, nghĩa là support(B) ≥
minsup thì mọi subset A của B là frequent trên D vì support(A) ≥ support(B)
> minsup
Định nghĩa luật kết hợp [2]
Một số luật kết hợp có dạng R: X => Y, trong đó X, Y ⊆ I và X ∩ Y =
∅ X được gọi là tiên đề và Y được gọi là hệ quả của luật
Luật X => Y tồn tại một độ tin cậy c (confidence-conf) Độ tin cậy cđược định nghĩa là khả năng giao dịch T hỗ trợ X thì cũng hỗ trợ Y Ta cócông thức tính độ tin cậy c như sau:
Conf(X => Y) = ��(� ⊆ ��|� ⊆ ��) = � ( � ⊆ � ˄
� ⊆ � )
= s u pp ( � ∪ � )
Trang 32��(� ⊆ ��) supp (�)
Tuy nhiên, không phải bất cứ luật kết hợp nào có mặt trong tập các luật
có thể được sinh ra cũng đều có ý nghĩa trên thực tế Mà tất cả các luật đều
Trang 33phải thoả mãn một ngưỡng hỗ trợ và tin cậy cụ thể Thật vậy, cho một tập cácgiao dịch D, bài toán phát hiện luật kết hợp là sinh ra tất cả các luật kết hợp
mà có độ tin cậy conf lớn hơn độ tin cậy tối thiểu min_conf và độ hỗ trợ lớnhơn độ hỗ trợ tối thiểu minsup do người dùng xác định
Khi khai phá các luật kết hợp, có 2 vấn đề chính cần phải giải quyết :
■ Thứ nhất, đó là độ phức tạp của giải thuật, số luợng luật tăng theocấp độ luỹ thừa cùng với số lượng các mục (item) Tuy nhiên, cácgiải thuật hiện nay có thế giảm bớt không gian tìm kiếm này dựatrên các ngưỡng tối thiểu để đánh giá độ hiệu quả của luật
■ Thứ hai, các luật tốt (tối ưu) phải đuợc lấy ra từ tập hợp các luậttìm đuợc Điều này rất khó bởi vì tập hợp các luật tìm đuợc là rấtlớn, trong đó số lượng các luật có thể dùng được lại chiếm tỷ lệ vôcùng nhỏ Các nghiên cứu liên quan đến vấn đề thứ hai hầu hết chútrọng vào việc giúp người dùng duyệt tập luật cũng như việc pháttriển các độ đo chất lượng của luật
Xét trường hợp X ∩ Y = ∅ và các giao dịch trong D hỗ trợ Z nếu
và chỉ nếu chúng hỗ trợ X hoặc Y, khi đó X ∪ Y => Z có độ hỗ trợ 0%
Tương tự X => Y và X => Z thì không nhất thiết X => Y ∪ Z đúng
Trang 34s(X) > s(X ∪ Y) và s(Y) > s(X ∪ Y) thì hai luật riêng biệt sẽ không đủ độ tincậy.
- Tính chất 3: Các luật kết hợp không có tính chất bắc cầu
Nếu X => Y và X => Z thì không thể suy ra X => Z
Ví dụ:
Giả sử X, Y, Z có số tác vụ tương ứng là t(X), t(Y), t(Z) và độ tin cậycực tiểu là min_conf, c(X => Y) = c(Y => Z) = min_conf thì c(X => Z) =min_conf2 < min_conf vì min_conf < 1, do đó luật không đủ độ tin cậy
Trang 352.1.4 Phát biểu bài toán khai phá luật kết hợp
Khai phá luật kết hợp được phân thành 2 bài toán con:
Bài toán 1: Tìm tất cả các tập mục mà có độ hỗ trợ lớn hơn độ hỗ trợ
tối thiểu do người dùng xác định, Các tập mục thoả mãn độ hỗ trợ tối thiểuđược gọi là các tập mục phổ biến
Bài toán 2: Dùng các tập mục phổ biến để sinh ra các luật mong muốn.
Ý tưởng chung là nếu gọi ABCD và AB là các tập mục phổ biến, thì chúng cóthể xác định luật nếu AB => CD giữ lại với tỷ lệ độ tin cậy:
Conf = s u pp (
� �� � ) supp (�
�)
Trang 36nếu conf ≥ min_conf thì luật được giữ lại (luật này sẽ thoả mãn độ hỗtrợ tối thiểu vì ABCD là phổ biến)
2.1.5 Một số hướng tiếp cận trong khai phá luật kết hợp
Lĩnh vực khai phá luật kết hợp cho đến nay đã đuợc nghiên cứu và pháttriển theo nhiều hướng khác nhau Có những đề xuất nhằm 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 và có một
số hướng chính sau đây
a) 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ácnghiê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ỉ đuợ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
Ví dụ: Trong hệ thống bán sách thì việc bạn mua 1 quyển sách khoahọc hay 5 quyển sách khoa học đượ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ó Đây là dạng luật đơn giản và các luật khác cũng có thểchuyển về dạng luật này nhờ một số phuơng pháp như rời rạc hoá, mờ hoá,
Một ví dụ về dạng luật này : “sách toán= ‘yes’ AND sách bài tập toán=
‘yes’ => sách để học tốt toán= ‘yes’ AND sách giải bài tập toán = ‘yes’, với
-Một ví dụ về dạng luật này “Phân tích thiết kế hệ thống [C] AND lập
Trang 37trình C++ [B] => hệ điều hành [C], với độ hỗ trợ là 37%, và độ tin cậy là94%”.
c) Luật kết hợp tiếp cận theo hướng tập thô (mining association
rules base on rough set): Tìm kiếm luật kết hợp dựa trên lý thuyết tập thô
d) Luật kết hợp nhiều mức (multi-level association rule) : Với cách tiếp cận theo luật này sẽ tìm kiếm thêm những luật có dạng “ mua laptop => mua hệ điều hành AND mua phần mềm diệt virut, ” thay vì chỉ những luật quá cụ thể như “mua laptop Dell => mua hệ điều hành Microsoft Windows AND mua phần mềm diệt virut BKAV, ” Như vậy dạng luật đầu là dạng luật
tổng quát hoá của dạng luật sau và tổng quát theo nhiều mức khác nhau
e) 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 hoá các thuộc tính số (quantitaveattributes), các nhà nghiên cứu đã đề xuất luật kết hợp mờ nhằm khắc phụccác 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ũihơn với nguời sử dụng
Một ví dụ của dạng này là : “Phân tích thiết kế hệ thống trung bình
AND lập trình C++ khá => hệ điều hành trung bình, với độ hỗ trợ là 37%, và
độ tin cậy là 94%” Trong luật trên, điều kiện điểm các môn đã đuợc mờ hoá
ở mức điểm yếu kém, trung bình, khá và giỏi
f) 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
lúc nào cũng có vai trò như nhau Có một số thuộc tính đuợc chú trọng hơn và
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ềdoanh thu hàng tháng, thông tin về thời gian đàm thoại, vùng cước là quantrọng hơn nhiều so với thông tin về phương thức gọi Trong quá trình tìmkiếm luật, chúng ta sẽ gán thời gian gọi, vùng cước các trọng số lớn hơn thuộctính phương thức gọi Đây là huớng nghiên cứu rất thú vị và đã được một số
Trang 38thuộc tính đuợc đánh trọng số, chúng ta sẽ khai thác đuợc những luật “hiếm”(tức là có độ hỗ trợ thấp, nhưng có ý nghĩa đặc biệt hoặc mang rất nhiều ýnghĩa).
g) 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 tuần tự, các nhà làm tin học cũng tập trungvào nghiên cứu các thuật giải song song cho quá trình phát hiện luật kết hợp.Nhu cầu song song hoá và xử lý phân tán là cần thiết bởi kích thước dữ liệungày càng lớn hơ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 đã
đề xuất để có thể không phụ thuộc vào phần cứng
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ìnhtìm kiếm tập phổ biển từ CSDL
Ngoài ra, còn có một số hướng nghiên cứu khác về khai phá luật kếthợ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ốitrực tuyến đến các kho dữ liệu đa chiều (Multidimensional data, datawarehouse) thông qua công nghệ OLAP (Online Analysis Processing),MOLAP (multidimensional OLAP), ROLAP (Relational OLAP), ADO(Active X Data Object) for OLAP V V
Trang 392.2 Các đặc trưng của luật kết hợp
2.2.1 Không gian tìm kiếm luật
Ta phải tìm tất cả các itemset thỏa ngưỡng minsupp Với các ứng dụng
thực tiễn, việc duyệt tất cả các tập con của I sẽ hoàn toàn thất bại vì không
gian tìm kiếm quá lớn Trên thực tế, sự tăng tuyến tính số lượng các item vẫn kéo theo sự tăng theo cấp lũy thừa các itemset cần xem xét Với trường hợp
đặc biệt I={1,2,3,4}, ta có thể biểu diễn không gian tìm kiếm thành một lướinhư trong hình 2.2.1
Hình 2.1: Dàn cho tập I = {1, 2, 3, 4}
Các tập phổ biến nằm trong phần trên của hình trong khi những tậpkhông phổ biến lại nằm trong phần dưới Mặc dù không chỉ ra một cách tường
minh các giá trị hỗ trợ cho mỗi itemset nhưng ta giả sử rằng đường biên đậm
trong hình phân chia các tập phổ biến và tập không phổ biến Sự tồn tại củađường biên như vậy không phụ thuộc vào bất kỳ cơ sở dữ liệu D và minsupnào Sự tồn tại của nó chỉ đơn thuần được đảm bảo bởi tính chặn dưới của
itemset thỏa ngưỡng minsup.