nghiên cứu các kỹ thuật phân cụm dữ liệu và ứng dụng

101 867 2
nghiên cứu các kỹ thuật phân cụm dữ liệu và ứng dụng

Đ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

i ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ =================== Nguyễn Thị Huế NGHIÊN CỨU CÁC KỸ THUẬT PHÂN CỤM DỮ LIỆUỨNG DỤNG LUẬN VĂN THẠC SỸ HÀ NỘI - 2011 ii LỜI CẢM ƠN Để hoàn thành được luận văn này, trước hết tôi xin gửi lời cảm ơn sâu sắc nhất tới GS.TS Vũ Đức Thi, Viện trưởng Viện công nghệ thông tin đã tận tình hướng dẫn, chỉ bảo, định hướng, đóng góp những ý kiến quý báu trong suốt quá trình tôi thực hiện luận văn. Tôi xin chân thành cảm ơn các thầy, cô giáo trong Bộ môn Hệ thống thông tin, Khoa Công nghệ thông tin, Phòng Đào tạo Sau đại học - Nghiên cứu Khoa học, Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội đã tạo mọi điều kiện tốt nhất để tôi hoàn thành khóa học này. Đồng thời, tôi cũng xin cảm ơn gia đình, bạn bè, những người luôn khuyến khích giúp đỡ tôi trong mọi hoàn cảnh khó khăn. Tôi xin cảm ơn cơ quan các đồng nghiệp đã hết sức tạo điều kiện cho tôi trong suốt quá trình học tập làm luận văn này. Hà Nội, ngày 10 tháng 04 năm 2011 Học viên Nguyễn Thị Huế iii LỜI CAM ĐOAN Tôi xin cam đoan những kiến thức trình bày trong luận văn này là do tôi tìm hiểu, nghiên cứu trình bày lại theo cách hiểu của tôi. Trong quá trình làm luận văn tôi có tham khảo các tài liệu có liên quan đã ghi rõ nguồn tài liệu tham khảo đó. Phần lớn những kiến thức tôi trình bày trong luận văn này chưa được trình bày hoàn chỉnh trong bất cứ tài liệu nào. Hà Nội, ngày 10 tháng 04 năm 2011 Học viên Nguyễn Thị Huế iv MỤC LỤC MỞ ĐẦU 1 Chương 1 3 TỔNG QUAN VỀ KHAI PHÁ TRI THỨC KHAI PHÁ DỮ LIỆU 3 1.1. Giới thiệu chung 3 1.2. Khai phá tri thức quá trình khai phá tri thức 3 1.2.1. Khai phá tri thức 3 1.2.2. Quá trình khai phá tri thức 4 1.3. Khai phá dữ liệu 5 1.3.1. Khai phá dữ liệu 5 1.3.2. Mục tiêu của khai phá dữ liệu 6 1.3.3. Quá trình khai phá dữ liệu 6 1.3.4. Các hướng tiếp cận cơ bản kỹ thuật áp dụng trong khai phá dữ liệu 7 1.3.5. Thách thức – khó khăn trong khai phá tri thức khai phá dữ liệu 13 1.3.6. Ứng dụng của khai phá dữ liệu 13 1.3.7. Kết luận 14 Chương 2. PHÂN CỤM DỮ LIỆU CÁC THUẬT TOÁN TRONG 15 PHÂN CỤM DỮ LIỆU 15 2.1. Giới thiệu 15 2.2. Các ứng dụng của phân cụm 16 2.3. Các yêu cầu về thuật toán phân cụm dữ liệu 17 2.4. Các kiểu dữ liệu trong phân cụm 18 2.5. Phép đo độ tương tự khoảng cách đối với các kiểu dữ liệu 21 2.6. Các hướng tiếp cận của bài toán phân cụm dữ liệu 28 2.6.1. Phương pháp phân hoạch (Partitioning Methods) 28 2.6.2. Phương pháp phân cấp (Hierarchical Methods) 36 2.6.3. Phương pháp dựa trên mật độ (Density-Based Methods) 44 2.6.4. Phương pháp dựa trên lưới (Gird-Based Methods) 51 2.6.5. Kết luận 56 Chương 3: ỨNG DỤNG 58 KẾT LUẬN 65 TÀI LIỆU THAM KHẢO 66 PHỤ LỤC 68 v DANH MỤC CÁC HIỆU, TỪ VIẾT TẮT Từ hoặc cụm từ Từ viết tắt Từ tiếng Anh Cơ sở dữ liệu CSDL DataBase Khai phá tri thức trong cơ sở dữ liệu KDD Knowledge Discovery in Databases Khai phá dữ liệu KPDL Data Mining Phân cụm dữ liệu PCDL Data Clustering Khai phá tri thức KPTT Knowledge Discovery vi DANH MỤC HÌNH VẼ Hình 1.2: Quá trình khai phá tri thức 4 Hình 1.3: Qúa trình khai phá dữ liệu 7 Hình 2.1: Mô hình về phân cụm dựa trên tiêu chuẩn thu nhập số nợ 15 Hình 2.2: Khoảng cách Euclidean 24 Hình 2.3: Bảng tham số 26 Hình 2.4: Ví dụ quá trình phân hoạch với k=3 30 Hình 2.6: Ví dụ về một số hình dạng cụm dữ liệu được khám phá bởi K-means 32 Hình 2.7: Các chiến lược phân cụm phân cấp 37 Hình 2.8: Ví dụ về kết quả phân cụm bằng thuật toán BIRCH. 39 Hình 2.9. Khái quát thuật toán CURE 41 Hình 2.10. Các cụm dữ liệu được khám phá bởi CURE 41 Hình 2.11. Ví dụ thực hiện phân cụm bằng thuật toán CURE 43 Hình 2.12: Các bước thuật toán CHAMELEON 44 Hình 2.13: Hình dạng các cụm được khám phá bởi DBSCAN 45 Hình 2.14: Mật độ - đến được trực tiếp 46 Hình 2.15: Mật độ - đến được 47 Hình 2.16: Mật độ - liên thông 47 Hình 2.17: Cụm nhiễu 48 Hình 2.18: Mô hình cấu trúc dữ liệu lưới 52 Hình 2.19: Mô hình thuật toán STING 53 Hình 3.1: Kết quả phân cụm với Minpt = 3, Epxilon = 200000000 60 Hình 3.2: Kết quả phân cụm trên dữ liệu thuộc tính trên bản đồ 61 Hình 3.3: Màu của các cụm thể hiện trên bản đồ 61 Hình 3.4: Giao diện chương trình Phân cụm dữ liệu bằng thuật toán DBSCAN 68 Hình 3.5: Giao diện chương trình sau khi thực hiên phân cụm 69 Hình 3.6: Kết quả phân cụm 70 1 MỞ ĐẦU Sự phát triển của công nghệ thông tin việc ứng dụng công nghệ thông tin trong các lĩnh vực của đời sống, kinh tế, xã hội trong nhiều năm qua cũng đồng nghĩa với lượng dữ liệu đã được các cơ quan thu thập lưu trữ ngày một tích lũy nhiều lên. Hơn nữa, các công nghệ lưu trữ phục hồi dữ liệu phát triển một cách nhanh chóng vì thế cơ sở dữ liệucác cơ quan, doanh nghiệp, đơn vị ngày càng nhiều thông tin tiềm ẩn phong phú đa dạng. Mặt khác, trong môi trường cạnh tranh, người ta ngày càng cần có nhiều thông tin với tốc độ nhanh để trợ giúp việc ra quyết định ngày càng có nhiều câu hỏi mang tính chất định tính cần phải trả lời dựa trên một khối lượng dữ liệu khổng lồ đã có. Với những lý do như vậy, các phương pháp quản trị khai thác cơ sở dữ liệu truyền thống ngày càng không đáp ứng được thực tế đã làm phát triển một khuynh hướng kỹ thuật mới đó là Kỹ thuật khai phá tri thức khai phá dữ liệu (KDD - Knowledge Discovery and Data Mining). Khai phá tri thức trong cơ sở dữ liệu có thể được coi như quá trình tìm tri thức có ích, cần thiết, tiềm ẩn chưa được biết trước trong cơ sở dữ liệu lớn (discovery of interesting, implicit, and previously unknown knowledge from large databases)[5] Kỹ thuật khai phá tri thức khai phá dữ liệu đã đ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 dần đưa vào ứng dụng trong những năm gần đây. Những vấn đề được quan tâm là phân lớp nhận dạng mẫu, luật kết hợp, phân cụm dữ liệu, phần tử dị biệt,… Phân cụm cơ sở dữ liệu là một trong những phương pháp quan trọng trong quá trình tìm kiếm tri thức. Phân cụm là phương pháp học từ quan sát (learning from obversation) hay còn gọi là học không thầy (unupervised learning or automatic classfication) trong trí tuệ nhân tạo. Phân cụm đặc biệt hiệu quả khi ta không biết về thông tin của các cụm, hoặc khi ta quan tâm tới những thuộc tính của cụm mà chưa biết hoặc biết rất ít về những thông tin đó. Phân cụm được coi như một công cụ độc lập để xem xét phân bố dữ liệu, làm bước tiền xử lý cho các thuật toán khác. Việc phân cụm dữ liệu có rất nhiều ứng dụng như trong tiếp thị, sử dụng đất, bảo hiểm, hoạch định thành phố … Hiện nay, phân cụm dữ liệu là một hướng được nghiên cứu rất nhiều trong Tin học. Chính vì lý do đó mà em chọn đề tài “Nghiên cứu các kỹ thuật phân cụm dữ liệu Ứng dụng” là hướng nghiên cứu chính cho luận văn của mình. 2 Nội dung chính của luận văn được trình bày trong 3 chương: Chương 1: Tổng quan về khai phá tri thức khai phá dữ liệu. Trong chương này trình bày tổng quan về khai phá tri thức, khai phá dữ liệu; qui trình khai phá tri thức, khai phá dữ liệu; … Chương 2: Phân cụm các kỹ thuật phân cụm. Trong chương này trình bày tổng quan về phân cụm dữ liệu, một số phương pháp phân cụm dữ liệu dữ liệu phổ biến như phân cụm phân hoạch, phân cụm phân cấp, phân cụm dựa trên mật độ, phân cụm dựa trên lưới; trình bày một số giải thuật điển hình của mỗi phương pháp phân cụm; … Chương 3: Ứng dụng, triển khai bài toán với giải thuật DBSCAN Phần kết luận trình bày tóm tắt về các nội dung thực hiện trong luận văn, đồng thời đưa ra các vấn đề nghiên cứu tiếp cho tương lai. Phần phụ lục trình bày một số modul chương trình cài đặt bằng thuật toán DBSCAN. Do thời gian nghiên cứu trình độ có hạn, luận văn không tránh khỏi những hạn chế thiếu sót. Em rất mong nhận được sự chỉ bảo, đóng góp ý kiến của các thầy thầy/ cô giáo cũng như bạn bè đồng nghiệp. Em xin chân thành cảm ơn! 3 Chương 1. TỔNG QUAN VỀ KHAI PHÁ TRI THỨC KHAI PHÁ DỮ LIỆU 1.1. Giới thiệu chung Cách mạng khoa học kỹ thuật tạo ra bước nhảy vọt trong tất cả các lĩnh vực của đời sống kinh tế, xã hội, … Một thành công không thể không kể đến của cuộc cách mạng này là sự bùng nổ thông tin, khiến cho khối lượng thông tin mà con người thu thập lưu trữ ngày một khổng lồ, kích thước của CSDL tăng một cách nhanh chóng. Trong những CSDL đó tiềm ẩn nhiều rất nhiều tri thức mà con người chưa khám phá ra được. Đứng trước núi dữ liệu khổng lồ thu thập được, việc khám phá tri thức thông tin trở nên rất khó khăn. Chính vì lý do đó nhu cầu tìm kiếm tri thức trong khối CSDL đã nảy sinh, nhu cầu này ngày một cấp thiết dẫn tới sự hình thành của một lĩnh vực mới – lĩnh vực khai phá dữ liệu (Data Mining) hay khai phá tri thức trong cơ sở dữ liệu (Knowledge Discovery in databases - KDD). Khai phá tri thức trong cơ sở dữ liệu có thể được coi như quá trình tìm tri thức có ích, cần thiết, tiềm ẩn chưa được biết trước trong cơ sở dữ liệu lớn (discovery of interesting, implicit, and previously unknown knowledge from large databases) Tuy mới ra đời nhưng khai phá tri thức khai phá dữ liệu đã đ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 trong những năm gần đây. Những vấn đề được quan tâm là phân lớp nhận dạng mẫu, luật kết hợp, phân cụm dữ liệu, phần tử dị biệt,… 1.2. Khai phá tri thức quá trình khai phá tri thức 1.2.1. Khai phá tri thức Khai phá hay phát hiện tri thức trong các cơ sở dữ liệu 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, có thể hiểu được. Còn khám phá dữ liệu là một bước trong qui trình khám phá 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 4 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 khai phá dữ liệu chính là tìm ra các mẫu và/hoặc các mô hình đang tồn tại trong các cơ sở dữ liệu nhưng nhưng vẫn còn bị che khuất bởi hàng núi dữ liệu. 1.2.2. Quá trình khai phá tri thức Việc khai phá tri thức thông thường có thể mô tả bằng sơ đồ các quy trình sau [4]: Hình 1.2: Quá trình khai phá tri thức Trong đó, mỗi bước là một quy trình có vai trò riêng nhiệm vụ khác nhau, bao gồm: Bước thứ nhất: tìm hiểu lĩnh vực ứng dụng hình thành bài toán, bước này sẽ quyết định cho việc rút ra được các tri thức hữu ích 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 bản chất của dữ liệu. Bước thứ hai: thu thập xử lý dữ liệu thô, còn được gọi là tiền xử lý dữ liệu nhằm loại bỏ nhiễu, xử lý việc thiếu dữ liệu, biến đổi dữ liệu rút gọn dữ liệu nếu cần thiết, bước này thường chiếm nhiều thời gian nhất trong toàn bộ quy trình khai phá tri thức. Bước thứ ba: 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. [...]... thế, lợi ích khả năng ứng dụng thực tế to lớn của khai phá dữ liệu Trong chương này đã trình bày một cách tổng quan về khai phá tri thức khai phá dữ liệu 15 Chương 2 PHÂN CỤM DỮ LIỆU CÁC THUẬT TOÁN TRONG PHÂN CỤM DỮ LIỆU 2.1 Giới thiệu Phân cụm là quá trình nhóm các điểm dữ liệu trong cơ sở dữ liệu thành các cụm sao cho những điểm dữ liệu trong cùng một cụm có độ tương đồng lớn những điểm... chọn ra một thuật toán phân cụm cụ thể thích ứng với ứng dụng đó Kết quả đánh giá cho từng thuật toán cũng phụ thuộc vào những yêu cầu của từng ứng dụng 2.2 Các ứng dụng của phân cụm Phân cụm dữ liệu đã đ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 dần đưa vào ứng dụng tại... trọn các phương pháp phân cụm 2.4 Các kiểu dữ liệu trong phân cụm Trong phân cụm, các đối tượng dữ liệu thường được diễn tả dưới dạng các đặc tính hay còn gọi là thuộc tính ( Khái niệm các kiểu dữ liệu các kiểu thuộc tính dữ liệu được xem là tương đương với nhau) Các thuộc tính này là các tham số 19 để giải quyết vấn đề phân cụm sự lựa chọn chúng có tác động đáng kể đến kết quả phân cụm Phân. .. mẫu, phân loại trang Web… Ngoài ra, phân 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 1.3.4.3 Phân lớp dữ liệu hồi qui Mục tiêu của phương pháp phân lớp dữ liệudự đoán nhãn lớp cho các mẫu dữ liệu Quá trình phân lớp dữ liệu thường gồm 2 bước: xây dựng mô hình sử dụng mô hình: - Bước 1: một mô hình sẽ được xây dựng dựa trên việc phân. .. theo dữ liệu thời tiết ) Đối với hướng tiếp cận này thường sử dụng một số kỹ 8 thuật của học máy như cây quyết định (decision tree), mạng nơron nhân tạo (neural network), 1.3.4.2 Phân cụm dữ liệu Mục tiêu của phương pháp phân cụm dữ liệu là quá trình nhóm các điểm dữ liệu trong cơ sở dữ liệu thành các cụm sao cho những điểm dữ liệu trong cùng một cụm có độ tương đồng lớn những điểm không cùng một cụm. .. dữ liệu đầu vào (Cùng một tập dữ liệu, khi đưa vào xử lý cho thuật toán PCDL với các thứ tự vào của các đối tượng dữ liệucác lần thực hiện khác nhau thì không ảnh hưởng lớn đến kết quả phân cụm )  Thuật toán không đòi hỏi những tri thức về cơ sở dữ liệu từ người dùngThuật toán phải làm việc được với cơ sở dữ liệu chứa nhiều lớp đối tượng dữ liệu phức tạp có tính chất khác nhau  Thuật toán...  Thuật toán phải thích nghi với dữ liệu đa chiều: Thuật toán có khả năng áp dụng hiệu quả cho dữ liệu có số khác chiều nhau  Thuật toán phải dễ hiểu, dễ cài đặt khả thi: Người sử dụng có thể chờ đợi những kết quả phân cụm dễ hiểu, dễ lý giải dễ sử dụng Nghĩa là, sự phân cụm có thể cần được giải thích ý nghĩa ứng dụng rõ ràng Việc nghiên cứu cách để một ứng dụng đạt được mục tiêu rất quan... Điểm mạnh của phân cụm dữ liệu là đưa ra được những cấu trúc có ích hoặc những cụm các đối tượng tìm thấy trực tiếp từ dữ liệu mà không cần bất kì một tri thức cơ sở nào Giống như cách tiếp cận học máy, phân cụm dữ liệu được hiểu như là phương pháp “học không có thầy” (unsupervised learning) Không giống như phân lớp dữ liệu, phân 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... pháp phân cụm tổng quát nào có thể giải quyết trọn vẹn cho tất cả các dạng cấu trúc CSDL Hơn nữa, các phương pháp phân cụm cần có cách thức biểu diễn cấu trúc của các CSDL, với mỗi cách thức biểu diễn khác nhau sẽ có tương ứng thuật toán phân cụm phù hợp Vì vậy, phân cụm dữ liệu vẫn đang là một vấn đề khó mở vì phải giải quyết nhiều vấn đề cơ bản một cách trọn vẹn phù hợp với nhiều dạng dữ liệu. .. có thể coi phân cụm dữ liệu là một cách học bằng quan sát (learning by observation), trong khi phân lớp dữ liệu là học bằng ví dụ (learning by example) Trong phương pháp này sẽ không thể biết kết quả các cụm thu được sẽ như thế nào khi bắt đầu quá trình Vì vậy, cần có một chuyên gia để đánh giá các cụm thu được Phân cụm dữ liệu được sử dụng nhiều trong các ứng dụng về phân đoạn thị trường, phân đoạn . Chương 2: Phân cụm và các kỹ thuật phân cụm. Trong chương này trình bày tổng quan về phân cụm dữ liệu, một số phương pháp phân cụm dữ liệu dữ liệu phổ. dữ liệu 13 1.3.7. Kết luận 14 Chương 2. PHÂN CỤM DỮ LIỆU VÀ CÁC THUẬT TOÁN TRONG 15 PHÂN CỤM DỮ LIỆU 15 2.1. Giới thiệu 15 2.2. Các ứng dụng của phân

Ngày đăng: 17/02/2014, 20:40

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan