Kỹ thuật phân cụm có thể áp dụng trong rất nhiều lĩnh vực như: • Marketing: Xác định các nhóm khách hàng khách hàng tiềm năng, khách hàng giá trị, phân loại và dự đoán hành vi khách hàng
Trang 1KHOA: KHOA HỌC MÁY TÍNH
TIỂU LUẬN
KHAI PHÁ DỮ LIỆU
PHÂN TÍCH TÌM HIỂU MỘT SỐ THUẬT TOÁN GOM
CỤM DỮ LIỆU TRONG KHAI PHÁ DỮ LIỆU
Giảng viên hướng dẫn : PGS ĐỖ PHÚC
Sinh viên thực hiện: NGUYỄN KHẮC MẪN _ CH1101102
Lớp : CH06
Trang 2Tóm Lược
Trong vài thập niên gần đây, cùng với sự thay đổi và phát triển không ngừng của ngành công nghệ thông tin nói chung và trong các ngành công nghệ phần cứng, phân mềm, truyền thông và hệ thống các dữ liệu phục vụ trong các lĩnh vực kinh tế
- xã hội nói riêng Thì việc thu thập thông tin cũng như nhu cầu lưu trữ thông tin càng ngày càng lớn Bên cạnh đó việc tin học hoá một cách ồ ạt và nhanh chóng các hoạt động sản xuất, kinh doanh cũng như nhiều lĩnh vực hoạt động khác đã tạo ra cho chúng ta một lượng dữ liệu lưu trữ khổng lồ Hàng triệu Cơ sở dữ liệu đã được
sử dụng trong các hoạt động sản xuất, kinh doanh, quản lí , trong đó có nhiều Cơ
sở dữ liệu cực lớn cỡ Gigabyte, thậm chí là Terabyte Sự bùng nổ này đã dẫn tới một yêu cầu cấp thiết là cần có những kĩ thuật và công cụ mới để tự động chuyển đổi lượng dữ liệu khổng lồ kia thành các tri thức có ích Từ đó, các kĩ thuật Khai phá dữ liệu đã trở thành một lĩnh vực thời sự của nền Công nghệ thông tin thế giới hiện nay Một vấn đề được đặt ra là phải làm sao trích chọn được những thông tin có ý nghĩa từ tập dữ liệu lớn để từ đó có thể giải quyết được các yêu cầu của thực tế như trợ giúp ra quyết định, dự đoán,… và Khai phá dữ liệu (Data mining) đã ra đời nhằm giải quyết các yêu cầu đó Khai phá dữ liệu được định nghĩa là: quá trình trích xuất các thông tin có giá trị tiềm ẩn bên trong lượng lớn dữ liệu được lưu trữ trong các Cơ sở dữ liệu, kho dữ liệu… Hiện nay, ngoài thuật ngữ khai phá dữ liệu, người ta còn dùng một số thuật ngữ khác có ý nghĩa tương tự như: khai phá tri thức từ Cơ sở dữ liệu (knowlegde mining from databases), trích lọc dữ liệu (knowlegde extraction), phân tích dữ liệu/mẫu (data/pattern analysis), khảo cổ dữ liệu (data archaeology), nạo vét dữ liệu (data dredging) Nhiều người coi khai phá
dữ liệu và một thuật ngữ thông dụng khác là khám phá tri thức trong Cơ sở dữ liệu(Knowlegde Discovery in Databases – KDD) là như nhau Tuy nhiên trên thực tế, khai phá dữ liệu chỉ là một bước thiết yếu trong quá trình Khám phá tri thức trong
Cơ sở dữ liệu.
Trang 3Ngay từ những ngày đầu khi xuất hiện, Data mining đã trở thành một trong những xu hướng nghiên cứu phổ biến trong lĩnh vực học máy tính và công nghệ tri thức Nhiều thành tựu nghiên cứu của Data mining đã được áp dụng trong thực tế Data mining có nhiều hướng quan trọng và một trong các hướng đó là phân cụm
dữ liệu (Data Clustering ) Phân cụm dữ liệu là quá trính tìm kiếm để phân ra các cụm dữ liệu, các mẫu dữ liệu từ tập Cơ sở dữ liệu lớn.
Bài báo cáo tập trung phân tích các kỹ thuật gom cụm dữ liệu mà cụ thể là k-means Chủ yếu phân tích kỹ thuật và đưa ra một số ví dụ, áp dụng thực tiễn của kỹ thuật k-means trong gom nhóm dữ liệu.
NHẬN XÉT
………
……….……….
……….
……….
……….
……….
Trang 4……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
………
Trang 5Mục lục
Trang 6CHƯƠNG 1: PHÂN CỤM DỮ LIỆU
I.1 Khái niệm
Phân cụm là kỹ thuật rất quan trọng trong khai phá dữ liệu, nó thuộc lớp
các phương pháp Unsupervised Learning trong Machine Learning Có rất
nhiều định nghĩa khác nhau về kỹ thuật này, nhưng về bản chất ta có thể hiểu phân cụm là các qui trình tìm cách nhóm các đối tượng đã cho vào các cụm (clusters), sao cho các đối tượng trong cùng 1 cụm tương tự (similar) nhau và các đối tượng khác cụm thì không tương tự (Dissimilar) nhau Mục đích của phân cụm là tìm ra bản chất bên trong các nhóm của dữ liệu Các thuật toán phân cụm (Clustering Algorithms) đều sinh ra các cụm (clusters) Tuy nhiên, không có tiêu chí nào là được xem là tốt nhất để đánh hiệu của của phân tích 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 clusters”, “useful” clusters, outlier detection
Kỹ thuật phân cụm có thể áp dụng trong rất nhiều lĩnh vực như:
• Marketing: Xác định các nhóm khách hàng (khách hàng tiềm năng, khách hàng giá trị, phân loại và dự đoán hành vi khách hàng,…) sử dụng sản phẩm hay dịch vụ của công ty để giúp công ty có chiến lược kinh doanh hiệu quả hơn;
• Biology: 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;
• Libraries: Theo dõi độc giả, sách, dự đoán nhu cầu của độc giả…;
• Insurance, Finance: Phân nhóm các đối tượng sử dụng bảo hiểm và các dịch vụ tài chính, dự đoán xu hướng (trend) của khách hàng, phát hiện gian lận tài chính (identifying frauds);
• WWW: Phân loại tài liệu (document classification); phân loại người dùng web (clustering weblog);…
Các kỹ thuật phân cụm được phân loại như sau (xem hình)
Trang 7• Phương pháp phân hoạch
• Phương pháp phân cấp
• Phương pháp dựa trên mật độ
• Phương pháp dựa trên mô hình
• Phương pháp dựa trên lưới
I.2 Bài toán phân cụm nói chung
Bài toán phân cụm thường được thực hiện khi chúng ta không biết được nội dung thông tin của các thành phần thuộc cụm để định nghĩa trước các lớp Vì lý do này mà công việc phân cụm thường được truyền thống nhìn nhận dưới con mắt của học máy không giám sát, phương pháp học mà khi ta cho trước một mẫu chỉ gồm các đối tượng cần tìm một cấu trúc đáng quan tâm của dữ liệu và nhóm lại các dữ liệu giống nhau Quy trình phân cụm được thể hiện như Hình 1.
Hình 1 Qui trình phân cụm tổng quát
Tiêu chuẩn phân cụm
Sau đây chúng ta sẽ tìm hiểu một số tính chất của dữ liệu và yêu cầu của một thuật toán phân cụm Hầu hết các nghiên cứu và phát triển các thuật toán phân cụm dữ liệu nói chung đều nhằm thỏa mãn các yêu cầu cơ bản sau:
• Có khả năng mở rộng, gia tăng: Thuật toán phân cụm cần có khả năng gia tăng, mở rộng Rất nhiều thuật toán phân cụm có thể làm việc tốt với lượng dữ liệu nhỏ, ít hơn 100 đối tượng dữ liệu mà chưa làm tốt với lượng dữ liệu lớn, trong khi đó cơ sở dữ liệu lớn chứa hàng triệu đối tượng vì vậy ta cần mở rộng bộ phân cụm đó để bao
Trang 8• Khả năng thích nghi với các kiểu và thuộc tính dữ liệu khác nhau: có nhiều thuật toán phân cụm, có những thuật toán phù hợp với dữ liệu
số, có những thuật toán khi áp dụng cho loại dữ liệu nhị phân hay dữ liệu ảnh …
• Nhận biết được các cụm với hình thù bất kỳ: một số thuật toán xác định cụm dựa vào việc tính khoảng cách Euclidean hay Manhattan với mục đích nhận biết độ dày và giống nhau của các tài liệu trong cụm Tuy nhiên, một cụm có thể có hình dạng bất kỳ vì vậy mà việc phát triển thuật toán có khả năng xác định các cụm với hình thù bất kỳ là quan trọng và cần thiết
• Tối thiểu miền tri thức cho xác định các tham số đầu vào: miền tri thức đầu vào cần thiết cho một thuật toán phân cụm càng ít, chi phí cho việc phân cụm càng giảm và nó càng khả thi hơn
• Khả năng thích nghi với dữ liệu nhiễu: Phần lớn các cơ sở dữ liệu thực
tế chứa đựng ngoại lệ hoặc thiếu, không xác định hay không đúng Các thuật toán nhạy cảm với nhiễu là nguyên nhân dẫn đến việc tạo ra một bộ phân cụm kém chất lượng.
• Không nhạy cảm với thứ tự của bản ghi đầu vào: Một số thuật toán phân cụm không thể sát nhập thêm dữ liệu mới vào trong bộ phân cụm, thêm tài liệu vào cụm có sẵn hoặc tạo thêm cụm mới Bên cạnh
đó, một thuật toán phân cụm tốt không tạo ra các bộ phân cụm khác nhau từ cùng một bộ dữ liệu nhưng thứ tự sắp xếp khác nhau Những thuật toán này gọi là nhạy cảm với thứ tự dữ liệu
• Thích nghi với dữ liệu đa chiều: Dữ liệu thông thường thường có số chiều ít, từ hai đến ba chiều mà một số thuật toán phân cụm đưa ra kết quả rất tốt Bên cạnh đó, dữ liệu đa chiều (nhiều hơn ba chiều) cũng rất đa dạng và cần thiết được phân nhóm cho nhiều ứng dụng thực tế Với loại dữ liệu này, việc phân loại dựa vào kiến thức con người tỏ ra có hiệu quả, tuy nhiên với khối lượng dữ liệu lớn như vậy, việc sử dụng kiến thức chuyên gia là tốn kém nên chúng ta cần tìm các thuật toán phân cụm để giải quyết được vấn đề này
Trang 9• Phân cụm trên một số ràng buộc: Trong một số ứng dụng, chúng ta cần phân cụm trên cơ sở dữ liệu chứa các liên kết bắt buộc giữa hai hay nhiều đối tượng Việc phân cụm cần đảm bảo các đối tượng này thỏa mãn các ràng buộc đó
• Dễ hiểu, dễ cài đặt và khả thi: một thuật toán càng dễ hiểu và dễ cài đặt và mang tính khả thi cao sẽ được người dung tin cậy và sử dụng rộng rãi
I.3.1 Yêu cầu
Phân cụm nói chung cần quan tâm đến một số đặc điểm sau:
• Mục đích của việc phân cụm: Bài toán phân cụm có mục đích tìm kiếm các tài liệu và phân chúng vào các cụm khác nhau Tuy nhiên, tùy thuộc vào mục đích người dùng mà người lập trình sẽ quyết định số lượng cụm, hay chất lượng cụm ở mức nào Một cách phân chia dữ liệu với số lượng cụm linh hoạt được thực hiện bằng cách cắt cây ở mực phù hợp ví dụ như sử dụng thuật toán phân cụm cây phân cấp.
• Bản chất của dữ liệu: Phần lớn các phương pháp phân cụm đã được phát triển cho dữ liệu số, nhưng một số có thể giải quyết bài toán với
dữ liệu văn bản hoặc với cả dữ liệu số và dữ liệu văn bản
• Bản chất của thông tin: Nhiều phương thức phụ thuộc vào độ giầu của
dữ liệu như định nghĩa nguyên mẫu, phân bố dữ liệu, số chiều … bên cạnh việc tính toán độ tương tự Một số phương thức khác chỉ yêu cầu đánh giá từng đôi một độ tương tự hoặc khoảng cách giữa các thành phần dữ liệu
• Bản chất các cụm: Các cụm tài liệu cần đảm bảo 2 tính chất mà khi phân cụm chúng ta cần chú ý:
• Compactness – độ cô đọng súc tích: độ dính kết hoặc đơn nhất của từng cặp đối tượng trong từng cụm riêng rẽ Độ tương tự càng cao,
độ cô đọng càng lớn
• Isolation – độ cô lập: độ đo về sự tách biệt giữa một cụm với những
Trang 10I.3.2 Một số vấn đề trong phân cụm dữ liệu
• Xử lý nhiễu: Dữ liệu bị nhiễu là dữ liệu không chính xác hay là dữ liệu khuyết thiếu thông tin về một số thuộc tính Hầu hết các dữ liệu sử dụng để phân cụm đều bị nhiễu do quá trình thu thập thiếu chính xác hay thiếu đầy đủ Vì vậy cần phải thực hiện bước tiền xử lý dữ liệu nhằm khắc phục hoặc loại bỏ nhiễu trước khi chuyển sang giai đoạn phân tích cụm dữ liệu Một trong các kỹ thuật xử lý nhiễu hiện nay là thay thế các giá trị các thuộc tính của đối trượng nhiễu bằng các giá trị thuộc tính tương ứng
• Dò tìm phần tử ngoại lai Phần tử ngoại lai là một nhóm nhỏ các đối tượng dữ liệu khá thường so với các dữ liệu trong cơ sở dữ liệu Loại
bỏ những dữ liệu này để tránh ảnh hưởng đến kết quả phân cụm
• Phân cụm hiện nay đang là vấn đề mở và khó: Vì phân cụm đang phải giải quyết một số vấn đề cơ bản: Xây dựng hàm tính độ tương tự, xây dựng các tiêu chuẩn phân cụm, xây dựng mô hình cho cấu trúc dữ liệu, xây dựng các thuật toán phân cụm và xác lập các điều kiện khởi tạo, xây dựng các thủ tục biểu diễn và đánh giá kết quả phân cụm Hiện nay chưa có một phương 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 dữ liệu Với những dữ liệu hỗn hợp thì việc phân cụm càng khó khăn hơn và đây đang là một thách thức trong ngành khai phá dữ liệu.
I.4 Các kỹ thuật tiếp cận trong phân cụm dữ liệu
Các kỹ thuật phân 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 phân cụm có thể phân loại theo các cách tiếp cận chính sau :
I.4.1 Phương pháp phân cụm phân hoạch
Kỹ thuật này phân hoạch một tập hợp dữ liệu có n phần tử thành knhóm cho đến khi xác định số các cụm được thiết lập Số các cụm được thiếtlập là các đặc trưng được lựa chọn trước Phương pháp này là tốt cho việc tìmcác
Trang 11cụm hình cầu trong không gian Euclidean Ngoài ra, phương pháp nàycũng phụ thuộc vào khoảng cách cơ bản giữa các điểm để lựa chọn các điểmdữ liệu nào có quan hệ là gần nhau với mỗi điểm khác và các điểm dữ liệunào không có quan hệ hoặc có quan hệ là xa nhau so với mỗi điểm khác Tuynhiên, phương pháp này không thể xử lí các cụm có hình dạng kỳ quặc hoặccác cụm có mật độ các điểm dầy đặc Các thuật toán phân hoạch dữ liệu
có độphức tạp rất lớn khi xác định nghiệm tối ưu toàn cục cho vấn đề PCDL,
do nóphải tìm kiếm tất cả các cách phân hoạch có thể được Chính vì vậy, trên thựctế thường đi tìm giải pháp tối ưu cục bộ cho vấn đề này bằng cách
sử dụngmột hàm tiêu chuẩn để đánh giá chất lượng của cụm cũng như để hướng dẫncho quá trình tìm kiếm phân hoạch dữ liệu Như vậy, ý tưởng chính của thuậttoán phân cụm phân hoạch tối ưu cục bộ là sử dụng chiến lược ăn tham (Greedy) để tìm kiếm nghiệm.
I.4.2 Phương pháp phân cụm phân cấp
Phương pháp này xây dựng một phân cấp trên cơ sở các đối tượng dữliệu đang xem xét Nghĩa là sắp xếp một tập dữ liệu đã cho thành một cấu trúccó dạng hình cây, cây phân cấp này được xây dựng theo kỹ thuật đệ quy Cóhai cách tiếp cận phổ biến của kỹ thuật này đó là:
• Hòa nhập nhóm, thường được gọi là tiếp cận Bottom-Up
• Phân chia nhóm, thường được gọi là tiếp cận Top-Down
Hình 2 Chiến lược phân cụm phân cấp
Trang 12Thực tế áp dụng, có nhiều trường hợp kết hợp cả hai phương pháp phân cụm phân hoạch và phân cụm phân cấp, nghĩa là kết quả thu được của phương pháp phân cấp có thể cải tiến thông qua bước phân cụm phân hoạch Phân cụm phân hoạch và phân cụm phân cấp là hai phương pháp PCDL cổ điển, hiện đã có rất nhiều thuật toán cải tiến dựa trên hai phương pháp này đã được áp dụng phổ biến trong KPDL.
I.4.3 Phương pháp phân cụm dựa trên mật độ
Kỹ thuật này nhóm các đối tượng dữ liệu dựa trên hàm mật độ xác định, mật độ là số các đối tượng lân cận của một đối tượng dữ liệu theo một nghĩa nào đó Trong cách tiếp cận này, khi một dữ liệu đã xác định thì nó tiếp tục được phát triển thêm các đối tượng dữ liệu mới miễn là số các đối tượng lân cận này phải lớn hơn một ngưỡng đã được xác định trước Phương pháp phân cụm dựa trên mật độ của các đối tượng để xác định các cụm dữ liệu có thể phát hiện ra các cụm dữ liệu với hình thù bất kỳ Kỹ thuật này có thể khắc phục được các phần tử ngoại lai hoặc giá trị nhiễu rất tốt, tuy nhiên việc xác định các tham số mật độ của thuật toán là rất khó khăn, trong khi các tham
số này lại có tác động rất lớn đến kết quả phân cụm.
I.4.4 Phương pháp phân cụm dựa trên lưới
Kỹ thuật phân cụm dựa trên lưới thích hợp với dữ liệu nhiều chiều, dựa trên cấu trúc dữ liệu lưới để phân cụm, phương pháp này chủ yếu tập trung
áp dụng cho lớp dữ liệu không gian Mục tiêu của phương pháp này là lượng hóa dữ liệu thành các ô tạo thành cấu trúc dữ liệu lưới Sau đó, các thao tác phân cụm chỉ cần làm việc với các đối tượng trong từng ô trên lưới chứ không phải các đối tượng dữ liệu Cách tiếp cận dựa trên lưới này không di chuyển các đối tượng trong các ô mà xây dựng nhiều mức phân cấp của nhóm các đối tượng trong một ô Phương pháp này gần giống với phương pháp phân cụm phân cấp nhưng chúng không trộn các ô, đồng thời giải quyết khắc phục yêu cầu đối với dữ liệu nhiều chiều mà phương pháp phân phân cụm dựa trên mật độ không giải quyết được Ưu điểm của phương pháp phân cụm dựa trên lưới là thời gian xử lí nhanh và độc lập với số đối
Trang 13tượng dữ liệu trong tập dữ liệu ban đầu, thay vào đó là chúng phụ thuộc vào
số ô trong mỗi chiều của không gian lưới.
Hình 3 Cấu trúc phân cấp
I.4.5 Phương pháp phân cụm dựa trên mô hình
Phương này cố gắng khám phá các phép xấp xỉ tốt của các tham số mô hình sao cho khớp với dữ liệu một cách tốt nhất Chúng có thể sử dụng chiến lược phân cụm phân hoạch hoặc phân cụm phân cấp, dựa trên cấu trúc hoặc
mô hình mà chúng giả định về tập dữ liệu và cách chúng hiệu chỉnh các mô hình này để nhận dạng ra các phân hoạch Phương pháp phân cụm dựa trên
mô hình cố gắng khớp giữa các dữ liệu với mô hình toán học, nó dựa trên giả định rằng dữ liệu được tạo ra bằng hỗn hợp phân phối xác suất cơ bản Các thuật toán phân cụm dựa trên mô hình có hai cách tiếp cận chính: mô hình thống kê và mạng nơron Phương pháp này gần giống với phương pháp phân cụm dựa trên mật độ, vì chúng phát triển các cụm riêng biệt nhằm cải tiến các mô hình đã được xác định trước đó, nhưng đôi khi nó không bắt đầu với một số cụm cố định và không sử dụng cùng một khái niệm mật độ cho các cụm.
Trang 14I.4.6 Phương pháp phân cụm có dữ liệu ràng buộc
Sự phát triển của PCDL không gian trên CSDL lớn đã cung cấp nhiều công
cụ tiện lợi cho việc phân tích thông tin địa lí, tuy nhiên hầu hết các thuật toán này cung cấp rất ít cách thức cho người dùng để xác định các ràng buộc trong thế giới thực cần phải được thỏa mãn trong quá trình phân cụm Để PCDL không gian hiệu quả hơn, các nghiên cứu bổ sung cần được thực hiện
để cung cấp cho người dùng khả năng kết hợp các ràng buộc trong thuật toán phân cụm.
Hình 4 Các cách mà các cụm có thể đưa ra Hiện nay, các phương pháp phân 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 cơ sở của các phương pháp đó như:
Phân cụm thống kê: Dựa trên các khái niệm phân tích hệ thống, nhánh nghiên cứu này sử dụng các độ đo tương tự để phân hoạch các đối tượng, nhưng chúng chỉ áp dụng cho các dữ liệu có thuộc tính số.
Trang 15Phân cụm khái niệm: Kỹ thuật này được phát triển áp dụng cho dữ liệu hạng mục, chúng phân cụm các đối tượng theo các khái niệm mà chúng xử lí Phân cụm mờ: Sử đụng kỹ thuật mờ để PCDL Các thuật toán thuộc loại này chỉ ra lược đồ phân cụm thích hợp với tất cả các hoạt động đời sống hàng ngày, chúng chỉ xử lí các dữ liệu thực không chắc chắn.
Phân cụm mạng Kohonen: Loại phân cụm này dựa trên khái niệm của các mạng nơron Mạng Kohonen có tầng nơron vào và các tầng nơron ra Mỗi nơron của tầng vào tương ứng với mỗi thuộc tính của bản ghi, mỗi một nơron vào kết nối với tất cả các nơron của tầng ra Mỗi liên kết được gắn liền với một trọng số nhằm xác định vị trí của nơron ra tương ứng.
Trang 16CHƯƠNG 2: MỘT SỐ THUẬT TOÁN PHÂN CỤM DỮ
LIỆU
II.1 Thuật toán phân cum dữ liệu dựa vào phân cụm phân cấp
II.1.1 Thuật toán BIRCH
Thuật toán phân cụm khác cho tập dữ liệu lớn, được gọi là BIRCH Ýtưởng của thuật toán là không cần lưu toàn bộ các đối tượng dữ liệu của cáccụm trong bộ nhớ mà chỉ lưu các đại lượng thống kê Thuật toán đưa ra haikhái niệm mới để theo dõi các cụm hình thành , phân cụm đặc trưng là tóm tắtthông tin về một cụm và cây phân cụm đặc trưng(cây CF) là cây cân bằngđược sử dụng lưu trữ cụm đặc trưng( được sử dụng để mô tả cụm tóm tắt).
Trước tiên được gọi là cụm đặc trưng, là một bộ ba(n, LS, SS), trong đó n làsố các điểm trong phân hoạch cụm con, LS là tổng số các giá trị thuộc tích vàSS là tổng bình phương của các điểm đó Đặc trưng tiếp theo là cây CF, màđơn giản là cây cân bằng mà lưu bộ ba này Có thể chứng mình rằng, các đạilượng thống kê chuẩn, như là độ đo khoảng cách, có thể xác định từ cây CF.
Hình 4.10 dưới đây biểu thị một ví dụ về cây CF Có thể thấy rừng, tất cả cácnút trong cây lưu tổng các đặc trưng cụm CF, các nút con, trong khi đó cácnút là lưu trữ các đặc trưng của các cụm dữ liệu.
Cây CF chứa các nút trong và nút là, nút trong là nút chứa các nút convà nút lá thì không có con Nút trong lưu trữ các tổng đặc trưng cụm(CF) củacác nút con của nó Một cây (CF) được đặc trưng bởi hai tham số :
• Yếu tố nhánh (Braching Factor – B) : Nhằm xác định tối đa các nútcon của một nút lá trong của cây
• Ngưỡng(Threshold – T) : khoảng cách tối đa giữa bất kỳ một cặp đốitượng trong nút lá của cây, khoảng cách này còn gọi là đường kính của cáccụm con được lưu tại các nút lá.
Trang 17Hai tham số này có ảnh hưởng đến kích thước của cây CF:
Thuật toán BIRCH thực hiện qua các bước cơ bản như sau :
1. Các đối tượng dữ liệu lần lượt được chèn vào cây C, sau khi chèn hết cácđối tượng thì thu được cây CF khởi tạo Một đối tượng được chèn vào nútlà gần nhất tạo thành cụm con Nếu đường kính của cụm con này lớn hơn Tthì nút lá được tách ra Khi một đối tượng thích hợp được chèn vào nút lá,tất cả các nút trỏ tới gốc của cây được cập nhật với thông tin cần thiết
2. Nếu cây CF hiện thời không có đủ bộ nhớ trong khi tiến hành xây dựngmột cây CF nhỏ hơn: Kích thước của cây CF được điều khiển bởi tham sốF và vì vậy việc chọn một giá trị lớn hơn cho nó sẽ hòa nhập một số cụmcon thành một cụm, điều này làm cho cây CF nhỏ hơn Bước này khôngcần yêu cầu đọc dữ liệu lại từ đầu nhưng vẫn đảm bảo hiệu chỉnh cây dữliệu nhỏ hơn.
3. Thực hiện phân cụm: Các nút lá cây CF lưu trữ các đại lượng thống kê của các cụm con Trong bước này, BIRCH sử dụng các đại lượng thống kênày để áp dụng một số kỹ thuật phân cụm, ví dụ K-means và tạo ra mộtkhởi tạo cho phân cụm.
4. Phân phối lại các đối tượng dữ liệu bằng cách dùng các đối tượng trọngtâm cho các cụm được khám phá từ bước 3: Đây là một bước tùy chọn đểduyệt lại tập dữ liệu và gán lại nhãn cho các đối tượng dữ liệu tới các trọngtâm gần nhất Bước này nhằm để gán nhãn cho các dữ liệu khởi tạo và loạibỏ các đối tượng ngoại lai Với cấu trúc cây CF được sử dụng, BIRCH có tốc độ thực hiện PCDLnhanh và có thể áp dụng đối với tập CDSL lớn, BIRCH cũng có hiệu quả khiáp dụng với tập dữ liệu tăng trưởng theo thời gian BIRCH thực hiện tính toánkhá tốt, độ phức tạp tính toán của BIRCH là tuyến tính tỷ lệ với số các đốitượng, do BIRCH chỉ duyệt toàn bộ dữ liệu một lần với một lần quét thêm tùychọn( thực hiện phân cụm lại các nút lá cây của CF), có thể được đo trongthời gian O(n) với n là số đối tượng dữ liệu thuật
Trang 18mỗi nút trong cây CF có thể chỉlưu trữ một số hữu hạn bởi kích thước của nó BIRCH vẫn có một hạn chê :thuật toán này có thể không xử lý tốt nếu các cụm không có hình dạng cầu,bởi vì nó sử dụng khái niệm bán kính hoặc đường kính để kiểm soát ranh giớicác cụm và chất lượng của các cụm được khám phá không được tốt NếuBIRCH sử dụng khoảng cách Eucle, nó thực hiện tốt chỉ với các dữ liệu số,mặt khác tham số vào T có ảnh hưởng rất lớn tới kích thước tự nhiên củacụm Việc ép các đối tượng dữ lieeujlamf cho các đối tượng của cụm có thể làđối tượng kết thúc của cụm khác, trong khi các đối tượng gần nhau có thể bịhút bởi các cụm khác nếu chúng được biểu diễn cho thuật toán theo một thứtự khác BIRCH không thích hợp với
dữ liệu đa chiều.
II.1.2 Thuật toán CURE
Trong khi hầu hết các thuật toán thực hiện phân cụm với các cụm hìnhcầu và kích thước tương tự, như vậy là không hiệu quả khi xuất hiện các phầntử ngoại lai Thuật toán này định nghĩa một số cố định các điểm đại diễn nằmrải rác trong toàn bộ không gian dữ liệu và được chọn để mô tả các cụm đượchình thành Các điểm này được tạo ra bởi trước hết lựa chọn các đối tượng nằm rải rác trong cụm và sau đó “ co lại” hoặc di chuyển chúng về trung tâmcụm bằng nhân tố co cụm Quá trình này được lặp lại và như vậy trong quátrình này, có thể đo tỷ lệ gia tăng của cụm Tại mỗi bước của thuật toán, haicụm có cặp các điểm đại diện gần nhau(mỗi điểm trong cặp thuộc
về mỗi cụmkhác nhau) được hòa nhậpNhư vậy, có nhiều hơn một điểm đại diện mỗi cụm cho phép CURE khám phá được các cụm có hình dạng không phải là hình cầu Việc co lại các cụm có tác dụng làm giảm tác động của các phần tử ngoại lai Như vậy, thuật toán này có khả năng xử lý tốt trong trường hợp có các phần tử ngoại lại và làm cho hiệu quả với những hình dạng không phải là hình cầu và kích thước độ rộng biến đổi Hơn nữa, nó tỷ
lệ tốt với CSDL lớn mà không làm giảm chất lượng phân cụm Hình 5 dưới đây là ví dụ về quá trình xử lý của CURE
Trang 19Hình 5 : Cụm dữ liệu khai phá bởi thuât toán CURE
Để xử lý được các CSDL lớn, CURE sử dụng ngẫu nhiên và phânhoạch, một mẫu là được xác định ngẫu nhiên trước khi được phân hoạch, vàsau đó được tiến hành phân cụm trên mỗi phân hoạch, như vậy mỗi phânhoạch là từng phần đã được phân cụm, các cụm thu hoạch, như vậy mỗi phân hoạch
là từng phần đã được phân cụm, các cụm thu được lại được phân cụmlần thứ hai để thu được các cụm con mong muốn, nhưng mẫu ngẫu nhiênkhông nhất thiết đưa ra một mô tả tốt cho toàn bộ tập dữ liệu.
Thuật toán CURE được thực hiện qua các bước cơ bản sau :
1. Chọn một mẫu ngẫu nhiên từ tập dữ liệu ban đầu.
2. Phân hoạch mẫu này thành nhiều nhóm dữ liệu có kích thướcbằng nhau : ý tưởng ở đây là phân hoạch mẫu thành p nhóm dữliệu bằng nhau, kích thước của mỗi phân hoạch là n’/p(n’ là kíchthước mẫu).
3. Phân cụm các điểm của mỗi nhóm : Thực hiện PCDL cho cácnhóm cho đến khi mỗi nhóm được phân thành n’/pq(với q>1).
4. Loại bỏ các phần tử ngoại lai : Trước hết, khi các cụm được hìnhthành cho đến khi số các cụm giảm xuống một phần so với số cáccụm ban đầu Sau đó, trong trường hợp các phần tử ngoại lai đượclấy mẫu cùng với quá trình pha khởi tạo mẫu dữ liệu, thuật toánsẽ tự động loại bỏ các nhóm nhỏ
Trang 205. Phân cụm các cụm không gian : các đối tượng đại diện cho cáccụm di chuyển về hướng trung tâm cụm, nghĩa là chúng đượcthay thế bởi các đối tượng gần trung tâm hơn.
6. Đánh dấu dữ liệu với các nhãn tương ứng.Độ phức tạp tính toán của thuật toán CURE là O(n2log(n)) CURE làthuật toán tin cậy trong việc khám phá ra các cụm với hình thù bất kỳ và cóthể áp dụng tốt đối với
dữ liệu có phần tử ngoại lai và trên các tập dữ liệu haichiều Tuy nhiên, nó lại rất nhạy cảm với các tham số như số các đối tượngđại diện, tỉ lệ co của các phần tử đại diện.
II.2 Thuật toán phân cụm dữ liệu dựa vào cụm trung tâm
II.2.1 Thuật toán PAM
Thuật toán PAM là thuật toán mở rộng của thuật toán K-means nhằm có khả năng xử lý hiệu quả đối với dữ liệu nhiễu hoặc phần tử ngoại lai, PAM sử dụng các đối tượng medoid để biểu diễn cho các cụm dữ liệu, một đối tượng medoid là đối tượng đặt tại vị trí trung tâm nhất bên trong mỗi cụm.Vì vậy, đối tượng medoid ít bị ảnh hưởng của các đối tượng ở rất xa trungtâm, trong khi đó các trọng tâm của thuật toán K – means lại rất bị tác động bởi các điểm xa trung tâm này Ban đầu, PAM khởi tạo k đối tượng medoid và phân phối các đối tượng còn lại vào các cụm với đối tượng medoid đại diện tương ứng sao cho chúng tương tự đối với medoid trong cụm nhất.Giả sử Oj
là đối tượng không phải medoid mà Om là một đối tượng medoid, khi đó ta nói Oj thuộc về cụm có đối tượng medoid là Om làm đại diện nếu d(Oj, Om) = minOe(Oj, Oe); trong đó d(Oj, Om) là độ phi tương tự giữa Oj và Oe, minOe là giá trị nhỏ nhất của độ phi tương tự giữa Oj và tất cả các đối tượng medoid của các cụm dữ liệu chất lượng của mỗi cụm được khám phá được đánh giá thông qua độ phi tương tự trung bình giữa một đối tượng và đối tượng medoid tương ứng với cụm của nó, nghĩa là chất lượng phân cụm được đánh giá thông qua chất lượng của tất cả các đối tượng medoid Độ phi tương tự được xác định bằng độ đo khoảng cách, thuật toán PAM được ápdụng cho dữ liệu không gian Để xác định các medoid, PAM được áp dụngcho dữ liệu
Trang 21không gian Để xác định các medoid, PAM bắt đầu bằng cách lựachon k đối tượng medoid bất kỳ Sau mỗi bước thực hiện , PAM cố gắng hoánchuyển giữa đối tượng Medoid Om và một đối tượng Op, không phải là medoid, miễn
là sự hoán chuyển này nhằm cải tiến chất lượng của phân cụm,quá trình này kết thúc khi chất lượng phân cụm không thay đổi Chất lượngphân cụm được đánh giá thông qua hàm tiêu chuẩn, chất lượng phân cụm tốt nhất khi hàm tiêu chuẩn đạt giá trị tối thiểu.
PAM tính giá trị Cjmp cho tất cả các đối tượng Oj để làm căn cứ choviệc hoán chuyển giữa Om và Op.
• Om : là đối tượng medoid hiện thời cần được thay thế :
• Op : là đối tượng medoid mới thay thế cho Om;
• Oj : Là đối tượng dữ liệu ( Không phải medoid) có thể được di chuyển sang cụm khác;
• Oj,2 : Là đối tượng medoid hiện thời gần đối tượng Oj nhất
Các bước thực hiện thuật toán PAM:
1. Chọn k đối tượng medoid bất kỳ;
2. Tính TCmp cho tất cả các cặp đối tượng Om, Op Trong đó, Om là đốitượng medoid và Op là đối tượng không phải medoid;
3. Chọn cặp đối tượng Om và Op Tính MinOm, MinOp, TCmp, nếu TCmp
là âm thay thế Om bởi Op và quay lại bước 2 Nếu TCmp dương, chuyển sang bước 4;
4. Với mỗi đối tượng không phải medoid, xác định đối tượng medoid tương tự với nó nhất đồng thời gán nhãn cụm cho chúng.
II.2.2 Thuật toán CLARANS
CLARANS cũng sử dụng kiểu k-medoids , nó kết hợp thuật toán PAM với chiến lược tìm kiếm kinh nghiệm mới Ý tưởng cơ bản của CLARANS làkhông xem xét tất cả các khả năng có thể thay thế các đối tượng tâm medoidsbới một đối tượng khác, nó ngay lập tức thay thế các đối tượng tâm này nếuviệc thay thế này có tác động tốt đến chất lượng phân cụm chứ không cần xácđịnh cách thay thế tối ưu nhất.
Trang 22CLARANS lấy ngẫu nhiên một đối tượng của k đối tượng medoidtrong tâm cụm và cố gắng thay thế nó với một đối tượng chọn ngẫu nhiêntrong (n- k) đối tượng còn lại Cụm thu được sau khi thay thế đối tượng trungtâm được gọi là một láng giềng của phân hoạch cụm trước đó Số các lánggiềng được hạn chế bởi tham số do người dùng đưa vào là Maxneighbor, quátrình lựa chọn các láng giềng này hoàn toàn ngẫu nhiên Tham số Numlocalcho phép người dùng xác định số vòng lặp tối ưu cục bộ được tìm kiếm.Không phải tất cả các láng giếng được duyệt mà chỉ có Maxneighbor số lánggiềng được duyệt Nếu một láng giềng tốt hơn được tìm thấy, thì CLARANS di chuyển láng giềng đó tới nút và quá trình bắt đầu lặp lại; nếu không kếtquả cụm hiện thời là tối ưu cục bộ Nếu tối ưu cục bộ được tìm thấy, thì CLARANS bắt đầu với lựa chọn nút ngẫu nhiên mới trong tìm kiếm tối ưucục bộ mới CLARANS không thích hợp với tập dữ liệu lớn bởi vì nó lấy phần nhỏcủa toàn bộ tập dữ liệu và phần này được chọn để đại diện toàn bộ tập dữ liệuvà thực hiện sau đó CLARANS không bị giới hạn không gian tìm kiếm nhưđối với CLARA, và trong cùng một lượng thời gian thì chất lượng của cáccụm phân được là lớn hơn CLARA.
Một số khái niệm sử dụng trong thuật toán CLARANS được định nghĩanhư sau:
Giả sử O là một tập có n đối tượng và M Olà tập các đối tượng
tâmmediod, NM = O- M là tập các đố tượng không phải tâm Các đối tượng dữliệu sử dụng trong thuật toán CLARANS là các khối đa diện Mỗi đối tượngđược diễn tả bằng một tập các cạnh, mỗi cạnh được xác định bằng hai điểm.
Thuật toán chi tiết CLARANS:
Input : O,k, dist, numlocal và maxneighbor;’