Khái niệm về bài toán phân cụm: Phân cụm dữ liệu là một kỹ thuật trong khai
phá dữ liệu, nhằm đưa ra các cụm mà các phần tử trong cùng một cụm có độ tương đồng cao và các phần tử thuộc các cụm khác nhau lại có độ tương đồng thấp.
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.
.
Hình 13 - Quy trình phân cụm
Một số phương pháp phân cụm cơ bản:
Phân cụm phân hoạch (phân cụm phẳng):
Phương pháp này chia tập gồm n phần tử thành tập k tập conrời nhau, trong đó k cho trước. Với phương pháp này, ban đầu người ta khởi tạo một phân hoạch ban đầu
cho tập dữ liệu theo một phép gán ngẫu nhiên hoặc dựa trên một phương pháp kinh
nghiệm (hueristic), sau đó tinh chỉnh lại các cụm cho đến khi thu được một phân hoạch
mong muốn thỏa mãn một ràng buộc cho trước . Tại mỗi bước thuật toán phân cụm cố
wij = [1 + log(tfij)] log( ij tf m ) nếu tfij > 0 0 nếu tfij = 0
gắng cải tiến chất lượng phân cụm bằng cách tính độ đo tương tự giữa các đối tượng
dữ liệu và sắp xếp các giá trị này, sau đó thuật toán lựa chọn một giá trị trong dãy sắp
xếp sao cho hàm tiêu chuẩn đạt giá trị tối thiểu. Thuật toán tiêu biểu cho phương pháp
này là K-Means. Ví dụ về thuật toán K-means:
Hình 14 - Ví dụ về thuật toán K-means
Phân cụm dữ liệu dựa trên mật độ:
Phương pháp này dựa vào mật độ của các đối tượng để xác định các cụm dữ liệu
và có thể tìm ra các cụm dữ liệu với hình thù bất kỳ. Trong phương pháp phân cụm
này, khi một cụm dữ liệu đã được xác định thì nó tiếp tục phát triển thêm các đối tượng mới miễn là các đối tượng lân cận của đối tượng này phải lớn hơn một ngưỡng
về mật độ cho trước. Tuy nhiên việc xác định trước 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 có ảnh hưởng quan trọng đến chất lượng
phân cụm. Thuật toán tiêu biểu cho phương pháp phân cụm này là DB-Scan. Hình
dưới đây là một số hình ảnh ví dụ về phân cụm dựa trên mật độ.
Hình 15 - Hình vẽ minh họa cho phân cụm dữ liệu dựa trên mật độ.
Phân cụm phân cấp
Phương pháp phân cụm cây phân cấp xây dựng một cấu trúc cây phân cấp cho
các tài liệu, và có hai phương pháp chính là xây dựng cây theo hướng từ trên xuống
bottom-up, đầu tiên mỗi phần tử được coi như một cụm phân biệt và sau đó tiến hành ghép lần lượt 2 cụm giống nhau nhiều nhất hay khác nhau ít nhất làm một đến khi tất
cả các cụm được ghép vào một cụm duy nhất chứa tất cả các phần tử. Phân cụm phân
cấp bottom-upđược gọi là hierachical agglomerative clustering (HAC). Hình vẽ minh họa cho thuật toán HAC:
Hình 16 -Sơ đồ các phân tử trước khi phân cụm
Hình 17 -Sơ đồ các phần tử sau khi phân cụmphân cấp
Còn vớiphân cụm phân cấp top-down, trạng thái ban đầu là tấtcả các đối tượng
thuộc vào cùng một cụm. Tại mỗi vòng lặp thành công, một cụm được tách thành các cụm nhỏ hơn theo giá trị của một phép đo độ tương tự nào đó cho đến khi mỗi đối tượng là một cụm, hoặc cho đến khi điều kiện dừng thỏa mãn. Cách tiếp cận này sử
dụng chiến lược chia để trị trong quá trình phân cụm.
Chi tiết về HAC
Thuật toán HAC cho phân cụm Web[2] Tham số:
G là tập hợp các cụm.
S là tập các phân hợp các trang Web cần phân cụm.
k là tham số để dừng thuật tóan khi số lượng cụm mong muốn đã được tạo ra.
q là tham số ngưỡng dừng thuật toán khi độ tương tự giữa 2 cụm nhỏ hơn một ngưỡng nào đó.
1. G <- {{d} | d thuộc S } (Khởi tạo G là tập các cụm chỉ gồm một trang Web
trong tập S)
2. Nếu |G| < k thì dừng thuật toán ( Đã được số lượng cụm mong muốn ).
3. Tìm 2 cụm Si và Sj thuộc G sao cho (i,j) = arg max(i,j) sim (Si,Sj) ( Tìm 2 cụm có độ tương tự lớn nhất ).
4. Nếu sim(Si,Sj) < q thì dừng thuật tóan ( độ tương tự của 2 cụm nhở hơn ngưỡng
cho phép )
5. Loại bỏ Si,Sj khỏi G
6. G = G hợp { Si , Sj } (ghép 2 cụm Si,Sj và đưa vào trong tập G )
7. Nhảy đến bước 2
Một số độ đo khoảng cách trong thuật toán HAC:
-Single link hay Single-linkage:
Với phương pháp này, khoảng cách giữa các cụm được định nghĩa là khoảng
cách giữa những đối tượng giống nhau nhất giữa 2 cụm:
D(r,s) = min(d(i,j)) (3.6)
Trong đó:
r,s là 2 cụm.
i,j là 2 đối tượng bất kỳ thuộc 2 cụm r,s.
Với 2 cụm, ta tính tất cả các khoảng cách giữa 2 phần tử bất kỳ thuộc 2 cụm đó
và khoảng cách nhỏ nhất tìm được chính là khoảng cách giữa 2 cụm đó. Tại mỗi bước,
Hình 18 - Phân cụm với Single-linkage -Complete-link:
Với 2 cụm, ta tính tất cả các khoảng cách giữa 2 phần tử bất kỳ thuộc 2 cụm đó
và khoảng cách lớn nhấttìm được chính là khoảng cách giữa 2 cụm đó. Tại mỗi bước, 2 cụm gần nhau nhất sẽ được chọn để ghép lại với nhau.
D(r,s) = max(d(i,j)) (3.7)
Trong đó:
r,s là 2 cụm.
i,j là 2 đối tượng bất kỳ thuộc 2 cụm r,s.
Hình 19 - Phân cụm với Complete-linkage -Group average agglomerative
Phương pháp phân cụm GAAC tính độ tương tự trung bình SIM-GA của tất cả
các cặp văn bản khi ghép tất cả các văn bản của hai cụm vào làm một, trong đó bao
Hình 20 - Trung bình các khoảng cách trong GAAC
(3.8)
Trong đó Ni là số văn bản của cụm i , Nj là số văn bản của cụm j, d là vector
đã được chuẩn hóa của văn bản d.