KHAI PHÁ DỮ LIỆU VỚI LUẬT KẾT HỢP VÀ ỨNG DỤNG TRONG TRỢ GIÚP RA QUYẾT ĐỊNH

57 0 0
KHAI PHÁ DỮ LIỆU VỚI LUẬT KẾT HỢP VÀ ỨNG DỤNG TRONG TRỢ GIÚP RA QUYẾT ĐỊNH

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Kiến trúc - Xây dựng UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA CÔNG NGHỆ THÔNG TIN ---- ----- KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Tên đề tài: KHAI PHÁ DỮ LIỆU VỚI LUẬT KẾT HỢP VÀ ỨNG DỤNG TRONG TRỢ GIÚP RA QUYẾT ĐỊNH Sinh viên thực hiện ANOULAK SIDARALAK MSSV: 2113011029 CHUYÊN NGÀNH CÔNG NGHỆ THÔNG TIN KHÓA: 2013 – 2017 Cán bộ hướng dẫn ThS. LÊ THỊ NGUYÊN AN MSCB:…. Quảng Nam, tháng 5 năm 2017 LỜI CẢM ƠN Trước hết, em xin bày tỏ lòng biết ơn tới các thầy cô giáo trường Đại học Quảng Nam đã tận tâm giảng dạy, cung cấp cho em nhiều kiến thức, phương pháp nghiên cứu trong khóa học vừa qua. Đặc biệt em xin được bày tỏ sự biết ơn sâu sắc đến giáo viên hướng dẫn ThS. Lê Thị Nguyên An, người đã tận tình hướng dẫn, giúp đỡ và động viên để em thực hiện khóa luận tốt nghiệp này. Xin cảm ơn Ban giám hiệu trường Đai học Quảng Nam, gia đình và các bạn cùng lớp đã tạo điều kiện giúp đỡ em trong thời gian vừa qua. MỤC LỤC Trang PHẦN 1: MỞ ĐẦU ............................................................................................... 1 1. Lý do chọn đề tài ............................................................................................... 1 2. Mục tiêu của đề tài. ........................................................................................... 2 3. Đối tượng nghiên cưú và phạm vi nghiên cứu .................................................. 2 4. Phương pháp nghiên cứu. .................................................................................. 2 5. Lịch sử nghiên cứu. ........................................................................................... 2 6. Đóng góp của đề tài........................................................................................... 2 7. Cấu trúc của đề tài. ............................................................................................ 2 PHẦN 2: NỘI DUNG ........................................................................................... 3 CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU ..................................... 3 1.1. Khái niệm ....................................................................................................... 3 1.2. Khai phá dữ liệu và phát hiện tri thức ............................................................ 4 1.3. Quá trình khám phá tri thức trong CSDL ...................................................... 4 1.4. Các phương pháp khai phá dữ liệu................................................................. 6 1.4.1. Các thành phần của giải thuật khai phá dữ liệu .......................................... 6 1.4.2. Phương pháp suy diễn quy nạp ................................................................. 7 1.4.3. Phương pháp K-láng giềng gần ................................................................... 8 1.4.4. Phương pháp sử dụng cây quyết định và luật ............................................. 9 1.4.5. Phương pháp phát hiện luật kết hợp............................................................ 9 1.5. Nhiệm vụ chính trong khai thác dữ liệu ....................................................... 10 1.5.1. Phân lớp (phân loại - classification).......................................................... 10 1.5.2. Hồi qui (regression)................................................................................... 10 1.5.3. Phân nhóm (clustering) ............................................................................. 10 1.5.4. Tổng hợp (summarization) ........................................................................ 11 1.5.5. Mô hình hoá sự phụ thuộc (dependency modeling).................................. 11 1.5.6. Phát hiện sự biến đổi và độ lệch (change and deviation dectection) ........ 11 1.6. Các kỹ thuật khai phá dữ liệu ....................................................................... 12 1.6.1. Các kỹ thuật tiếp cận trong Data mining................................................... 12 1.6.2. Dạng dữ liệu có thể khai phá..................................................................... 13 1.6.3. Các ứng dụng của khai phá dữ liệu ........................................................... 13 1.6.4. Khai phá luật kết hợp và ứng dụng ........................................................... 13 1.6.5. Phân loại các hệ thống khai phá dữ liệu.................................................... 14 1.6.6. Xu hướng trong khai phá dữ liệu .............................................................. 14 CHƯƠNG 2: LUẬT KẾT HỢP TRONG KHAI PHÁ DỮ LIỆU ...................... 17 2.1. Khai phá luật kết hợp ................................................................................... 17 2.2. Lý thuyết về luật kết hợp............................................................................. 18 2.2.1. Định nghĩa luật kết hợp ............................................................................. 18 2.2.2. Khái niệm .................................................................................................. 18 2.2.3. Một số tính chất liên quan đến các hạng mục phổ biến ............................ 21 2.2.3.1. Tập mục phổ biến ................................................................................... 21 2.2.3.2. Luật kết hợp............................................................................................ 21 2.2.4. Một số hướng tiếp cận trong khai phá luật kết hợp .................................. 22 2.2.5. Phát biểu bài toán phát hiện luật kết hợp .................................................. 24 2.3. Một số thuật toán phát hiện luật kết hợp ...................................................... 25 2.3.1. Thuật toán Apriori ..................................................................................... 26 2.3.1.1. Ý tưởng thuật toán Apriori ..................................................................... 26 2.3.1.2. Thuật toán Apriori .................................................................................. 27 2.3.1.3. Sinh các luật kết hợp từ tập mục phổ biến ............................................. 32 2.3.2 Thuật toán FP-growth ................................................................................ 33 2.3.2.1. Ý tưởng thuật toán .................................................................................. 33 2.3.2.2. Thuật toán FP-growth. ........................................................................... 34 2.3.2.3. Đánh giá thuật toán FP-growth. ............................................................. 37 CHƯƠNG 3: THỬ NGHIỆM KHAI PHÁ LUẬT KẾT HỢP ........................... 38 3.1. Phát biểu bài toán ......................................................................................... 38 3.2. Phân tích chương trình ................................................................................. 40 3.3. Sử dụng phần mềm weka để hỗ trợ ra luật kết hợp...................................... 41 PHẦN 3: KẾT LUẬN ......................................................................................... 50 PHẦN 4: TÀI LIỆU THAM KHẢO ................................................................... 51 DANH MỤC CÁC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT Ký hiệu, chữ viết tắt Ý nghĩa Candidate itemset Một itemset trong tập Ck được sử dụng để sinh ra các large itemset Ck Tập các ứng viên là tập mục có k mục dữ liệu (candidate k-itemset) Lk Tập các mục thương xuyên có k mục dữ liệu (Large itemset) Sup Độ hỗ trợ (Support) Support Độ hỗ trợ của luật kết hợp Confidence Độ tin cậy của luật kết hợp CSDL Cơ sở dữ liệu Minsup Độ hỗ trợ tối thiểu Minconf Độ tin cậy tối thiểu DM Data mining – Khai phá dữ liệu KPDL Khai phá dữ liệu CSDL Cơ sở dữ liệu DL Dữ liệu Supp(X) Độ hỗ trợ tập mục X Supp(X→Y) Độ hỗ trợ luật X kéo theo Y Conf(X→Y) Độ tin cậy luật X kéo theo Y Frequentlarge itemset Một itemset có độ hỗ trợ (support) >= ngưỡng độ hỗ trợ tối thiểu - tập mục phổ biến KDD (KDD-Knowledge Discovery and Data Mining) Khám phá tri thức ID Identifier Item Một phần tử của itemset Itemset Tập của các item k - itemset Một itemset có độ dài k → k -tập mục TID Transaction Identifier I Tập mục dữ liệu T Giao tác (Transaction) Transaction Giao dịch Classification Phân loại Candidate Dự tuyển FP - growth Frequent Pattern - Growth FP - tree Frequent Pattern tree DANH MỤC CÁC HÌNH STT Ý nghĩa Hình 1.1 Quá trình khám phá tri thức Hình 2.1 Ví dụ thuật toán Apriori Hình 3.1 Quá trình thực hiện ứng dụng khai phá luật kết hợp Hình 3.2 Giao diện phần mềm Weka Hình 3.3 Bảng dữ liệu các giao dịch hàng hóa Hình 3.4 Nạp dữ liệu (nạp file Supermarket.csv) Hình 3.5 Tab Associate và chọn thuật toán Apriori Hình 3.6 Thiết lập các tham số (numRules,Support, Confidence,...) Hình 3.7 Kết quả các luật kết hợp được sinh ra tương ứng Hình 3.8 Thiết lập các tham số (numRules, Support, Confidence,...) Hình 3.9 Kết quả các luật kết hợp được sinh ra tương ứng Hình 3.10 Thiết lập các tham số (numRules, Support, Confidence,...) Hình 3.11 Kết quả các luật kết hợp được sinh ra tương ứng 1 PHẦN 1: MỞ ĐẦU 1. Lý do chọn đề tài Trong những năm gần đây, việc nắm bắt được thông tin được coi là cơ sở của mọi hoạt động sản xuất, kinh doanh. Cá nhân hoặc tổ chức nào thu thập và hiểu được thông tin và hành động dựa trên các thông tin được kết xuất từ các thông tin đã có sẽ đạt được thành công trong mọi hoạt động. Chính vì lý do đó, việc tạo ra thông tin, tổ chức lưu trữ và khai thác ngày càng trở nên quan trọng và gia tăng không ngừng. Sự tăng trưởng vượt bậc của các cơ sở dữ liệu (CSDL) trong cuộc sống như: thương mại, quản lý và khoa học đã làm nảy sinh và thúc đẩy sự phát triển của kỹ thuật thu thập, lưu trữ, phân tích và khai phá dữ liệu… không chỉ bằng các phép toán đơn giản thông thường như: phép đếm, thống kê… mà đòi hỏi cách xử lý thông minh hơn, hiệu quả hơn. Từ đó các nhà quản lý có được thông tin có ích để tác động lại quá trình sản xuất, kinh doanh của mình… đó là tri thức. Các kỹ thuật cho phép ta khai thác được tri thức hữu dụng từ CSDL (lớn) được gọi là các kỹ thuật khai phá dữ liệu (DM - Data Mining). Khai phá luật kết hợp là một nội dung quan trọng trong khai phá dữ liệu. Kỹ thuật khám phá tri thức và khai phá dữ liệu đã và đang được nghiên cứu, ứng dụng trong nhiều lĩnh vực khác nhau ở các nước trên thế giới, tại Việt Nam kỹ thuật này tương đối còn mới mẻ tuy nhiên cũng đang được nghiên cứu và dần đưa vào ứng dụng. Khai phá dữ liệu được coi là quá trình trích xuất các thông tin có giá trị tiềm ẩn bên trong lượng lớn dữ liệu được lưu trữ trong các CSDL, kho dữ liệu… Hiện nay, ngoài thuật ngữ khai phá dữ liệu, người ta còn dùng một số thuật ngữ khác có ý nghĩa tương tự như: Khám phá tri thức từ cơ sở dữ liệu (Knowledge Discovery in Database-KDD), trích lọc dữ liệu (knowlegde extraction), phân tích dữ liệumẫu (datapattern analysis), khảo cổ dữ liệu (data archaeology), nạo vét dữ liệu (data dredging). Khóa luậ tốt nghiệp trình bày một số vấn đề về khám phá tri thức, khai phá dữ liệu, và trình bày rõ vấn đề khai phá luật kết hợp và ứng dụng một số thuật toán khai phá luật kết hợp trong CSDL. Chương 1: Tổng quan về khai phá dữ liệu. Chương 2: Luật kết hợp trong khai phá dữ liệu. Chương 3: Thử nghiệm khai phá luật kết hợp. 2 2. Mục tiêu của đề tài - Hiểu rõ đươc những khái niệm cơ bản của luật kết hợp. - Nắm vững một số thuật toán phát hiện luật kết hợp. - Xây dựng ứng dụng thuật toán Apriori và FP-growth để trợ giúp ra quyết địn trong thực tế. 3. Đối tượng nghiên cưú và phạm vi nghiên cứu - Lý thuyết về khai phá dữ liệu. - Một số thuật toán phát hiện luật kết hợp. - Nghiêm cứu thuật toán Apriori, FP-growth và xây dựng ứng dụng thực tế. 4. Phương pháp nghiên cứu - Tìm hiểu thu thập tài liệu liên quan đến luật kết hợp và một số thuật toán Apriori, FP-growth. - Lập kế hoạch, lên qui trình, tiến độ thực hiện. - Tham khảo nhiều tài liệu có liên quan, tham khảo ý kiến các chuyên gia trong lĩnh vực nghiên cứu. 5. Lịch sử nghiên cứu - Nội dung đã được dạy và học ở học phần Khai phá dữ liệu. - Có nhiều cá nhân cũng như nhóm nghiên cứu đã chọn kiến thức này làm nội dung cho đề tài nghiên cứu họ. 6. Đóng góp của đề tài - Cung cấp kiến thức đầy đủ hơn, chi tiết hơn về luật kết hợp. 7. Cấu trúc của đề tài - MỞ ĐẦU - NỘI DUNG Chương 1: Tổng quan về khai phá dữ liệu Chương 2: Luật kết hợp trong khai phá dữ liệu Chương 3: Thử nghiệm khai phá luật kết hợp 3 PHẦN 2: NỘI DUNG CHƯƠNG 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 1.1. Khái niệm Khai phá dữ liệu là một khái niệm ra đời vào những năm cuối ở thập kỷ 80 của thế kỷ XX. Nó bao hàm một loạt các kỹ thuật nhằm phát hiện ra các thông tin có giá trị tiềm ẩn trong các tập dữ liệu lớn (các kho dữ liệu). Về bản chất, khai phá dữ liệu liên quan đến việc phân tích các dữ liệu và sử dụng các kỹ thuật để tìm ra các mẫu hình có tính chính quy trong tập dữ liệu. Năm 1989, Fayyad, Piatestsky-Shapiro và Smyth đã dùng khái niệm khám phá tri thức trong cơ sở dữ liệu, để chỉ toàn bộ quá trình phát hiện các tri thức có ích từ các tập dữ liệu lớn; trong đó khai phá dữ liệu là một bước đặc biệt trong toàn bộ quá trình, sử dụng các giải thuật đặc biệt để chiết xuất ra các mẫu hay các mô hình từ dữ liệu. Ở một mức độ trừu tượng nhất định có thể định nghĩa về khai phá dữ liệu: Data Mining là một quá trình tìm kiếm, phát hiện các tri thức mới, tiềm ẩn, hữu dụng trong CSDL lớn. Khám phá tri thức (KDD) là mục tiêu chính của khai phá dữ liệu, do vậy hai khái niệm đó được xem như hai lĩnh vực tương đương nhau. Nhưng, nếu phân chia một cách tách bạch thì khai phá dữ liệu là một bước chính trong quá trình KDD. Khai phá dữ liệu được dùng để mô tả quá trình phát hiện ra tri thức trong CSDL. Quá trình này kết xuất ra các tri thức tiềm ẩn từ dữ liệu giúp cho việc dự báo trong kinh doanh, các hoạt động sản xuất, ... Khai phá dữ liệu làm giảm chi phí về thời gian so với phương pháp truyền thống trước kia (ví dụ như phương pháp thống kê). Sau đây là các định nghĩa mang tính mô tả của nhiều tác giả về khai phá dữ liệu: Đị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”. Định nghĩa của Parsaye: “Khai phá dữ liệu là quá trình trợ giúp quyết định, trong đó chúng ta tìm kiếm các mẫu thông tin chưa biết và bất ngờ trong CSDL lớn”. 4 Định nghĩa của Fayyad: “Khai phá tri thức là một quá trình không tầm thường nhận ra những mẫu dữ liệu có giá trị, mới, hữu ích, tiềm năng và có thể hiểu được”. 1.2. Khai phá dữ liệu và phát hiện tri thức Yếu tố thành công trong mọi hoạt động kinh doanh ngày nay là việc biết sử dụng thông tin có hiệu quả. Điều đó có nghĩa là từ các dữ liệu có sẵn phải tìm ra những thông tin tiềm ẩn mà trước đó chưa được phát hiện, tìm ra những xu hướng phát triển và những yếu tố tác động lên chúng. Thực hiện công việc đó chính là quá trình phát hiện tri thức trong cơ sở dữ liệu mà trong đó kỹ thuật cho phép ta lấy được các tri thức chính ra từ kỹ thuật khai phá dữ liệu. Nếu quan niệm tri thức là một quan hệ của các mẫu giữa các phần tử dữ liệu thì quá trình phát hiện tri thức chỉ toàn bộ quá trình trích xuất tri thức từ cơ sở dữ liệu, trong đó trải qua nhiều giai đoạn khác nhau như: Tìm hiểu và phát hiện vấn đề thu thập và tiền xử lý dữ liệu, phát hiện tri thức, minh họa và đánh giá tri thức đã phát hiện và đưa kết quả vào thực tế. Khai phá dữ liệu có những điểm khác nhau về mặt ngữ nghĩa so với phát hiện tri thức từ cơ sở dữ liệu nhưng thực tế ta thấy khai phá dữ liệu là chỉ một giai đoạn phát hiện tri thức trong một chuỗi các giai đoạn quá trình phát hiện tri thức trong cơ sở dữ liệu. Tuy nhiên đây là giai đoạn đóng vai trò chủ chốt và là giai đoạn chính tạo nên tính đa ngành của phát hiện tri thức trong cơ sở dữ liệu. 1.3. Quá trình khám phá tri thức trong CSDL Khám phá tri thức trong CSDL (KDD) là lĩnh vực liên quan đến các ngành như: thống kê, học máy, CSDL, thuật toán, trực quan hoá dữ liệu, tính toán song song và hiệu năng cao,… Mục đích của quá trình khám phá tri thức là rút ra tri thức từ dữ liệu trong CSDL lớn. Quá trình khai phá dữ liệu là quá trình gồm nhiều giai đoạn và lặp lại, mà trong đó sự lặp lại có thể xuất hiện ở bất cứ bước nào. Quá trình đó có thể được mô tả theo hình sau: 5 Hình 1.1: Quá trình khám phá tri thức. Bước thứ nhất: 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. Bước thứ hai: 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ộ qui 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 hoá. Bước thứ ba: 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ặcvà 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 các 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 lựa chọn các phương pháp khai phá dữ liệu cho phù hợp. Bước thứ tư: 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 một số lần, kết quả thu được có thể được lấy trung bình trên tất cả các lần thực hiện. 6 Bước thứ năm: Sử dụng các tri thức phát hiện được. 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 một số lần, kết quả thu được có thể được lấy trung bình trên tất cả các lần thực hiện. Các kết quả của quá trình khám phá tri thức có thể được đưa và ứng dụng trong các lĩnh vực khác nhau. 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 hoá 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.4. Các phương pháp khai phá dữ liệu Khai phá dữ liệu là lĩnh vực mà con người luôn tìm cách đạt được mục đích sử dụng thông tin của mình. Quá trình khai phá dữ liệu là quá trình phát hiện mẫu, trong đó phương pháp khai phá dữ liệu để tìm kiếm các mẫu đáng quan tâm theo dạng xác định. Có thể kể ra đây một vài phương pháp như: sử dụng công cụ truy vấn, xây dựng cây quyết định, dựa theo khoảng cách (K-láng giềng gần), giá trị trung bình, phát hiện luật kết hợp, …Các phương pháp trên có thể được phỏng theo và được tích hợp vào các hệ thống để khai phá dữ liệu theo thống kê trong nhiều năm nghiên cứu. Tuy nhiên, với dữ liệu rất lớn trong kho dữ liệu thì các phương pháp này cũng đối diện với thách thức về mặt hiệu quả và quy mô. 1.4.1. Các thành phần của giải thuật khai phá dữ liệu Giải thuật khai phá dữ liệu bao gồm 3 thành phần chính như sau: biểu diễn mô hình, kiểm định mô hình và phương pháp tìm kiếm. - Biểu diễn mô hình: Mô hình được biểu diễn theo một ngôn ngữ L nào đó để miêu tả các mẫu có thể khai thác được. Mô tả mô hình rõ ràng thì học máy sẽ tạo ra mẫu có mô hình chính xác cho dữ liệu. Tuy nhiên, nếu mô hình quá lớn thì khả năng dự đoán của học máy sẽ bị hạn chế. Như thế sẽ làm cho việc tìm kiếm phức tạp hơn cũng như hiểu được mô hình là không đơn giản hoặc sẽ không thể có các mẫu tạo ra được một mô hình chính xác cho dữ liệu. Vì vậy, việc quan trọng là người phân tích dữ liệu là cần phải hiểu đầy đủ các giả thiết miêu tả. Một điều cũng khá quan trọng là người thiết kế giải thuật cũng phải diễn tả được các giả thiết mô tả nào được tạo ra bởi giải thuật nào. Khả năng miêu tả mô hình càng lớn thì càng làm tăng mức độ nguy hiểm do bị học quá và làm giảm đi khả năng dự đoán các dữ liệu chưa biết. Hơn nữa, việc tìm kiếm sẽ càng trở lên phức tạp hơn và việc giải thích mô hình cũng khó khăn hơn. 7 Mô hình ban đầu được xác định bằng cách kết hợp biến đầu ra (phụ thuộc) với các biến độc lập mà biến đầu ra phụ thuộc vào. Sau đó phải tìm những tham số mà bài toán cần tập trung giải quyết. Việc tìm kiếm mô hình sẽ đưa ra được một mô hình phù hợp với tham số được xác định dựa trên dữ liệu (trong một số trường hợp khác thì mô hình và các tham số lại thay đổi để phù hợp với dữ liệu). Trong một số trường hợp, tập các dữ liệu được chia thành tập dữ liệu học và tập dữ liệu thử. Tập dữ liệu học được dùng để làm cho tham số của mô hình phù hợp với dữ liệu. Mô hình sau đó sẽ được đánh giá bằng cách đưa các dữ liệu thử vào mô hình và thay đổi các tham số cho phù hợp nếu cần. Mô hình lựa chọn có thể là phương pháp thống kê như SASS, … một số giải thuật học máy, mạng neuron, suy diễn hướng tình huống, các kỹ thuật phân lớp. - Kiểm định mô hình (model evaluation): Là việc đánh giá, ước lượng các mô hình chi tiết, chuẩn trong quá trình xử lý và phát hiện tri thức với sự ước lượng có dự báo chính xác hay không và có thoả mãn cơ sở logic hay không? Ước lượng phải được đánh giá chéo (cross validation) với việc mô tả đặc điểm bao gồm dự báo chính xác, tính mới lạ, tính hữu ích, tính hiểu được phù hợp với các mô hình. Hai phương pháp logic và thống kê có thể sử dụng trong mô hình kiểm định. - Phương pháp tìm kiếm: Phương pháp này bao gồm hai thành phần: Tìm kiếm tham số và tìm kiếm mô hình. Trong tìm kiếm tham số, giải thuật cần tìm kiếm các tham số để tối ưu hóa các tiêu chuẩn đánh giá mô hình với các dữ liệu quan sát được và với một mô tả mô hình đã định. Việc tìm kiếm không cần thiết đối với một số bài toán khá đơn giản: Các đánh giá tham số tối ưu có thể đạt được bằng các cách đơn giản hơn. Đối với các mô hình chung thì không có các cách này, khi đó giải thuật “tham lam” thường được sử dụng lặp đi lặp lại. Tìm kiếm mô hình xảy ra giống như một vòng lặp qua phương pháp tìm kiếm tham số: Mô tả mô hình bị thay đổi tạo nên một họ các mô hình. Với mỗi một mô tả mô hình, phương pháp tìm kiếm tham số được áp dụng để đánh giá chất lượng mô hình. Các phương pháp tìm kiếm mô hình thường sử dụng các kỹ thuật tìm kiếm heuristic vì kích thước của không gian các mô hình có thể thường ngăn cản các tìm kiếm tổng thể, hơn nữa các giải pháp đơn giản theo mẫu đóng (closed form) không dễ đạt được. 1.4.2. Phương pháp suy diễn quy nạp Một CSDL là một kho thông tin nhưng các thông tin quan trọng hơn cũng có thể được suy diễn từ kho thông tin đó. Có hai kỹ thuật chính để thực hiện việc này là suy diễn và quy nạp. 8 - Phương pháp suy diễn: Nhằm rút ra thông tin là kết quả logic của các thông tin trong CSDL. Ví dụ như toán tử liên kết áp dụng cho bảng quan hệ, bảng đầu chứa thông tin về các nhân viên và phòng ban, bảng thứ hai chứa các thông tin về các phòng ban và các trưởng phòng. Như vậy sẽ suy ra được mối quan hệ giữa các nhân viên và các trưởng phòng. Phương pháp suy diễn dựa trên các sự kiện chính xác để suy ra các tri thức mới từ các thông tin cũ. Mẫu chiết xuất được bằng cách sử dụng phương pháp này thường là các luật suy diễn. - Phương pháp quy nạp: Phương pháp quy nạp suy ra các thông tin được sinh ra từ CSDL. Có nghĩa là nó tự tìm kiếm, tạo mẫu và sinh ra tri thức chứ không phải bắt đầu với các tri thức đã biết trước. Các thông tin mà phương pháp này đem lại là các thông tin hay các tri thức cấp cao diễn tả về các đối tượng trong CSDL. Phương pháp này liên quan đến việc tìm kiếm các mẫu trong CSDL. Trong khai phá dữ liệu, quy nạp được sử dụng trong cây quyết định và tạo luật. 1.4.3. Phương pháp K-láng giềng gần Sự miêu tả các bản ghi trong tập dữ liệu khi trỏ vào không gian nhiều chiều là rất có ích đối với việc phân tích dữ liệu. Việc dùng các miêu tả này, nội dung của vùng lân cận được xác định, trong đó các bản ghi gần nhau trong không gian được xem xét thuộc về lân cận (hàng xóm – láng giềng) của nhau. Khái niệm này được dùng trong khoa học kỹ thuật với tên gọi K-láng giềng gần, trong đó K là số láng giềng được sử dụng. Phương pháp này rất hiệu quả nhưng lại đơn giản. Ví dụ: Để dự đoán hoạt động của cá thể xác định, K-láng giềng tốt nhất của cá thể được xem xét, và trung bình các hoạt động của các láng giềng gần đưa ra được dự đoán về hoạt động của cá thể đó. Kỹ thuật K-láng giềng gần là một phương pháp tìm kiếm đơn giản. Tuy nhiên, nó có một số mặt hạn chế giới là hạn phạm vi ứng dụng của nó. Đó là thuật toán này có độ phức tạp tính toán là luỹ thừa bậc 2 theo số bản ghi của tập dữ liệu. Vấn đề chính liên quan đến thuộc tính của bản ghi. Một bản ghi gồm nhiều thuộc tính độc lập, nó bằng một điểm trong không gian tìm kiếm có số chiều lớn. Trong các không gian có số chiều lớn, giữa hai điểm bất kỳ hầu như có cùng khoảng cách. Vì thế mà kỹ thuật K-láng giềng không cho ta thêm một thông tin có ích nào, khi hầu hết các cặp điểm đều là các láng giềng. Cuối cùng, phương pháp K-láng giềng không đưa ra lý thuyết để hiểu cấu trúc dữ liệu. Hạn chế đó có thể được khắc phục bằng kỹ thuật cây quyết định. 9 1.4.4. Phương pháp sử dụng cây quyết định và luật Với kỹ thuật phân lớp dựa trên cây quyết định, kết quả của quá trình xây dựng mô hình sẽ cho ra một cây quyết định. Cây này được sử dụng trong quá trình phân lớp các đối tượng dữ liệu chưa biết hoặc đánh giá độ chính xác của mô hình. Tương ứng với hai giai đoạn trong quá trình phân lớp là quá trình xây dựng và sử dụng cây quyết định. Quá trình xây dựng cây quyết định bắt đầu từ một nút đơn biểu diễn tất cả các mẫu dữ liệu. Sau đó, các mẫu sẽ được phân chia một cách đệ quy dựa vào việc lựa chọn các thuộc tính. Nếu các mẫu có cùng một lớp thì nút sẽ trở thành lá, ngược lại ta sử dụng một độ đo thuộc tính để chọn ra thuộc tính tiếp theo làm cơ sở để phân chia các mẫu ra các lớp. Theo từng giá trị của thuộc tính vừa chọn, ta tạo ra các nhánh tương ứng và phân chia các mẫu vào các nhánh đã tạo. Lặp lại quá trình trên cho tới khi tạo ra được cây quyết định, tất cả các nút triển khai thành lá và được gán nhãn. Quá trình đệ quy sẽ dừng lại khi một trong các điều kiện sau được thỏa mãn: - Tất cả các mẫu thuộc cùng một nút. - Không còn một thuộc tính nào để lựa chọn. - Nhánh không chứa mẫu nào. Phần lớn các giải thuật sinh cây quyết định đều có hạn chế chung là sử dụng nhiều bộ nhớ. Lượng bộ nhớ sử dụng tỷ lệ thuận với kích thước của mẫu dữ liệu huấn luyện. Một chương trình sinh cây quyết định có hỗ trợ sử dụng bộ nhớ ngoài song lại có nhược điểm về tốc độ thực thi. Do vậy, vấn đề tỉa bớt cây quyết định trở nên quan trọng. Các nút lá không ổn định trong cây quyết định sẽ được tỉa bớt. Kỹ thuật tỉa trước là việc dừng sinh cây quyết định khi chia dữ liệu không có ý nghĩa. 1.4.5. Phương pháp phát hiện luật kết hợp Phương pháp này nhằm phát hiện ra các luật kết hợp giữa các thành phần dữ liệu trong CSDL. Mẫu đầu ra của giải thuật khai phá dữ liệu là tập luật kết hợp tìm được. Ta có thể lấy một ví dụ đơn giản về luật kết hợp như sau: sự kết hợp giữa hai thành phần A và B có nghĩa là sự xuất hiện của A trong bản ghi kéo theo sự xuất hiện của B trong cùng bản ghi đó: A => B. Các luật kết hợp có thể là một cách hình thức hóa đơn giản. Chúng rất thích hợp cho việc tạo ra các kết quả có dữ liệu dạng nhị phân. Giải thuật tìm kiếm các luật kết hợp tạo ra số luật ít nhất phải bằng với số các tập phổ biến và 10 nếu như một tập phổ biến có kích thước K thì phải có ít nhất là 2 k tập phổ biến. Thông tin về các tập phổ biến được sử dụng để ước lượng độ tin cậy của các tập luật kết hợp. 1.5. Nhiệm vụ chính trong khai thác dữ liệu Quá trình khai phá dữ liệu là quá trình phát hiện ra mẫu thông tin. Trong đó, giải thuật khai phá tìm kiếm các mẫu đáng quan tâm theo dạng xác định như các luật, phân lớp, hồi quy, cây quyết định, ... 1.5.1. Phân lớp (phân loại - classification) 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. Như thế 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 được phát hiện biểu diễn dưới dạng các luật theo cách sau: “Nếu các thuộc tính dự báo của một mục thoả 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ề nhân viên có 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 loại là trình độ lãnh đạo của nhân viên. 1.5.2. Hồi qui (regression) 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. Nhiệm vụ của 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, phương pháp mô hình hoá cũng được sử dụng, ví dụ: cây quyết định. Ứng dụng của hồi quy là rất nhiều, ví dụ: 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; ước lượng xác suất người bệnh có thể chết bằng cách kiểm tra các triệu chứng; dự báo nhu cầu của người dùng đối với một sản phẩm, … 1.5.3. Phân nhóm (clustering) 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 hay gối lên nhau. Có nghĩa 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 khách hàng có phản ứng giống nhau trong CSDL tiếp thị; xác định các quang phổ từ các phương pháp đo 11 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.5.4. Tổng hợp (summarization) 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à khóa luận tự động. Nhiệm vụ chính là sản sinh ra các mô tả đặc trưng cho một lớp. Mô tả loại 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”. Lưu ý rằng luật dạng này có các khác biệt so với luật phân lớp. Luật phát hiện đặc trưng cho lớp chỉ sản sinh khi các mục đã thuộc về lớp đó. 1.5.5. Mô hình hoá sự phụ thuộc (dependency modeling) Là việc tìm kiếm một mô hình mô tả sự phụ thuộc giữa các biến, thuộc tính theo hai mức: Mức cấu trúc của mô hình mô tả (thường 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. Những phụ thuộc này thường được biểu thị dưới dạng theo luật “nếu - thì” (nếu tiền đề là đúng thì kết luận đúng). Về nguyên tắc, cả tiền đề và kết luận đề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 thuộc tính. Hơn 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à đồ thị có hướng, không chu trình. Các nút biểu diễn thuộc tính và trọng số của liên kết phụ thuộc giữa các nút đó. 1.5.6. Phát hiện sự biến đổi và độ lệch (change and deviation dectection) Nhiệm vụ này tập trung vào khám phá hầu hết 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 độ 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 độ lệch hay dùng là lệch theo thời gian hay lệch theo nhóm. Độ lệch theo thời gian là sự thay đổi có ý nghĩa của dữ liệu theo thời gian. Độ lệch theo nhóm là sự khác nhau của giữ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 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, sai sót dữ liệu hay sai lệch so với giá trị thông thường được phát hiện. 12 Vì những nhiệm vụ này yêu cầu số lượng và các dạng thông tin rất khác nhau nên chúng thường ảnh hưởng đến việc thiết kế và chọn phương pháp khai phá dữ liệu khác nhau. Ví dụ như phương pháp cây quyết định tạo ra được một mô tả phân biệt được các mẫu giữa các lớp nhưng không có tính chất và đặc điểm của lớp. 1.6. Các kỹ thuật khai phá dữ liệu 1.6.1. Các kỹ thuật tiếp cận trong Data mining Căn cứ vào lớp các bài toán cần giải quyết, khai phá dữ liệu có các kỹ thuật áp dụng sau: a) Phân lớp và dự đoán: xếp một đối tượng vào một trong những lớp đã biết trước. Ví dụ: phân lớp các bệnh nhân dữ liệu trong hồ sơ bệnh án. Hướng tiếp cận này thường sử dụng một số kỹ thuật của học máy như cây quyết định, mạng nơ ron nhân tạo. b) Luật kết hợp: phương pháp này nhằm phát hiện ra các luật kết hợp giữa các thành phần dữ liệu trong CSDL. Mẫu đầu ra của giải thuật khai phá dữ liệu là tập luật kết hợp tìm được. Có thể lấy một ví dụ đơn giản về luật kết hợp như sau: phân tích CSDL bán hàng nhận được thông tin về những khách hàng mua máy tính cũng có khuynh hướng mua phần mềm quản lý tài chính trong cùng lần mua được miêu tả trong luật kết hợp sau: “Mua máy tính  Mua phần mềm quản lý tài chính” Độ hỗ trợ: 4, độ tin cậy: 70. Độ hỗ trợ và độ tin cậy là hai độ đo của sự đáng quan tâm của luật. Chúng tương ứng phản ánh sự hữu ích và sự chắc chắn của luật đã khám phá. Độ hỗ trợ 4 có nghĩa là: 4 của tất cả các tác vụ đã phân tích chỉ ra rằng máy tính và phần mềm quản lý tài chính là đã được mua cùng nhau. Còn độ tin cậy 70 có nghĩa là 70 các khách hàng mua máy tính cũng mua phần mềm quản lý tài chính. c) Phân tích chuỗi theo thời gian: tượng tự như khai phá luật kết hợp nhưng có thêm tính thứ tự và tính thời gian. Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vực tài chính và thị trường chứng khoán vì nó có tính dự báo cao. d) Phân cụm: xếp các đối tượng theo từng cụm dữ liệu tự nhiên. e) Mô tả khái niệm: thiên về mô tả, tổng hợp và tóm tắt khái niệm. Ví dụ: tóm tắt văn bản. 13 1.6.2. Dạng dữ liệu có thể khai phá Do khai phá dữ liệu được ứng dụng rộng rãi nên nó có thể làm việc với rất nhiều kiểu dữ liệu khác nhau. Sau đây là một số dạng dữ liệu điển hình: CSDL quan hệ, CSDL đa chiều, CSDL dạng giao dịch, CSDL quan hệ - hướng đối tượng, dữ liệu không gian và thời gian, Dữ liệu chuỗi thời gian, CSDL đa phương tiện, dữ liệu Text và Web... 1.6.3. Các ứng dụng của khai phá dữ liệu Phát hiện tri thức và khai phá dữ liệu liên quan đến nhiều ngành, nhiều lĩnh vực: thống kê, trí tuệ nhân tạo, CSDL, thuật toán, tính toán song song ... Đặc biệt phát hiện tri thức và khai phá dữ liệu rất gần gũi với lĩnh vực thống kê, sử dụng các phương pháp thống kê để mô hình hóa dữ liệu và phát hiện các mẫu. Khai phá dữ liệu có nhiều ứng dụng trong thực tế, ví dụ như: 1) Thống kê, phân tích dữ liệu và hỗ trợ ra quyết định. 2) Điều trị y học và chăm sóc y tế: một số thông tin về chuẩn đoán bệnh lưu trong các hệ thống quản lý bệnh viện. Phân tích mối liên hệ giữa các triệu chứng bệnh, chuẩn đoán và phương pháp điều trị (chế độ dinh dưỡng, thuốc, ...). 3) Lĩnh vực khoa học: Quan sát thiên văn, dữ liệu gene, dữ liệu sinh vật học, tìm kiếm, so sánh các hệ gene và thông tin di truyền, mối liên hệ gene và một số bệnh di truyền, ... 4) Bảo hiểm, tài chính và thị trường chứng khoán: phân tích tình hình tài chính và dự báo giá của các loại cổ phiếu trong thị trường chứng khoán. Danh mục vốn và giá, lãi suất, dữ liệu thẻ tín dụng, phát hiện gian lận, ... 5) Sản xuất và chế biến: Quy trình, phương pháp chế biến và xử lý sự cố. 6) Mạng viễn thông: Phân tích các cuộc gọi điện thoại và hệ thống giám sát lỗi, sự cố chất lượng dịch vụ, … 7) Text mining và Web mining: Phân lớp văn bản và các trang Web, tóm tắt văn bản. 1.6.4. Khai phá luật kết hợp và ứng dụng Luật kết hợp là một biểu thức có dạng: X  Y, trong đó X và Y là tập các trường gọi là item. Ý nghĩa của các luật kết hợp khá dễ nhận thấy: Cho trước một cơ sở dữ liệu có D là tập các giao tác - trong đó mỗi giao tác T D là tập các item - khi đó X  Y diễn đạt ý nghĩa rằng bất cứ khi nào giao tác T có chứa X thì chắc chắn T có chứa Y. Độ tin cậy của luật (rule confidence) có thể được hiểu như xác suất điều kiện p(Y  T  X  T). Ý tưởng của việc khai thác các luật kết hợp có nguồn gốc từ việc phân tích dữ liệu mua hàng của khách và nhận 14 ra rằng “Một khách hàng mua mặt hàng X1 và X2 thì sẽ mua mặt hàng Y với xác suất là c”. Ứng dụng trực tiếp của các luật này trong các bài toán kinh doanh làm cho luật kết hợp trở thành một phương pháp khai thác phổ biến. Hơn nữa, luật kết hợp không chỉ bị giới hạn trong phân tích sự phụ thuộc lẫn nhau trong phạm vi các ứng dụng bán lẻ mà chúng còn được áp dụng thành công trong rất nhiều bài toán kinh doanh. Như vậy, khai phá luật kết hợp là một phương pháp xử lý thông tin quan trọng và phổ biến, nó nhằm khám phá mối liên hệ giữa các mẫu dữ liệu. Tiếp theo, khóa luận tốt nghiệp sẽ đề cập đến luật kết hợp. Đây là một hướng nghiên cứu quan trọng trong lĩnh vực khai phá dữ liệu và là nội dung tìm hiểu, nghiên cứu trọng tâm của khóa luận tốt nghiệp. 1.6.5. Phân loại các hệ thống khai phá dữ liệu KPDL là một công nghệ tri thức liên quan đến nhiều lĩnh vực nghiên cứu khác như CSDL, học máy, trí tuệ nhân tạo, trực quan hoá dữ liệu và tri thức, … Chúng ta có thể phân loại các hệ thống KPDL theo các tiêu chí khác nhau như sau: - Phân loại dựa trên loại dữ liệu được khai phá: Các hệ thống KPDL làm việc với CSDL quan hệ, kho dữ liệu , CSDL giao dịch, CSDL hướng đối tượng, CSDL không gian và thời gian, CSDL đa phương tiện, CSDL văn bản và web, … - Phân loại dựa trên loại tri thức khai phá được: Các hệ thống KPDL có thể phân loại dựa theo loại tri thức mà chúng khai phá được, nghĩa là dựa vào các chức năng khai phá như mô tả, tóm tắt, luật kết hợp, phân lớp, dự báo, phân cụm, … - Phân loại dựa trên loại kỹ thuật được sử dụng: Các công cụ KPDL như các hệ thống xử lý phân tích trực tuyến (OLAP), sử dụng kỹ thuật học máy (cây quyết định, mạng nơron nhân tạo, k- maen, máy hỗ trợ vector, tập thô, tập mờ, ...), trực quan hoá dữ liệu, … - Phân loại dựa trên các lĩnh vực hệ thống KPDL được ứng dụng: Các hệ thống KPDL được sử dụng trong các lĩnh vực khác nhau như: Thương mại (ngành công nghiệp bán lẻ), viễn thông, tin sinh học, điều trị y tế, tài chính và thị trường chứng khoán, bảo hiểm y tế, … 1.6.6. Xu hướng trong khai phá dữ liệu Sự đa dạng của dữ liệu, các nhiệm vụ KPDL, và các cách tiếp cận KPDL đặt ra nhiều thách thức trong vấn đề nghiên cứu KPDL. Sự phát triển của các hệ thống và phương pháp KPDL hiệu quả, việc xây dựng các môi trường KPDL 15 tương tác và tích hợp, việc thiết kế các ngôn ngữ KPDL, và việc ứng dụng các kỹ thuật KPDL để giải quyết các vấn đề ứng dụng lớn là nhiệm vụ quan trọng đối với các nhà nghiên cứu KPDL, hệ thống KPDL và các nhà phát triển ứng dụng. Phần này đề cập đến một số vấn đề đang thu hút sự chú ý của các nhà nghiên cứu KPDL. - Các hệ thống khai thác dữ liệu có thể khai phá các loại khác nhau của tri thức từ loại dữ liệu khác nhau. - Làm thế nào để tăng cường hiệu suất, độ chính xác, khả năng mở rộng, và tích hợp của các hệ thống khai thác dữ liệu? Làm thế nào để giảm độ phức tạp tính toán? Làm thế nào để cải thiện khả năng xử lý dữ liệu không đầy đủ, không phù hợp, và nhiễu? Ba câu hỏi trên vẫn còn cần được tập trung trong tương lai. - Tận dụng tri thức nền hoặc tri thức từ những người dùng (các chuyên gia hoặc chuyên viên) để nâng cấp hiệu suất của các hệ thống khai thác dữ liệu. - Khai thác dữ liệu song song và phân tán là một xu hướng nghiên cứu thú vị bởi vì nó sử dụng các hệ thống tính toán mạnh mẽ để giảm thời gian phản ứng. Đây là điều cần thiết bởi vì ngày càng cần nhiều các ứng dụng thời gian thực trong thế giới cạnh tranh ngày nay. - Ngôn ngữ truy vấn khai thác dữ liệu (DMQL): Các nhà nghiên cứu trong lĩnh vực này cố gắng thiết kế một ngôn ngữ truy vấn chuẩn cho khai thác dữ liệu. Ngôn ngữ này sẽ được sử dụng trong các hệ thống OLAM như SQL được sử dụng rộng rả...

Trang 1

UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA CÔNG NGHỆ THÔNG TIN

 -

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC

Tên đề tài:

KHAI PHÁ DỮ LIỆU VỚI LUẬT KẾT HỢP VÀ ỨNG DỤNG TRONG TRỢ GIÚP RA QUYẾT ĐỊNH

Sinh viên thực hiện

Trang 2

LỜI CẢM ƠN

Trước hết, em xin bày tỏ lòng biết ơn tới các thầy cô giáo trường Đại học Quảng Nam đã tận tâm giảng dạy, cung cấp cho em nhiều kiến thức, phương pháp nghiên cứu trong khóa học vừa qua

Đặc biệt em xin được bày tỏ sự biết ơn sâu sắc đến giáo viên hướng dẫn ThS Lê Thị Nguyên An, người đã tận tình hướng dẫn, giúp đỡ và động viên để em thực hiện khóa luận tốt nghiệp này

Xin cảm ơn Ban giám hiệu trường Đai học Quảng Nam, gia đình và các bạn cùng lớp đã tạo điều kiện giúp đỡ em trong thời gian vừa qua

Trang 3

MỤC LỤC

PHẦN 1: MỞ ĐẦU 1

1 Lý do chọn đề tài 1

2 Mục tiêu của đề tài 2

3 Đối tượng nghiên cưú và phạm vi nghiên cứu 2

4 Phương pháp nghiên cứu 2

1.2 Khai phá dữ liệu và phát hiện tri thức 4

1.3 Quá trình khám phá tri thức trong CSDL 4

1.4 Các phương pháp khai phá dữ liệu 6

1.4.1 Các thành phần của giải thuật khai phá dữ liệu 6

1.4.2 Phương pháp suy diễn / quy nạp 7

1.4.3 Phương pháp K-láng giềng gần 8

1.4.4 Phương pháp sử dụng cây quyết định và luật 9

1.4.5 Phương pháp phát hiện luật kết hợp 9

1.5 Nhiệm vụ chính trong khai thác dữ liệu 10

1.5.1 Phân lớp (phân loại - classification) 10

1.5.2 Hồi qui (regression) 10

1.5.3 Phân nhóm (clustering) 10

1.5.4 Tổng hợp (summarization) 11

1.5.5 Mô hình hoá sự phụ thuộc (dependency modeling) 11

1.5.6 Phát hiện sự biến đổi và độ lệch (change and deviation dectection) 11

1.6 Các kỹ thuật khai phá dữ liệu 12

1.6.1 Các kỹ thuật tiếp cận trong Data mining 12

1.6.2 Dạng dữ liệu có thể khai phá 13

1.6.3 Các ứng dụng của khai phá dữ liệu 13

1.6.4 Khai phá luật kết hợp và ứng dụng 13

1.6.5 Phân loại các hệ thống khai phá dữ liệu 14

1.6.6 Xu hướng trong khai phá dữ liệu 14

CHƯƠNG 2: LUẬT KẾT HỢP TRONG KHAI PHÁ DỮ LIỆU 17

Trang 4

2.2.4 Một số hướng tiếp cận trong khai phá luật kết hợp 22

2.2.5 Phát biểu bài toán phát hiện luật kết hợp 24

2.3 Một số thuật toán phát hiện luật kết hợp 25

2.3.1 Thuật toán Apriori 26

2.3.1.1 Ý tưởng thuật toán Apriori 26

2.3.1.2 Thuật toán Apriori 27

2.3.1.3 Sinh các luật kết hợp từ tập mục phổ biến 32

2.3.2 Thuật toán FP-growth 33

2.3.2.1 Ý tưởng thuật toán 33

2.3.2.2 Thuật toán FP-growth 34

2.3.2.3 Đánh giá thuật toán FP-growth 37

CHƯƠNG 3: THỬ NGHIỆM KHAI PHÁ LUẬT KẾT HỢP 38

3.1 Phát biểu bài toán 38

Trang 5

DANH MỤC CÁC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT

Candidate itemset Một itemset trong tập Ck được sử dụng để sinh ra các large itemset

Frequent/large itemset Một itemset có độ hỗ trợ (support) >= ngưỡng độ hỗ trợ tối thiểu - tập mục

Trang 6

DANH MỤC CÁC HÌNH

Hình 1.1 Quá trình khám phá tri thức Hình 2.1 Ví dụ thuật toán Apriori

Hình 3.1 Quá trình thực hiện ứng dụng khai phá luật kết hợp Hình 3.2 Giao diện phần mềm Weka

Hình 3.3 Bảng dữ liệu các giao dịch hàng hóa Hình 3.4 Nạp dữ liệu (nạp file Supermarket.csv) Hình 3.5 Tab Associate và chọn thuật toán Apriori Hình 3.6 Thiết lập các tham số (numRules,Support,

Confidence, )

Hình 3.7 Kết quả các luật kết hợp được sinh ra tương ứng Hình 3.8 Thiết lập các tham số (numRules, Support,

Confidence, )

Hình 3.9 Kết quả các luật kết hợp được sinh ra tương ứng Hình 3.10 Thiết lập các tham số (numRules, Support,

Confidence, )

Hình 3.11 Kết quả các luật kết hợp được sinh ra tương ứng

Trang 7

PHẦN 1: MỞ ĐẦU 1 Lý do chọn đề tài

Trong những năm gần đây, việc nắm bắt được thông tin được coi là cơ sở của mọi hoạt động sản xuất, kinh doanh Cá nhân hoặc tổ chức nào thu thập và hiểu được thông tin và hành động dựa trên các thông tin được kết xuất từ các thông tin đã có sẽ đạt được thành công trong mọi hoạt động Chính vì lý do đó, việc tạo ra thông tin, tổ chức lưu trữ và khai thác ngày càng trở nên quan trọng và gia tăng không ngừng

Sự tăng trưởng vượt bậc của các cơ sở dữ liệu (CSDL) trong cuộc sống như: thương mại, quản lý và khoa học đã làm nảy sinh và thúc đẩy sự phát triển của kỹ thuật thu thập, lưu trữ, phân tích và khai phá dữ liệu… không chỉ bằng các phép toán đơn giản thông thường như: phép đếm, thống kê… mà đòi hỏi cách xử lý thông minh hơn, hiệu quả hơn Từ đó các nhà quản lý có được thông tin có ích để tác động lại quá trình sản xuất, kinh doanh của mình… đó là tri thức Các kỹ thuật cho phép ta khai thác được tri thức hữu dụng từ CSDL (lớn) được gọi là các kỹ thuật khai phá dữ liệu (DM - Data Mining) Khai phá luật kết hợp là một nội dung quan trọng trong khai phá dữ liệu

Kỹ thuật khám phá tri thức và khai phá dữ liệu đã và đang được nghiên cứu, ứng dụng trong nhiều lĩnh vực khác nhau ở các nước trên thế giới, tại Việt Nam kỹ thuật này tương đối còn mới mẻ tuy nhiên cũng đang được nghiên cứu và dần đưa vào ứng dụng

Khai phá dữ liệu được coi là quá trình trích xuất các thông tin có giá trị tiềm ẩn bên trong lượng lớn dữ liệu được lưu trữ trong các CSDL, kho dữ liệu… Hiện nay, ngoài thuật ngữ khai phá dữ liệu, người ta còn dùng một số thuật ngữ khác có ý nghĩa tương tự như: Khám phá tri thức từ cơ sở dữ liệu (Knowledge Discovery in Database-KDD), trích lọc dữ liệu (knowlegde extraction), phân tích dữ liệu/mẫu (data/pattern analysis), khảo cổ dữ liệu (data archaeology), nạo vét dữ liệu (data dredging)

Khóa luậ tốt nghiệp trình bày một số vấn đề về khám phá tri thức, khai phá dữ liệu, và trình bày rõ vấn đề khai phá luật kết hợp và ứng dụng một số thuật toán khai phá luật kết hợp trong CSDL

Chương 1: Tổng quan về khai phá dữ liệu Chương 2: Luật kết hợp trong khai phá dữ liệu Chương 3: Thử nghiệm khai phá luật kết hợp

Trang 8

2 Mục tiêu của đề tài

- Hiểu rõ đươc những khái niệm cơ bản của luật kết hợp - Nắm vững một số thuật toán phát hiện luật kết hợp

- Xây dựng ứng dụng thuật toán Apriori và FP-growth để trợ giúp ra quyết địn trong thực tế

3 Đối tượng nghiên cưú và phạm vi nghiên cứu

- Lý thuyết về khai phá dữ liệu

- Một số thuật toán phát hiện luật kết hợp

- Nghiêm cứu thuật toán Apriori, FP-growth và xây dựng ứng dụng thực tế

4 Phương pháp nghiên cứu

- Tìm hiểu thu thập tài liệu liên quan đến luật kết hợp và một số thuật toán Apriori, FP-growth

- Lập kế hoạch, lên qui trình, tiến độ thực hiện

- Tham khảo nhiều tài liệu có liên quan, tham khảo ý kiến các chuyên gia trong lĩnh vực nghiên cứu

5 Lịch sử nghiên cứu

- Nội dung đã được dạy và học ở học phần Khai phá dữ liệu

- Có nhiều cá nhân cũng như nhóm nghiên cứu đã chọn kiến thức này làm

nội dung cho đề tài nghiên cứu họ

6 Đóng góp của đề tài

- Cung cấp kiến thức đầy đủ hơn, chi tiết hơn về luật kết hợp 7 Cấu trúc của đề tài

- MỞ ĐẦU - NỘI DUNG

Chương 1: Tổng quan về khai phá dữ liệu Chương 2: Luật kết hợp trong khai phá dữ liệu Chương 3: Thử nghiệm khai phá luật kết hợp

Trang 9

PHẦN 2: NỘI DUNG CHƯƠNG 1

TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 1.1 Khái niệm

Khai phá dữ liệu là một khái niệm ra đời vào những năm cuối ở thập kỷ 80 của thế kỷ XX Nó bao hàm một loạt các kỹ thuật nhằm phát hiện ra các thông tin có giá trị tiềm ẩn trong các tập dữ liệu lớn (các kho dữ liệu) Về bản chất, khai phá dữ liệu liên quan đến việc phân tích các dữ liệu và sử dụng các kỹ thuật để tìm ra các mẫu hình có tính chính quy trong tập dữ liệu

Năm 1989, Fayyad, Piatestsky-Shapiro và Smyth đã dùng khái niệm khám phá tri thức trong cơ sở dữ liệu, để chỉ toàn bộ quá trình phát hiện các tri thức có ích từ các tập dữ liệu lớn; trong đó khai phá dữ liệu là một bước đặc biệt trong toàn bộ quá trình, sử dụng các giải thuật đặc biệt để chiết xuất ra các mẫu hay các mô hình từ dữ liệu

Ở một mức độ trừu tượng nhất định có thể định nghĩa về khai phá dữ liệu:

Data Mining là một quá trình tìm kiếm, phát hiện các tri thức mới, tiềm ẩn, hữu

dụng trong CSDL lớn

Khám phá tri thức (KDD) là mục tiêu chính của khai phá dữ liệu, do vậy

hai khái niệm đó được xem như hai lĩnh vực tương đương nhau Nhưng, nếu phân chia một cách tách bạch thì khai phá dữ liệu là một bước chính trong quá trình KDD

Khai phá dữ liệu được dùng để mô tả quá trình phát hiện ra tri thức trong CSDL Quá trình này kết xuất ra các tri thức tiềm ẩn từ dữ liệu giúp cho việc dự báo trong kinh doanh, các hoạt động sản xuất, Khai phá dữ liệu làm giảm chi phí về thời gian so với phương pháp truyền thống trước kia (ví dụ như phương pháp thống kê) Sau đây là các định nghĩa mang tính mô tả của nhiều tác giả về khai phá dữ liệu:

Đị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”

Định nghĩa của Parsaye: “Khai phá dữ liệu là quá trình trợ giúp quyết định, trong đó chúng ta tìm kiếm các mẫu thông tin chưa biết và bất ngờ trong CSDL lớn”

Trang 10

Định nghĩa của Fayyad: “Khai phá tri thức là một quá trình không tầm thường nhận ra những mẫu dữ liệu có giá trị, mới, hữu ích, tiềm năng và có thể hiểu được”

1.2 Khai phá dữ liệu và phát hiện tri thức

Yếu tố thành công trong mọi hoạt động kinh doanh ngày nay là việc biết sử dụng thông tin có hiệu quả Điều đó có nghĩa là từ các dữ liệu có sẵn phải tìm ra những thông tin tiềm ẩn mà trước đó chưa được phát hiện, tìm ra những xu hướng phát triển và những yếu tố tác động lên chúng Thực hiện công việc đó chính là quá trình phát hiện tri thức trong cơ sở dữ liệu mà trong đó kỹ thuật cho phép ta lấy được các tri thức chính ra từ kỹ thuật khai phá dữ liệu

Nếu quan niệm tri thức là một quan hệ của các mẫu giữa các phần tử dữ liệu thì quá trình phát hiện tri thức chỉ toàn bộ quá trình trích xuất tri thức từ cơ sở dữ liệu, trong đó trải qua nhiều giai đoạn khác nhau như: Tìm hiểu và phát hiện vấn đề thu thập và tiền xử lý dữ liệu, phát hiện tri thức, minh họa và đánh giá tri thức đã phát hiện và đưa kết quả vào thực tế

Khai phá dữ liệu có những điểm khác nhau về mặt ngữ nghĩa so với phát hiện tri thức từ cơ sở dữ liệu nhưng thực tế ta thấy khai phá dữ liệu là chỉ một giai đoạn phát hiện tri thức trong một chuỗi các giai đoạn quá trình phát hiện tri thức trong cơ sở dữ liệu Tuy nhiên đây là giai đoạn đóng vai trò chủ chốt và là giai đoạn chính tạo nên tính đa ngành của phát hiện tri thức trong cơ sở dữ liệu

1.3 Quá trình khám phá tri thức trong CSDL

Khám phá tri thức trong CSDL (KDD) là lĩnh vực liên quan đến các ngành như: thống kê, học máy, CSDL, thuật toán, trực quan hoá dữ liệu, tính toán song song và hiệu năng cao,…

Mục đích của quá trình khám phá tri thức là rút ra tri thức từ dữ liệu trong CSDL lớn Quá trình khai phá dữ liệu là quá trình gồm nhiều giai đoạn và lặp lại, mà trong đó sự lặp lại có thể xuất hiện ở bất cứ bước nào

Quá trình đó có thể được mô tả theo hình sau:

Trang 11

Hình 1.1: Quá trình khám phá tri thức

Bước thứ nhất: 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

Bước thứ hai: 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ộ qui 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 hoá

Bước thứ ba: 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 các 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 lựa chọn các phương pháp khai phá dữ liệu cho phù hợp

Bước thứ tư: 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 một số lần, kết quả thu được có thể được lấy trung bình trên tất cả các lần thực hiện

Trang 12

Bước thứ năm: Sử dụng các tri thức phát hiện được 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 một số lần, kết quả thu được có thể được lấy trung bình trên tất cả các lần thực hiện Các kết quả của quá trình khám phá tri thức có thể được đưa và ứng dụng trong các lĩnh vực khác nhau 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 hoá 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.4 Các phương pháp khai phá dữ liệu

Khai phá dữ liệu là lĩnh vực mà con người luôn tìm cách đạt được mục đích sử dụng thông tin của mình Quá trình khai phá dữ liệu là quá trình phát hiện mẫu, trong đó phương pháp khai phá dữ liệu để tìm kiếm các mẫu đáng quan tâm theo dạng xác định Có thể kể ra đây một vài phương pháp như: sử dụng công cụ truy vấn, xây dựng cây quyết định, dựa theo khoảng cách (K-láng giềng gần), giá trị trung bình, phát hiện luật kết hợp, …Các phương pháp trên có thể được phỏng theo và được tích hợp vào các hệ thống để khai phá dữ liệu theo thống kê trong nhiều năm nghiên cứu Tuy nhiên, với dữ liệu rất lớn trong kho dữ liệu thì các phương pháp này cũng đối diện với thách thức về mặt hiệu quả và quy mô

1.4.1 Các thành phần của giải thuật khai phá dữ liệu

Giải thuật khai phá dữ liệu bao gồm 3 thành phần chính như sau: biểu diễn mô hình, kiểm định mô hình và phương pháp tìm kiếm

- Biểu diễn mô hình: Mô hình được biểu diễn theo một ngôn ngữ L nào đó

để miêu tả các mẫu có thể khai thác được Mô tả mô hình rõ ràng thì học máy sẽ tạo ra mẫu có mô hình chính xác cho dữ liệu Tuy nhiên, nếu mô hình quá lớn thì khả năng dự đoán của học máy sẽ bị hạn chế Như thế sẽ làm cho việc tìm kiếm phức tạp hơn cũng như hiểu được mô hình là không đơn giản hoặc sẽ không thể có các mẫu tạo ra được một mô hình chính xác cho dữ liệu Vì vậy, việc quan trọng là người phân tích dữ liệu là cần phải hiểu đầy đủ các giả thiết miêu tả Một điều cũng khá quan trọng là người thiết kế giải thuật cũng phải diễn tả được các giả thiết mô tả nào được tạo ra bởi giải thuật nào Khả năng miêu tả mô hình càng lớn thì càng làm tăng mức độ nguy hiểm do bị học quá và làm giảm đi khả năng dự đoán các dữ liệu chưa biết Hơn nữa, việc tìm kiếm sẽ càng trở lên phức tạp hơn và việc giải thích mô hình cũng khó khăn hơn

Trang 13

Mô hình ban đầu được xác định bằng cách kết hợp biến đầu ra (phụ thuộc) với các biến độc lập mà biến đầu ra phụ thuộc vào Sau đó phải tìm những tham số mà bài toán cần tập trung giải quyết Việc tìm kiếm mô hình sẽ đưa ra được một mô hình phù hợp với tham số được xác định dựa trên dữ liệu (trong một số trường hợp khác thì mô hình và các tham số lại thay đổi để phù hợp với dữ liệu) Trong một số trường hợp, tập các dữ liệu được chia thành tập dữ liệu học và tập dữ liệu thử Tập dữ liệu học được dùng để làm cho tham số của mô hình phù hợp với dữ liệu Mô hình sau đó sẽ được đánh giá bằng cách đưa các dữ liệu thử vào mô hình và thay đổi các tham số cho phù hợp nếu cần Mô hình lựa chọn có thể là phương pháp thống kê như SASS, … một số giải thuật học máy, mạng neuron, suy diễn hướng tình huống, các kỹ thuật phân lớp

- Kiểm định mô hình (model evaluation): Là việc đánh giá, ước lượng các

mô hình chi tiết, chuẩn trong quá trình xử lý và phát hiện tri thức với sự ước lượng có dự báo chính xác hay không và có thoả mãn cơ sở logic hay không? Ước lượng phải được đánh giá chéo (cross validation) với việc mô tả đặc điểm bao gồm dự báo chính xác, tính mới lạ, tính hữu ích, tính hiểu được phù hợp với các mô hình Hai phương pháp logic và thống kê có thể sử dụng trong mô hình kiểm định

- Phương pháp tìm kiếm: Phương pháp này bao gồm hai thành phần: Tìm

kiếm tham số và tìm kiếm mô hình Trong tìm kiếm tham số, giải thuật cần tìm kiếm các tham số để tối ưu hóa các tiêu chuẩn đánh giá mô hình với các dữ liệu quan sát được và với một mô tả mô hình đã định Việc tìm kiếm không cần thiết đối với một số bài toán khá đơn giản: Các đánh giá tham số tối ưu có thể đạt được bằng các cách đơn giản hơn Đối với các mô hình chung thì không có các cách này, khi đó giải thuật “tham lam” thường được sử dụng lặp đi lặp lại Tìm kiếm mô hình xảy ra giống như một vòng lặp qua phương pháp tìm kiếm tham số: Mô tả mô hình bị thay đổi tạo nên một họ các mô hình Với mỗi một mô tả mô hình, phương pháp tìm kiếm tham số được áp dụng để đánh giá chất lượng mô hình Các phương pháp tìm kiếm mô hình thường sử dụng các kỹ thuật tìm kiếm heuristic vì kích thước của không gian các mô hình có thể thường ngăn cản các tìm kiếm tổng thể, hơn nữa các giải pháp đơn giản theo mẫu đóng (closed form) không dễ đạt được

1.4.2 Phương pháp suy diễn / quy nạp

Một CSDL là một kho thông tin nhưng các thông tin quan trọng hơn cũng có thể được suy diễn từ kho thông tin đó Có hai kỹ thuật chính để thực hiện việc này là suy diễn và quy nạp

Trang 14

- Phương pháp suy diễn: Nhằm rút ra thông tin là kết quả logic của các

thông tin trong CSDL Ví dụ như toán tử liên kết áp dụng cho bảng quan hệ, bảng đầu chứa thông tin về các nhân viên và phòng ban, bảng thứ hai chứa các thông tin về các phòng ban và các trưởng phòng Như vậy sẽ suy ra được mối quan hệ giữa các nhân viên và các trưởng phòng Phương pháp suy diễn dựa trên các sự kiện chính xác để suy ra các tri thức mới từ các thông tin cũ Mẫu chiết xuất được bằng cách sử dụng phương pháp này thường là các luật suy diễn

- Phương pháp quy nạp: Phương pháp quy nạp suy ra các thông tin được

sinh ra từ CSDL Có nghĩa là nó tự tìm kiếm, tạo mẫu và sinh ra tri thức chứ không phải bắt đầu với các tri thức đã biết trước Các thông tin mà phương pháp này đem lại là các thông tin hay các tri thức cấp cao diễn tả về các đối tượng trong CSDL Phương pháp này liên quan đến việc tìm kiếm các mẫu trong CSDL Trong khai phá dữ liệu, quy nạp được sử dụng trong cây quyết định và tạo luật

1.4.3 Phương pháp K-láng giềng gần

Sự miêu tả các bản ghi trong tập dữ liệu khi trỏ vào không gian nhiều chiều là rất có ích đối với việc phân tích dữ liệu Việc dùng các miêu tả này, nội dung của vùng lân cận được xác định, trong đó các bản ghi gần nhau trong không gian được xem xét thuộc về lân cận (hàng xóm – láng giềng) của nhau Khái niệm này được dùng trong khoa học kỹ thuật với tên gọi K-láng giềng gần, trong đó K là số láng giềng được sử dụng Phương pháp này rất hiệu quả nhưng lại đơn giản

Ví dụ: Để dự đoán hoạt động của cá thể xác định, K-láng giềng tốt nhất

của cá thể được xem xét, và trung bình các hoạt động của các láng giềng gần đưa ra được dự đoán về hoạt động của cá thể đó

Kỹ thuật K-láng giềng gần là một phương pháp tìm kiếm đơn giản Tuy nhiên, nó có một số mặt hạn chế giới là hạn phạm vi ứng dụng của nó Đó là thuật toán này có độ phức tạp tính toán là luỹ thừa bậc 2 theo số bản ghi của tập dữ liệu

Vấn đề chính liên quan đến thuộc tính của bản ghi Một bản ghi gồm nhiều thuộc tính độc lập, nó bằng một điểm trong không gian tìm kiếm có số chiều lớn Trong các không gian có số chiều lớn, giữa hai điểm bất kỳ hầu như có cùng khoảng cách Vì thế mà kỹ thuật K-láng giềng không cho ta thêm một thông tin có ích nào, khi hầu hết các cặp điểm đều là các láng giềng Cuối cùng, phương pháp K-láng giềng không đưa ra lý thuyết để hiểu cấu trúc dữ liệu Hạn chế đó có thể được khắc phục bằng kỹ thuật cây quyết định

Trang 15

1.4.4 Phương pháp sử dụng cây quyết định và luật

Với kỹ thuật phân lớp dựa trên cây quyết định, kết quả của quá trình xây dựng mô hình sẽ cho ra một cây quyết định Cây này được sử dụng trong quá trình phân lớp các đối tượng dữ liệu chưa biết hoặc đánh giá độ chính xác của mô hình Tương ứng với hai giai đoạn trong quá trình phân lớp là quá trình xây

dựng và sử dụng cây quyết định

Quá trình xây dựng cây quyết định bắt đầu từ một nút đơn biểu diễn tất cả các mẫu dữ liệu Sau đó, các mẫu sẽ được phân chia một cách đệ quy dựa vào việc lựa chọn các thuộc tính Nếu các mẫu có cùng một lớp thì nút sẽ trở thành lá, ngược lại ta sử dụng một độ đo thuộc tính để chọn ra thuộc tính tiếp theo làm cơ sở để phân chia các mẫu ra các lớp Theo từng giá trị của thuộc tính vừa chọn, ta tạo ra các nhánh tương ứng và phân chia các mẫu vào các nhánh đã tạo Lặp lại quá trình trên cho tới khi tạo ra được cây quyết định, tất cả các nút triển khai thành lá và được gán nhãn

Quá trình đệ quy sẽ dừng lại khi một trong các điều kiện sau được thỏa mãn:

- Tất cả các mẫu thuộc cùng một nút

- Không còn một thuộc tính nào để lựa chọn - Nhánh không chứa mẫu nào

Phần lớn các giải thuật sinh cây quyết định đều có hạn chế chung là sử dụng nhiều bộ nhớ Lượng bộ nhớ sử dụng tỷ lệ thuận với kích thước của mẫu dữ liệu huấn luyện Một chương trình sinh cây quyết định có hỗ trợ sử dụng bộ nhớ ngoài song lại có nhược điểm về tốc độ thực thi Do vậy, vấn đề tỉa bớt cây quyết định trở nên quan trọng Các nút lá không ổn định trong cây quyết định sẽ được tỉa bớt Kỹ thuật tỉa trước là việc dừng sinh cây quyết định khi chia dữ liệu không có ý nghĩa

1.4.5 Phương pháp phát hiện luật kết hợp

Phương pháp này nhằm phát hiện ra các luật kết hợp giữa các thành phần

dữ liệu trong CSDL Mẫu đầu ra của giải thuật khai phá dữ liệu là tập luật kết hợp tìm được Ta có thể lấy một ví dụ đơn giản về luật kết hợp như sau: sự kết hợp giữa hai thành phần A và B có nghĩa là sự xuất hiện của A trong bản ghi

kéo theo sự xuất hiện của B trong cùng bản ghi đó: A => B

Các luật kết hợp có thể là một cách hình thức hóa đơn giản Chúng rất

thích hợp cho việc tạo ra các kết quả có dữ liệu dạng nhị phân Giải thuật tìm kiếm các luật kết hợp tạo ra số luật ít nhất phải bằng với số các tập phổ biến và

Trang 16

nếu như một tập phổ biến có kích thước K thì phải có ít nhất là 2k tập phổ biến Thông tin về các tập phổ biến được sử dụng để ước lượng độ tin cậy của các tập luật kết hợp

1.5 Nhiệm vụ chính trong khai thác dữ liệu

Quá trình khai phá dữ liệu là quá trình phát hiện ra mẫu thông tin Trong đó, giải thuật khai phá tìm kiếm các mẫu đáng quan tâm theo dạng xác định như các luật, phân lớp, hồi quy, cây quyết định,

1.5.1 Phân lớp (phân loại - classification)

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 Như thế 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 được phát hiện biểu diễn dưới dạng các luật theo cách sau: “Nếu các thuộc tính dự báo của một mục thoả 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ề nhân viên có 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 loại là trình độ lãnh đạo của nhân viên

1.5.2 Hồi qui (regression)

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 Nhiệm vụ của 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, phương pháp mô hình hoá cũng được sử dụng, ví dụ: cây quyết định

Ứng dụng của hồi quy là rất nhiều, ví dụ: 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; ước lượng xác suất người bệnh có thể chết bằng cách kiểm tra các triệu chứng; dự báo nhu cầu của người dùng đối với một sản phẩm, …

1.5.3 Phân nhóm (clustering)

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 hay gối lên nhau Có nghĩa 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 khách hàng có phản ứng giống nhau trong CSDL tiếp thị; xác định các quang phổ từ các phương pháp đo

Trang 17

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.5.4 Tổng hợp (summarization)

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à khóa luận tự động Nhiệm vụ chính là sản sinh ra các mô tả đặc trưng cho một lớp Mô tả loại 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” Lưu ý rằng luật dạng này có các khác biệt so với luật phân lớp Luật phát hiện đặc trưng cho lớp chỉ sản sinh khi các mục đã thuộc về lớp đó

1.5.5 Mô hình hoá sự phụ thuộc (dependency modeling)

Là việc tìm kiếm một mô hình mô tả sự phụ thuộc giữa các biến, thuộc

tính theo hai mức: Mức cấu trúc của mô hình mô tả (thường 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 Những phụ thuộc này thường được biểu thị dưới dạng theo luật “nếu - thì” (nếu tiền đề là đúng thì kết luận đúng) Về nguyên tắc, cả tiền đề và kết luận đề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 thuộc tính Hơn 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à đồ thị có hướng, không chu trình Các nút biểu diễn thuộc tính và trọng số của liên kết phụ thuộc giữa các nút đó

1.5.6 Phát hiện sự biến đổi và độ lệch (change and deviation dectection)

Nhiệm vụ này tập trung vào khám phá hầu hết 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 độ 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 độ lệch hay dùng là lệch theo thời gian hay lệch theo nhóm Độ lệch theo thời gian là sự thay đổi có ý nghĩa của dữ liệu theo thời gian Độ lệch theo nhóm là sự khác nhau của giữ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 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, sai sót dữ liệu hay sai lệch so với giá trị thông thường được phát hiện

Trang 18

Vì những nhiệm vụ này yêu cầu số lượng và các dạng thông tin rất khác nhau nên chúng thường ảnh hưởng đến việc thiết kế và chọn phương pháp khai phá dữ liệu khác nhau Ví dụ như phương pháp cây quyết định tạo ra được một mô tả phân biệt được các mẫu giữa các lớp nhưng không có tính chất và đặc điểm của lớp

1.6 Các kỹ thuật khai phá dữ liệu

1.6.1 Các kỹ thuật tiếp cận trong Data mining

Căn cứ vào lớp các bài toán cần giải quyết, khai phá dữ liệu có các kỹ thuật áp dụng sau:

a) Phân lớp và dự đoán: xếp một đối tượng vào một trong những lớp đã

biết trước Ví dụ: phân lớp các bệnh nhân dữ liệu trong hồ sơ bệnh án Hướng tiếp cận này thường sử dụng một số kỹ thuật của học máy như cây quyết định, mạng nơ ron nhân tạo

b) Luật kết hợp: phương pháp này nhằm phát hiện ra các luật kết hợp

giữa các thành phần dữ liệu trong CSDL Mẫu đầu ra của giải thuật khai phá dữ liệu là tập luật kết hợp tìm được Có thể lấy một ví dụ đơn giản về luật kết hợp như sau: phân tích CSDL bán hàng nhận được thông tin về những khách hàng mua máy tính cũng có khuynh hướng mua phần mềm quản lý tài chính trong cùng lần mua được miêu tả trong luật kết hợp sau:

“Mua máy tính  Mua phần mềm quản lý tài chính” [Độ hỗ trợ: 4%, độ tin cậy: 70%]

Độ hỗ trợ và độ tin cậy là hai độ đo của sự đáng quan tâm của luật Chúng tương ứng phản ánh sự hữu ích và sự chắc chắn của luật đã khám phá Độ hỗ trợ 4% có nghĩa là: 4% của tất cả các tác vụ đã phân tích chỉ ra rằng máy tính và phần mềm quản lý tài chính là đã được mua cùng nhau Còn độ tin cậy 70% có nghĩa là 70% các khách hàng mua máy tính cũng mua phần mềm quản lý tài chính

c) Phân tích chuỗi theo thời gian: tượng tự như khai phá luật kết hợp

nhưng có thêm tính thứ tự và tính thời gian Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vực tài chính và thị trường chứng khoán vì nó có tính dự báo cao

d) Phân cụm: xếp các đối tượng theo từng cụm dữ liệu tự nhiên

e) Mô tả khái niệm: thiên về mô tả, tổng hợp và tóm tắt khái niệm Ví dụ:

tóm tắt văn bản

Trang 19

1.6.2 Dạng dữ liệu có thể khai phá

Do khai phá dữ liệu được ứng dụng rộng rãi nên nó có thể làm việc với rất nhiều kiểu dữ liệu khác nhau Sau đây là một số dạng dữ liệu điển hình: CSDL quan hệ, CSDL đa chiều, CSDL dạng giao dịch, CSDL quan hệ - hướng đối tượng, dữ liệu không gian và thời gian, Dữ liệu chuỗi thời gian, CSDL đa phương tiện, dữ liệu Text và Web

1.6.3 Các ứng dụng của khai phá dữ liệu

Phát hiện tri thức và khai phá dữ liệu liên quan đến nhiều ngành, nhiều lĩnh vực: thống kê, trí tuệ nhân tạo, CSDL, thuật toán, tính toán song song Đặc biệt phát hiện tri thức và khai phá dữ liệu rất gần gũi với lĩnh vực thống kê, sử dụng các phương pháp thống kê để mô hình hóa dữ liệu và phát hiện các mẫu Khai phá dữ liệu có nhiều ứng dụng trong thực tế, ví dụ như:

1) Thống kê, phân tích dữ liệu và hỗ trợ ra quyết định

2) Điều trị y học và chăm sóc y tế: một số thông tin về chuẩn đoán bệnh lưu trong các hệ thống quản lý bệnh viện Phân tích mối liên hệ giữa các triệu chứng bệnh, chuẩn đoán và phương pháp điều trị (chế độ dinh dưỡng, thuốc, )

3) Lĩnh vực khoa học: Quan sát thiên văn, dữ liệu gene, dữ liệu sinh vật học, tìm kiếm, so sánh các hệ gene và thông tin di truyền, mối liên hệ gene và một số bệnh di truyền,

4) Bảo hiểm, tài chính và thị trường chứng khoán: phân tích tình hình tài chính và dự báo giá của các loại cổ phiếu trong thị trường chứng khoán Danh mục vốn và giá, lãi suất, dữ liệu thẻ tín dụng, phát hiện gian lận, 5) Sản xuất và chế biến: Quy trình, phương pháp chế biến và xử lý sự cố 6) Mạng viễn thông: Phân tích các cuộc gọi điện thoại và hệ thống giám sát

lỗi, sự cố chất lượng dịch vụ, …

7) Text mining và Web mining: Phân lớp văn bản và các trang Web, tóm tắt văn bản

1.6.4 Khai phá luật kết hợp và ứng dụng

Luật kết hợp là một biểu thức có dạng: X  Y, trong đó X và Y là tập các trường gọi là item Ý nghĩa của các luật kết hợp khá dễ nhận thấy: Cho trước một cơ sở dữ liệu có D là tập các giao tác - trong đó mỗi giao tác TD là tập các item - khi đó X  Y diễn đạt ý nghĩa rằng bất cứ khi nào giao tác T có chứa X thì chắc chắn T có chứa Y Độ tin cậy của luật (rule confidence) có thể được hiểu như xác suất điều kiện p(Y  T  X  T) Ý tưởng của việc khai thác các luật kết hợp có nguồn gốc từ việc phân tích dữ liệu mua hàng của khách và nhận

Trang 20

ra rằng “Một khách hàng mua mặt hàng X1 và X2 thì sẽ mua mặt hàng Y với xác suất là c%” Ứng dụng trực tiếp của các luật này trong các bài toán kinh doanh làm cho luật kết hợp trở thành một phương pháp khai thác phổ biến Hơn nữa, luật kết hợp không chỉ bị giới hạn trong phân tích sự phụ thuộc lẫn nhau trong phạm vi các ứng dụng bán lẻ mà chúng còn được áp dụng thành công trong rất nhiều bài toán kinh doanh

Như vậy, khai phá luật kết hợp là một phương pháp xử lý thông tin quan trọng và phổ biến, nó nhằm khám phá mối liên hệ giữa các mẫu dữ liệu Tiếp theo, khóa luận tốt nghiệp sẽ đề cập đến luật kết hợp Đây là một hướng nghiên cứu quan trọng trong lĩnh vực khai phá dữ liệu và là nội dung tìm hiểu, nghiên cứu trọng tâm của khóa luận tốt nghiệp

1.6.5 Phân loại các hệ thống khai phá dữ liệu

KPDL là một công nghệ tri thức liên quan đến nhiều lĩnh vực nghiên cứu khác như CSDL, học máy, trí tuệ nhân tạo, trực quan hoá dữ liệu và tri thức, … Chúng ta có thể phân loại các hệ thống KPDL theo các tiêu chí khác nhau như sau:

- Phân loại dựa trên loại dữ liệu được khai phá: Các hệ thống KPDL làm việc với CSDL quan hệ, kho dữ liệu , CSDL giao dịch, CSDL hướng đối tượng, CSDL không gian và thời gian, CSDL đa phương tiện, CSDL văn bản và web, …

- Phân loại dựa trên loại tri thức khai phá được: Các hệ thống KPDL có thể phân loại dựa theo loại tri thức mà chúng khai phá được, nghĩa là dựa vào các chức năng khai phá như mô tả, tóm tắt, luật kết hợp, phân lớp, dự báo, phân cụm, …

- Phân loại dựa trên loại kỹ thuật được sử dụng: Các công cụ KPDL như các hệ thống xử lý phân tích trực tuyến (OLAP), sử dụng kỹ thuật học máy (cây quyết định, mạng nơron nhân tạo, k- maen, máy hỗ trợ vector, tập thô, tập mờ, .), trực quan hoá dữ liệu, …

- Phân loại dựa trên các lĩnh vực hệ thống KPDL được ứng dụng: Các hệ thống KPDL được sử dụng trong các lĩnh vực khác nhau như: Thương mại (ngành công nghiệp bán lẻ), viễn thông, tin sinh học, điều trị y tế, tài chính và thị trường chứng khoán, bảo hiểm y tế, …

1.6.6 Xu hướng trong khai phá dữ liệu

