Chương 2: PHÂN CỤM DỮ LIỆU SỬ DỤNG MẠNG SOM
2.2 Thuật toán phân cụm tuyến tính không giám sát
K-mean là một trong các thuật toán học không giám sát để thực hiện phân cụm dữ liệu. Thủ tục đơn giản và dễ dàng để phân loại dữ liệu được thiết lập thông qua số lượng nhất định các cụm (giả sử k cụm). Xác định trung tâm của mỗi cụm. Trung tâm của mỗi cụm phải được đặt ở những vị trí chính xác vì đặt ở những vị trí khác nhau sẽ đưa ra kết quả khác nhau. Vị trí đặt các trung tâm ở những vị trí càng xa nhau càng tốt.
Bước tiếp theo là lấy mỗi điểm thuộc một tập hợp dữ liệu đưa ra và liên kết đến trung tâm gần nhất. Khi không có điểm chờ xử lý bước đầu tiên được hoàn thành và một nhóm đầu tiên được thực hiện. Tại thời điểm này chúng ta cần phải tính toán lại trọng tâm k mới như là trọng tâm của các cụm kết quả từ bước trước. Sau khi có những trọng tâm k một ràng buộc mới có thể được thực hiện giữa tập hợp điểm dữ liệu và trung tâm mới gần nhất. Tạo ra một vòng lặp kết quả của vòng lặp này có thể nhận thấy rằng các trung tâm k thay đổi vị trí của chúng cho đến khi các trung tâm không có bất kì di chuyển nào. Thuật toán này nhằm mục đích giảm thiểu hàm mục tiêu như là hàm bình phương sai số.
Các bước thực hiện thuật toán K-mean
Thuật toán K-Means thực hiện qua các bước chính sau:
1. Chọn ngẫu nhiên K tâm (centroid) cho K cụm (cluster). Mỗi cụm được đại diện bằng các tâm của cụm.
2. Tính khoảng cách giữa các đối tượng (objects) đến K tâm (thường dùng khoảng cách Euclidean)
3. Nhóm các đối tượng vào nhóm gần nhất 4. Xác định lại tâm mới cho các nhóm
5. Thực hiện lại bước 2 cho đến khi không có sự thay đổi nhóm nào của các đối tượng.
Hình 2.1: Sơ đồ khối thuật toán K-mean 3 Ưu điểm của thuật toán K-mean:
- Thuật toán thực hiện cho ra kết quả nhanh chóng, dễ hiểu.
- Độ phức tạp của thuật toán O(tknd) trong đó n là các đối tượng, k là các cụm, d kích thước của từng đối tượng t là số lần lặp thông thường k,d,t<<n.
- Cho kết quả tốt nhất với tập dữ liệu riêng biệt hoặc tách rời nhau.
Nhược điểm của thuật toán K-mean:
Bắt đầu
Kết thúc Số cụm K
Tính trọng tâm các cụm
Tính khoảng cách đối tượng đến K tâm
Nhóm các đối tượng vào nhóm gần nhất
Không có đối tượng nào
thay đổi nhóm?
g
- Thuật toán yêu cầu biết trước số lượng trung tâm cụm.
- Nếu có nhiều hơn 2 bộ dữ liệu chồng chéo nhau thì thuật toán khó phân cụm.
- Dữ liệu đại diện cho mẫu của tọa độ đề các và tọa độ cực sẽ cho kết quả khác nhau.
- Lựa chọn ngẫu nhiên trung tâm các cụm có thể dẫn tới kết quả không tối ưu.
- Không thể xử lý nhiễu và dữ liệu ngoại lai.
- Thuật toán thất bại với tập dữ liệu phi tuyến tính.
2.2.2 Thuật toán phân cụm Fuzzy C-means
Thuật toán K-means phân hoạch tập dữ liệu thành các cụm là các tập rõ.
Phân hoạch mờ xem các cụm là các tập mờ và 2 điểm dữ liệu sẽ có mức đội thuộc về một cụm với giá trị trong [0,1].
Thuật toán Fuzzy C-means cực tiểu hàm mục tiêu:
c
j n
i
i j i m
ij d x C
J
1 1
2 )
( , )
( )
(
Trong đó:
– μij là phần tử hàng i cột j của ma trận thành viên U, biểu diễn độ thuộc của xj vào cụm j (có Cj là trọng tâm)
– m>1 là tham số mờ hóa (m điều chỉnh độ thuộc về của 1 điểm vào cụm tương ứng, thông thường chọn m=2)
Không gian dữ liệu gồm n điểm xi i=1,n. Cần phân hoạch thành c cụm (2<= c <n) Thuật toán Fuzzy C-means gồm các bước:
1. Chon tham số mờ hóa m>1
2. Khởi tạo ma trận thành viên Unxc với 0<= μij<=1 sao cho
n
j ij 1
1 3. Tính trọng tâm Cj của cum j (j=1..c)
n i
m ij n
i
i m ij j
x C
1 1
) (
) (
4. Cập nhật ma trận khoảng cách Dnxctheo độ đo khoảng cách đã chọn (dij là khoảng cách từ xi đến Cj)
5. Cập nhật ma trận thành viên U:
Nếu dij>0 thì
1
1
1
2
c
k
m
ik ij
ij d
d
Ngược lại, nếu dij=0 thì xij trùng với trọng tâm Cj của cụm j, μij =1 6. Nếu U thay đổi là đủ nhỏ so với bước trước thì dừng, ngược lại lặp lại từ bước 3.
Ưu điểm của thuật toán phân cụm mờ C-mean:
Cho kết quả tốt hơn đối tập dữ liệu chồng chéo so với thuật toán Kmean. Không giống như thuật toán K-mean dữ liệu thuộc về trung tâm một cụm trong thuật toán C-mean dữ liệu được gán cho trung tâm mỗi cụm bằng kết quả của điểm dữ liệu có thể thuộc về nhiều hơn trung tâm một cụm.
Nhược điểm của thuật toán C-mean
Số lượng các cụm được đặc tả tiên nghiệm rõ
Với giá trị thấp hơn β chúng ta có được kết quả tốt hơn nhưng số vòng lặp nhiều hơn.
Trọng số cơ bản không đồng đều khi sử dụng phương pháp đo khoảng cách Euclide
2.2.3 Thuật toán phân cụm phân cấp
Thuật toán phân cụm phân cấp gồm có 2 loại: Thuật toán phân cụm theo thứ bậc trên xuống (Agglomerative Hierarchical). Thuật toán phân cụm theo thứ bậc từ dưới lên (Divisive Hierarchical). Hai thuật toán này trình tự làm việc ngược nhau. Thuật toán phân cụm phân cấp. Thuật toán
này hoạt động bằng cách nhóm dữ liệu từng cặp một trên cơ sở các biện pháp khoảng cách gần nhất của khoảng cách giữa các điểm dữ liệu tất cả các cặp. Một lần nữa khoảng cách giữa các điểm dữ liệu được tính toán lại. Khi các nhóm đã được hình thành cần xem xét lại khoảng cách giữa các điểm dữ liệu. Một số phương pháp xem xét khoảng cách giữa các điểm dữ liệu:
- Khoảng cách gần nhất hoặc liên kết đơn nhất.
- Khoảng cách xa nhất hoặc liên kết đầy đủ.
- Khoảng cách trung bình hoặc liên kết trung bình.
- Tổng bình phương Euclide là nhỏ nhất Thuật toán phân cụm phân cấp:
Cho X={x1,x2…xn} là tập hợp các điểm dữ liệu.
Bước 1: Bắt đầu với phân chia các phân nhóm có mức L(0) = 0 và dãy số m = 0.
Bước 2: Tìm khoảng cách tối thiểu của cụm trong cụm hiện tại biểu diễn bằng cặp (r), (s) theo công thức d[(r),(s)]=min d[i,j] là nhỏ nhất so với các cụm hiện tại.
Bước 3: Tăng số thứ tự m=m+1. Hợp nhất các cụm (r) và (s) vào một cụm duy nhất hình thành m cụm tiếp theo. Thiết lập mức của nhóm này là L(m)=d[(r),(s)]
Bước 4: Cập nhật ma trận khoảng cách D bằng cách xóa các hàng và cột tương ứng với cụm (r) và (s) và thêm một hàng và cột tương ứng với cụm mới được thành lập. Khoảng cách giữa cụm mới ký hiệu là (r,s) và cụm cũ (k) được định nghĩa d[(k),(r,s)] = min(d[(k),(r)],d[(k),(s)])
Bước 5: Nếu tất cả các điểm dữ liệu trong một cụm thì dừng lại nếu không lặp lại từ bước 2
Ưu điểm của thuật toán phân cụm phân cấp
- Không có thông tin về các cụm được yêu cầu.
- Dễ dàng thực hiện và cho kết quả tốt nhất trong một số trường hợp Nhược điểm của thuật toán phân cụm phân cấp
Thuật toán không thể quay lại những gì đã thực hiện trước đó. Độ phức tạp của thuật toán O(n2log n) với n là số điểm dữ liệu. Không có hàm mục tiêu được giảm thiểu ngay lập tức. Khó xác định số lượng các cụm chính xác bởi sơ đồ nhánh.
2.2.4 Thuật toán phân cụm chất lượng ngưỡng
Thuật toán đòi hỏi phải có kĩ thuật tiên nghiệm khoảng cách ngưỡng trong phạm vi cụm và giá trị nhỏ nhất của các phần tử trong cụm. Từ mỗi điểm dữ liệu tìm thấy tất cả các điểm dữ liệu đáp ứng được yêu cầu. Điểm dữ liệu đáp ứng được yêu cầu trong phạm vi ngưỡng từ tập hợp các điểm dữ liệu đã cho. Bằng cách này có thể tìm thấy các điểm dữ liệu yêu cầu và chọn ra 1 điểm trong tập hợp các điểm tạo tạo thành cụm. Sau đó các điểm dữ liệu thuộc nhóm này được loại bỏ và các thủ tục tương tự được lặp đi lặp lại với bộ giảm điểm dữ liệu cho đến khi nhóm không còn có thể được hình thành đáp ứng các tiêu chí kích thước tối thiểu.
Thuật toán phân cụm chất lượng ngưỡng
Bước 1: Khởi tạo khoảng cách ngưỡng cho phép cho các cụm và kích thước tối thiểu của cụm.
Bước 2: Xây dựng các cụm điểm dữ liệu đáp ứng yêu cầu: các điểm gần nhất, các điểm lân cận các điểm gần nhất. Tạo các cụm cho đến khi khoảng cách của các cụm vượt qua ngưỡng thì dừng.
Bước 3: Đáp ứng yêu cầu với điểm ở mức độ cao hình thành lên cụm đầu tiên và loại bỏ tất cả các điểm trong cụm không được xét đến.
Bước 4: Lặp lại với tập hợp các điểm còn lại cho đến khi không còn hình thành thêm các cụm có kích thước tối thiểu.
Ưu điểm của thuật toán:
Mỗi cụm chỉ vượt qua một ngưỡng chất lượng đã được xác định. Số cụm không cần xác định trước. Cụm đạt yêu cầu tiêu chuẩn tạo ra mối liên hệ với mỗi điểm dữ liệu và kiểm tra thứ tự dựa vào chất lượng kích thước tiêu chuẩn.
Nhược điểm của thuật toán:
Tăng kích thước cụm tối thiểu hoặc làm tăng số lượng các điểm dữ liệu có thể làm tăng đáng kể thời gian tính toán. Khoảng cách ngưỡng và số lượng tối thiểu của một phần tử trong cụm có thể được xác định tiên nghiệm.