Ngoài ra, dò tìm phần tử ngoại lai cũng là một trong những hướng nghiên cứu quan trọng trong phân cụm, chức năng của nó là xác định một nhóm nhỏ các đối tượng dữ liệu khác thường so với
Trang 1ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
TRẦN THỊ YẾN
PHÂN CỤM DỮ LIỆU TRỪ MỜ VÀ ỨNG DỤNG
Chuyên ngành: Khoa học máy tính
Mã số: 60 48 01
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS LÊ BÁ DŨNG
Thái Nguyên - 2012
Trang 2Một lần nữa, xin chân thành cảm ơn
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan luận văn là kết quả của sự tìm hiểu, nghiên cứu các tài liệu một cách nghiêm túc dưới sự hướng dẫn của PGS TS Lê Bá Dũng Nội dung luận văn được phát triển từ ý tưởng, sự sáng tạo của bản thân và kết quả có được hoàn toàn trung thực
Học viên
Trần Thị Yến
Trang 4MỤC LỤC
LỜI CẢM ƠN i
LỜI CAM ĐOAN iii
MỤC LỤC iv
DANH MỤC CÁC TỪ VIẾT TẮT vi
DANH MỤC CÁC BẢNG BIỂU, HÌNH ẢNH vii
MỞ ĐẦU 1
Chương 1 2
TỔNG QUAN VỀ PHÂN CỤM DỮ LIỆU 2
1.1 Khái niệm và mục tiêu của phân cụm dữ liệu 2
1.2 Các ứng dụng của phân cụm dữ liệu 4
1.3 Các yêu cầu của phân cụm dữ liệu 4
1.4 Các kỹ thuật tiếp cận và một số thuật toán cơ bản trong phân cụm dữ liệu 6
1.4.1 Các phương pháp phân cụm phân hoạch - Partitioning Methods 6
1.4.2 Phương pháp phân cụm phân cấp - Hierarchical Methods 9
1.4.3 Phương pháp phân cụm dựa trên mật độ - Density-Based Methods 12
1.4.4 Phương pháp phân cụm dựa trên lưới - Grid-Based Methods 14
1.4.5 Phương pháp phân cụm dựa trên mô hình - Model-Based Clustering Methods15 1.4.6 Phương pháp phân cụm có dữ liệu ràng buộc 17
Chương 2 19
PHƯƠNG PHÁP PHÂN CỤM TRỪ MỜ 19
2.1 Phân cụm mờ và thuật toán phân cụm mờ 19
2.1.1 Tổng quan về phân cụm mờ 19
2.1.2 Thuật toán phân cụm C-Means mờ (FCM) 21
2.2 Thuật toán phân cụm trừ (SC - Subtractive Clustering) 25
2.3 Thuật toán phân cụm trừ mờ (FSC – Fuzzy Subtractive Clustering) 28
Chương 3 31
ỨNG DỤNG PHƯƠNG PHÁP PHÂN CỤM TRỪ MỜ 31
3.1 Ứng dụng thuật toán SC cho xây dựng hệ luật 31
3.1.1 Trích xuất luật với tính toán xấp xỉ hàm 31
Trang 53.1.2 Hệ thống suy diễn mờ (FIS) cho bài toán nút giao thông vùng ngoại ô 33
3.2 Ứng dụng thuật toán FSC vào phân đoạn ảnh 37
3.2.1 Phân đoạn ảnh 37
3.2.2 Phân đoạn ảnh sử dụng thuật toán phân cụm trừ mờ FSC 39
3.2.3 Thử nghiệm với thuật toán phân cụm trừ 40
3.2.4 Thử nghiệm với thuật toán phân cụm trừ mờ 42
3.2.5 Thử nghiệm thuật toán phân SC và FSC trên cùng một ảnh 43
PHỤ LỤC 46
KẾT LUẬN 49
DANH MỤC CÔNG TRÌNH KHOA HỌC ĐÃ CÔNG BỐ 50
TÀI LIỆU THAM KHẢO 51
Trang 6DANH MỤC CÁC TỪ VIẾT TẮT
CURE Clustering Using Representatives
DBSCAN Density based Spatial Clutering of Application with Noise DENCLUE Clustering Based on Density Distribution Functions
EM Expectation Maximization
FCM Fuzzy C-Means
FSC Fuzzy Subtractive Clustering
OPTICS Ordering Points to Identify the Clustering Structure
SC Subtractive Clustering
Trang 7DANH MỤC CÁC BẢNG BIỂU, HÌNH ẢNH
Hình 2.1: Hai nhóm dữ liệu của phân cụm trừ mờ
Hình 3.1: Biểu đồ dữ liệu vào và dữ liệu ra
Hình 3.2: Kết quả sau khi phân cụm
Hình 3.3: Hàm thành viên tương ứng với biến vào số ô tô sở hữu
Hình 3.4: Hàm thành viên tương ứng với biến vào số lượng việc làm
Hình 3.5: Hàm thành viên tương ứng với biến vào thu nhập trung bình
Hình 3.6: Ảnh ban đầu của thuật toán phân cụm trừ
Hình 3.7: Ảnh kết quả của thuật toán phân cụm trừ
Hình 3.8: Ảnh ban đầu của thuật toán phân cụm trừ mờ
Hình 3.9: Ảnh kết quả của thuật toán phân cụm trừ mờ
Hình 3.10: Ảnh đầu vào cho cả 2 thuật toán
Hình 3.11: Ảnh kết quả của thuật toán SC với 122 cụm
Hình 3.12: Ảnh kết quả của thuật toán FSC với 18 cụm
Trang 8MỞ ĐẦU
Ngày nay, khai phá dữ liệu (Datamining) đã 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 và công nghệ tri thức Nhiều thành tựu nghiên cứu của Datamining đã được áp dụng trong thực tế Datamining 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 phân chia một tập dữ liệu ban đầu thành các cụm dữ liệu sao cho các phần tử trong một cụm "tương tự" (similar) với nhau và các phần tử trong các cụm khác nhau sẽ "phi tương tự" (dissimilar) với nhau Phân cụm dữ liệu là một phương pháp học không giám sát
Hiện nay, các phương pháp phân cụm đã và đang được phát triển và áp dụng nhiều trong các lĩnh vực khác nhau, bao gồm: nhận dạng, phân tích dữ liệu, nghiên cứu thị trường, xử lý ảnh,… Các thuật toán phân cụm cũng rất đa dạng như K-means, Pam, C-means, C-means mờ, thuật toán phân cụm trừ,… Để tăng tính ổn định và chính xác của kết quả phân cụm, ngày càng có các tiếp cận mới Một trong những cách tiếp cận đang được nghiên cứu đó là ứng dụng lý thuyết mờ vào bài toán phân cụm dữ liệu
Luận văn này trình bày phân cụm dữ liệu, một cách tiếp cận mới về phân cụm
dữ liệu là thuật toán phân cụm trừ mờ và ứng dụng vào bài toán cụ thể
Luận văn bao gồm các nội dung chính sau:
Chương 1: Tổng quan về phân cụm dữ liệu
Chương 2: Phương pháp phân cụm trừ mờ
Chương 3: Ứng dụng phương pháp phân cụm trừ mờ
Trang 9Chương 1
TỔNG QUAN VỀ PHÂN CỤM DỮ LIỆU
1.1 Khái niệm và mục tiêu của phân cụm dữ liệu
Phân cụm dữ liệu là một kỹ thuật trong khai phá 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 sao cho các phần tử trong một cụm “tương tự” với nhau và các phần tử trong các cụm khác nhau sẽ “phi tương tự” với nhau Số các cụm dữ liệu được phân ở đây có thể được xác định trước theo kinh nghiệm hoặc
có thể được tự động xác định theo phương pháp phân cụm
Trong học máy, phân cụm dữ liệu được xem là vấn đề học không có giám sát,
vì nó phải giải quyết vấn đề tìm một cấu trúc trong tập hợp dữ liệu chưa biết trước các thông tin về cụm hay các thông tin về tập huấn luyện Trong nhiều trường hợp, nếu phân lớp được xem là vấn đề học có giám sát thì phân cụm dữ liệu là một bước trong phân lớp dữ liệu, phân cụm dữ liệu sẽ khởi tạo các lớp cho phân lớp bằng cách xác định các nhãn cho các nhóm dữ liệu
Phân cụm có ý nghĩa rất quan trọng trong hoạt động của con người Ngay từ lúc bé, con người đã học cách làm thế nào để phân biệt giữa mèo và chó, giữa động vật và thực vật và liên tục đưa vào sơ đồ phân loại trong tiềm thức của mình Phân cụm được sử dụng rộng rãi trong nhiều ứng dụng, bao gồm nhận dạng mẫu, phân tích dữ liệu, xử lý ảnh, nghiên cứu thị trường Với tư cách là một chức năng khai phá dữ liệu, phân cụm có thể được sử dụng như một công cụ độc lập chuẩn để quan sát đặc trưng của mỗi cụm thu được bên trong sự phân bố của dữ liệu và tập trung vào một tập riêng biệt của các cụm để giúp cho việc phân tích đạt kết quả
Một vấn đề thường gặp trong phân cụm là hầu hết các dữ liệu cần cho phân cụm đều có chứa dữ liệu nhiễu do quá trình thu thập thiếu chính xác hoặc thiếu đầy
đủ, vì vậy cần phải xây dựng chiến lược cho 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 Nhiễu ở đây được hiểu là các đối tượng dữ liệu không chính xác, không tường minh
Trang 10hoặc là các đối tượng dữ liệu khuyết thiếu thông tin về một số thuộc tính Một trong các kỹ thuật xử lý nhiễu phổ biến là việc thay thế giá trị các thuộc tính của đối tượng nhiễu bằng giá trị thuộc tính tương ứng Ngoài ra, dò tìm phần tử ngoại lai cũng là một trong những hướng nghiên cứu quan trọng trong phân cụm, chức năng của nó là xác định một nhóm nhỏ các đối tượng dữ liệu khác thường so với các dữ liệu trong cơ sở dữ liệu, tức là các đối tượng dữ liệu không tuân theo các hành vi hoặc mô hình dữ liệu nhằm tránh sự ảnh hưởng của chúng tới quá trình và kết quả của phân cụm
Tóm lại, phân cụm dữ liệu cần phải giải quyết các vần đề cơ bản như sau:
- Biểu diễn dữ liệu,
- 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 cụm dữ liệu,
- Xây dựng 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
Theo các nghiên cứu cho thấy thì 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 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
dữ liệu, với mỗi cách thức biểu diễn khác nhau sẽ có tương ứng một 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ó và mở, vì phải giải quyết nhiều vấn đề cơ bản một cách trọn vẹn và phù hợp với nhiều dạng dữ liệu khác nhau, đặc biệt là đối với dữ liệu hỗn hợp đang ngày càng tăng trong các hệ quản trị dữ liệu và đây cũng là một trong những thách thức lớn trong lĩnh vực khai phá dữ liệu
Mục tiêu của phân cụm là xác định được bản chất của các cụm dữ liệu trong
tập dữ liệu chưa có nhãn, theo đó cho phép đi sâu vào phân tích và nghiên cứu cho từng cụm dữ liệu này nhằm khám phá và tìm kiếm các thông tin tiềm ẩn, hữu ích phục vụ cho việc ra quyết định Tuy nhiên, không có tiêu chí nào được xem là tốt
Trang 11nhấ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, và đòi hỏi người sử dụng phải cung cấp tiêu chí này
1.2 Các ứng dụng của phân cụm dữ liệu
Phân cụm dữ liệu được ứng dụng trong nhiều lĩnh vực như:
- Thương mại: Phân cụm dữ liệu có thể giúp các thương nhân tìm ra các nhóm
khách hàng quan trọng có đặc trưng tương đồng nhau và đặc tả họ từ các mẫu mua bán trong cơ sở dữ liệu khách hàng
- Sinh học: Phân cụm dữ liệu được sử dụng để xác định các loại sinh vật, phân
loại các gen với chức năng tương đồng và thu được các cấu trúc trong các mẫu
- Quy hoạch đô thị: Nhận dạng các nhóm nhà theo kiểu và vị trí địa lý, nhằm
cung cấp thông tin cho quy hoạch đô thị
- Nghiên cứu trái đất: Phân cụm để theo dõi các tâm động đất nhằm cung cấp
thông tin cho nhận dạng các vùng nguy hiểm
- Thư viện: Phân loại các cụm sách có nội dung và ý nghĩa tương đồng nhau để
cung cấp cho độc giả
- Bảo hiểm: Nhận dạng nhóm tham gia bảo hiểm có chi phí bồi thường cao,
nhận dạng gian lận thương mại
- Khai phá web: Có thể khám phá các nhóm tài liệu quan trọng, có nhiều ý
nghĩa trong môi trường Web Các lớp tài liệu này trợ giúp cho việc khai phá tri thức
từ dữ liệu web,…
1.3 Các yêu cầu của phân cụm dữ liệu
Việc xây dựng và lựa chọn một thuật toán phân cụm là bước then chốt cho việc giải quyết vấn đề phân cụm, sự lựa chọn này phụ thuộc vào đặc tính dữ liệu cần phân cụm, mục đích của ứng dụng thực tế hoặc xác định độ ưu tiên giữa chất lượng của các cụm hay tốc độ thực hiện thuật toán,
Hầu hết các nghiên cứu và phát triển thuật toán phân cụm dữ liệu đều nhằm thỏa mãn các yêu cầu cơ bản sau:
Trang 12Có khả năng mở rộng: Nhiều thuật toán phân cụm làm việc tốt với những tập
dữ liệu nhỏ (chứa ít hơn 200 đối tượng), tuy nhiên một cơ sở dữ liệu lớn có thể chứa tới hàng triệu đối tượng Việc phân cụm trên một tập dữ liệu lớn có thể làm ảnh hưởng tới kết quả Vậy các thuật toán phân cụm dữ liệu có khả năng mở rộng cao là cần thiết
Khả năng thích nghi với các kiểu dữ liệu khác nhau: Thuật toán có thể áp
dụng hiệu quả cho việc phân cụm các tập dữ liệu với nhiều kiểu dữ liệu khác nhau như dữ liệu kiểu số, kiểu nhị phân, dữ liệu định danh, hạng mục, và thích nghi với kiểu dữ liệu hỗn hợp
Khám phá các cụm với hình dạng bất kỳ: Do hầu hết các cơ sở dữ liệu có
chứa nhiều cụm dữ liệu với các hình thù khác nhau như: hình lõm, hình cầu, hình que, Vì vậy, để khám phá được các cụm có tính tự nhiên thì các thuật toán phân cụm cần phải có khả năng khám phá ra các cụm dữ liệu có hình thù bất kỳ
Tối thiểu lượng tri thức cần cho xác định các tham số đầu vào: Do các giá trị
đầu vào thường ảnh hưởng rất lớn đến thuật toán phân cụm và rất phức tạp để xác định các giá trị vào thích hợp đối với các cơ sở dữ liệu lớn
Ít nhạy cảm với thứ tự của dữ liệu vào: Cùng một tập dữ liệu, khi đưa vào xử
lý cho thuật toán phân cụm dữ liệu với các thứ tự vào của các đối tượng dữ liệu ở cá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
Khả năng thích nghi với dữ liệu nhiễu cao: Hầu hết các dữ liệu phân cụm
trong khai phá dữ liệu đều chứa đựng các dữ liệu lỗi, dữ liệu không đầy đủ, dữ liệu rác Thuật toán phân cụm không những hiệu quả đối với các dữ liệu nhiễu mà còn tránh dẫn đến chất lượng phân cụm thấp do nhạy cảm với nhiễu
Ít nhạy cảm với thứ tự của các tham số đầu vào: Nghĩa là giá trị của các tham
số đầu vào khác nhau ít gây ra các thay đổi lớn đối với kết quả phân cụm
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ố chiều khác nhau
Dễ hiểu dễ cài đặt và 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 và dễ sử dụng Nghĩa là, sự phân cụm có thể cần được
Trang 13giải thích ý nghĩa và ứ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 trọng có thể gây ảnh hưởng tới sự lựa chọn các phương pháp phân cụm
Với những yêu cầu đáng chú ý này, ta tìm hiểu về phân cụm diễn ra như sau: Thứ nhất, tìm hiểu các kiểu dữ liệu khác và cách chúng có thể gây ảnh hưởng tới các phương pháp phân cụm Thứ hai, đưa ra một cách phân loại chúng trong các phương pháp phân cụm Sau đó, nghiên cứu chi tiết mỗi phương pháp phân cụm, bao gồm 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 lưới và các phương pháp dựa trên
mô hình Ta cũng khảo sát sự phân cụm trong không gian đa chiều và các biến thể của các phương pháp khác
1.4 Các kỹ thuật tiếp cận và một số thuật toán cơ bản trong phân cụm dữ liệu
Có nhiều thuật toán phân cụm, nhưng để đưa ra một sự phân loại rõ nét của các phương pháp phân cụm là khó khăn bởi vì các loại này có thể chồng chéo lên nhau, do đó một phương pháp có thể có những đặc tính của một số thuật toán khác nhau Các phương pháp phân cụm chính có thể được phân loại như sau:
1.4.1 Các phương pháp phân cụm phân hoạch - Partitioning Methods
Với một tập dữ liệu gồm n phần tử và k (k n) là số cụm được tạo thành Một thuật toán phân hoạch tổ chức các phần tử dữ liệu vào k phân vùng, mỗi phân vùng thể hiện một cụm dữ liệu và thỏa mãn: mỗi cụm phải chứa ít nhất một phần tử dữ liệu và mỗi phần tử dữ liệu chỉ thuộc vào một cụm
Để đưa ra được k phân mảnh, một phương pháp phân mảnh tạo ra một phân mảnh khởi tạo, sau đó sử dụng kỹ thuật lặp để cải thiện phân mảnh bằng cách di chuyển các phần tử dữ liệu từ cụm này sang cụm khác Tiêu chuẩn tổng quát của quá trình phân mảnh tốt là các phần tử thuộc cùng một cụm thì “gần gũi” hoặc có liên quan đến nhau, các phần tử khác cụm thì “xa nhau” hoặc rất khác nhau Có nhiều tiêu chuẩn khác nhau để đánh giá chất lượng của các phân mảnh
Trang 14Để đạt được tối ưu toàn cục trong phân cụm dựa trên phân hoạch yêu cầu phải liệt kê đầy đủ tất cả các phân mảnh có thể có Thay vào đó, hầu hết các ứng dụng chấp nhận một trong các phương pháp heuristic phổ biến, như thuật toán K-means mỗi cụm được đại diện bởi giá trị trung bình của các phần tử trong cụm, thuật toán K-medoids mỗi cụm được đại diện bởi một phần tử nằm gần tâm cụm
Các phương pháp phân cụm heuristic hiệu quả với các cụm hình cầu với tập
dữ liệu vừa và nhỏ Để tìm ra các cụm có hình dạng phức tạp và tập dữ liệu lớn thì các phương pháp này cần được mở rộng
Các phương pháp phân cụm dựa trên phân hoạch được biết tới như K-means, K-medoids, PAM, CLARA, CLARANS, Trong đó, K-means và K-medoids được dùng phổ biến hơn cả
Thuật toán K-means sử dụng khoảng cách giữa các phần tử dữ liệu tới các tâm cụm để phân cụm Trong thuật toán này, chúng ta phải chọn một giá trị k là số cụm mong muốn, và chọn ngẫu nhiên k phần tử dữ liệu làm k tâm cụm ban đầu Sau đó tính khoảng cách từ các phần tử dữ liệu đến k tâm cụm Kết nạp các phần tử dữ liệu vào cụm có tâm cụm gần nhất Xác định tâm cụm mới cho các cụm, với tâm cụm mới là giá trị trung bình của các phần tử trong cụm Quá trình này lặp lại cho đến khi các cụm không thay đổi Thuật toán này thích hợp với các cụm dữ liệu có dạng hình cầu Nhược điểm của nó là phải xác định trước số lượng cụm, khó xử lý được nhiễu và phần tử ngoại lai
Thuật toán K-medoids có thể khắc phục được nhiễu hoặc phần tử ngoại lai bằng cách chọn phần tử gần tâm cụm nhất làm đại diện cho cụm, gọi là phần tử medoid Với k là số lượng cụm mong muốn, chọn k phần tử bất kỳ làm các medoid ban đầu Gán mỗi phần tử còn lại vào cụm có medoid gần nhất Thay thế các medoid hiện tại bằng các medoid mới sao cho chất lượng phân cụm được cải thiện Chất lượng phân cụm được đánh giá bởi hàm tính độ phi tương tự giữa một phần tử vào medoid của cụm chứa nó Quá trình này lặp lại cho đến khi hội tụ Thuật toán K-medoids hiệu quả hơn K-means khi xử lý nhiễu hoặc phần tử ngoại lai, nhưng độ phức tạp tính toán lại lớn hơn
Trang 15* Thuật toán K-means:
Thuật toán phân cụm K-means do MacQueen đề xuất năm 1967, là thuật toán phân cụm trong đó các cụm được định nghĩa bởi trọng tâm của các phần tử Phương pháp này dựa trên độ đo khoảng cách tới giá trị trung bình của các đối tượng dữ liệu trong cụm, nó được xem như là trung tâm của cụm Như vậy, nó cần khởi tạo một tập trung tâm các trung tâm cụm ban đầu, và thông qua đó nó lặp lại các bước gồm gán mỗi đối tượng tới cụm mà có tâm cụm gần nhất, và tính toán tại tâm của mỗi cụm trên cơ sở các đối tượng thuộc cụm Quá trình lặp này dừng khi các tâm hội tụ
Trong thuật toán K-means, chọn một giá trị k là số cụm cần xác định và sau đó chọn ngẫu nhiên k đối tượng làm tâm cụm khởi tạo Tính toán khoảng cách giữa đối
tượng dữ liệu và mỗi tâm cụm để tìm kiếm phần tử nào là tương tự (khoảng cách gần nhất) và thêm vào cụm đó Tính lại tâm cụm cho mỗi cụm (giá trị trung bình của các đối tượng dữ liệu trong cụm) và lặp lại quá trình cho đến khi mỗi các đối tượng dữ liệu là một bộ phận của cụm nào đó và không đổi
Mục đích của thuật toán K-means là sinh k cụm dữ liệu {C 1, C2,…,Ck} từ một
tập dữ liệu ban đầu chứa n đối tượng trong không gian d chiều X i ={Xi1, Xi2,…,
Xin}, i = 1,n, sao cho hàm tiêu chuẩn:
m x D
1
đạt giá trị tối
thiểu Trong đó: m i là trọng tâm của cụm C i , D là khoảng cách giữa hai đối tượng
Trọng tâm của một cụm là một vectơ, trong đó giá trị của mỗi phần tử của nó
là trung bình cộng của các thành phần tương ứng của các đối tượng vectơ dữ liệu
trong cụm đang xét Tham số đầu vào của thuật toán là số cụm k, và tham số đầu ra của thuật toán là các trọng tâm của cụm dữ liệu Độ đo khoảng cách D giữa các đối
tượng dữ liệu thường được sử dụng là khoảng cách Euclide vì đây là mô hình khoảng cách mà dễ lấy đạo hàm và xác định các cực trị tối thiểu Hàm tiêu chuẩn và
độ đo khoảng cách có thể được xác định cụ thể hơn tùy vào ứng dụng hoặc quan điểm của người dùng
Thuật toán K-means được trình bày như sau:
Trang 16Input: Tập dữ liệu S và số cụm mong muốn k.
Output: Tập các cụm C i (1 ≤ i ≤ k) và hàm tiêu chẩn E đạt giá trị tối thiểu
Các bước thực hiện:
Bước 1: Khởi tạo
Chọn k trọng tâm {m j } (1 ≤ j ≤ k) ban đầu trong không gian Rd (d là
số chiều của dữ liệu) Việc lựa chọn này có thể là ngẫu nhiên hoặc theo kinh nghiệm
Bước 2: Tính toán khoảng cách
Đối với một điểm X i (1≤ i ≤ n), tính toán khoảng cách của nó tới mỗi trọng
tâm m j (1 ≤ j ≤ k ) Sau đó tìm trọng tâm gần nhất đối với mỗi đối tượng
Bước 3: Cập nhật lại trọng tâm
Đối với mỗi 1 ≤ j ≤ k, cập nhật trọng tâm cụm m j bằng cách xác định trung bình cộng các vectơ đối tượng dữ liệu
Bước 4: Điều kiện dừng
Lặp các bước 2 và 3 cho đến khi các trọng tâm của cụm không thay đổi
1.4.2 Phương pháp phân cụm phân cấp - Hierarchical Methods
Một phương pháp phân cụm phân cấp hoạt động bằng cách nhóm các đối tượng dữ liệu vào một cây của các cụm Phương pháp phân cụm phân cấp có thể được phân loại là hợp nhất hoặc chia tách, tùy thuộc vào việc phân ly có thứ bậc được hình thành dựa trên kiểu bottom-up (hòa trộn) hay top-down (phân chia) Hiệu quả của một phương pháp phân cụm phân cấp thuần túy bỏ qua sự không có khả năng để điều chỉnh một lần một quyết định hợp nhất hoặc chia tách đã được thực hiện Nghĩa là, nếu một quyết định hợp nhất hoặc chia tách cụ thể đã được thực hiện, sau đó đẫn tới một lựa chọn kém thì phương pháp này không thể quay trở lại và chỉnh sửa nó Các nghiên cứu gần đây đã nhấn mạnh sự tích hợp của sự hợp nhất phân cấp với các phương pháp lặp di dời
Có hai loại phương pháp phân cụm phân cấp:
Phân cụm phân cấp hợp nhất: Đây là chiến lược từ dưới lên bắt đầu bằng cách đặt mỗi đối tượng trong một cụm riêng của mình, sau đó sát nhập các cụm nguyên
Trang 17tử thành các cụm lớn hơn và lớn hơn, cho đến khi tất cả các đối tượng trong một cụm duy nhất hoặc cho đến khi các điều kiện kết thúc phân cụm được thỏa mãn Hầu hết các phương pháp phân cụm phân cấp thuộc loại này Chúng chỉ khác nhau trong định nghĩa về sự tương tự của các phần tử trong cụm
Phân cụm phân cấp chia tách: Đây là chiến lược từ trên xuống, đảo ngược của phân cụm phân cấp hợp nhất bằng cách bắt đầu với tất cả các đối tượng trong một cụm Sau đó chia nhỏ cụm thành từng phần nhỏ hơn và nhỏ hơn, cho đến khi mỗi đối tượng hình thành một cụm riêng của mình hoặc cho đến khi các điều kiện thúc được thỏa mãn, chẳng hạn như một số mong muốn về các cụm đạt được, hoặc đường kính của mỗi cụm trong một ngưỡng nhất định
Một số thuật toán phân cụm phân cấp: Thuật toán CURE (Clustering Using REpresentatives) là thuật toán sử dụng chiến lược bottom-up, Thuật toán BIRCH, Thuật toán AGNES, Thuật toán DIANA, Thuật toán ROCK, Thuật toán CHAMELEON
* Thuật toán CURE:
Thuật toán CURE (Clustering Using REpresentatives) là thuật toán sử dụng chiến lược Bottom up của kỹ thuật phân cụm phân cấp 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ình cầ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ần tử ngoại lai Thuật toán CURE khắc phục được vấn đề này và tốt hơn với các phân tử 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ằm rải rác trong toàn bộ không gian dữ liệu và được chọn để mô
tả các cụm được hì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 cho cụm và sau đó “co lại” hoặc di chuyển chúng về trung tâm cụ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, hai cụ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ụm khác nhau) được hoà nhập
Như 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 hình cầu Việc co lại các cụm có tác dụng
Trang 18là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 các trường hợp có các phân tử ngoại lai và làm cho nó 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 cơ sở dữ liệu lớn mà không làm giảm chất lượng phân cụm
Để xử lý được các cơ sở dữ liệu lớn, CURE sử dụng mẫu ngẫu nhiên và phân hoạch, một mẫu là được xác định ngẫu nhiên trước khi được phân hoạch, và sau đó tiến hành phân cụm trên mỗi phân hoạch, như vậy trên mỗi phân hoạch là từng phần
đã được phân cụm, quá trình này lặp lại cho đến khi ta thu được phân hoạch đủ tốt Các cụm thu được lại được phân cụm lần thứ hai để thu được các cụm con mong muốn, nhưng mẫu ngẫu nhiên không nhất thiết đưa ra một mô tả tốt cho toàn bộ tập
dữ liệu
CURE là thuật toán tin cậy trong việc khám phá ra các cụm với hình dạng 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 hai chiề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ệ của các phần tử đại diện
Thuật toán CURE được thực hiện qua các bước cơ bản như sau:
- Chọn một mẫu ngẫu nhiên từ tập dữ liệu ban đầu
- Phân hoạch mẫu này thành nhiều nhóm dữ liệu có kích thước bằng nhau: Ý tưởng chính ở đâ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ích thước của mẫu)
- Phân cụm các điểm của mỗi nhóm: Thực hiện phân cụm dữ liệu cho các nhóm cho đến khi được phân thành n’/(pq) cụm (với q > 1)
- Loại bỏ các phân tử ngoại lai: Trước hết, khi các cụm được hình thành cho đến khi số các cụm giảm xuống một phần so với số các cụm ban đầu Sau đó, trong trường hợp các phần tử ngoại lai được lấy mẫu cùng với quá trình pha khởi tạo mẫu
dữ liệu, thuật toán sẽ tự động loại bỏ các nhóm nhỏ
- Phân cụm các cụm không gian: Các đối tượng đại diện cho các cụm di chuyển về hướng trung tâm cụm, nghĩa là chúng được thay thế bởi các đối tượng gần trung tâm hơn
Trang 19- Đánh dấu dữ liệu với các nhãn tương ứng
1.4.3 Phương pháp phân cụm dựa trên mật độ - Density-Based Methods
Để khám phá ra các cụm với hình dạng tùy ý, phương pháp phân cụm dựa trên mật độ đã được phát triển Những cụm đặc trưng này như các vùng dày đặc của các đối tượng trong không gian dữ liệu được phân cách bởi các vùng mật độ thấp (đại diện cho nhiễu)
Các thuật toán phân cụm dựa trên mật độ:
- DBSCAN (Density based Spatial Clutering of Application with Noise) thực hiện chia các cụm sao cho mật độ của các đối tượng dữ liệu trong từng cụm lớn hơn một ngưỡng đặt ra
- OPTICS (Ordering Points to Identify the Clustering Structure) mở rộng thuật toán DBSCAN, đưa ra một trật tự cụm thu được từ một vùng rộng các thiết lập tham số
- DENCLUE (Clustering Based on Density Distribution Functions) là phương pháp phân cụm dựa trên một tập hợp các hàm phân bố mật độ
* Thuật toán DBSCAN:
DBSCAN (Density based Spatial Clutering of Application with Noise) phân
cụm dựa trên sự quan sát thực tế thấy rằng, mật độ của những điểm trong cùng một cụm thì lớn hơn rất nhiều so với mật độ của những điểm không thuộc cụm đó Từ quan sát đó, DBSCAN thực hiện chia các cụm sao cho mật độ của các đối tượng
dữ liệu trong từng cụm lớn hơn một ngưỡng đặt ra
Thuật toán DBSCAN yêu cầu hai tham số là Eps và minpts từ người dùng Tham số Eps xác định tập các đối tượng lân cận của một đối tượng dữ liệu Minpts
là tham số ngưỡng mật độ của các đối tượng dữ liệu
Một số khái niệm sử dụng trong DBSCAN:
- Lân cận với ngưỡng Eps của một điểm: Lân cận với ngưỡng Eps của một điểm p ký hiệu N Eps (p) được xác định như sau: N Eps (p) = {q D | dis(p, q)
Eps}
Trang 20- Một điểm dữ liệu p được gọi là điểm nhân (core - point) nếu miền lân cận
của p với bán kính Eps có ít nhất là minpts điểm
- q được gọi là đến được theo mật độ trực tiếp (directly density reachble) nếu p
là điểm nhân và q Neighbor(p, Eps)
- q được gọi là đến được theo mật độ (density reachble) từ p nếu có một dãy
p = p 0 , p 1 ,…, p n = q với p i là đến được theo mật độ trực tiếp từ p i+1
- Một điểm p gọi là nối mật độ với q nếu có một điểm 0 mà cả p và q đều là
đến được theo mật độ từ 0
- Một tập con C khác rỗng của D được gọi là một cụm theo Eps và minpts nếu
thoả mãn hai điều kiện:
p, q D, nếu p C và q có thể đến được từ p theo Eps và Minpts thì q C
p, q C, p liên thông theo mật độ với q theo Eps và Minpts
- Dữ liệu nhiễu (noise): Một điểm dữ liệu nếu không phụ thuộc vào cụm nào thì gọi là nhiễu: nhiễu = {p | i = 1…k, p c i}
Để tìm ra các cụm, DBSCAN lần lượt duyệt lại mọi đối tượng thuộc cơ sở dữ
liệu và mở rộng đến tất cả những điểm có cùng mật độ có thể đi đến được từ p với hai tham số Eps và minpts Nếu đối tượng dữ liệu p là đối tượng dữ liệu nhân thì tập các điểm đến được mật độ từ p sẽ tạo ra một cụm Trong trường hợp ngược lại,
duyệt đến đối tượng dữ liệu kế tiếp trong cơ sở dữ liệu cho đến khi tất cả các đối tượng dữ liệu đã được duyệt qua
Eps và Minpts được xác định trước bởi người dùng Minpts thường được đặt
bằng 2 n với n là số đối tượng trong không gian dữ liệu Eps được xác định bởi người
sử dụng trong từng ứng dụng cụ thể Việc lựa chọn giá trị Eps có thể được hỗ trợ bởi đồ thị 2 n – dist (đồ thị biểu diễn hàm ánh xạ mỗi một điểm p đến khoảng cách
của điểm lân cận thứ 2 n của điểm p)
DBSCAN được thiết kế để xử lý với dữ liệu có nhiễu và hiệu quả trong việc loại trừ ngoại lai Mặc dù DBSCAN có thể tìm ra được cụm với hình thù bất kỳ nhưng DBSCAN không thể xác định được cụm với hình dạng lồng nhau Một điểm
yếu của DBSCAN là DBSCAN yêu cầu hai tham biến từ người sử dụng là Eps và
Trang 21Minpts được xác định cố định trên toàn bộ cơ sở dữ liệu nhưng Eps thì được xác
định lại sau mỗi lần chạy của DBSCAN
DBSCAN có thể áp dụng với dữ liệu lớn và thứ tự của dữ liệu đầu vào không ảnh hưởng tới kết quả phân cụm Trong thực tế, thời gian để tính toán và dự đoán
giá trị Eps là khá lớn DBSCAN không xử lý được với cơ sở dữ liệu nhiều nhiễu
1.4.4 Phương pháp phân cụm dựa trên lưới - Grid-Based Methods
Các phương pháp tiếp cận phân nhóm dựa trên lưới sử dụng một cấu trúc dữ liệu lưới đa phân giải Lượng tử hóa không gian đối tượng vào một số hữu hạn của các ô, hình thành nên một cấu trúc lưới mà trên đó tất cả các thao tác cho phân cụm được thực hiện Ưu điểm chính của phương pháp này là thời gian xử lý nhanh, mà thường độc lập với số lượng đối tượng dữ liệu, nhưng phụ thuộc vào số lượng các ô trong mỗi chiều của không gian lượng tử hóa
Một số ví dụ điển hình của phương pháp tiếp cận dựa trên lưới bao gồm Sting, khám phá các thông tin thống kê được lưu trữ trong các ô lưới; WaveCluster, phân cụm bằng cách sử dụng một phương pháp biến đổi biến thiên trong một thời gian nhất định; CLIQUE, đại diện cho một cách tiếp cận dựa trên mật độ và lưới trong không gian dữ liệu có số chiều lớn
* Thuật toán STING:
STING (STatistical Information Grid) là kỹ thuật phân cụm đa phân giải dựa trên lưới, trong đó vùng không gian dữ liệu được phân rã thành số hữu hạn các ô chữ nhật, điều này có nghĩa là các ô lưới được hình thành từ các ô lưới con để thực hiện phân cụm Có nhiều mức của các ô chữ nhật tương ứng với các mức khác nhau của phân giải trong cấu trúc lưới, và các ô này hình thành cấu trúc phân cấp: mỗi ô
ở mức cao được phân hoạch thành số các ô nhỏ ở mức thấp hơn tiếp theo trong cấu trúc phân cấp Các điểm dữ liệu được nạp từ cơ sử dữ liệu, giá trị của các tham số thống kê gồm: số trung bình - mean, số tối đa - max, số tối thiểu - min, số đếm - count, độ lệch chuẩn - s, …
Thuật toán STING gồm các bước sau:
Bước 1: Xác định tầng để bắt đầu
Trang 22Bước 2: Với mỗi cái của tầng này, tính toán khoảng tin cậy (hoặc ước lượng khoảng) của xác suất mà ô này liên quan tới truy vấn
Bước 3: Từ khoảng tin cậy của tính toán trên, gán nhãn cho là có liên quan hoặc không liên quan
Bước 4: Nếu lớp này là lớp dưới cùng, chuyển sang bước 6; nếu khác thì chuyển sang bước 5
Bước 5: Duyệt xuống dưới của cấu trúc cây phân cấp một mức Chuyển sang
bước 2 cho các ô mà hình thành các ô liên quan của lớp có mức cao hơn
Bước 6: Nếu đặc tả được câu truy vấn, chuyển sang bước 8, nếu không thì chuyển sang bước 7
Bước 7: Truy lục dữ liệu vào trong các ô liên quan và thực hiện xử lý Trả lại
kết quả thực hiện yêu cầu của truy vấn Chuyển sang bước 9
Bước 8: Tìm thấy các miền có các ô liên quan Trả lại miền phù hợp với yêu
cầu truy vấn Chuyển xang bước 9
Các thuật toán phân cụm dữ liệu dựa trên mô hình:
- Thuật toán EM (Expectation Maximization) gán các đối tượng cho các cụm
đã cho theo phân phối xác suất thành phần của đối tượng đó, thường sử dụng phân phối xác suất Gaussian
- Phân cụm dựa trên khái niệm (Conceptual Clustering) là một dạng của phân cụm trong học máy (machine learning) cung cấp một chiến lược phân lớp trên tất cả các đối tượng Phân cụm thông thường chủ yếu xác định các nhóm đối tượng tương
tự, nhưng phân cụm dựa trên khái niệm tìm kiếm các mô tả đặc trưng cho từng
Trang 23nhóm, mỗi nhóm đại diện cho một khái niệm hoặc lớp Do đó, phân cụm dựa trên khái niệm gồm hai bước: thực hiện phân cụm và sau đó mô tả đặc tính Ở đây, chất lượng phân cụm là sự kết hợp chặt chẽ các yếu tố như tính tổng quát và sự đơn giản của các mô tả khái niệm được đề xuất Các thuật toán cụ thể như: COBWEB, CLASSIT,…
- Tiếp cận mạng nơron (Neural Network Approach): một mạng nơron là tập hợp các đơn vị vào/ ra được kết nối với nhau, mỗi kết nối có một trọng số Các mạng nơron có một số đặc tính riêng biệt làm cho nó trở thành phương pháp phổ biến cho phân cụm dữ liệu Thứ nhất, các mạng nơron là những kiến trúc xử lý song song và phân tán Thứ hai, các mạng nơron học bằng cách điều chỉnh trọng số kết nối của chúng sao cho phù hợp nhất với dữ liệu Thứ ba, các mạng nơron xử lý vector số và yêu cầu mô hình đối tượng được đại diện bởi các đặc tính định lượng
* Thuật toán EM:
Thuật toán EM (Expectation Maximization) được nghiên cứu từ năm 1958 bởi Hartley và được nghiên cứu đầy đủ bởi Dempster, Laird và Rubin công bố năm
1977 Thuật toán này nhằm tìm ra sự ước lượng về khả năng lớn nhất của các tham
số trong mô hình xác suất (Các mô hình phụ thuộc vào các biến tiềm ẩn chưa được quan sát), nó được xem như là thuật toán dựa trên mô hình hoặc là mở rộng của thuật toán K-means.Thật vậy, EM gán các đối tượng cho các cụm đã cho theo xác suất phân phối thành phần của đối tượng đó, phân phối xác suất thường được sử dụng phân phối xác suất Gaussian với mục đích là khám phá lặp các giá trị tốt cho các tham số của nó bằng hàm tiêu chuẩn là hàm logarit khả năng của đối tượng dữ liệu, đây là hàm tốt để mô hình xác suất cho các đối tượng dữ liệu EM có thể khám phá ra nhiều hình dạng cụm khác nhau, tuy nhiên do thời gian lặp của thuật toán khá nhiều nhằm xác định các tham số tốt lên chi phí tính toán khá cao Đã có một số cải tiến được đề xuất cho EM dụa trên các tính chất của dữ liệu: có thể nén, có thể sao lưu trong bộ nhớ và có thể huỷ bỏ Trong các cải tiến này, các đối tượng bị huỷ bỏ khi biết chắc chắn được nhãn phân cụm của nó, chúng được nén khi không bị loại
Trang 24bỏ và thuộc về một cụm quá lớn trong bộ nhớ và chúng sẽ được lưu lại trong các trường hợp còn lại
Thuật toán được chia thành 2 bước xử lý: Đánh giá dữ liệu chưa được gán nhãn (bước E) và đánh giá các tham số của mô hình, khả năng lớn nhất có thể xảy
M:
) (
6
,
d c b
b a b
Các bước của thuật toán:
- Khởi tạo tham số:
ג 0 = { μ1(0), μ2(0),…, μk(0),p1(0),p2(0),….pk(0) }
- Bước E:
) (
) , ( ) , ( ) , (
t k
t j t j k t
k i
x P
P x
P x
j j k
t i t
i i k
P x
P
P x
P
) 2 )
) 2 )
),,(
),,(
t i
x P
x x P
) , (
) , ( )
1 (
P t k i k t i
- Lặp lại bước 2 và 3 cho đến khi đạt được kết quả
1.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 phân cụm dữ liệu không gian trên cơ sở dữ liệu lớn đã cung cấp nhiều công cụ tiện lợi cho 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 thoả mãn trong quá trình phân cụm Để phân cụm dữ
Trang 25liệu 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 Một số nhánh nghiên cứu được phát triển trên cơ sở các phương pháp phân cụm có dữ liệu ràng buộc như sau:
- 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ỉ
áp dụng cho các dữ liệu có thuộc tính số
- Phân cụm khái niệm: Các kỹ thuật phân cụm đượ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ờ: Thông thường mỗi phương pháp phân cụm dữ liệu phân một
tập dữ liệu ban đầu thành các cụm dữ liệu có tính tự nhiên và mỗi đối tượng dữ liệu chỉ thuộc về một cụm dữ liệu, phương pháp này chỉ phù hợp với việc khám phá ra các cụm có mật độ cao và rời nhau Tuy nhiên, trong thực tế, các cụm dữ liệu lại có thể chồng lên nhau (một số các đối tượng dữ liệu thuộc về nhiều các cụm khác nhau), người ta đã áp dụng lý thuyết về tập mờ trong phân cụm dữ liệu để giải quyết cho trường hợp này, cách thức kết hợp này được gọi là phân cụm mờ Trong phương pháp phân cụm mờ, độ phụ thuộc của đối tượng dữ liệu x k vào cụm thứ i
(u ik) có giá trị thuộc đoạn [0, 1] Ý tưởng trên đã được giới thiệu bởi Ruspini (1969)
và được Dunn áp dụng năm 1973 nhằm xây dựng một phương pháp phân cụm mờ dựa trên tối thiểu hóa hàm tiêu chuẩn Bezdek (1982) đã tổng quát hóa phương pháp này và xây dựng thành thuật toán phân cụm mờ c-means (FCM) có sử dụng trọng số
mũ Sau đó nhiều phương pháp được đề xuất để cải tiến thuật toán FCM như: Phân cụm dựa trên xác suất (keller, 1993), phân cụm nhiễu mờ (Dave, 1991), phân cụm dựa trên toán tử Lp Norm (kersten, 1999), thuật toán -Insensitive Fuzzy c-means Một cách tiếp cận khác của phương pháp phân cụm mờ có khả năng xác định số lượng cụm và các tâm cụm gồm: giải thuật Mountain, thuật toán phân cụm trừ và phân cụm trừ mờ
Trang 26Ta có thể phát biểu bài toán phân cụm rõ như sau: Cho tập dữ liệu mẫu X, ta kiểm tra các điểm dữ liệu xem nó giống với đặc điểm của nhóm nào nhất thì ta gán điểm dữ liệu đó vào trong nhóm đó
Nhưng trong thực tế không phải lúc nào bài toán phân cụm rõ cũng áp dụng được Chẳng hạn, ta có phép phân loại sau: Những người đi xe máy xịn thì thuộc nhóm người giàu, những người đi xe máy thường thuộc nhóm người bình dân Vậy người nghèo mà đi xe máy xịn thì chúng ta xếp người đó vào nhóm nào? Vì vậy, chúng ta cần đưa vào khái niệm bài toán phân cụm mờ
Trong các phương pháp phân cụm đã giới thiệu trong chương trước, mỗi phương pháp phân cụm phân hạch một tập dữ liệu ban đầu thành các cụm dữ liệu có tính tự nhiên và mỗi đối tượng dữ liệu chỉ thuộc về một cụm dữ liệu, phương pháp này chỉ phù hợp với việc khám phá ra các cụm có mật độ cao và rời nhau, với đường biên giữa các cụm được xác định tốt Tuy nhiên, trong thực tế, đường biên giữa các cụm có thể mờ, các cụm có thể chồng lên nhau, nghĩa là một số các đối tượng dữ liệu thuộc về nhiều các cụm khác nhau, do đó mô hình này không mô tả được dữ liệu thực Vì vậy người ta đã áp dụng lý thuyết về tập mờ trong phân cụm
Trang 27dữ liệu để giải quyết cho trường hợp này Cách thức kết hợp này được gọi là phân cụm mờ
Phân cụm mờ là phương pháp phân cụm dữ liệu mà cho phép mỗi điểm dữ liệu thuộc về hai hoặc nhiều cụm thông qua bậc thành viên Ruspini (1969) giới thiệu khái niệm phân hoạch mờ để mô tả cấu trúc của tập dữ liệu và đề xuất một thuật toán để tính toán tối ưu phân hạch mờ Dunn (1973) mở rộng phương pháp phân cụm và đã phát triển thuật toán phân cụm mờ Ý tưởng của thuật toán là xây dựng một phương pháp phân cụm mờ dựa trên tối thiểu hóa hàm mục tiêu Bezdek (1981) cải tiến và tổng quát hóa hàm mục tiêu mờ bằng cách đưa ra trọng số mũ để xây dựng thuật toán phân cụm mờ và được chứng minh độ hội tụ của các thuật toán
là cực tiểu cục bộ
Các thuật toán trong phân cụm mờ:
- Thuật toán C-means mờ là thuật toán phân cụm mờ tương ứng của thuật toán K-means, hai thuật toán này cùng sử dụng chung một chiến lược phân cụm dữ liệu Thuật toán C-means mờ hay còn gọi tắt là thuật toán FCM (Fuzzy C-means) đã được áp dụng thành công trong giải quyết một số bài toán lớn về phân cụm dữ liệu như nhận dạng mẫu (nhận dạng vân tay, ảnh), xử lý ảnh (phân tách các cụm ảnh màu, cụm màu), y học (phân loại bệnh nhân, phân loại triệu chứng),… Tuy nhiên, nhược điểm lớn nhất của thuật toán FCM là tập dữ liệu lớn, tập dữ liệu nhiều chiều, nhạy cảm với các nhiễu và phần tử ngoại lai trong dữ liệu, nghĩa là các trung tâm cụm có thể nằm xa so với trung tâm thực của cụm
- Đã có nhiều các phương pháp đề xuất để cải tiến cho nhược điểm trên của thuật toán FCM bao gồm: Phân cụm dựa trên xác suất (keller, 1993), phân cụm nhiễu mờ (Dave, 1991), phân cụm dựa trên toán tử LP Norm (Kerten, 1999) và thuật toán -Insensitive Fuzzy C-means (FCM) và thuật toán FCM cải tiến
- Với thuật toán FCM, số lượng cụm phải được khởi tạo trước Một hướng tiếp cận khác có thể tự xác định được số lượng cụm và các tâm cụm là giải thuật Mountain Cải tiến của giải thuật Mountain được đưa ra là thuật toán phân cụm trừ
và phân cụm trừ mờ
Trang 282.1.2 Thuật toán phân cụm C-Means mờ (FCM)
Kỹ thuật này phân hoạch một tập n đối tượng dữ liệu X = {x 1 , x 2 , …, x n } R s
thành C cụm mờ dựa trên tính toán cực tiểu hóa hàm mục tiêu để đo chất lượng của
phân hoạch và tìm trung tâm cụm trong mỗi cụm sao cho chi phí hàm đo độ phi
tương tự là nhỏ nhất Một phân hoạch mờ trên tập dữ liệu X = {x 1 , x 2 , …, x n } R s
với đặc trưng ban đầu được biểu diễn bởi ma trận U u ik sao cho điểm dữ liệu đã cho chỉ có thể thuộc về một số cụm với bậc được xác định bởi độ thuộc nằm trong
đoạn [0, 1] Như vậy, ma trận U được sử dụng để mô tả cấu trúc cụm của X bằng cách giải thích u ik như bậc thành viên của xk với cụm i
Cho U = (u 1 , u 2 , ….u C ) là phân hoạch mờ gồm C cụm Ma trận U C x n như sau:
c
n n
Cxn
u u
u
u u
u
u u
u U
2 22
21
1 12
i k ik
Bezdek khái quát hóa hàm mục tiêu mờ bằng cách đưa ra trọng số mũ m > 1 là
i k
m ik
d là khuôn mẫu bất kỳ để đo khoảng cách giữa phần tử dữ liệu
x k với trung tâm cụm thứ i
u ik [0,1] là bậc của phần tử dữ liệu x k thuộc về cụm thứ i
Trang 29V = [v i ] = [v l ,…, v C ] R s x C là ma trận biểu diễn các giá trị trung tâm cụm
u ik
U là ma trận phân hoạch mờ của X thành C phần
Một trong các nhân tố chính ảnh hưởng quyết định tới phân cụm là vấn đề
chọn phép đo độ phi tương tự Thực vậy, tính toán bậc thành viên u ik phụ thuộc vào định nghĩa của phép đo khoảng cách d trên không gian R ik s Khoảng cách và bình
phương khoảng cách giữa vectơ mẫu x k và trung tâm cụm thứ i được định nghĩa như
sau:
)(
)( k i T k i
i k
)(
)(
2 2
i k
T i k i
x biểu diễn độ lệch của dữ liệu x k với v i , d ik là tích vô hướng trên R s
Bậc thành viên của x k với cụm i thỏa mãn ràng buộc sau:
n k ik ik
u
n u u
1
1
10
10
, 1iC,1kn (2.2)
Để thuận tiện, coi mảng đối tượng dữ liệu {x 1 , x 2 , …, x n } là các cột trong ma
trận đối tượng dữ liệu X = [x jk ] = [x 1 ,….,x n ] R s x C Ma trận phân hoạch U là một công cụ tiện lợi để mô tả cấu trúc cụm trong dữ liệu {x 1 ,…x n }; định nghĩa tập tất cả
các ma trận thực phân hoạch mờ không suy thoái cấp C x n cho phân hoạch n đối tượng thành C cụm dữ liệu trong không gian R C x n
1,0[:,
R C x n là không gian của tất cả các ma trận thực cấp C x n