Cải tiến thuật toán K-means trong phân cụm dữ liệu tự động

15 865 1
Cải tiến thuật toán K-means trong phân cụm dữ liệu tự độ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

MỤC LỤC 1 GOM CỤM DỮ LIỆU I. Giới thiệu Ngày nay sự phát triển nhanh chóng của mạng Internet đã sinh ra một khối lượng khổng lồ các dữ liệu, để khai thác dữ liệu ấy 1 cách chính xác và hiệu quả là 1 vấn đề được đặt ra. Có nhiều hướng tiếp cận khác nhau để giải quyết vấn đề này. Các hướng này thường chú ý giảm sự nhập nhằng bằng các phương pháp lọc hay thêm các tùy chọn để cắt bớt thông tin và hướng biểu diễn các thông tin trả về bởi các máy tìm kiếm thành từng cụm để cho người dùng có thể dễ dàng tìm được thông tin mà họ cần. Đã có nhiều thuật toán phân cụm tài liệu dựa trên phân cụm ngoại tuyến toàn bộ tập tài liệu. Tuy nhiên việc tập hợp tài liệu của các máy tìm kiếm là quá lớn và luôn thay đổi thì khó có thể phân cụm ngoại tuyến. Do đó, việc phân cụm phải được ứng dụng trên tập các tài liệu nhỏ hơn được trả về từ các truy vấn và thay vì trả về một danh sách rất dài các thông tin gây nhập nhằng cho người sử dụng cần có một phương pháp tổ chức lại các kết quả tìm kiếm một cách hợp lý. Hiện nay, đã có nhiều kỹ thuật, thuật toán về thu thập, phân cụm dữ liệu tự động tuy nhiên hầu hết các kỹ thuật này khi phân cụm đều yêu cầu xác định số cụm cần thực thi đặc biệt là với thuật toán K-means hoặc yêu cầu mức độ khác biệt trong việc xác định các thành phần có tính chất giống nhau. Ngoài ra, các kỹ thuật này còn đòi hỏi phải chọn trước số điểm làm trọng tâm, với số điểm chọn ngẫu nhiên làm trọng tâm này sẽ cho các kết quả khác nhau. Do vậy, các kết quả trên có thể là không chính xác, với mức độ sai số có thể rất lớn. Để khắc phục nhược điểm trên, việc cải tiến thuật toán K- means trong thu thập, phân cụm tài liệu và thay vì chọn số điểm làm trọng tâm, chúng ta không chọn số điểm làm trọng tâm cho số cụm mà sẽ tăng số cụm từ 1 lên k cụm bằng cách đưa trung tâm cụm mới vào cụm có mức độ biến dạng lớn nhất và tính lại trọng tâm các cụm II. Tóm tắt lý thuyết 2 a. Gom cụm là gì? Gom cụm chính là gom các đối tượng gần với nhau trong cùng cụm và các đối tượng không tương tự vào cụm khác. Khi gom cụm ta có được các nhóm phân biệt nhằm mục đích có lợi cho việc khai phá dữ liệu. Một số ứng dụng của gom cụm: - Bảo hiểm: nhận dạng các nhóm công ty có chính sách bảo hiểm với chi phí đền bù trung bình cao. - Quy hoạch đô thị: nhận dạng các nhóm nhà theo lọai nhà, giá trị, vị trí - Nhu cầu sử dụng đất: nhận dạng các vùng đất sử dụng giống nhau khi khảo sát - Tiếp thị sản phẩm: khám phá các mặt hàng phân biệt trong cơ sở dữ liệu mua hàng. Các tiêu chí để đánh giá gom cụm được gọi là tốt: - Tạo ra các cụm có chất lượng caoi với: tương tự cao trong lớp và tương tự thấp giữa các lớp. - Chất lượng gom cụm phụ thuộc vào: độ đo tương tự sử dụng và cài đặt độ đo tương tự. - Khả năng phát hiện các mẫu bị che khuất. Một số yêu cầu khi gom cụm: - Khám phá các cụm có hình dáng bất kỳ - Có khả năng làm việc các thuộc tính khác nhau - Có thể thay đổi kích thước - Khả năng làm việc với outliers - không nhạy cảm với thứ tự các bản ghi nhập vào - Có thể diễn dịch và khả dụng b. Vấn đề tương tự và không tương tự giữa hai đối tượng Định nghĩa vấn đề tương tự và không tương tự giữa hai đối tượng tùy thuộc vào: lọai dữ liệu khảo sát và lọai tương tự cần thiết. Tương tự và không tương tự giữa hai đối tượng thường được biểu diễn qua khoảng cách(x,y) c. Các loại dữ liệu trong phân tích cụm - Các biến khoảng tỉ lệ - Biến nhị phân 3 - Các biến định danh, thứ tự, tỉ lệ - Các biến có kiểu hỗn hợp - Các kiểu dữ liệu phức tạp d. Các phưong pháp gom cụm chính yếu - 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 (gom cụm khái niệm, mạng neural) e. Các phương pháp phân hoạch - Phương pháp phân hoạch: tạo phân hoạch CSDL D có n đối tượng thành tập có k cụm sao cho:  Mỗi cụm chứa ít nhất một đối tượng  Mỗi đối tượng thuộc về một cụm duy nhất  Cho trị k, tìm phân hoạch có k cụm sao cho tối ưu hoá tiêu chuẩn phân hoạch được chọn - Tiêu chuẩn suy đoán chất lưọng phân hoạch  Tối ưu toàn cục: liệt kê vét cạn tất cả các phân hoạch - Các phương pháp heuristic:  K-means: mỗi cụm được đại diện bằng trọng tâm của cụm (centroid)  K-medoids: mỗi cụm được đại diện trong các đối tượng của cụm (medoid) III. Một số thuật toán phân cụm dữ liệu a. Thuật toán K-means Ý tưởng: Đầu tiên chọn ngẫu nhiên K mẫu, mỗi mẫu này coi như biểu diễn 1 cluster, lúc này trong mỗi cluster thì đối với mỗi mẫu đó cũng là tâm của cluster. Các mẫu còn lại được gán vào một nhóm nào đó trong K nhóm đã có sao cho tổng khoảng cách từ nhóm mẫu đó đến tâm của nhóm là min. Rồi, tính lại tâm cho các nhóm và lặp lại quá trình đó cho đến khi hàm tiêu chuẩn hội tụ. Hàm tiêu chuẩn hay được dùng nhất là hàm tiêu chuẩn sai-số vuông. Thuật toán này, có thể áp dụng được đối với cơ sở 4 dữ liệu (CSDL) đa chiều, nhưng để dễ minh họa chúng tôi mô tả thuật toán trên dữ liệu hai chiều. Thuật toán k-means được mô tả như sau: Input: K, và dữ liệu về n mẫu của 1 CSDL. Output: Một tập gồm K cluster sao cho cực tiểu về tổng sai-số vuông. Các bước thuật toán: Bước 1: Chọn ngẫu nhiên K mẫu vào K cluster. Coi tâm của cluster chính là mẫu có trong cluster. Bước 2: Tìm tâm mới của cluster. Bước 3: Gán các mẫu vào từng cluster sao cho khoảng cách từ mẫu đó đến tâm của cluster đó là nhỏ nhất. Bước 4: Nếu các cluster không có sự thay đổi nào sau khi thực hiện bước 3 thì chuyển sang bước 5, ngược lại sang bước 2. Bước 5: Dừng thuật toán. Ví dụ: Trong không gian hai chiều, cho 12 điểm (n = 12) cần phân 12 điểm này thành hai cluster (k=2). Đầu tiên, chọn hai điểm ngẫu nhiên vào hai cluster (chọn 2 điểm màu đỏ: (1,3); (9,4)) Coi điểm (1,3) là tâm của cluster 1 và điểm (9,4) là tâm của cluster 2. Tính toán khoảng cách từ các điểm khác đến hai điểm này và gán được các điểm còn lại này vào một trong hai cluster, những điểm có màu trắng vào cluster 1, những điểm có màu đen vào cluster 2. Hiệu chỉnh lại tâm của hai cluster, điểm màu xám là tâm mới của hai cluster. Tính lại các khoảng cách các điểm đến tâm mới và gán lại các điểm này. Tiếp tục hiệu chỉnh lại tâm của hai cluster. Rồi, lặp lại cho đến khi không còn sự thay đổi nữa thì dừng 5 Hình 1: Minh họa thuật toán K-means Độ phức tạp của thuật toán này là O(tKn). Trong đó n là số mẫu trong CSDL, K là số cluster, t là số lần lặp. Nhận xét: Điểm mạnh của phương pháp gom cụm k- means: - Có thể scalable trong khi xử lý dữ liệu lớn - Hiệu suất tương đối: O(tkn), với n là số đối tượng, k là số cụm, t là số lần lập. thông thường k, t << n - Thường kết thúc ở tối ưu cục bộ, có thể tìm được tối ưu toàn cục,dùng kỹ thuật thuật giải di truyền Điểm yếu của phương pháp gom cụm k- means: - Có thể áp dụng chỉ khi xác định được trị trung bình - Cần chỉ định trước k, số các cụm - Không thể xử lý nhiễu và outliers - Không thích hợp nhằm khám phá các cụm có dạng không lồi hay các dạng có kích thước khác nhau b. Thuật toán K-Medoid Ý tưởng: Để tìm ra k cụm với n đối tượng thì k-medoids chọn ngẫu nhiên k đối tượng vào k cụm, coi mỗi đối tượng này là tâm của cụm. Phân bổ các đối tượng còn lại vào cụm mà sự khác nhau của nó với đối tượng 6 tâm của cụm là gần nhất. Sau đó lặp lại quá trình: Thay đổi đối tượng tâm của mỗi cụm sao cho chất lượng của cụm được cải thiện. Chất lượng của cụm được lượng giá bởi một hàm đo sự khác nhau giữa một đối tượng và đối tượng tâm của cụm chứa nó. Quá trình lặp cho đến khi không còn sự thay đổi nào về lực lượng cũng như hình dạng của các cụm. Để chọn một đối tượng không là đối tượng tâm O random thay thế tốt cho một đối tượng tâm Oj thì mỗi đối tượng p xét theo 4 trường hợp sau đây: Trường hợp 1: p đang thuộc vào cụm có tâm là Oj (từ nay gọi là cụm Oj). Nếu Oj được thay thế bởi O random và p gần nhất với Oi (i#j) thì p được gán lại vào Oi Trường hợp 2: p đang thuộc vào Oj. Nếu Oj được thay thế bởi O random và p gần nhất với O random thì p được gán lại vào O random . Trường hợp 3: p đang thuộc vào Oi (i#j). Nếu Oj được thay thế bởi O random và p vẫn gần nhất với Oi thì không thay đổi gì cả. Tức là p vẫn thuộc Oi. Trường hợp 4: p đang thuộc vào Oi (i#j). Nếu Oj được thay thế bởi O random và p gần nhất với O random thì p được gán lại vào O random Các trường hợp đối với điểm p Thuật toán K-medoid được mô tả như sau: Input: Số nguyên k và CSDL gồm n đối tượng cần phân cụm. Output: Một tập gồm k cụm mà tổng giá trị của sự khác nhau của tất cả các đối tượng đến đối tượng tâm của nhóm chứa nó là nhỏ nhất. Thuật toán: 7 Bước 1: Chọn k đối tượng bất kì vào k cụm. Coi mỗi đối tượng này là tâm của nhóm. Bước 2: Lặp Bước 3: Gán mỗi đối tượng còn lại vào một cụm mà nó gần với đối tượng tâm của cụm nhất. Bước 4: Chọn ngẫu nhiên một đối tượng không là đối tượng tâm, O random . Bước 5: Tính lại giá trị, S, đối với việc đổi Oj với O random . Bước 6: Nếu S<0 thì đổi Oj với Orandom để tạo ra một tập với đối tượngtâm mới. Bước 7: Đến khi không có sự thay đổi nào nữa thì dừng Ví dụ: Trong không gian hai chiều cho n = 10 điểm, cần chia thành k =2 cụm. Các bước thực hiện của thuật toán K-medoids được chỉ ra trong hình sau: Đầu tiên, chọn hai điểm bất kì vào hai cụm (điểm màu đen), rồi xét các điểm còn lại và đưa chúng vào một trong hai cụm với điểm tâm lần lượt là hai điểm đã chọn ban đầu. Tiếp theo, chọn một điểm bất kì khác điểm tâm (điểm màu xám). Tính giá của phép chuyển đổi điểm tâm từ điểm màu trắng -> điểm màu xám. Nếu giá này chất lượng hơn thì coi điểm xám là tâm của cụm mới và thực lặp lại quá trình đó cho đến khi không còn sự thay đổi nào. 8 Nhận xét: Thuật toán K-medoids mạnh hơn thuật toán K-means trong các trường hợp dữ liệu có nhiễu vì K-medoids chịu ảnh hưởng ít hơn của nhiễu và các giá trị chênh lệnh so với giá trị trung bình. Tuy nhiên cả hai thuật toán này đều yêu cầu đưa vào số lượng cụm k. IV. Cải tiến thuật toán K-means trong phân cụm dữ liệu tự động Bài toán thu thập, phân cụm dữ liệu tự động là một bài toán mang tính thời sự, vì trong thời đại công nghệ thông tin, với sự trợ giúp của máy tính thì việc áp dụng công nghệ thông tin vào thu thập dữ liệu tự động trên Internet, phân tích phục vụ cho việc phân cụm và từ đó hình thành các chủ đề thông tin với các dữ liệu thu thập tự động từ Internet. Trên cơ sở đó, chúng ta tiến hành phân tích dữ liệu và đưa ra những dự báo trong tương lai với từng chủ đề khác nhau như: dự báo tốc độ tăng trưởng kinh tế, GDP, chỉ số chứng khoán, giá cả hàng hoá, Điều này làm cơ sở cho chúng ta có thể đưa ra một chính sách phát triển kinh tế trong cả nước. Tuy nhiên, để có được những dữ liệu và phân cụm được những dữ liệu đó theo các chủ đề khác nhau thì chúng ta phải có các kỹ thuật. Như phần trên ta đã phân tích thuật toán K- Means, tuy nhiên thuật toán có những hạn chế nhất định. Do đó, cần có sự cải tiến thuật toán này nhằm khắc phục những hạn chế của thuật toán K-means Cải tiến thuật toán K-means: thay vì chọn số điểm (k) làm trọng tâm, chúng ta không chọn số điểm (k) làm trọng tâm cho số cụm mà sẽ tăng số cụm từ 1 lên k cụm bằng cách đưa trung tâm cụm mới vào cụm có mức độ biến dạng lớn nhất và tính lại trọng tâm các cụm. Với thuật toán K- means bắt đầu bằng cách chọn k cụm và chọn ngẫu nhiên k điểm làm trung tâm cụm, hoặc chọn phân hoạch ngẫu nhiên k cụm và tính trọng tâm của từng cụm này. Việc chọn ngẫu nhiên k điểm làm trung tâm cụm như đã nói ở trên có thể cho ra các kết quả khác nhau tùy vào chọn k điểm này. 9 Thuật toán K-means cải tiến: Bước 1: Khởi tạo giá trị ban đầu cho K: K=1 Bước 2: Bước 2.1: Kiểm tra điều kiện K Nếu K=1: chọn bất kỳ một điểm làm trung tâm của cụm. Nếu K>1: thêm trung tâm của cụm mới vào cụm có biến dạng max. Bước 2.2: Gán từng điểm vào cụm có trung tâm gần nhất với điểm đang xét và cập nhật lại trung tâm cụm Bươc 2.3: Nếu trung tâm cụm không thay đổi, chuyển sang bước 3. Ngược lại, quay trở lại bước 2.2 (bước 2). Bước 3: (Tăng số cụm) Nếu K≤ giá trị ấn định số cụm thì K:=K+1, quay trở lại bước 2.1 (bước 2). Ngược lại, thuật toán dừng. Với thuật toán K-means cải tiến: đưa ra sự khác biệt, đó là mức độ biến dạng của các cụm (dựa trên biến dạng để phân cụm).Mức độ biến dạng của các cụm được tính như sau: I=S-N(d(w,x )) Trong đó: w: trung tâm của cụm, N: Số các thành phần trong cụm; S: Tổng bình phương khoảng cách giữa các thành phần trong cụm và trung tâm của không gian Euclidean; I: Mức độ biến dạng của cụm; d(w,x): là khoảng cách giữa trung tâm w của cụm và trung tâm của không gian Euclidean x. Nhận xét: + Một cụm có mức độ biến dạng lớn thì trung tâm cụm đó có vị trí không thích hợp. 10 [...]... trên Internet Cải tiến thuật toán Kmeans trong phân cụm dữ liệu: thay vì chọn số điểm làm trọng tâm thì không chọn số điểm làm trọng tâm cho số cụm mà sẽ tăng số cụm từ 1 lên k cụm bằng cách đưa trung tâm cụm mới vào cụm có mức độ biến dạng lớn nhất và tính lại trọng tâm các cụm V Cài đặt chương trình thuật toán K-means a Nội dung Gom cụm dữ liệu dựa theo phương pháp phân cụm K-mean Trong chương trình... định các cụm cũng như xác định trung tâm của cụm, như vậy thuật toán chủ yếu tìm trung tâm cụm chính xác và xác định lại các thành phần trong cụm Với thuật toán K-means cải tiến: + Bước 2: như K-means nhưng khác là: không xác định trước k điểm mà tăng k lên dần từ 1 Và chọn cụm có mức độ biến dạng lớn để phân ra 2 cụm (khi đó 2 cụm này có mức độ biến dạng giảm, nhỏ hơn) + Thuật toán cải tiến K-means. .. là O( k2 nt), như vậy so với thuật toán K-means có độ phức tạp O(tkn) thì: O( k2 nt)>O(tkn), nhưng không bằng K-mendoids, do k . nhiên cả hai thuật toán này đều yêu cầu đưa vào số lượng cụm k. IV. Cải tiến thuật toán K-means trong phân cụm dữ liệu tự động Bài toán thu thập, phân cụm dữ liệu tự động là một bài toán mang tính. nhiều kỹ thuật, thuật toán về thu thập, phân cụm dữ liệu tự động tuy nhiên hầu hết các kỹ thuật này khi phân cụm đều yêu cầu xác định số cụm cần thực thi đặc biệt là với thuật toán K-means hoặc. K- Means, tuy nhiên thuật toán có những hạn chế nhất định. Do đó, cần có sự cải tiến thuật toán này nhằm khắc phục những hạn chế của thuật toán K-means Cải tiến thuật toán K-means: thay vì chọn

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

Từ khóa liên quan

Mục lục

  • I. Giới thiệu

    • a. Gom cụm là gì?

    • b. Vấn đề tương tự và không tương tự giữa hai đối tượng

    • c. Các loại dữ liệu trong phân tích cụm

    • d. Các phưong pháp gom cụm chính yếu

    • e. Các phương pháp phân hoạch

    • III. Một số thuật toán phân cụm dữ liệu

      • a. Thuật toán K-means

      • b. Thuật toán K-Medoid

      • IV. Cải tiến thuật toán K-means trong phân cụm dữ liệu tự động

      • V. Cài đặt chương trình thuật toán K-means

        • a. Nội dung

        • b. Mô tả

        • c. Kiểm nghiệm chương trình

        • d. Cấu trúc chương trình

        • PHỤ LỤC

        • 1. Giao diện chương trình

        • 2. Tài liệu tham khảo

        • Giáo trình khai thác dữ liệu- Biên sọan PGS.TS ĐỖ PHÚC- NXB ĐHQG TP.HCM

        • http://people.revoledu.com/kardi/tutorial/kMean/Algorithm.htm

        • http://kmeansdemo.codeplex.com/releases/view/50823

        • http://en.wikipedia.org/wiki/K-means_clustering

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

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

Tài liệu liên quan