Tìm hiểu Gom cụm dữ liệu & thuật toán K-Means

43 650 5
Tìm hiểu Gom cụm dữ liệu & thuật toán K-Means

Đ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

Khai thác dữ liệu (Data Mining) - Tìm hiểu Gom cụm dữ liệu & thuật toán K-Means ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHÓA LUẬN KHAI THÁC DỮ LIỆU (DATA MINING) ĐỀ TÀI TÌM HIỂU GOM CỤM DỮ LIỆU VÀ THUẬT TOÁN K-MEANS Nguyễn Tấn – CH1101038 1 Học viên : Nguyễn Tấn Mã số: CH1101038 Lớp : Cao học – Khóa 6 GVHD: GS.TS Đỗ Phúc Khai thác dữ liệu (Data Mining) - Tìm hiểu Gom cụm dữ liệu & thuật toán K-Means MỤC LỤC Trang Mục lục 2 Lời mở đầu 4 Chương I: GOM CỤM DỮ LIỆU 1) Khái niệm gom cụm dữ liệu 2) Vai trò của gom cụm dữ liệu 3) Mục đích của gom cụm dữ liệu 4) Ứng dụng của gom cụm dữ liệu 5 5 6 6 6 Chương II: ĐỘ ĐO KHOẢNG CÁCH 8 1) Biến trị khoảng 2) Biến nhị phân đối xứng 3) Biến nhị phân bất đối xứng 4) Biến định danh 5) Biến thứ tự 6) Biến tỷ lệ theo khoảng 7) Biến có kiểu hỗn hợp 8 9 10 11 11 13 13 Chương III: CÁC PHƯƠNG PHÁP GOM CỤM 14 1) Các phương pháp phân hoạch 2) Các phương pháp phân cấp 3) Các phương pháp dựa trên mật độ 4) Các phương pháp dựa trên mô hình 5) Các phương pháp dựa trên lưới 14 15 17 22 22 Chương IV: THUẬT TOÁN GOM CỤM K-MEANS 26 1) Giới thiệu thuật toán 2) Thuật toán K-means 3) Ưu điểm và khuyết điểm của thuật toán 4) Các biến thể và cải tiến của thuật toán K-means 26 26 30 31 Chương V: THIẾT KẾ VÀ CÀI ĐẶT K-MEANS 34 1) Giới thiệu chương trình 2) Thiết kế và cài đặt chương trình 3) Giao diện và tính năng 4) Cách sử dụng chương trình 5) Đánh giá nhận xét 34 34 37 38 40 Chương VI: KẾT LUẬN 42 Nguyễn Tấn – CH1101038 2 Khai thác dữ liệu (Data Mining) - Tìm hiểu Gom cụm dữ liệu & thuật toán K-Means Tài liệu tham khảo 43 Nguyễn Tấn – CH1101038 3 Khai thác dữ liệu (Data Mining) - Tìm hiểu Gom cụm dữ liệu & thuật toán K-Means LỜI MỞ ĐẦU Ngày nay, cùng với sự phát triển mạnh mẽ của công nghệ phần cứng và truyền thông, các hệ thống dữ liệu phục vụ cho các lĩnh vực kinh tế - xã hội cũng không ngừng tăng lên, lượng dữ liệu được tạo ra ngày càng lớn. Sự phong phú về dữ liệu, thông tin cùng với khả năng kịp thời khai thác chúng đã mang đến những năng suất và chất lượng mới cho công tác quản lý, hoạt động kinh doanh, … Nhu cầu khám phá tri thức mới thực sự bùng nổ, theo đó, hàng loạt các lĩnh vực nghiên cứu về tổ chức các kho dữ liệu và kho thông tin, các hệ trợ giúp quyết định, các thuật toán nhận dạng mẫu và phân lớp mẫu, … và đặc biệt là khai phá dữ liệu (Data Mining) ra đời. Từ đó, khai thác dữ liệu đã trở thành một trong những hướng nghiên cứu phổ biến trong lĩnh vực khoa học máy tính và công nghệ tri thức. Nhiều kết quả nghiên cứu, ứng dụng của khai thác dữ liệu trong các lĩnh vực khoa học, kinh tế, xã hội. Khai thác dữ liệu bao hàm nhiều hướng nghiên cứu quan trọng, một trong số đó là gom cụm dữ liệu (Data Clustering). Gom cụm dữ liệu là quá trình tìm kiếm và phát hiện ra các cụm hoặc các mẫu dữ liệu tự nhiên trong cơ sở dữ liệu lớn. Các kỹ thuật chính được áp dụng trong gom cụm dữ liệu phần lớn được kế thừa từ lĩnh vực thống liệu cho việc giải quyết các vấn đề ở các lĩnh vực như tài chính, thông tin địa lý, sinh học, nhận dạng ảnh, … Cùng với những kiến thức đã được cung cấp trong môn học khai thác dữ liệu (Data Mining), em đã chọn đề tài “Tìm hiểu Gom cụm dữ liệu và thuật toán K- means” làm nội dung nghiên cứu. Để hoàn thành khóa luận này, em xin chân thành cảm ơn thầy GS.TS.Đỗ Phúc, người đã chỉ dẫn tận tình, cung cấp thông tin, tư liệu cũng như những bài giảng có giá trị để giúp em hoàn thành đề tài. Đây là đề tài không mới nhưng với thời lượng cũng như việc đầu tư nghiên cứu còn nhiều hạn chế nên chỉ mang tính chất một bài khóa luận môn học, chỉ tìm hiểu ở mức độ khái quát vấn đề. Do đó không thể nào tránh được những thiếu sót và hạn chế. Kính mong sự thông cảm và chia sẻ của thầy. Thành phố Hồ Chí Minh, tháng 11 năm 2012. Nguyễn Tấn – CH1101038 4 Khai thác dữ liệu (Data Mining) - Tìm hiểu Gom cụm dữ liệu & thuật toán K-Means CHƯƠNG I: GOM CỤM DỮ LIỆU 1) KHÁI NIỆM GOM CỤM DỮ LIỆU Gom cụm dữ liệu (data clustering) là hình thức học không giám sát (unsupervised learning), trong đó các mẫu học chưa được dán nhãn. Gom cụm dữ liệu là một kỹ thuật trong Data Mining nhằm tìm kiếm, phát hiện các cụm, các mẫu dữ liệu tự nhiên tiềm ẩn và quan trọng trong tập dữ liệu lớn để từ đó cung cấp thông tin, tri thức trong việc ra quyết định. Gom cụm dữ liệu là quá trình phân chia một tập dữ liệu ban đầu thành các cụm dữ liệu thỏa mãn các điều kiện: - Các đối tượng trong cùng một cụm “tương tự” nhau về một số tiêu chí nào đó. - Các đối tượng khác cụm thì “không tương tự” nhau. Giải quyết các vấn đề tìm kiếm, phát hiện các cụm, các mẫu dữ liệu trong một tập hợp ban đầu các dữ liệu không có nhãn. A: là một tập các điểm dữ liệu trước khi gom cụm B: là các tập điểm dữ liệu sau khi gom cụm  Ci : cụm thứ i   2) VAI TRÒ CỦA GOM CỤM DỮ LIỆU Gom cụm dữ liệu đóng vai trò quan trọng trong các ngành khoa học : Nguyễn Tấn – CH1101038 5 Khai thác dữ liệu (Data Mining) - Tìm hiểu Gom cụm dữ liệu & thuật toán K-Means - Sinh học. - Khôi phục dữ liệu - Dự báo thời tiết - Tâm lý học và Y học - Kinh doanh, … Gom cụm dữ liệu mang lại các tiện ích: - Tổng kết - Nén - Tìm kiếm kết quả gần nhất 3) MỤC ĐÍCH CỦA GOM CỤM DỮ LIỆU Mục đích của phân cụm là tìm ra bản chất bên trong các nhóm dữ liệu. Các thuật toán phân cụm (Clustering Algorithms ) đều sinh ra các cụm (cluster). Tuy nhiên, không có tiêu chí nào được xem là tốt nhất để đánh giá hiệu quả của phân cụm, điều này phụ thuộc vào mục đích của phân cụm như: data reduction, natural cluster, useful cluster, outlier detection. 4) ỨNG DỤNG CỦA GOM CỤM DỮ LIỆU - Xem xét phân bố dữ liệu. - Tiền xử lý cho các thuật toán khác. - Khám phá thói quen và nhu cầu của khách hàng để có phương pháp tiếp thị thích hợp. - Phân loại đất theo công năng hoặc thực tế sử dụng để có chính sách quy hoạch phù hợp. - Phân loại nhà theo vị trí, giá trị, … - Phân loại khách hàng để có chính sách bảo hiểm hợp lý. - Phân loại bệnh nhân. - Phân nhóm động vật và thực vật dựa vào các thuộc tính của chúng. - Theo dõi độc giả, sách, dự đoán nhu cầu của độc giả. - Phân loại tài liệu, phân loại người dùng web. * Một phương pháp gom cụm tốt nếu đạt được các tính chất sau: - Có độ tương tự cao trong cùng cụm (intra-class). - Có độ tương tự thấp giữa các cụm (inter-class). - Có khả năng phát hiện các mẫu ẩn. Nguyễn Tấn – CH1101038 6 Khai thác dữ liệu (Data Mining) - Tìm hiểu Gom cụm dữ liệu & thuật toán K-Means - Có khả năng làm việc hiệu quả với lượng dữ liệu lớn (scalability). - Có khả năng làm việc với nhiều loại dữ liệu khác nhau. - Có khả năng khám phá ra các cụm có phân bố theo các dạng khác nhau. - Yêu cầu tối thiểu tri thức lĩnh vực nhằm xác định các tham biến nhập. - Có khả năng làm việc với nhiễu và mẫu cá biệt. - Không bị ảnh hưởng bởi thứ tự nhập của dữ liệu. - Làm việc tốt trên cơ sở dữ liệu có số chiều cao. - Chấp nhận các ràng buộc do người dùng chỉ định. - Có thể hiểu và sử dụng được kết quả gom cụm. * Các kỹ thuật gom cụm: Nguyễn Tấn – CH1101038 7 Khai thác dữ liệu (Data Mining) - Tìm hiểu Gom cụm dữ liệu & thuật toán K-Means CHƯƠNG II: ĐỘ ĐO KHOẢNG CÁCH Để đánh giá độ tương tự giữa các điểm dữ liệu cần có một độ đo khoảng cách được định nghĩa trong không gian dữ liệu đang xét. Không có một độ đo nào có thể dùng chung cho mọi trường hợp. Tùy theo mục tiêu khảo sát và bản chất dữ liệu người dùng phải chọn độ đo khoảng cách phù hợp với ứng dụng đang triển khai. Gọi K là không gian dữ liệu, x, y, z là các điểm dữ liệu tùy ý trong K. Độ đo d là hàm số d: K x K  R thỏa: i) d(x,y) ≥ 0 (tính chất không âm) ii) d(x,y) = 0 nếu x = y (tính chất điểm) iii) d(x,y) = d(y,x) (tính chất đối xứng) iv) d(x,y) ≤ d(x,z) + d(z,y) (tính chất bất đẳng thức tam giác) Giá trị của độ đo d(x,y) càng nhỏ thì x và y càng gần nhau (càng tương tự nhau). Trong cơ sở dữ liệu có thể có nhiều kiểu thuộc tính khác nhau. Một điểm dữ liệu được đặc trưng bằng nhiều thuộc tính có kiểu cơ sở. Để xây dựng được một độ đo tốt, có thể áp dụng cho dữ liệu tổng quát, ta cần phải xây dựng được độ đo tốt cho các kiểu cơ sở. Các kiểu cơ sở gồm trị khoảng (interval-valued), nhị phân đối xứng (symmetric binary), nhị phân bất đối xứng (asymmetric), định danh (nominal), thứ tự (ordinal), tỷ lệ khoảng (ratio-scaled). 1) BIẾN TRỊ KHOẢNG Các biến trị khoảng là độ đo liên tục của các đại lượng tuyến tính đơn giản như trọng lượng, chiều cao, nhiệt độ, tuổi, …Các đơn vị đó ảnh hưởng rất nhiều đến kết quả gom cụm. Do đó tùy vào lĩnh vực ứng dụng và tiêu chí của phương pháp tiếp cận mà chuẩn hóa dữ liệu. 1.1) Phương pháp chuẩn hóa các độ đo Tính sai số tuyệt đối trung bình: S f =       −++−+− mxmxmx fnfffff n 1 21 Với m f là giá trị trung bình của các x if , i=1 n ( ) n xxx m nfff f +++ = 21 Nguyễn Tấn – CH1101038 8 Khai thác dữ liệu (Data Mining) - Tìm hiểu Gom cụm dữ liệu & thuật toán K-Means Tính độ đo chuẩn (z-score) S mx z f fif if − = Sai số tuyệt đối trung bình càng lớn thì hiện tượng cá biệt càng giảm. Do đó độ đo được chọn sẽ ảnh hưởng đến kết quả phân tích mẫu các biệt. 1.2) Các độ đo thông dụng cho biến trị khoảng a. Khoảng cách Minkowski q qqq xxxxxx jpipjiji jid −−− +++= 2211 ),( (q>0) b. Khoảng cách Euclide là khoảng cách Minkowski khi q = 2. Khoảng cách Euclide chính là khoảng cách hình học trong không gian n chiều. xxxxxx jpipjiji jid −−− +++= 222 2211 ),( c. Khoảng cách Manhattan là khoảng cách Minkowski khi q = 1 xxxxxx jpipjiji jid −−− +++= 2211 ),( d. Khoảng cách có trọng q q p qq xxwxxwxxw jpipjiji jid −−− +++= 22111 ),( 2 (q>0) Khoảng cách có trọng là sự cải tiến của khoảng cách Minkowski, trong đó có tính đến ảnh hưởng của từng thuộc tính đến khoảng cách giữa hai đối tượng. Thuộc tính có trọng số w càng lớn thì ảnh hưởng càng nhiều đến khoảng cách d. Việc chọn trọng số tùy thuộc vào ứng dụng và mục tiêu cụ thể. 2) BIẾN NHỊ PHÂN ĐỐI XỨNG Biến nhị phân là biến chỉ có 2 trạng thái là 0 hoặc 1. Biến nhị phân là đối xứng nếu cả hai trạng thái là tương đương (về mặt ý nghĩa của ứng dụng). Có nghĩa là không có xu hướng thiên vị trạng thái 1. Độ tương tự dựa trên biến nhị phân bất đối xứng thì được gọi là tương tự bất biến. Bảng sự kiện (contingency table) cho biến nhị phân (cả đối xứng và bất đối xứng): Nguyễn Tấn – CH1101038 9 Khai thác dữ liệu (Data Mining) - Tìm hiểu Gom cụm dữ liệu & thuật toán K-Means Đối tượng j Đối tượng i 1 0 1 0 sum A b a + b C d c + d sum a + c b + d p Hệ số đối sánh đơn giản cho biến nhị phân đối xứng dcba cb jid +++ + =),( 3) BIẾN NHỊ PHÂN BẤT ĐỐI XỨNG Biến nhị phân là bất đối xứng nếu có một trạng thái có ý nghĩa quan trọng hơn (thường được mã là 1). Lúc này thường có xu hướng thiên vị trạng thái ưu tiên đó. Ví dụ trong các chẩn đoán y khoa, người ta thường ưu tiên một hướng kết luận hơn hướng kia. Do đó những trạng thái chưa rõ ràng (như triệu chứng bệnh chưa rõ ràng) thì cũng có thể kết luận là 1 để ưu tiên cho bước chẩn đoán chuyên sâu hoặc cách ly theo dõi. Hệ số Jaccard cho biến nhị phân bất đối xứng: cba cb jid ++ + =),( Ví dụ tính khoảng cách cho biến nhị phân: Tên Phái Sốt Ho Test-1 Test-2 Test-3 Test-4 Sơn Nam Y N P N N N Ngọc Nữ Y N P N P N Dũng Nam Y P N N N N Trong đó: 1. Y (Yes): triệu chứng rõ ràng 2. N (No): hoàn toàn không có triệu chứng 3. P (Part): triệu chứng không rõ ràng hoặc ít Phái là biến nhị phân đối xứng còn các thuộc tính còn lại là biến nhị phân bất đối xứng. Nguyễn Tấn – CH1101038 10 [...]... 25 Khai thác dữ liệu (Data Mining) - Tìm hiểu Gom cụm dữ liệu & thuật toán K-Means CHƯƠNG IV: THUẬT TOÁN GOM CỤM K-MEANS 1) GIỚI THIỆU THUẬT TOÁN Một phương pháp tiếp cận phân hoạch là xác định trước số cụm cần có, chẳng hạn là k, sau đó xếp từng điểm dữ liệu vào một trong k cụm sao cho độ phân biệt trong các cụm là thấp nhất Vấn đề đặt ra là với một không gian dữ liệu có số chiều và số phần tử lớn thì... đổi tốt khi số chiều của dữ liệu tăng Nó phân hoạch tập dữ liệu thành các hình hộp chữ nhật và tìm các hình hộp chữ nhật đặc, nghĩa là các hình hộp này chứa một số các đối tượng dữ liệu trong số các đối tượng láng giếng Nguyễn Tấn – CH1101038 24 Khai thác dữ liệu (Data Mining) - Tìm hiểu Gom cụm dữ liệu & thuật toán K-Means cho trước Hợp các hình hộp này tạo thành các cụm dữ liệu Tuy nhiên, CLINQUE... thác dữ liệu (Data Mining) - Tìm hiểu Gom cụm dữ liệu & thuật toán K-Means CHƯƠNG III: CÁC PHƯƠNG PHÁP GOM CỤM Dựa trên cách tiếp cận và thuật toán sử dụng, người ta phân các thuật toán gom cụm theo các phương pháp chính sau: • Các phương pháp phân hoạch • Các phương pháp phân cấp • Các phương pháp dựa trên mật độ • Các phương pháp dựa trên mô hình • Các phương pháp dựa trên lưới Có thể dùng ma trận dữ. .. trên mật độ không thực hiện kỹ thuật phân mẫu trên tập dữ liệu như trong các thuật toán phân cụm phân hoạch, vì điều này có thể làm tăng thêm độ phức tạp đã có sự khác nhau giữa mật độ của các đối tượng trong mẫu với mật độ của toàn bộ dữ liệu 4) CÁC PHƯƠNG PHÁP DỰA TRÊN MÔ HÌNH Nguyễn Tấn – CH1101038 21 Khai thác dữ liệu (Data Mining) - Tìm hiểu Gom cụm dữ liệu & thuật toán K-Means Đây là các phương pháp... mật độ từ p q p Nguyễn Tấn – CH1101038 o 17 Khai thác dữ liệu (Data Mining) - Tìm hiểu Gom cụm dữ liệu & thuật toán K-Means p và q là hai điểm có kết nối mật độ Ý tưởng của các thuật toán dựa trên mật độ: Một cụm là một tập hợp tối đại các điểm có kết nối mật độ Thuật toán DBSCAN có các bước sau: a Chọn một điểm p bất kỳ thuộc không gian dữ liệu D b Tìm tập P gồm tất cả các điểm liên thông mật độ từ p... thác dữ liệu (Data Mining) - Tìm hiểu Gom cụm dữ liệu & thuật toán K-Means b Chọn cụm có độ phân biệt lớn nhất (thông qua ma trận phân biệt của cụm hoặc một tiêu chí đánh giá tùy thuộc nhu cầu ứng dụng) Cụm được chọn ở bước này sẽ tạo thành một nút của cây phân cấp c Phân hoạch cụm được chọn bằng thuật toán DBSCAN d Nếu tất cả các cụm tạo được đều có độ phân biệt nội tại đủ thấp hoặc đã đạt được số cụm. .. OPTICS: Thuật toán này là mở rộng của DBSCAN, tuy nhiên nó cải tiến bằng cách giảm bớt các tham số đầu vào Thuật toán này không phân cụm các điểm dữ liệu mà thực hiện tính toán và sắp xếp trên các điểm dữ liệu theo thứ tự tăng dần nhằm tự động PCDL và phân tích cụm tương tác hơn là đưa ra phân cụm một tập dữ liệu rõ ràng Đây là thứ tự mô tả cấu trúc phân dữ liệu cụm dựa trên mật độ của dữ liệu, nó... chạy lại thuật toán với nhiều bộ khởi đầu khác nhau để có được kết quả đủ tốt Trong thực tế, có thể áp dụng thuật giải di truyền để phát sinh các bộ khởi đầu b Cần phải xác định trước số cụm c Khó xác định số cụm thực sự mà không gian dữ liệu có Do đó có thể phải thử với các giá trị k khác nhau Nguyễn Tấn – CH1101038 30 Khai thác dữ liệu (Data Mining) - Tìm hiểu Gom cụm dữ liệu & thuật toán K-Means. .. quay về b Ngược lại thì kết thúc thuật toán Ưu điểm: K-medoids làm việc được với nhiễu và biệt lệ Khuyết điểm: K-medoids chỉ hiệu quả khi tập dữ liệu không quá lớn vì có độ phức tạp là O(k(n-k)2t) Trong đó: • n: số điểm trong không gian dữ liệu • k: số cụm cần phân hoạch Nguyễn Tấn – CH1101038 31 Khai thác dữ liệu (Data Mining) - Tìm hiểu Gom cụm dữ liệu & thuật toán K-Means • t: số lần lặp (t là khá... không thể thực hiện được Vì vậy gom cụm phân hoạch phải là những thuật toán nhanh và có sử dụng heuristic để đạt được giải pháp gom cụm đủ tốt (nhưng không nhất thiết là tối ưu) Thuật toán kmeans là một trong số những thuật toàn như vậy 2) THUẬT TOÁN K-MEANS Cho k là số cụm sau khi phân hoạch (1 ≤ k ≤ n, với n là số điểm (đối tượng) trong không gian dữ liệu) Thuật toán k-means gồm 4 bước: a Chọn ngẫu . – CH1101038 4 Khai thác dữ liệu (Data Mining) - Tìm hiểu Gom cụm dữ liệu & thuật toán K-Means CHƯƠNG I: GOM CỤM DỮ LIỆU 1) KHÁI NIỆM GOM CỤM DỮ LIỆU Gom cụm dữ liệu (data clustering) là. dữ liệu (Data Mining) - Tìm hiểu Gom cụm dữ liệu & thuật toán K-Means Tài liệu tham khảo 43 Nguyễn Tấn – CH1101038 3 Khai thác dữ liệu (Data Mining) - Tìm hiểu Gom cụm dữ liệu & thuật. - Tìm hiểu Gom cụm dữ liệu & thuật toán K-Means MỤC LỤC Trang Mục lục 2 Lời mở đầu 4 Chương I: GOM CỤM DỮ LIỆU 1) Khái niệm gom cụm dữ liệu 2) Vai trò của gom cụm dữ liệu 3) Mục đích của gom

Ngày đăng: 09/04/2015, 22:50

Từ khóa liên quan

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

Tài liệu liên quan