Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 55 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
55
Dung lượng
602,77 KB
Nội dung
KHAI PHÁ DỮ LIỆU VÀ NHÀ KHO DỮ LIỆU !"#$%&'($# $% Giảng viên hướng dẫn : P) )*+, Học viên thực hiện: -.//0//12 Lớp 03 TP. Hồ Chí Minh, tháng 11 năm 2012 Lời mở đầu Với môn cơ sở dữ liệu truyền thống, ta thấy các lợi ích mà nó mang lại là không thể phủ nhận trong việc giải quyết các vấn đề thông dụng như tìm kiếm thông tin, thống kê, kết xuất Tuy nhiên với nhiều năm lưu trữ và tích luỹ một lượng rất lớn dữ liệu và giá trị của nguồn dữ liệu này là một tài sản vô giá thì còn tìm ẩn. Để có thể khai thác và xử lý hiệu quả nguồn “tài nguyên- khoáng sản” này, các chuyên gia công nghệ thông tin đã có rất nhiều công trình nghiên cứu và từ đó hình thành lĩnh vực riêng về đề tài này, cụ thể là “Kỹ thuật phát hiện tri thức và khai phá dữ liệu” (KDD - Knowledge Discovery and Data Mining) đã ra đời và đã được ứng dụng rộng rãi vào thực tế. Về mặt thực tiễn, khai phá dữ liệu hiện đang được áp dụng một cách rộng rãi trong nhiều lĩnh vực kinh doanh và đời sống khác nhau như: marketing, tài chính, ngân hàng và bảo hiểm, khoa học, y tế, an ninh, internet, … rất nhiều tổ chức và công ty lớn trên thế giới đã áp dụng kỹ thuật khai phá dữ liệu vào các hoạt động sản xuất kinh doanh. Các công ty phần mềm lớn trên thế giới cũng rất quan tâm và chú trọng tới việc nghiên cứu và phát triển kỹ thuật khai phá dữ liệu: hãng Oracle tích hợp các công cụ khai phá dữ liệu vào bộ Oracle9i, hãng Microsoft thì tích hợp các công cụ và SQL 2005, IBM đã đi tiên phong trong việc phát triển các ứng dụng khai phá dữ liệu với các ứng dụng như Intelligence Miner,… Với niềm yêu thích về môn cơ sở dữ liệu truyền thống và bị lôi cuốn bởi sự mới mẻ và hữu dụng ngay từ đầu của môn học Khai phá dữ liệu và nhà kho dữ liệu, cũng như nhận thấy. Trong quá trình học, tôi nhận thấy gom cụm dữ liệu là kỹ thuật rất quan trọng trong khai phá dữ liệu và k-means là một thuật toán rất hay trong gom cụm dữ liệu nên tôi quyết định chọn đề tài khoá luận cho mình là “Tìm hiểu và hiện thực hóa thuật toán gom cụm dữ liệu (K-means)” với mục đích tìm hiểu rõ hơn và biểu diễn thuật toán K-Means một cách trực quan hơn. Qua môn học “Khai phá dữ liệu”, tôi cũng như các bạn cùng lớp đã đúc kết được rất nhiều kiến thức bổ ích cho bản thân. Tuy thời gian nghiên cứu cho môn học không nhiều nhưng những thông tin mới mẻ cũng như những ứng dụng rất thực tế mà Thầy PGS-TS. Đỗ Phúc cung cấp trong môn học đã giúp tôi hình thành những cái 2 nhìn mới hơn, sâu hơn về khám phá tri thức và khai phá dữ liệu, cũng như các ứng dụng của chúng vào trong công việc thực tiễn. Đề tài thực hiện gồm các chương: Chương I: Tổng quan về khai phá tri thức Chương II: Thuật toán K-Means Chương III: Một số ứng dụng Chương IV: Kết luận 45 ………………………………………………………………………………………… …………………………………………………………………. …………………………………………………………………………………. …………………………………………………………………………………. …………………………………………………………………………………. …………………………………………………………………………………. …………………………………………………………………………………. …………………………………………………………………………………. …………………………………………………………………………………. …………………………………………………………………………………. …………………………………………………………………………………. …………………………………………………………………………………. …………………………………………………………………………………. …………………………………………………………………………………. 3 …………………………………………………………………………………. …………………………………………………………………………………. …………………………………………………………………………………. …………………………………………………………………………………. …………………………………………………………………………………. …………………………………………………………………………………. …………………………………………………………………………………. …………………………………………………………………………………. …………………………………………………………………………………. …………………………………………………………………………………. …………………………………………………………………………………. …………………………………………………………………………………. ………………………………………………………………………………. …………………………………………………………………………………. ………………………………………………………………………………… 4 67867 -/&9$% I. -):;< /*/* =>=?@=AB7@BCDEFG@HIJ@H?K=?@L7EMG@N=J@HOP8=AB Nếu cho rằng, điện tử và truyền thông chính là bản chất của khoa học điện tử, thì dữ liệu, thông tin, và tri thức hiện đang là tiêu điểm của một lĩnh vực mới để nghiên cứu và ứng dụng, đó là khám phá tri thức và khai phá dữ liệu. Thông thường, chúng ta coi dữ liệu như là một chuỗi các bits, hoặc các số và các ký hiệu hay là các “đối tượng” với một ý nghĩa nào đó khi được gửi cho một chương trình dưới một dạng nhất định. Các bits thường được sử dụng để đo thông tin, và xem nó như là dữ liệu đã được loại bỏ phần tử thừa, lặp lại, và rút gọn tới mức tối thiểu để đặc trưng một cách cơ bản cho dữ liệu. Tri thức được xem như là các thông tin tích hợp, bao gồm các sự kiện và mối quan hệ giữa chúng, đã được nhận thức, khám phá, hoặc nghiên 5 cứu. Nói cách khác, tri thức có thể được coi là dữ liệu ở mức độ cao của sự trừu tượng và tổng quát. Khám phá tri thức hay phát hiện tri thức trong CSDL là một quy 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: Phân tích, tổng hợp, hợp thức, khả ích và có thể hiểu được. Khai phá dữ liệu là một bước trong quá trình khám phá tri thức, gồm 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 cách khác, mục tiêu của Khai phá dữ liệu là tìm kiếm các mẫu hoặc mô hình tồn tại trong CSDL nhưng ẩn trong khối lượng lớn dữ liệu. / BH?KQC@G@HIJ@H?K=?@L7 Hình 1: Quá trình Khám phá tri thức. 6 Bao gồm các bước sau: • Làm sạch dữ liệu (Data Cleaning • Tích hợp dữ liệu (Data Intergation) • Lựa chọn dữ liệu (Data Selection) • Chuyển đổi dữ liệu (Data Transformation • Khai phá dữ liệu (Data Mining) • Đánh giá mẫu (Pattern Evaluation) • Biểu diễn tri thức (Knowledge Presentation) R BH?KQC@G@N=J@HOP8=AB KPDL là một giai đoạn quan trọng trong quá trình KPTT. Về bản chất, nó là giai đoạn duy nhất tìm ra được thông tin mới, thông tin tiềm ẩn có trong CSDL chủ yếu phục vụ cho mô tả và dự đoán. Mô tả dữ liệu là tổng kết hoặc diễn tả những đặc điểm chung của những thuộc tính dữ liệu trong kho dữ liệu mà con người có thể hiểu được. Dự đoán là dựa trên những dữ liệu hiện thời để dự đoán những quy luật được phát hiện từ các mối liên hệ giữa các thuộc tính của dữ liệu trên cơ sở đó chiết xuất ra các mẫu, dự đoán được những giá trị chưa biết hoặc những giá trị tương lai của các biến quan tâm. Quá trình KPDL bao gồm các bước chính được thể hiện như hình sau: 7 Hình 2: Quá trình Khai phá dữ liệu. • Xác định nhiệm vụ • Xác định các 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 1 H7J@STCDJ@HJG@N=J@HOP8=AB Với hai mục đích khai phá dữ liệu là Mô tả và Dự đoán, người ta thường sử dụng các phương pháp sau cho khai phá dữ liệu: • Luật kết hợp (association rules) • Phân lớp (Classfication) • Hồi qui (Regression) • Trực quan hóa (Visualiztion) • Gom cụm (Clustering) • Tổng hợp (Summarization) • Mô hình ràng buộc (Dependency modeling) • Biểu diễn mô hình (Model Evaluation) • Phân tích sự phát triển và độ lệch (Evolution and deviation analyst) • Phương pháp tìm kiếm (Search Method) Có nhiều phương pháp khai phá dữ liệu được nghiên cứu ở trên, trong đó có ba phương pháp được các nhà nghiên cứu sử dụng nhiều nhất đó là: Luật kết hợp, Phân lớp dữ liệu và Gom cụm dữ liệu. U H78VC@EW7LCDO6CD?@W7?=XC7YN$ KPDL là một lĩnh vực mới phát triển nhưng thu hút được khá nhiều nhà nghiên cứu nhờ vào những ứng dụng thực tiễn của nó. Sau đây là một số lĩnh vực ứng dụng thực tế điển hình của KPDL: • Phân tích dữ liệu và hỗ trợ ra quyết định • Phân lớp văn bản, tóm tắt văn bản, phân lớp các trang Web và gom cụm ảnh màu 8 • Chuẩn đoán triệu chứng, phương pháp trong điều trị y học • Tìm kiếm, đối sánh các hệ Gene và thông tin di truyền trong sinh học • Phân tích tình hình tài chính, thị trường, dự báo gía cổ phiếu trong tài chính, thị trường và chứng khoán • Phân tích dữ liệu marketing, khách hàng. • Điều khiển và lập lịch trình • Bảo hiểm • Giáo dục Z H7@S>CD?=[J7\C7T]^CEMG_?@B\?HJO6CD?K`CD$ Vấn đề khai phá dữ liệu có thể được phân chia theo lớp các hướng tiếp cận chính sau: • Phân lớp và dự đoán (classification &prediction) • Gom cụm (clustering/segmentation) • Luật kết hợp (association rules) • Phân tích chuỗi theo thời gian (sequential/temporal patterns) • Mô tả khái niệm (concept desccription & summarization) 3 H7?@H7@?@L7 G@aG@bC?K`CDEM$ KPTT và KPDL liên quan đến nhiều ngành, nhiều lĩnh vực trong thực tế, vì vậy các thách thức và khó khăn ngày càng nhiều, càng lớn hơn. Sau đây là một số các thách thức và khó khăn cần được quan tâm: • Các cơ sở dữ liệu lớn, các tập dữ liệu cần sử lý có kích thước cực lớn, Trong thực tế, kích thước của các tập dữ liệu thường ở mức tera-byte (hàng ngàn giga-byte). • Mức độ nhiễu cao hoặc dữ liệu bị thiếu • Số chiều lớn • Thay đổi dữ liệu và tri thức có thể làm cho các mẫu đã phát hiện không còn phù hợp • Quan hệ giữa các trường phức tạp 9 II. @cC76IOP8=ABd8Be?fK=CDg R*/* @H=C=AIJ@cC76IOP8=AB Gom cụm dữ liệu là vấn đề rất quan trọng, được dùng trong nhiều lĩnh vực. Mục đích của gom cụm là xác định các cụm tồn tại bên trong một tập hợp dữ liệu không có nhãn (không biết phần tử nào thuộc vào lớp nào) cho trước. Gom cụm dữ liệu là một phương pháp học không giám sát (unsupervised learning). Gom cụm dữ liệu là quá trình nhóm một tập các đối tượng tương tự nhau trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một cụm là tương đồng còn các đối tượng thuộc các cụm khác nhau sẽ không tương đồng. Gom cụm dữ liệu là một ví dụ của phương pháp học không có thầy. Không giống như phân lớp dữ liệu, gom cụm dữ liệu không đòi hỏi phải định nghĩa trước các mẫu dữ liệu huấn luyện. Vì thế, có thể coi gom cụm dữ liệu là một cách học bằng quan sát, trong khi phân lớp dữ liệu là học bằng ví dụ… Ngoài ra gom cụm dữ liệu còn có thể được sử dụng như một bước tiền xử lí cho các thuật toán khai phá dữ liệu khác như là phân loại và mô tả đặc điểm, có tác dụng trong việc phát hiện ra các cụm. Hình 3: Mô tả tập dữ liệu vay nợ đ ư ợc gom thành 3 cụm. 10 [...]... phương pháp đó như: • Gom cụm thống kê • Gom cụm khái niệm • Gom cụm mờ • Gom cụm mạng Kohonen 15 5 Một số thuật toán cơ bản trong gom cụm dữ liệu • Các thuật toán gom cụm phân hoạch o Thuật toán k-means o Thuật toán PAM o Thuật toán CLARA o Thuật toán CLARANS • Các thuật toán gom cụm phân cấp: o Thuật toán CURE o Thuật toán BIRCH o Thuật toán AGNES o Thuật toán DIANA o Thuật toán ROCK o Thuật toán CHANMELEON... • Các thuật toán gom cụm dựa trên mật độ o Thuật toán DBSCAN o Thuật toán OPTICS o Thuật toán DENCLUE • Các thuật toán gom cụm dựa trên lưới o Thuật toán STING o Thuật toán CLIQUE • Các thuật toán gom cụm dựa trên mô hình o Thuật toán EM o Thuật toán COBWEB • Các thuật toán gom cụm có dữ liệu ràng buộc o FCM o ɛFCM o FCM-Cải tiến 16 CHƯƠNG 2: THUẬT TOÁN K-MEANS I CƠ SỞ LÝ THUYẾT II.1 Khái niệm K-means... gom cụm không dùng các nhãn lớp, khái niệmthức mà ở đó các điểm được gom cụm khác nhau dựa trênthuật toán gom cụm được áp dụng Các thuật toán gom cụm khác nhau thích hợp vớicác kiểu khác nhau về tập dữ liệu và các mục tiêu khác nhau Vì vậy thuật toán gomcụm “tốt nhất” để sử dụng tùy thuộc vào ứng dụng Thuật toán k-means là thuật toán gom cụm lặp đơn giản Nó phân mảnh tập dữ liệucho trước thành k cụm, ... tương ứng một thuật toán gom cụm phù hợp Vì vậy gom cụm dữ liệu vẫn đang là một vấn đề khó và mở, vì phải giải quyết nhiều vấn đề cơ bản một cách trọn vẹn và phù hợp với nhiều dạng dữ liệu khác nhau, đặc biệt là đối với dữ liệu hỗn hợp đang ngày càng tăng trong các hệ quản trị dữ liệu và đây cũng là một trong những thách thức lớn trong lĩnh vực KPDL 2 Các ứng dụng của phân cụm dữ liệu Gom cụm dữ liệu. .. với cụm gầnnhất của chúng, cụm thứ j sẽ có các điểm zero được gán vào nó Lúc đó, cụm Cj làrỗng Tóm lại, thuật toán k-means là thuật toán gom cụm bằng cách lặp, phân tập dữ liệuthành k cụm Thuật toán lặp đi lặp lại 2 bước: (1) gom cụm tất cả các điểm trong tậpdữ liệu dựa trên khoảng cách giữa mỗi điểm và thể hiện cụm gần nhất của nó và (2)ước tính lại các thể hiện cụm Các giới hạn của thuật toán k-means... cho k-means diễn ra trong ngữ cảnh lớn hơn trên các thuậttoán leo đồi II.2 Thuật toán Thuật toán k-means áp dụng cho các đối tượng được biểu diễn bởi các điểm trongkhông gian vectơd chiều U {x | i 1, , N} i = = , với di x ∈ℜbiểu thị đối tượng (hay điểmdữ liệu) thứi Thuật toán k-means gom cụm toàn bộ các điểm dữ liệu trong U thành kcụm C ={C1, C2, … , Ck },sao cho mỗi điểm dữ liệu xi nằm trong một cụm. .. của các phương pháp khác 4 Những kỹ thuật tiếp cận trong phân cụm dữ liệu Các kỹ thuật gom cụm có rất nhiều cách tiếp cận và các ứng dụng trong thực tế, nó đều hướng tới hai mục tiêu chung đó là chất lượng của các cụm khám phá được và tốc độ thực hiện của thuật toán Hiện nay, các kỹ thuật gom cụm có thể phân loại theo các cách tiếp cận chính sau: • Phương pháp phân hoạch: • Phương pháp phân cấp: Hình... với dữ liệu nhiễu: Hầu hết những CSDL thực đều chứa đựng dữ liệu ngoại lai, dữ liệu lỗi, dữ liệu chưa biết hoặc dữ liệu sai Một số thuật toán gom cụm nhạy cảm với dữ liệu như vậy và có thể dẫn đến chất lượng gom cụm thấp • Ít nhạy cảm với thứ tự của các dữ liệu vào • Số chiều (thuộc tính) lớn • Gom cụm ràng buộc • Dễ hiểu và dễ sử dụng 12 Với những yêu cầu đáng lưu ý này, nghiên cứu của ta về phân. .. chiến lược gom cụm phân cấp • Phương pháp dựa trên mật độ: • Phương pháp cụm dựa trên lưới: 13 Hình 5: Cấu trúc phân cấp • Phương pháp cụm dựa trên mô hình • Phương pháp có dữ liệu ràng buộc: Hình 6: Các cách mà các cụm có thể đưa ra 14 Hiện nay, các phương pháp gom cụm trên đã và đang được phát triển và áp dụng nhiều trong các lĩnh vực khác nhau và đã có một số nhánh nghiên cứu được phát triển trên... liệu, phân tích gom cụm có thể được sử dụng như một công cụ độc lập chuẩn để quan sát đặc trưng của mỗi cụm thu được bên trong sự phân bố của dữ liệu và tập trung vào một tập riêng biệt của các cụm để giúp cho việc phân tích đạt kết quả 1 Mục tiêu của phân cụm dữ liệu Mục tiêu của gom cụm là xác định được bản chất nhóm trong tập dữ liệu chưa có nhãn Nhưng để có thể quyết định được cái vì tạo thành một cụm . học Khai phá dữ liệu và nhà kho dữ liệu, cũng như nhận thấy. Trong quá trình học, tôi nhận thấy gom cụm dữ liệu là kỹ thuật rất quan trọng trong khai phá dữ liệu và k-means là một thuật toán. toán k-means. o Thuật toán PAM. o Thuật toán CLARA. o Thuật toán CLARANS. • Các thuật toán gom cụm phân cấp: o Thuật toán CURE. o Thuật toán BIRCH. o Thuật toán AGNES. o Thuật toán DIANA. o Thuật. về tập dữ liệu và các mục tiêu khác nhau. Vì vậy thuật toán gomcụm “tốt nhất” để sử dụng tùy thuộc vào ứng dụng. Thuật toán k-means là thuật toán gom cụm lặp đơn giản. Nó phân mảnh tập dữ liệucho