7. Bố cục của luận văn
2.3.4. Thuật toán Fuzzy C-Means mở rộng
Thuật toán FCM mở rộng là thuật toán dựa trên cơ sở của thuật toán FCM của Bezdek nhằm cung cấp một quá trình lặp qua lại giữa phương trình (2.51) và (2.52) để xấp xỉ cực tiểu hàm mục tiêu (2.46) dựa trên độ đo tương tự có trọng số giữa xk và trọng tâm cụm vi. Sau mỗi vòng lặp, thuật toán tính toán và cập nhật các phần tử trong ma trận phân hoạch U. Phép lặp sẽ dừng khi {‖ ‖} trong đó là chuẩn kết thúc nằm trong khoảng , trong khi k là các bước lặp. Thuật toán FCM sẽ tính toán ma trận phân hoạch U và kích thước của các cụm để nhằm thu được các mô hình mờ từ ma trận này. Đối với thuật toán FCM mở rộng bao gồm 10 bước thực hiện lần lượt được thể hiện bởi hình vẽ bên dưới sau:
Nhìn chung, việc chọn các tham số cụm rất ảnh hưởng đến kết quả phân cụm, tham số này thường được chọn theo phương pháp ngẫu nhiên hoặc theo Heuristic.
Đối với m1 thì thuật toán FCM trở thành thuật toán rõ.
Đối với m thì thuật toán FCM trở thành thuật toán phân cụm mờ với 1
ik
u c
. Chưa có quy tắc nào nhằm chọn lựa tham số m đảm bảo cho phân cụm hiệu quả, thông thường chọn m = 2 [10]
Ta có thể tiến hành đánh giá việc lựa chọn số tâm cụm tối ưu bằng công sau:
{ ∑ ∑ ‖ ‖ ‖ ̅‖ } (2.53)
Trong đó: ̅ ∑
Ví dụ 2.10. Cho tập vũ trụ { } với { } { }
{ } { }
Áp dụng thuật toán FCM mở rộng hãy xác định phân cụm tối ưu.
Giả sử khởi tạo 2 cụm với { } { } và được biểu diễn bởi ma trận phân hoạch sau.
Giải
Theo giả thiết, ta có: c = 2 và .
Ma trận phân hoạch mờ ban đầu được xác định cụ thể như sau.
Cập nhật lại những cụm trung tâm khởi tạo sử dụng thuật toán ở bước 1. Ta có :
∑
∑
Sử dụng công thức trên (2.74) ta xác định được tọa độ trung tâm của các cụm lần lượt như sau :
Tọa độ trung tâm cụm 1 và 2.
( ) ( )
Khoảng cách mỗi điểm dữ liệu đến các cụm, chúng ta sử dụng công thức (2.47) và được kết quả như sau:
1 1 0 0
0 0 1 1
1 1 0 0 0 0 1 1
√ √ √ √ √ √ √ √
Tiếp tục chúng ta cập nhật lại ma trân phân cụm sau khi thực hiện ở lần lặp thứ 0 sau.
Đối với cụm 1 Đối với cụm 2
Từ bảng trên, ta có ma trận phân hoạch ở lần thực hiện thứ nhất chính là:
Để kiểm tra xem thuật toán dừng lại hay không, chúng ta sẽ đi kiểm tra điều kiện:
{| | }
{
}
Điều kiện này chưa thõa mãn với yêu cầu của thuật toán, nên chúng ta tiếp tục thực hiện lại bước 2 và bước 3 ở lần lặp thứ hai.
Xác định lại tọa độ cụm trung tâm, ta có:
{
Tiếp tục, chúng ta xác định lại khoảng cách đối với mỗi điểm dữ liệu với từng cụm sau.
0,5 0,86 0,09 0,03 0,5 0,14 0,91 0,97
Đồng thời cập nhật lại ma trận phân hoạch ở bước lặp thứ 2 cụ thể như sau: Đối với cụm 1 Đối với cụm 2
Lúc này, ta có ma trận phân hoạch như sau:
Kiểm tra điều kiện dừng. Ta có : {| | }
{
}
Đến đây, có thể nói vẫn chưa thỏa mãn điều kiện dừng của thuật toán. Nên chúng quay lại bước 2 và bước 3 ở lần thực hiện thứ 3.
Xác định tọa độ các cụm trung tâm sau khi sử dụng công thức (2.54) ở lần lặp thứ 3 và kết quả như sau: {
Hơn nữa, sau lần lặp thứ 3, khoảng cách cụ thể như sau.
0,87 0,94 0,01 0,1 0,13 0,06 0,99 0,9
Đồng thời, cập nhật lại ma trận phân cụm đối với bước lặp thứ 3, sẽ là: Đối với cụm 1 Đối với cụm 2
Chúng ta xác định được ma trận phân hoạch như sau:
Kiểm tra điều kiện dừng. Ta có: {| | }
{
}
Với kết quả như vậy, có thể nói vẫn chưa thõa mãn điều kiện dừng của thuật toán, vì vậy chúng ta sẽ thực hiện tiếp tục lại bước 2 và bước 3 ở lần lặp thứ 4.
Đầu tiên, chúng ta sẽ cập nhật lại tọa độ trung tâm ở lần lặp thứ 4. Kết quả thể hiện như sau:
{
Bây giờ, chúng ta nhận thấy rằng tọa độ trung tâm sau khi cập nhật ở bước lặp thứ 4 và bước lặp thứ 3 là giống nhau. Nên ta có thể nói rằng thuật toán FCM mở rộng sau một số bước lặp sẽ hội tụ.
Vì vậy, ta có: