KHAI PHÁ LUẬT KẾT HỢP CHO CƠ SỞ DỮ LIỆU GIA TĂNG Chương 1: Trình bày tổng quan về khám phá tri thức và khai phá dữ liệu, trong đó có đềcập đến khái niệm tri thức, dữ liệu, quá trình khám phá tri thức, nhiệm vụ và các kỹ thuật khám phá tri thức. Chương 2: Trình bày về luật kết hợp, trong đó trình bày về các khái niệm, định nghĩa, tính chất của luật kết hợp, một số kỹ thuật khai thác luật kết hợp. Chương 3: Khai phá luật kết hợp trên cơ sở dữ liệu gia tăng
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG PHÙNG QUANG TIẾN KHAI PHÁ LUẬT KẾT HỢP CHO CƠ SỞ DỮ LIỆU GIA TĂNG CHUYÊN NGÀNH : KHOA HỌC MÁY TÍNH MÃ SỐ : 60.48.01 TÓM TẮT LUẬN VĂN THẠC SĨ HÀ NỘI - 2013 Luận văn được hoàn thành tại: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG Người hướng dẫn khoa học: GS.TS VŨ ĐỨCTHI Phản biện 1: ………………………………………………………………………… Phản biện 2: ………………………………………………………………………… Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu chính Viễn thông Vào lúc: giờ ngày tháng năm Có thể tìm hiểu luận văn tại: - Thư viện của Học viện Công nghệ Bưu chính Viễn thông 1 MỞ ĐẦU Trong những năm gần đây, sự phát triển mạnh mẽ của công nghệ thông tin đã làm cho khả năng thu thập và lưu trữ thông tin của các hệ thống thông tin tăng lên một cách nhanh chóng. Bên cạnh đó, việc tin học hóa một cách ồ ạt và nhanh chóng các hoạt động sản xuất, kinh doanh cũng như nhiều lĩnh vực khác đã tạo ra cho chúng ta một lượng dữ liệu cần lưu trữ khổng lồ. Hàng triệu cơ sở dữ liệu được sử dụng trong các hoạt động sản xuất, kinh doanh, quản lý, , trong đó có nhiều cơ sở dữ liệu cực lớn cỡ Gigabyte, thậm chí Terabyte. Trong các lĩnh vực kinh doanh và đời sống như: marketing, tài chính, ngân hàng, bảo hiểm, khoa học, y tế, giáo dục, an ninh, internet các tập dữ liệu luôn luôn được bổ sung và gia tăng theo thời gian, do vậy các tập thường xuyên và các luật kết hợp đã được tính toán không còn giá trị trên tập dữ liệu mới. Ngoài ra, với một cơ sở dữ liệu ổn định, khi cần tìm các tập dữ liệu thường xuyên với độ hỗ trợ khác, công việc phải tính lại từ đầu do vậy rất mật thơi gian và tốn kém. Để cố gắng tìm ra được những phương pháp để làm giảm đi độ phực tạp và đỡ tốn kém thời gian, chi phí cho quá trình khai phá dữ liệu đối với những hệ cơ sở dữ liệu lơn, thường xuyên thay đổi nên tôi chọn đề tài “Khai phá luật kết hợp cho cơ sở dữ liệu gia tăng”. Luận văn gồm 3 chương, với các nội dung: Chương 1: Trình bày tổng quan về khám phá tri thức và khai phá dữ liệu, trong đó có đề cập đến khái niệm tri thức, dữ liệu, quá trình khám phá tri thức, nhiệm vụ và các kỹ thuật khám phá tri thức. Chương 2: Trình bày về luật kết hợp, trong đó trình bày về các khái niệm, định nghĩa, tính chất của luật kết hợp, một số kỹ thuật khai thác luật kết hợp. Chương 3: Khai phá luật kết hợp trên cơ sở dữ liệu gia tăng Luật văn này đã được hoàn thành trong khoảng thời gian không dài. Tuy nhiên, đã đạt được một số kết quả tốt, tôi đang nghiên cứu để hoàn thiện và đưa chương trình trong luận văn vào ứng dụng thực tế. Tôi xin bày tỏ sự biết ơn sâu sắc của mình tới GS.TS Vũ Đức Thi người đã trực tiếp hướng dẫn, chỉ bảo tận tình, cung cấp tài liệu và phương pháp luận nghiên cứu khoa học để tôi hoàn thành bản luận văn này. Tôi xin gửi lời cảm ơn tới các thầy cô giáo đã dạy dỗ trong quá trình tôi theo học tại Học viện. Trong suốt quá trình nghiên cứu, mặc dù đã hết sức cố gắng nhưng chắc chắn luận văn không tránh khỏi những thiếu sót, rất mong nhận được sự góp ý của quý thầy cô, đống nghiệp và bạn bè để luận văn được hoàn chỉnh hơn. 2 Knowledg e Pattern Discover y Transforme d Data Cleansed Preprocesse d Preparated Data Target Data Gatherin g Data Mining Selection Transformat ion Cleansing Pre- processing Preparation Envalution of Rule Internet, CHƯƠNG 1 TỔNG QUAN VỀ KHÁM PHÁ TRI THỨC VÀ KHAI PHÁ DỮ LIỆU 1.1. Giơi thiệu khám phá tri thức và khai phá dữ liệu Trong thời đại bùng nổ thông tin, các công nghệ lưu trữ dữ liệu hiện nay càng được phát triển tạo điều kiện cho các đơn vị thu thập thông tin dữ liệu được tốt hơn. Đặc biệt là trong các lĩnh vực kinh doanh, giáo dục, y tế, ngân hàng,… khối lượng lưu trữ thông tin dữ liệu lên tới hàng Gigabyte thập chí hàng Terabayte. Với khối lượng thông tin dữ liệu lớn như vậy và ngày cang tăng thì các phương pháp quản trị và khai thác cơ sở dữ liệu truyền thống không còn đáp ứng được với nhu cầu của tình hình mới là nhanh, chính xác được nữa; do vậy một khuynh hướng kỹ thuật mới đã ra đời đó là Kỹ thuật phát hiện tri thức và khai phá dữ liệu (KDD- knowledge Discovery and Data Mining). Chúng ta có thể xem tri thức như là các thông tin tích hợp, bao gồm các sự kiện và các mối quan hệ giữa chúng. Các mối quan hệ này có thể được hiểu ra, có thể được phát hiện, hoặc có thể được học. Nói cách khác, tri thức có thể được coi là dữ liệu có độ trừu tượng và tổ chức cao. Phát hiện tri thức trong các cơ sở dữ liệu một qui trình nhận biết các mẫu hoặc các mô hình trong dữ liệu với các tính năng: hợp thức, mới, khả ích, và có thể hiểu được. Còn khai thác dữ liệu là một bước trong qui trình phát hiện tri thức gồm có các thuật toán khai thác dữ liệu chuyên dùng dưới một số qui định về hiệu quả tính toán chấp nhận được để tìm ra các mẫu hoặc các mô hình trong dữ liệu. Nói một cách khác, mục đích của phát hiện tri thức và khai phá dữ liệu chính là tìm ra các mẫu hoặc các mô hình đang tồn tại trong các cơ sở dữ liệu nhưng vẫn còn bị che khuất bởi hàng “núi” dữ liệu. Nhiều người coi khai phá dữ liệu và khai phá tri thức trong cơ sở dữ liệu là như nhau. Tuy nhiên trên thực tế, khai phá dữ liệu chỉ là một bước thiết yếu trong quá trình phát hiện tri thức trong cơ sở dữ liệu. 1.2. Quá trình phát hiện tri thức từ cơ sở dữ liệu Quá trình khai phá dữ liệu sẽ tiến hành qua 6 giai đoạn như sau: 3 Hình 1.1 Quá trình khám phá tri thức từ cơ sở dữ liệu - Gom dữ liệu ( Gathering) - Trích lọc dữ liệu ( Selection) - Làm sạch, tiền xử lý và chuẩn bị trước dữ liệu ( cleansing, Pre-processing and Preparation) - Chuyển đổi dữ liệu (Transformation) - Phát hiện và trích mẫu dữ liệu ( Pattern Extraction and Discovery) - Đánh giá kết quả mẫu (Evaluation of Result) 1.2.1. Xác định vấn đề 1.2.2. Thu thập và tiền xử lý dữ liệu 1.2.3. Khai thác dữ liệu 1.2.4. Minh họa và đánh giá 1.2.5. Đưa kết quả vào thực tế 1.3. Khai phá dữ liệu 1.3.1 Các quan niệm về khai phá dữ liệu Sau đây là một số quan niệm về khai phá dữ liệu: Khai phá dữ liệu là tập hợp các thuật toán nhằm chiết xuất những thông tin có ích từ kho dữ liệu khổng lồ. Khai phá dữ liệu giống như quá trình tìm ra và mô tả mẫu dữ liệu. Dữ liệu như là một tập hợp của các vật hay sự kiện, còn đầu ra của quá trình khai phá dữ liệu như là những dự báo của các vật hay sự kiện mới. Như vậy, mục đích của khám phá tri thức và khai phá dữ liệu là tìm ra các mẫu hoặc mô hình đang tồn tại trong các cơ sở dữ liệu nhưng vẫn còn bị khuất bởi một số lượng dữ liệu khổng lồ. 1.3.2. Nhiệm vụ của khai phá dữ liệu - Phân cụm, phân loại, phân nhóm, phân lớp - Khai phá dữ liệu kết hợp - Lập mô hình dự báo, bao gồm hai nhiệm vụ - Phân tích đối tượng ngoài cuộc - Phân tích sự tiến hóa 1.3.3. Triển khai việc khai phá dữ liệu Nhóm các tác giả CABENA ET AL đề nghị triển khai quá trình khai phá dữ liệu theo 5 bước : Bước 1: Xác định rõ mục tiêu thương mại cần khai phá Bước 2: Chuẩn bị dữ liệu (Thu thập, tiền xử lý, chuyển đổi khuôn dạng dữ liệu nếu thấy cần thiết) 4 Bước 3: Khai phá dữ liệu (Chọn thuật toán thích hợp) Bước 4: Phân tích kết quả thu được (Xem có gì thú vị không?) Bước 5: Tiêu hóa các tri thức thu lượm được (Nhằm đề ra kế hoạch khai thác các thông tin mới) 1.3.4. Một số ứng dụng khai phá dữ liệu Hiện nay, kỹ thuật khai phá dữ liệu đang được áp dụng một cách rộng rãi trong rất nhiều lĩnh vực kinh doanh và đời sống khác nhau như (thương mại, thông tin sản xuất, thông tin khoa học, Giáo dục, y tế, marketing, ngân hàng, viễn thông, du lịch, internet… Và những gì thu được thật đáng giá. Điều đó được chứng minh bằng thực tế: Chẩn đoán bệnh trong y tế dựa trên kết quả xét nghiệm đã giúp cho bảo hiểm y tế phát hiện ra nhiều trường hợp xét nghiệm không hợp lý, tiết kiệm được nhiều kinh phí mỗi năm; Trong dịch vụ viễn thông đã phát hiện ra những nhóm người thường xuyên gọi cho nhau bằng mobile và thu lợi hàng triệu USD; IBM Suft-Aid đã áp dụng khai phá dữ liệu vào phân tích các lần đăng nhập Web vào các trang liên quan đến thị trường để phát hiện sở thích khách hàng, từ đó đánh giá hiệu quả của việc tiếp thị qua Web và cải thiện hoạt động của các Website; Trang Web mua bán qua mạng Amazon cũng tăng doanh thu nhờ áp dụng khai phá dữ liệu trong việc phân tích sở thích mua bán của khách hàng. 1.3.5. Các kỹ thuật khai phá dữ liệu Thường được chia thành hai nhóm chính: - Kỹ thuật khai phá dữ liệu mô tả: gồm có Phân cụm (clustering), tóm tắt (summarization), trực quan hóa (visualiztation), phân tích sự phát triển và độ lệch (evolution and deviation analyst), phân tích luật kết hợp (association rules)… - Kỹ thuật khai phá dữ liệu dự đoán: gồm có Phân lớp (classification), hồi quy (regession)… Tuy nhiên, chỉ có một số phương pháp thông dụng nhất là: Phân cụm dữ liệu, phân lớp dữ liệu, phương pháp hồi quy và khai phá luật kết hợp. 1.3.6. Kiến thức của hệ thống khai phá dữ liệu Như đã trình bày ở trên, khai phá dữ liệu là một giai đoạn trong quá trình phát hiện tri thức từ số lượng lớn dữ liệu lưu trữ trong các cơ sở dữ liệu, kho dữ liệu hoặc các nơi lưu trữ khác. Bước này có thể tương tác lẫn nhau giữa người sử dụng hoặc cơ sở tri thức, những mẫu đáng quan tâm được đưa cho người dùng hoặc lưu trữ như là một tri thức mới trong cơ sở tri thức. 5 Hình 1.2 kiến trúc của hệ thống khai phá dữ liệu Kiến trúc của hệ thống khai phá dữ liệu (hình 1.2) có các thành phần như sau: - Cơ sở dữ liệu, kho dữ liệu: Đó là một hoặc tuyển tập các cơ sở dữ liệu, kho dữ liệu… Các kỹ thuật làm sạch dữ liệu, tích hợp, lọc dữ liệu có thể thực hiện trên dữ liệu. - Cơ sở dữ liệu hoặc kho dữ liệu phục vụ: Là kết quả lấy dữ liệu có liên quan trên cơ sở khai phá dữ liệu của người dùng. - Cơ sở tri thức: Đó là lĩnh vực tri thức được sử dụng để hướng dẫn việc tìm hoặc đánh giá các mẫu kết quả thu được. - Mô tả khai phá dữ liệu: Bao gồm tập các modul chức năng để thực hiện các nhiệm vụ mô tả đặc điểm, kết hợp, phân lớp, phân cụm dữ liệu… - Đánh giá mẫu: Thành phần này sử dụng các độ đo và tương tác với modul khai phá dữ liệu để tập trung vào tìm các mẫu quan tâm. - Giao diện người dùng: Đây là modul giữa người dùng và hệ thống khai phá dữ liệu. Cho phép người dùng tương tác với hệ thống trên cơ sở những truy vấn hay tác vụ, cung cấp thông tin cho việc tìm kiếm. 1.3.7. Quá trình khai phá dữ liệu Quá trình khai phá dữ liệu (Hình 1.3) bắt đầu bằng cách xác định chính xác vấn đề giải quyết. Tiếp đến là xác định dữ liệu liên quan dùng để xây dựng giải pháp. Bước tiếp theo là thu thập các dữ liệu liên quan và xử lý chúng thành dạng sao cho thuật toán khai phá có thể hiểu được. Giao diện người dùng Đánh giá mẫu Mô tả khai phá dữ liệu CSDL hay kho dữ liệu phục vụ Cơ sở tri thức Cơ sở dữ liệu Kho dữ liệu 6 Hình 1.3. Quá trình khai phá dữ liệu Sau đó thuật toán khai phá dữ liệu thích hợp và thực hiện việc khai phá dữ liệu để tìm được các mẫu có ý nghĩa dưới dạng biểu diễn tương ứng (luật kết hợp, cây quyết định…). Kết quả thu được mẫu phải có đặc điểm mới. Độ mới có thể được đối sánh tương ứng với độ thay đổi trong dữ liệu hoặc bảng tri thức. Với thuật toán và nhiệm vụ khai phá dữ liệu khác nhau thì dạng mẫu chiết xuất được cũng rất đa dạng. 1.3.8. Những khó khăn trong khai phá dữ liệu - Dữ liệu lớn: - Kích thước lớn: - Dữ liệu động: - Các trường dữ liệu không phù hợp - Các giá trị bị thiếu - Các trường hợp dữ liệu bị thiếu - Quá phù hợp - Khả năng biểu đạt mẫu - Sự tương tác với người sử dụng các tri thức sẵn có Xác định nhiệm vụ Xác đinh dữ liệu liên quan Thu thập và tiền xử lý dữ liệu Thuật toán khai phá dữ liệu Dữ liệu trực tiếp [...]... Lk=Ø 37 } 3.3.5 Xử lý dữ liệu gia tăng * Phân lớp dữ liệu gia tăng Khi dữ liệu gia tăng thêm với cơ sở dữ liệu giao tác T’= {t’1,…,t’m} trên tập thuộc tính I Chuyển đổi T’ thành biểu diễn dọc: p’={P’1,…,P’n} với P’i= {t’id ∈ PT’ | xi ∈ t’} bằng cách gọi thủ tục Vertical(T’,P’) Thủ tục tính độ hỗ trợ tập mục dữ liệu thường xuyên trong cơ sở dữ liệu gia tăng khi khai phá tập mục dữ liệu thường xuyên, thủ... ngôn ngữ lập trình C# Xây dựng một ứng dụng vào hệ cơ sở dữ liệu thống kê dân số để mô tả và minh họa cho thuật toán gia tăng theo chiều ngang 3.2 Cơ sở lý thuyết 3.3 Thuật toán xử lý dữ liệu gia tăng theo chiều dọc 3.3.1 Ý tưởng thuật toán Thuật toán gia tăng 1 khai phá luật kết hợp trên cơ sở dữ liệu gia tăng theo chiều dọc 2) Khi đi tìm tập mục dữ liệu thường xuyên theo một ngưỡng S0 nào đó, ta cần... phân hoạch ) 16 CHƯƠNG 3 THUẬT TOÁN KHAI PHÁ LUẬT KẾT HỢP TRÊN CƠ SỞ DỮ LIỆU GIA TĂNG 3.1 Mở đầu Chương này giới thiệu và nghiên cứu về hai thuật toán khai phá các luật kết hợp trong cơ sở dữ liệu gia tăng [4] Thuật toán xử lý dữ liệu tăng trưởng theo chiều dọc, và chiều ngang dựa trên kỹ thuật xây dựng cây 1) Thoạt đầu, chưa có dữ liệu, ta xây dựng cây rỗng Khi một giao tác t {x i , x i , , x i }... dữ liệu tăng trưởng đúng nghĩa của nó, nghĩa là khi dữ liệu tăng trưởng ta chỉ xử lý dữ liệu mới, không cần xét đến dữ liệu cũ Điều đó làm giảm thời gian tính toán đối với những dữ liệu gia tăng theo thời gian đặc biệt đối với những dữ liệu lớn Hướng phát triển tiếp theo của đề tài là: Nghiên cứu sâu các thuật toán khai phá dữ liệu để minh hoạ thuật toán tốt hơn nữa và áp dụng vào một số bài toán khai. .. * Kết quả thực hiện: - Cây tăng trưởng như sau: - Số các tập mục thường xuyên theo ngưỡng S0=2 là: 18 tậm mục 33 KẾT LUẬN Đề tài đã tổng kết được các kiến thức cơ bản nhất của phương pháp khai phá luật kết hợp và ứng dụng hai thuật toán gia tăng để giải quyết vấn đề: với dữ liệu tăng trưởng theo chiều dọc và chiều ngang, tức số mục dữ liệu tăng trong quá trình phát sinh dữ liệu mới, thuật toán làm tăng. .. item(S) là tập hợp tất cả các thuộc tính của I xuất hiện ở tất cả các giao tác trong S Cặp ánh xạ ( tran,item) được gọi là kết nối Galois trên T x I Khai phá luật kết hợp là công việc phát hiện ra ( tìm ra, khám phá, phát hiện) các luật kết hợp thỏa mãn các ngưỡng độ hỗ trợ ( δ) và ngưỡng độ tin cậy (α) cho trước Bài toán khai phá luật kết hợp được chia thành hai bài toán nhỏ, hay như người ta thường nói,... luật kết hợp có dạng X→ ( S X), đánh giá độ tin cậy của nó xem có nhỏ hơn α hay không Thực chất, tập hợp S mà ta xét đóng vai trò của tập hợp giao S= X Y, và do X ( S – X) = ϴ, nên coi như Y – X Các thuật toán xoay quanh khai phá luật kết hợp chủ yếu nêu các giải pháp để đẩy nhanh việc thực hiện mực 1 của thuật toán 1 như đã nêu ở trên 2.3 Một số hướng tiếp cận trong khai phá luật kết hợp - Luật. .. nhớ trong để xử lý khi cần thiết Với các giao tác đã xử lý, có thể hủy bỏ, không ảnh hưởng đến công việc xử lý dữ liệu tăng trưởng tiếp theo Dựa trên lý thuyết giải thuật của hai bài toán xử lý dữ liệu gia tăng theo chiều dọc và xử lý dữ liệu gia tăng theo chiều ngang trong [4] Tác giả xây dựng chương trình ứng dụng minh họa cho thuật toán xử lý dữ liệu gia tăng theo chiều ngang, chương trình xử lý... phá luật kết hợp - Luật kết hợp nhị phân ( Binary association rule): 13 - Luật kết hợp có thuộc tính số và thuộc tính hạng mục( Quantitative and categorial association rule): - Luật kết hợp tiếp cận theo hướng tập thô ( mining association rule base on rough set): - Luật kết hợp nhiều mức ( multi-level association rules): - Luật kết hợp mờ ( fuzzy association rule): - Luật kết hợp với thuộc tính được... dữ liệu chưa gia tăng, cần tìm các mục dữ liệu thường xuyên có độ hỗ trợ S1 ≥ S0, công việc đơn giản là lọc từ SC để tạo ra tập: FS1={X| (X,Sup) ∈ SC và Sup ≥ S1} 4) Theo thời gian, số lượng các giao tác tăng dần, thuật toán tính toán lại độ hỗ trợ của các tập ứng viên trong SC chỉ dựa vào dữ liệu tăng thêm, không cần tính toán lại từ đầu 3.3.2 Phân lớp dữ liệu * Thủ tục Vertical chuyển đổi cơ sở dữ . kém thời gian, chi phí cho quá trình khai phá dữ liệu đối với những hệ cơ sở dữ liệu lơn, thường xuyên thay đổi nên tôi chọn đề tài Khai phá luật kết hợp cho cơ sở dữ liệu gia tăng . Luận. kết hợp, trong đó trình bày về các khái niệm, định nghĩa, tính chất của luật kết hợp, một số kỹ thuật khai thác luật kết hợp. Chương 3: Khai phá luật kết hợp trên cơ sở dữ liệu gia tăng Luật. thống khai phá dữ liệu (hình 1.2) có các thành phần như sau: - Cơ sở dữ liệu, kho dữ liệu: Đó là một hoặc tuyển tập các cơ sở dữ liệu, kho dữ liệu Các kỹ thuật làm sạch dữ liệu, tích hợp, lọc dữ