CHƯƠNG 2 CÁC THUẬT TOÁN PHÂN CỤM DỮ LIỆU
2.3 Thuật toán phân cụm dữ liệu bản đồ không gian véc tơ
2.3.1 Phương pháp phân đoạn
Thuật toán phân đoạn là một thuật toán phân cụm có từ rất lâu và khá phổ biến trước khi xuất hiện lĩnh vực khai phá dữ liệu. Dù biểu diễn các cụm dữ liệu khác nhau, tuy nhiên các thuật toán đều có cách tiếp cận chung khi tính toán các giải pháp.
Ý tưởng của thuật toán phân đoạn như sau: Cho tập D gồm n đối tượng thuộc không gian n chiều, và một tham số đầu vào k. Thuật toán phân đoạn tổ chức n đối tƣợng trên vào k cụm sao cho tổng độ lệch chuẩn từ trọng tâm của cụm đến các đối tƣợng là nhỏ nhất. Trong các thuật toán, độ lệch chuẩn có thể tính toán theo cách khác nhau, nhưng được gọi tên chung là hàm tương tự (similarity function).
Với phương pháp này, số cụm được thiết lập là đặc trưng được lựa chọn trước. Phương pháp phân đoạn thích hợp với bài toán tìm các cụm trong không gian 2D. Ngoài ra, phương pháp xem xét đến khoảng cách cơ bản giữa các điểm dữ liệu để xác định chúng có quan hệ gần nhau, hoặc không gần nhau hay không có quan hệ.
Nhược điểm của phương pháp này là đòi hỏi phải đưa vào tham số k và không xử lý trên bộ dữ liệu thuộc cụm có hình dạng phức tạp hoặc mật độ phân bố dày đặc. Thêm vào đó, thuật toán có độ phức tạp tính toán lớn khi cần xác định kết quả tối ưu. Các thuật toán trong phương pháp phải kể đến k-means, PAM (Partitioning Around Medoids), CLARA (Clustering LARge Application), CLARANS (Clustering Large Applications based upon RANdomized Search), EM (Expectation Maximization), …. Dưới đây mô tả vài thuật toán điển hình trong phương pháp phân đoạn.
2.3.1.1. Thuật toán k-means
Thuật ngữ “k-means” đƣợc J. MacQueen giới thiệu vào năm 1967 và phát triển dựa trên ý tưởng của H. Steinhaus đề xuất năm 1956. Thuật toán này sử dụng giá trị trung bình (mean) của các đối tƣợng trong cụm làm trung tâm của cụm đó. Tổng giá trị trung bình về độ lệch giữa các đối tƣợng trong cụm với trung tâm cụm hay còn gọi là hàm tiêu chuẩn (criterion function) đƣợc tính bởi công thức
2
1
k
i x C i
i
m x E
Trong đó, x là một điểm/ đối tƣợng trong không gian véctơ, mi là giá trị trung bình của cụm Ci.
Thuật toán k-means chi tiết nhƣ sau:
Đầu vào: Số các cụm k, cơ sở dữ liệu gồm n đối tƣợng Đầu ra: Tập k cụm mà có giá trị hàm tiêu chuẩn E nhỏ nhất.
Phương pháp:
B1: Khởi tạo k điểm trung tâm cụm bằng cách chọn k đối tƣợng tùy ý
B2: Lặp các bước
B2.1. Gán mỗi đối tƣợng vào cụm có trung tâm gần đối tƣợng đó nhất, hình thành một tập các cụm mới
B2.2. Tính lại giá trị E của mỗi cụm theo các đối tƣợng mới thu được sau bước B2.1.
B3. Thuật toán dừng khi giá trị E không thay đổi.
Tại bước 1, thực hiện chọn ngẫu nhiên k điểm từ cơ sở dữ liệu các đối tƣợng cần phân cụm là điểm trung tâm cho k cụm. Sau đó, thực hiện lần lƣợt tính khoảng cách từ điểm trung tâm tới các điểm, so sánh xem giá trị nào nhỏ hơn (có nghĩa gần trung tâm hơn) thì gán điểm đó vào cụm chứa điểm trung tâm đó. Tiếp đến tính lại giá trị hàm tiêu chuẩn E, nếu giá trị mới nhỏ hơn giá trị cũ thì thay đổi giá trị E. Thuật toán lặp lại các bước cho đến khi giá trị E không thay đổi nữa. Để tính khoảng cách giữa điểm trung tâm tới các điểm, dùng độ đo khoảng cách Euclidean.
Nhìn chung thuật toán k-means đƣợc xếp vào lớp bài toán NP, do vậy để phát triển thuật toán này người ta kết hợp với phỏng đoán (heuristic). Nhược điểm của thuật toán là nhạy cảm với các phần tử ngoại lai, nhiễu, phần tử cận biên cụm. Với các phần tử như vậy có thể gây ảnh hưởng đáng kể đến giá trị trung bình. Việc chọn lựa tập điểm trung tâm ban đầu cũng ảnh hưởng nhiều đến chất lƣợng cụm sinh ra. Trong quá trình xử lý của thuật toán, dữ liệu đƣợc tổ chức theo cây K-D tree để tăng tốc độ tìm kiếm. Thuật toán này đƣợc hỗ trợ trong hầu hết các công cụ phân cụm phổ biến dùng trong các ứng dụng khoa học và công nghiệp.
2.3.1.2. Thuật toán k-medoids
Mỗi cụm đƣợc biểu diễn bởi một điểm/ đối tƣợng thuộc cụm đó. Đây là giải pháp đơn giản vì phù hợp với mọi kiểu thuộc tính. Khi một đối tƣợng đƣợc chọn làm trọng tâm của cụm, cụm đƣợc định nghĩa là tập con các điểm gần điểm trọng tâm đó. Mục tiêu đặt ra là tính khoảng cách trung bình hoặc sử dụng hàm tính độ tương tự bất kỳ giữa các đối tượng và trọng tâm của nó.
Các bước trong thuật toán k-medoids gần giống như thuật toán k-means, trong đó giá trị k chính là k đối tƣợng đƣợc chọn ngẫu nhiên làm trọng tâm cụm.
Phiên bản điển hình cho k-medoids là thuật toán PAM (Partitioning Around Medoids) gồm các bước như sau
Phương pháp:
B1: Lấy ngẫu nhiên k đối tƣợng tùy ý làm trọng tâm của k cụm (n>k)
B2: Lặp các bước
B2.1. Gán các đối tượng vào cụm mà có độ tương tự gần với trọng tâm của cụm đó
B2.2. Chọn ngẫu nhiên đối tƣợng O’ thuộc n-k
B2.3. Tính tổng chi phí S để chuyển từ điểm trọng tâm cũ sang O’
B2.4. Nếu S<0 thì chuyển điểm trọng tâm sang O’
B3. Thuật toán dừng khi tập các đối tƣợng k không thay đổi.
Tại bước 2.1, để tính độ đo tương tự có thể dùng khoảng cách Euclidean, Manhattan hay Minkowski. Thuật toán này chú tâm đến việc tìm cách thay thế các đối tƣợng trọng tâm ban đầu bằng n-k đối tƣợng còn lại. Nếu không có sự thay thế xảy ra, thuật toán dừng. Bước 2.3 tính độ lệch E giữa trọng tâm cụm với đối tƣợng thuộc cụm đó. Do vậy, thuật toán này thực hiện việc tính E là n-k lần tương ứng với việc so sánh với n-k điểm, nên thuật toán thực hiện tốn thời gian nếu số đối tƣợng cần phân cụm lớn.
Để cải tiến nhƣợc điểm của thuật toán PAM, thuật toán CLARA (Clustering LARge Application) ra đời vào năm 1990 bởi Kaufman và Rousseeuw . Thay vì thực hiện so sánh với n-k đối tƣợng còn lại, CLARA chỉ thực hiện trên một phần dữ liệu mẫu đƣợc chọn từ tập dữ liệu ban đầu. CLARA chọn từng nhóm đối tƣợng, sau đó dùng thuật toán PAM trên nhóm đối tƣợng đó. Kết quả trả về là các cụm tốt nhất. Nhƣợc điểm của CLARA nếu mẫu đƣợc chọn không chứa k điểm trọng tâm tốt nhất thì CLARA không đƣa ra cách phân cụm tốt nhất.
Năm 1994, Raymond T. Ng và Jiawei H. giới thiệu thuật toán CLARANS và đến năm 2002 thuật toán này được công bố là một phương pháp gom cụm hiệu quả trên cơ sở dữ liệu không gian véctơ .
Việc phân cụm cho các thuộc tính không gian véctơ được biểu diễn dưới dạng điểm trong không gian số thường sử dụng khoảng cách Euclidean và Manhattan để xác định độ tương tự, công việc này được thực hiện khá dễ dàng trong các thuật toán phân cụm khác nhau. Tuy nhiên đối tƣợng cần quản lý trong thế giới thực ở nhiều hình dạng và kích thước khác nhau và thường dưới dạng vùng, do vậy việc tính khoảng cách giữa 2 vùng cần tiện ích và hiệu quả, đó chính là mục đích trong khi phân cụm. Bởi lẽ nếu biểu diễn các vùng đó thông qua một điểm trọng tâm hay bất kỳ một điểm riêng lẻ nào cũng có thể sinh ra các cụm đơn giản mà có chất lƣợng tồi. Do vậy cần dùng các điểm bên trong và các điểm nằm trên đường biên của đối tượng để biểu diễn đối tượng đó.