THUẬT TOÁN GOM CỤM K-MEDOIDS SỰKHÁC NHAU GIỮA THUẬT TOÁN K-MEDOIDS VÀ THUẬT TOÁN K-MEANS

11 3.5K 18
THUẬT TOÁN GOM CỤM K-MEDOIDS  SỰKHÁC NHAU GIỮA THUẬT TOÁN K-MEDOIDS VÀ 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

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN BÀI THU HOẠCH CHUYÊN ĐỀ KHAI THÁC DỮ LIỆU TÊN ĐỀ TÀI THUẬT TOÁN GOM CỤM K-MEDOIDS SỰ KHÁC NHAU GIỮA THUẬT TOÁN K-MEDOIDS VÀ THUẬT TOÁN K-MEANS GIẢNG VIÊN: PGS.TS. ĐỖ PHÚC HỌC VIÊN: TRẦN NGỌC THUẬN MÃ SỐ HỌC VIÊN: CH1101141 KHÓA: 6 Tp. Hồ Chí Minh – 11/ 2012 LỜI MỞ ĐẦU Ngày nay với sự phát triển nhanh chóng của khoa học công nghệ đặc biệt là trong lĩnh vực công nghệ thông tin. Với sự bùng nổ về thông tin lưu trữ thì việc quản lý dữ liệu và khai thác được nguồn dữ liệu vô tận này là một vấn đề rất khó khăn. Vì thế khai thác dữ liệu (Data Mining) là vấn đề quan trọng hàng đầu được mọi người quan tâm hiện nay. Trong khai thác dữ liệu cũng chia ra rất nhiều vấn đề quan trọng, trong đó vấn đề gom cụm dữ liệu (data clustering) là vấn đề đáng được quan tâm. Mục đích của gom cụm là tìm những mẫu tin đại diện hoặc gom dữ liệu tương tự nhau theo một chuẩn đánh giá nào đó thành những cụm. Các điểm dữ liệu trong các cụm khác nhau có độ tương tự thấp hơn các điểm nằm trong một cụm. Bài báo cáo trình bày thuật toán gom cụm K-medoids, ví dụ minh hoạ, những ưu và khuyết điểm của thuật toán, so sánh sự khác nhau với thuật toán K-means. Tôi xin chân thành cám ơn PGS.TS. Đỗ Phúc đã cung cấp những kiến thức cơ bản trong chuyên đề Khai thác dữ liệu, cám ơn sự hướng dẫn nhiệt tình của Thầy trong chuyên đề, những thông tin vô cùng bổ ích để tôi hoàn thành bài thu hoạch này. MỤC LỤC I. Giới thiệu chung về Gom cụm dữ liệu (Data Clustering)và thuật toán gom cụm K-medoids Trang 1 1. Gom cụm dữ liệu (Data Clustering) Trang 1 2. Thuật toán gom cụm K-Medoids Trang 1 II. So sánh giải thuật K-means và K-medoids Trang 6 1. Giải thuật gom cụm K-means Trang 6 2. So sánh giải thuật K-means và K-medoids Trang 7 1 I. Giới thiệu chung về Gom cụm dữ liệu (Data Clustering)và thuật toán gom cụm K-medoids 1. Gom cụm dữ liệu (Data Clustering)  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 gán nhãn. Mục đích của gom cụm dữ liệu là tìm những mẫu đại diện hoặc gom dữ liệu tương tự nhau (theo một chuẩn đánh giá nào đó) thành những cụm. Các điểm dữ liệu trong các cụm khác nhau có độ tương tự thấp hơn các điểm dữ liệu trong cùng một cụm. Một số ứng dụng tiêu biểu của gom cụm: - 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 - 2. Thuật toán gom cụm K-Medoids Thuật toán K-Medoids lấy đối tượng trong cụm làm trọng tâm của cụm (gọi là đối tượng tâm). Thuật toán này dựa trên nguyên tắc làm cực tiểu sự khác nhau giữa các đối tượng trong cùng một cụm. Ý tưởng chính của thuật toán K-Medoids như sau: Để 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à trọng 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 trọng tâm của cụm là ít nhất (còn gọi là gần nhất). Sau đó lặp lại quá trình: thay đổi đối tượng trọ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 trọng tâ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 trọng tâm O random thay thế tốt cho một đối tượng trọng tâm O i thì mỗi đối tượng p xét theo 4 trường hợp sau đây: - p đang thuộc vào cụm có trọng tâm O i . Nếu O j được thay thế bởi O random và p gần nhất với O i (i≠j) thì p được gán lại vào O i . - p đang thuộc vào O i . Nếu O i đượ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 . - P đang thuộc vào O j . Nếu O j được thay thế bởi O random và p vẫn gần nhất với O j thì không thay đổi gì cả. tức là p vẫn thuộc O j . - P đang thuộc vào O j (i≠j). Nếu O j đượ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 2  Thuật toán K-medoids có thể được mô tả cụ thể như sau: Input: tập CSDL gồm n đối tượng cần phân cụm và số nguyên k Output: Một tập gồm k cụm mà tổng giá trị của sự khác nhau của các đối tượng đến đối tượng trọng tâm của cụm chứa nó là nhỏ nhất. Thuật toán: 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 O j với O random . Bước 6: Nếu S<0 thì đổi O j với O random để 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ụ với k=2  Ví dụ minh hoạ thuật toán K-medoids Giả sử ta có bảng dữ liệu như sau: X1 2 6 X2 3 4 X3 3 8 X4 4 7 3 X5 6 2 X6 6 4 X7 7 3 X8 7 4 X9 8 5 X10 7 6 Ta chọn k=2 và chọn x2(3,4) và x8(7,4) là tâm của 2 cụm. Suy ra ta được 2 cụm: c1(3,4) và c2(7,4) Bây giờ chúng ta tính toán khoảng cách của những điểm còn lại với 2 cụm bằng khoảng cách Manhattan (là khoảng cách Minkowski khi q=1). Khoảng cách Minkowski: Ta được bảng khoảng cách như sau: Khoảng cách từ các điểm còn lại đến cụm 1 Điểm Toạ độ điểm trọng tâm c1 Toạ độ điểm không phải là trọng tâm Khoảng cách 1 3 4 2 6 3 3 3 4 3 8 4 4 3 4 4 7 4 5 3 4 6 2 5 6 3 4 6 4 3 7 3 4 7 3 5 9 3 4 8 5 6 10 3 4 7 6 6 Khoảng cách từ các điểm còn lại đến cụm 2 Điểm Toạ độ điểm trọng tâm c2 Toạ độ điểm không phải là trọng tâm Khoảng cách 1 7 4 2 6 7 3 7 4 3 8 8 4 7 4 4 7 6 5 7 4 6 2 3 6 7 4 6 4 1 7 7 4 7 3 1 9 7 4 8 5 2 10 7 4 7 6 2 So sánh 2 bảng dữ liệu ở trên ta thấy: 4 Điểm 1,3,4 có khoảng cách gần cụm c1 hơn nên gom các điểm này vào chung cụm c1. Cụm c1 lúc này thành: c1={1,2,3,4} hoặc theo toạ độ c1={(2,6),(3,4),(3,8),(4,7)} Điểm 5,6,7,9,10 có khoảng cách gần cụm c2 hơn nên gọm các điểm này vào chung cụm c2. Cụm c2 lúc này thành: c2={5,6,7,8,9,10} hoặc theo toạ độ c2={(6,2),(6,4),(7,3),(7,4),(8,5),(7,6)} Bây giờ ta tính tổng giá trị (total cost)của các điểm có trung tâm là c1 và c2. Công thức tính giá trị giữa các điểm là: Cost(x,c)= ∑ = − d i cx 1 )( Trong đó: x: là tất cả các điểm không phải là trọng tâm c: là các điểm trọng tâm d:là số cụm (trong trường hợp này là 2) > total cost={cost(c1,1) + cost(c1,3) + cost(c1,4)} + {cost(c2,5) + cost(c2,6) + cost(c2,7) + cost(c2,9)+cost(c2,10)} = (3+4+4)+(3+1+1+2+2) = 20  Với điểm trọng tâm c1=x2=(3,4). Ta xét các điểm không phải là trọng tâm. - Xét x7=(7,3) Lúc này ta có 2 trọng tâm mới là c1=x2=(3,4) và c2=x7=(7,3). Ta tính lại khoảng cách từ các điểm khác đến 2 trọng tâm: Khoảng cách tới cụm c1: Điểm Toạ độ điểm trọng tâm c1 Toạ độ điểm không phải là trọng tâm Khoảng cách 1 3 4 2 6 3 3 3 4 3 8 4 4 3 4 4 7 4 5 3 4 6 2 5 6 3 4 6 4 3 8 3 4 7 4 4 9 3 4 8 5 6 10 3 4 7 6 4 Khoảng cách tới cụm c2 Điểm Toạ độ điểm trọng tâm c2 Toạ độ điểm không phải là trọng tâm Khoảng cách 1 7 3 2 6 8 5 3 7 3 3 8 9 4 7 3 4 7 7 5 7 3 6 2 2 6 7 3 6 4 2 8 7 3 7 4 1 9 7 3 8 5 3 10 7 3 7 6 3 Total cost1 = (3+4+4)+(2+2+1+3+3) = 22 Ta thấy total cost1-total cost=22-20=2>0  Không thay đổi vị trí của điểm x7  Tương tự ta xét tất cả các điểm x còn lại và tính khoảng cách nhỏ nhất so với total cost ban đầu.  Kết quả cho ta là dữ liệu vẫn không thay đổi  Chúng ta chỉ gom được 2 cụm như ban đầu Cụm 1: c1={x1,x2,x3,x4} Cụm 2: c2={x5,x6,x7,x8,x9,x10} Điểm mạnh: Xử lý được với dữ liệu nhiễu và mẫu cá biệt Điểm yếu: - Tốn chi phí, độ phức tạp O(ik(n-k) 2 ) - Kém hiệu quả - Chọn được số cụm k trước - Kết quả và thời gian chạy phụ thuộc vào phân hoạch ban đầu. 6 II. So sánh giải thuật K-means và K-medoids 1. Giải thuật gom cụm K-means K-means là một trong những phương pháp học không giám sát trong số những phương pháp gom cụm. Nó phân lớp một tập dữ liệu thành k cụm. Mỗi cụm sẽ có một trọng tâm. Mỗi đối tượng dữ liệu sẽ được đưa vào mỗi cụm gần trọng tâm nhất. Tiến trình sẽ lặp lại cho đến khi Giải thuật Input: k - số cụm phân hoạch, n: số lượng đối tượng Output: tập các đối tượng đã được gom cụm - Chọn ngẫu nhiên k điểm làm trọng tâm ban đầu của k cụm - Gán (hoặc gán lại) từng điểm vào cụm có trọng tâm gần điểm đang xét nhất. Nếu không có phép gán lại nào thì dừng. Vì không có phép gán lại nào có nghĩa là các cụm đã ổn định và thuật toán không thể cải thiện làm giảm độ phân biệt hơn được nữa. - Tính lại trọng tâm cho từng cụm - Quay lại bước 2 Minh hoạ thuật toán với k=2 Điểm mạnh - Hiệu quả với dữ liệu lớn và rộng, độ phức tạp O(ikn), trong đó i là số lần lặp, k là số cụm, n là tổng dữ liệu (k<<n và i<<n) - Dễ dàng hiểu và cài đặt Điểm yếu: - Chỉ thực thi được khi chọn được số lượng cụm - Cụ thể số cum k - Khó phát hiện các loại cụm có hình dạng phức tạp và nhất là các dạng cụm không lồi - Không thể làm được với dữ liệu nhiễu và mẫu cá biệt - Chỉ có thể áp dụng khi tính được trọng tâm 7 2. So sánh giải thuật K-means và K-medoids Bảng so sánh giải thuật K-medoids và K-means Yếu tố K-means K-medoids Độ phức tạp O(ikn) O(ik(n-k) 2 ) Tính hiệu quả Nhiều hơn Thấp hơn Tính thực thi Dễ dàng cài đặt Phức tạp Tính nhạy cảm của dữ liệu Có Không Cụm có hình dạng lồi Có Không nhiều Yêu cầu về số cụm k Có Có Tính tối ưu Tách được cụm Tách được cụm Tập dữ liệu nhỏ  Giải thuật K-means dùng giá trị trung bình của các điểm trong cụm làm trọng tâm, còn ở k-medoids thì dùng chính điểm làm trọng tâm. . về Gom cụm dữ liệu (Data Clustering )và thuật toán gom cụm K-medoids Trang 1 1. Gom cụm dữ liệu (Data Clustering) Trang 1 2. Thuật toán gom cụm K-Medoids Trang 1 II. So sánh giải thuật. HOẠCH CHUYÊN ĐỀ KHAI THÁC DỮ LIỆU TÊN ĐỀ TÀI THUẬT TOÁN GOM CỤM K-MEDOIDS SỰ KHÁC NHAU GIỮA THUẬT TOÁN K-MEDOIDS VÀ THUẬT TOÁN K-MEANS GIẢNG VIÊN: PGS.TS. ĐỖ PHÚC HỌC VIÊN: TRẦN. thuật K-means và K-medoids Trang 6 1. Giải thuật gom cụm K-means Trang 6 2. So sánh giải thuật K-means và K-medoids Trang 7 1 I. Giới thiệu chung về Gom cụm dữ liệu (Data Clustering)và

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

Từ khóa liên quan

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

Tài liệu liên quan