Sự đa dạng của dữ liệu, các nhiệm vụ KPDL, và các cách tiếp cận KPDL đặt ra nhiều thách thức trong vấn đề nghiên cứu KPDL Sự phát triển của các hệ thống và phương pháp KPDL hiệu quả, việc xây dựng các môi trường KPDL

Trang 21

tương tác và tích hợp, việc thiết kế các ngôn ngữ KPDL, và việc ứng dụng các kỹ thuật KPDL để giải quyết các vấn đề ứng dụng lớn là nhiệm vụ quan trọng đối với các nhà nghiên cứu KPDL, hệ thống KPDL và các nhà phát triển ứng dụng Phần này đề cập đến một số vấn đề đang thu hút sự chú ý của các nhà nghiên cứu KPDL

- Các hệ thống khai thác dữ liệu có thể khai phá các loại khác nhau của tri thức từ loại dữ liệu khác nhau

- Làm thế nào để tăng cường hiệu suất, độ chính xác, khả năng mở rộng, và tích hợp của các hệ thống khai thác dữ liệu? Làm thế nào để giảm độ phức tạp tính toán? Làm thế nào để cải thiện khả năng xử lý dữ liệu không đầy đủ, không phù hợp, và nhiễu? Ba câu hỏi trên vẫn còn cần được tập trung trong tương lai - Tận dụng tri thức nền hoặc tri thức từ những người dùng (các chuyên gia hoặc chuyên viên) để nâng cấp hiệu suất của các hệ thống khai thác dữ liệu - Khai thác dữ liệu song song và phân tán là một xu hướng nghiên cứu thú vị bởi vì nó sử dụng các hệ thống tính toán mạnh mẽ để giảm thời gian phản ứng Đây là điều cần thiết bởi vì ngày càng cần nhiều các ứng dụng thời gian thực trong thế giới cạnh tranh ngày nay

- Ngôn ngữ truy vấn khai thác dữ liệu (DMQL): Các nhà nghiên cứu trong lĩnh vực này cố gắng thiết kế một ngôn ngữ truy vấn chuẩn cho khai thác dữ liệu Ngôn ngữ này sẽ được sử dụng trong các hệ thống OLAM như SQL được sử dụng rộng rải trong CSDL quan hệ

- Trực quan hoá và trình diễn tri thức cũng được xem xét để thể hiện tri thức trong các dạng mà con người dễ sử dụng và có thể đọc được Tri thức có thể được biểu diễn trong các biểu thức trực quan hơn do cấu trúc dữ liệu đa chiều hoặc đa mức

Tóm tắt:

- Chương này đã trình bày tổng quan về KPDL và KDD KDD là rất cần thiết và là một quá trình gồm nhiều giai đoạn, trong đó giai đoạn KPDL là một giai đoạn chính yếu nhất

- Chương này cũng đề cập đến các hướng tiếp cận và kỹ thuật chính trong KPDL cùng với một số phương pháp KPDL Mỗi phương pháp có những đặc điểm riêng và phù hợp với một lớp các bài toán với các dạng dữ liệu và miền dữ liệu nhất định Trong các CSDL lớn, các phương pháp KPDL (điển hình là phân cụm, phân lớp) cho phép phát hiện được các mẫu tiềm ẩn và đánh giá giá trị của chúng một cách tự động trong một khoảng thời gian nhanh nhất để hỗ trợ cho người sử dụng

Trang 22

- Sự đa dạng của dữ liệu, các nhiệm vụ KPDL và các cách tiếp cận KPDL đặt ra nhiều thách thức trong vấn đề nghiên cứu KPDL Phần cuối của chương này phác họa những ưu thế, ứng dụng chính của lĩnh vực này và những hướng nghiên cứu đang và sẽ được chú trọng trong thời gian tới

Trang 23

CHƯƠNG 2

LUẬT KẾT HỢP TRONG KHAI PHÁ DỮ LIỆU 2.1 Khai phá luật kết hợp

Khai phá luật kết hợp là một kỹ thuật quan trọng của khai phá dữ liệu Vấn đề được Rakesh Agrawal, Tomasz Imielinski, Arun Swami đề xuất lần đầu vào năm 1993 Sau đó năm 1996 được Rakesh Agrawal, Heikki Mannila, Ramakrishnan Srikant, Hannu Toivonen, A.Inkeri Verkamo tiếp tục cải tiến Ngày nay bài toán khai thác luật kết hợp nhận được rất nhiều sự quan tâm của nhiều nhà khoa học Việc khai thác các luật như thế vẫn là một trong những phương pháp khai thác mẫu phổ biến nhất trong việc khám phá tri thức và khai thác dữ liệu

Mục đích chính của khai phá dữ liệu là các tri thức được kết xuất ra sẽ được sử dụng trong dự báo thông tin trợ giúp trong sản xuất kinh doanh và nghiên cứu khoa học

Trong hoạt động sản xuất kinh doanh, ví dụ kinh doanh các mặt hàng tại siêu thị, các nhà quản lý rất thích có được các thông tin mang tính thống kê như: “90% phụ nữ có xe máy màu đỏ và đeo đồng hồ Thuỵ Sỹ thì dùng nước hoa hiệu Chanel” hoặc “70% khách hàng là công nhân khi mua TV thường mua loại TV 21 inches” Những thông tin như vậy rất hữu ích trong việc định hướng kinh doanh Vậy vấn đề đặt ra là liệu có tìm được các luật như vậy bằng các công cụ khai phá dữ liệu hay không? Câu trả lời là hoàn toàn có thể Đó chính là nhiệm vụ khai phá luật kết hợp

Giả sử chúng ta có một CSDL D Luật kết hợp cho biết phạm vi mà trong đó sự xuất hiện của tập các mục S nào đó trong các bản ghi của D sẽ kéo theo sự xuất hiện của một tập những mục U cũng trong những bản ghi đó Mỗi luật kết hợp được đặc trưng bởi một cặp tỉ lệ Mỗi tỉ lệ hỗ trợ được biểu diễn bằng tỉ lệ % những bản ghi trong D chứa cả S và U

Vấn đề khám phá luật kết hợp được phát biểu như sau:

 Cho trước tỉ lệ hỗ trợ  và độ tin cậy 

 Đánh số tất cả các luật trong D có các giá trị tỉ lệ hỗ trợ và tin cậy

lớn hơn  và  tương ứng

Ví dụ: Cho D là CSDL giao dịch và với độ hỗ trợ  = 40%, độ tin cậy  =

90% Vấn đề phát hiện luật kết hợp được thực hiện như sau:

Trang 24

+ Liệt kê, đếm tất cả những qui luật chỉ ra sự xuất hiện một số các mục sẽ

 X được gọi là tiền đề

 Y được gọi là hệ quả của luật

2.2.2 Khái niệm

Cho một tập I = {I1, I2, , Im} các tập m mục, một giao dịch T được định nghĩa như một tập con của các khoản mục trong I (T  I)

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 Nói rằng, một giao dịch T  D hỗ trợ một tập X  I nếu nó chứa tất cả các item của X

Điều này 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 sup(X), s(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à:

Độ hỗ trợ tối thiểu minsup là một giá trị cho trước bởi người sử dụng Nếu tập mục X có sup(X)  minsup thì ta nói X là một tập các mục phổ biến

Một tập phổ biến đượ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 tập phổ biến là những tập không đáng quan tâm Các phần sau sẽ sử dụng những cụm từ khác như “X có độ hỗ trợ tối

Trang 25

thiểu”, hay “X không có độ hỗ trợ 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

Một khoản mục X được gọi là k-itemset nếu lực lượng của X bằng k, tức là |X| = k

Một luật kết hợp có dạng R: X => Y,trong đó, X, Y là các tập mục, X, Y  I và X  Y = 

 X được gọi là tiền đề

 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) = p(Y  I | X  I) =     ∪

Trang 26

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à các luật đều phải thoả mãn một ngưỡng hỗ trợ và tin cậy cụ thể Thực 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 mincon và độ hỗ trợ sup lớn hơn độ hỗtrợ tối thiểu minsup tương ứng do người dùng xác định

Khai phá luật kết hợp được phân thành hai 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ốt

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 ta có thể xác định luật nếu AB => CD giữ lại với tỷ lệ độ tin cậy:

Nếu conf ≥ mincon 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)

Trang 27

2.2.3 Một số tính chất liên quan đến các hạng mục phổ biến 2.2.3.1 Tập mục phổ biến

- Tính chất 1: (Độ hỗ trợ của tập con)

Với A và B là tập các mục, nếu A  B thì sup(A)  sup(B)

Điều này là rõ ràng vì tất cả các giao tác của D hỗ trợ B thì cũng hỗ trợ A

- Tính chất 2: Một tập chứa một tập không phổ biến thì cũng là tập không

phổ biến

Nếu một mục trong B không có độ hỗ trợ tối thiểu trên D nghĩa là sup(B) < minsup thì một tập con A của B sẽ không phải là một tập phổ biến vì support(B)  support(A) < minsup (theo tính chất 1)

- Tính chất 3: Các tập con của tập phổ biến cũng là tập phổ biến

Nếu mục B là mục phổ biến trên D, nghĩa là support(B)  minsup thì mọi tập con A của B là tập phổ biến trên D vì support(A)  support(B) > minsup

2.2.3.2 Luật kết hợp

- Tính chất 1: ( Không hợp các luật kết hợp)

Nếu có X  Z và Y  Z trong D thì không nhất thiết X  Y  Z là đúng Xét trường hợp X  Z =  và các tác vụ trong D hỗ trợ Z nếu và chỉ nếu chúng hỗ trợ mỗi X hoặc Y, khi đó luật X  Y  Z có độ hỗ trợ 0%

Tương tự : X  Y  X  Z  X  Y  Z

- Tính chất 2: (Không tách luật)

Nếu X  Y  Z thì X  Z và Y  Z chưa chắc xảy ra

Ví dụ trường hợp Z có mặt trong một giao tác chỉ khi cả hai X và Y cũng có mặt, tức là sup(X  Y) = sup(Z), nếu độ hỗ trợ của X và Y đủ lớn hơn sup(X  Y), tức là sup(X) > sup(X  Y) và sup(Y) > sup(X  Y) thì hai luật riêng biệt sẽ không đủ độ tin cậy

Tuy nhiên đảo lại: X  Y  Z  X  Y  X  Z

- Tính chất 3: (Các luật kết hợp không có tính bắc cầu)

Nếu X  Y và Y  Z, chúng ta không thể suy ra X  Z

Ví dụ: giả sử T(X)  T(Y)  T(Z), ở đó T(X), T(Y), T(Z) tương ứng là các giao dịch chứa X, Y, Z và độ tin cậy cực tiểu minconf

Trang 28

conf(XY) = conf(YZ) = minconf thế thì:

conf(XY) = minconf2 < minconf vì minconf < 1, do đó luật X  Z không đủ độ tin cậy

- Tính chất 4:

Nếu A  (L - A) không thoả mãn độ tin cậy cực tiểu thì luật B  (L - B) cũng không thoả mãn, với các tập mục L, A, B và B  A  L

Vì supp(B)  sup(A) (theo tính chất 1) và định nghĩa độ tin cậy, chúng ta

2.2.4 Một số hướng tiếp cận trong khai phá luật kết hợp

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ó 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 như sau:

- 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ỉ được quan tâm là có hay không xuất hiện trong giao tác của CSDL chứ không quan tâm về “mức độ” xuất hiện Ví dụ: Trong hệ thống tính cước điện thoại thì việc gọi 10 cuộc điện thoại và một cuộ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ố phương pháp như rời rạc hoá, mờ hoá, … Một ví dụ về dạng luật này: “gọi liên tỉnh = ‘yes’ AND gọi di động = ‘yes’ => gọi quốc tế= ‘yes’ AND gọi dịch vụ 108 = ‘yes’, với độ hỗ trợ 20% và độ tin cậy 80%”

Ngày đăng: 26/04/2024, 00:54

Tài liệu cùng người dùng

Tài liệu liên quan