Sự phân tích một cách tự động và mang tính dự báo củ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 c
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
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ác thầ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ình hoà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 Tin học Tuy nhiên do thời gian có hạn, cũng như kinh nghiệm còn thiếu nên trong đề 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ốt kiế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ản thân, dưới sự hướng dẫn tận tình của giảng viên Ths Đỗ Thị lan Anh và tham khả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
2.1 Lí thuyết về 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 7DANH MỤC CÁC TỪ VIẾT TẮT
Min_conf Minimum Confidence Độ tin cậy tối thiểu
Minsup Minimum Support Độ hỗ trợ tối thiểu
TID Transaction Indentification Định danh giao tác
SQL Structured Query Language Ngôn ngữ vấn đáp chuẩn SQO Sematics Query Optimization Tối ưu hoá truy vấn ngữ
nghĩa
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 10ĐẶT VẤN ĐỀ
1 Lí do chọn đề tài
Khai 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ác khối dữ liệu lớn Những công cụ khai phá dữ liệu có thể dự đoán những xu hướng trong tương lai Sự phân tích một cách tự động và mang tính dự báo củ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ệu khô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ộc tí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ề ảnh hưở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ác như thế nào Apriori là thuật toán luật kết hợp, việc áp dụng thuật toán Apriori và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ựa chọn thuật toán luật kết hợp để ứng dụng vào việc khai phá dữ liệu sẽ mang lạ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 đào tạ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úp cho 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ật toá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 11+ 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 12CHƯƠ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ây dự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ăng củ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ác tri thức hữu ích trong dữ liệu còn khai phá dữ liệu chỉ tập trung vào việc ứng dụ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ác bước của quá trình KDD như bước kết hợp với tri thức đã có hoặc bước đánh giá 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ằng nhữ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 đó không có giá trị hoặc không phục vụ mục đích nào Như vậy, một quá trình
Trang 13phá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 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àn thà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à cho phép chọn các phương pháp khai phá dữ liệu thích hợp với mục đích ứng dụng và bản chất của dữ liệu
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
Trang 14Bước 2: Thu thập và tiền xử lí dữ liệu: Là thu thập và xử lí thô, còn đượ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ệc thiế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ần thiết, bước này thường chiếm nhiều thời gian nhất trong toàn bộ quy trình phát hiện tri thức Do dữ liệu được lấy từ nhiều nguồn khác nhau, không đồng nhấ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ông thườ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ệc phá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ại nhiề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ước 5: Sử dụng các tri thức phát hiện được: Là đưa các tri thức tìm được
ứ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ần chính như sau:
Trang 15- 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ết quả 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ương tác với các modul khai phá dữ liệu để tập trung vào các thuộc tính cần quan 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ức trở lên đa dạng và phong phú hơn Do đó, nhiệm vụ phát hiện tri thức trong CSDL 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ác nhau
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ằng cá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 CSDL ngữ 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 đổi cũ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ạng thái nào của CSDL thỏa mãn kiến thức về ngữ nghĩa được sử dụng trong phép biến đổi Các hệ thống phát hiện luật SQO có thể được chia thành ba lớp:
Trang 16- Các hệ thống hướng truy vấn (hệ thống báo cáo) trong đó thuật toán phát hiện tri thức trong CSDL nhằm phục vụ các truy vấn CSDL thực của người dùng
- Các hệ thống hướng dữ liệu (hệ thống tác nghiệp) trong đó thuật toán phát hiện tri thức trong CSDL chủ yếu phục vụ sự phân bổ dữ liệu trong trạng thá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ện tri 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í truy vấ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 xem xé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àn vẹn Ở đây sẽ sử dụng thuật ngữ phụ thuộc CSDL để chỉ sự phụ thuộc dữ liệu kiể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ột kiể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 dung củ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
có ý nghĩa của dữ liệu theo thời gian Sai lệch theo nhóm là sự khác nhau của
Trang 17giữ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ều khoản sẽ thuộc vào một không gian A nào đó mà mỗi giao dịch khi đó là một tậ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ất hiện của một số điều khoản nào đó trong giao dịch sẽ kéo theo sự xuất hiện củ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ỏa mãn cả X và Y trên toàn bộ số giỏ chỉ thỏa mãn X
Trang 181.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 định lượ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ết hợ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ộc tí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ậy Bayes Đó là một đồ thị có hướng, không có chu trình Các nút biểu diễn thuộ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ống như 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ạnh hơ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ật nhân quả không chỉ chỉ ra mối tương quan giữa tiên đề và kết luận mà còn cho biế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ụng cá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ới cá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 19xá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ập cá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ủa nguyê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ộc nhó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 đo tia hồng ngoại, … Liên quan chặt chẽ đến việc phân nhóm là nhiệm vụ đánh giá 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ột trong 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ớp chỉ 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ộc tí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ân lớp là trình độ lãnh đạo của nhân viên
Trang 201.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ân lớ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ác phươ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ớp trong 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ới mộ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ời trong 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ăm xâ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ìm kiế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ệc phâ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ợp chí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ểu tổ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ột lớ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ết luậ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ật phâ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 211.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ằm thự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ật khai 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án nhãn lớp độ chính xác của mô hình chấp nhận được Một số phương pháp phâ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ểu Bayes, 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ợp vớ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ật khá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án k-means, thuật toán PAM (Partitioning Around Medoids), thuật toán CALAR (Clustering LARge Application), thuật toán BRICH (Balanced Interative Reducing 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ân lớ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 22của đối tượng dữ liệu chưa biết sẽ được dự đoán Cây quyết định được biểu diễ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ỗi nú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ễn mộ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 cho ngườ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án CLS (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ữa cá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 được xá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ải thoả 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án FT_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 kinh nghiệ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àn chứ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 độc lậ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 quy tuyế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 23sang 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ồi quy, 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 ứng dụng phổ biến hiện nay Kĩ thuật này ra đời do mong muốn nâng khả năng là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ất nhiề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ật tố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 trong khoa 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 khai thác dữ liệu hay không và làm thế nào để giải quyết với sự dư thừa những thô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 24bì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ác trườ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ớn hơ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ình suy 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ấy cá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ủa bà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ởi thời gian quan sát dữ liệu Việc dữ liệu thay đổi nhanh chóng có thể làm cho cá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à coi các thay đổi như là cơ hội để khai thác bằng cách sử dụng nó để tìm kiếm các mẫu bị thay đổi
Các trường không phù hợp: Một đặc điểm khác là tính không thí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ới trọ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ên quan đế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 con củ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ọc cá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ăn trong 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 cho giá trị của nó hoặc kiểm tra để xác định giá trị của nó Hoặc có thể coi sự
Trang 25vắ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ột giá 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ứng khô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 đề khai phá 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ày tó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ĩnh vự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 26CHƯƠNG 2: CƠ SỞ LÍ THUYẾT LUẬT KẾT HỢP
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}
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ó thuật toán kiểm tra luật r: X →Y có thừa trong tập các luật R hay
Trang 27không
2 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 được gọ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 giao dị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ục trong một giao dịch và trong tất cả các tập mục (item set) khác, có thể coi chú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ới một định danh duy nhất (Unique Transasction IDentifier-TID) Nói rằng, một giao 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ặc supp(X),
Trang 28s(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ịch trong D, nghĩa là:
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 đáng quan tâm trong các thuật toán Ngược lại, những tập không phải frequent itemset 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ãn support(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 29Các tập mục phổ biến Độ hỗ trợ (supp) tương ứng
AD, AE, AB, ACD, ABCE 25% (1/4)
Bả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ũng support 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:
Trang 30phả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ác giao 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ớn hơ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 theo cấp độ luỹ thừa cùng với số lượng các mục (item) Tuy nhiên, các giải thuật hiện nay có thế giảm bớt không gian tìm kiếm này dựa trê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ật tì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ất lớ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át triển các độ đo chất lượng của luật
2.1.3 Một số tính chất của luật kết hợp
Luật kết hợp có một số tính chất sau [1]:
- Tính chất 1: Không hợp các luật kết hợp Nếu có hai luật X => Y và Y => Z trong D thì không nhất thiết X∪Y=>Z đúng
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
- Tính chất 2: Không tách luật Nếu X∪ Y => Z thì X => Y và X => Z chưa chắc đã xảy ra
Ví dụ:
Trong trường hợp Z có mặt trong một tác vụ chỉ khi cả X và Y đều có mặt trong tác vụ đó Tức là s(X ∪ Y), s(Z) nếu độ hỗ trợ của X và Y thoả mãn
Trang 31s(X) > s(X ∪ Y) và s(Y) > s(X ∪ Y) thì hai luật riêng biệt sẽ không đủ độ tin cậ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ậy cự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
Vì Y ⊆ X nên (L – X) ⊆(L – Y) do đó:
S(L – Y) ≤ S(L – X) ⇒ 𝑠(𝐿)
2.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 = supp(𝐴𝐵𝐶𝐷)
supp(𝐴𝐵)
Trang 32nế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át triể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ác nghiê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 khoa họ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 33trì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ố (quantitave attributes), các nhà nghiên cứu đã đề xuất luật kết hợp mờ nhằm khắc phục cá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ũi hơ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à quan trọng hơn nhiều so với thông tin về phương thức gọi Trong quá trình tìm kiế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ộc tính phương thức gọi Đây là huớng nghiên cứu rất thú vị và đã được một số nhà nghiên cứu đề xuất cách giải quyết bài toán này Với luật kết hợp có
Trang 34thuộ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 trung và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ệu ngà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ình tì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ết hợ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ối trực tuyến đến các kho dữ liệu đa chiều (Multidimensional data, data warehouse) 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 352.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ưới như 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ập khô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à minsup nà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
Nguyên lý cơ bản của các giải thuật thông thường là sử dụng đường biên