Chương 1 TỔNG QUAN
2.4. Thuật toán phân cụm nửa giám sát dựa trên đồ thị (SSGC)
Thuật toán phân cụm nửa giám sát dựa trên đồ thị (SSGC) được giới thiệu năm 2017[8]. Với việc tích hợp các seed vào đồ thị, kết quả phân cụm đạt được tốt hơn khi so sánh với phương pháp SSDBSCAN. Ý tưởng cơ bản của phương pháp SSGC như sau:
Bước 1: Xây dựng đồ thị k-láng giềng gần nhất.
Bước 2: Phân rã đồ thị thành các thành phần liên thông sao cho trong mỗi thành phần liên thơng chỉ có nhiều nhất một loại seed.
Bước 3: Gán nhãn cho các điểm trong các thành phần liên thơng có các seed bằng nhãn của chính seed đó.
Bước 4: Các thành phần chưa có nhãn (hoặc các điểm đơn) tiếp tục được gán vào các cụm cơ bản.
Thuật toán SSGC chỉ sử dụng một tham số - k láng giềng gần nhất. Hơn nữa, các thí nghiệm cho thấy, bằng cách sử dụng các seed, SSGC không chỉ cho kết quả tốt mà còn cải thiện tốc độ tính tốn so với thuật toán SSDBSCAN.
Đầu tiên, chúng ta xác định đồ thị k-NNG được định nghĩa là một đồ thị vơ hướng có trọng số, trong đó mỗi đỉnh đại diện cho một điểm của tập dữ liệu và sở hữu tối đa k cạnh là k láng giềng gần nhất của nó. Một cạnh được tạo ra giữa một cặp điểm xi và xj khi và chỉ khi hai điểm có chung k láng giềng gần nhất. Trọng số ( ,x xi j) của cạnh nối 2 điểm xi và xj được định nghĩa là số láng giềng gần nhất của cả 2 điểm, được mô tả như sau:
( ,x xi j) |NN x( )i NN x( j) |
Trong đó NN(.) biểu thị tập hợp k láng giềng gần nhất của điểm xác định. Tính chất này được tích hợp tính tốn tự động, giúp thích nghi với việc xử lý tập dữ liệu với mật độ cụm khác nhau.
Dựa trên đồ thị k-NNG được định nghĩa ở trên, thuật toán phân cụm nửa giám sát dựa trên đồ thị được phát triển, gọi tắt là SSGC. Thuật tốn được mơ tả như sau:
Bước 1: Phân chia đồ thị k-NN. Mục đích của bước này là phân chia một đồ thị thành một số thành phần liên thông được kết nối theo điều kiện cắt sau:
- Điều kiện cắt: “Mỗi thành phần liên thơng có nhiều nhất một loại seed”. Để làm được điều này, một ngưỡng được thiết lập để phân chia đồ thị k-NN thành các thành phần liên thơng. Để tối đa hóa số điểm trong các thành phần liên thông, chúng ta chọn giá trị ban đầu càng nhỏ càng tốt: được khởi tạo là 0 và sau mỗi lần lặp, khi điều kiện khơng thỏa mãn thì
được tăng thêm 1.
Sau khi tìm ra các thành phần liên thơng, tất cả các điểm của mỗi thành phần có nhiều nhất một seed sẽ được nhân giống bởi các nhãn của seed. Bước này tạo ra các nhóm chính.
Bước 2: Phát hiện nhiễu và xây dựng các cụm cuối.
Các điểm cịn lại, khơng được gán nhãn sẽ được chia thành 2 loại: Các điểm có các cạnh liên kết đến một hoặc nhiều cụm và các điểm cơ lập.
- Đối với các điểm có các cạnh liên kết đến một hoặc nhiều cụm, điểm sẽ được gán cho nhóm chính với trọng số lớn nhất có liên quan. Q trình này giống như cơ chế mở rộng “Cây phân nhánh tối thiểu MST” trong thuật toán SSDBSCAN.
- Đối với các điểm cơ lập, có 2 lựa chọn tùy theo mục đích của quá trình phân cụm: Loại bỏ những điểm đó như là nhiễu hoặc gán nhãn. Trong trường hợp gán nhãn, nhãn của điểm cô lập sẽ được gán nhãn bởi phần lớn các nhãn của k láng giềng gần nhất.
Do ngưỡng được tính tốn tự động ở mỗi lần lặp. Do đó thuật tốn SSGC có duy nhất một tham số k, là số điểm lân cận của đồ thị.
Thuật toán 3: SSGC
Input: Tập dữ liệu X, số lân cận k, một tập các seed S. Output: Phân cụm tập X.
Quá trình:
1: Xây dựng biểu đồ k-NN của X 2: 0
3: repeat
4: Xây dựng thành phần liên thông kết nối với ngưỡng 5: 1
6: until điều kiện cắt được thỏa mãn.
7: Lan truyền nhãn để hình thành các cụm chính. 8: Xây dựng các cụm cuối cùng.
Độ phức tạp của gian đoạn xây dựng đồ thị k-NN là O(n2) hoặc O(nlogn). Độ phức tạp của quá trình xây dựng các thành phần kết nối là O(nk)
trong đó k là số lân cận của đồ thị k-NN, sử dụng phương pháp tìm kiếm theo chiều rộng (BFS) hoặc tìm kiếm theo chiều sâu (DFS). Vì vậy, độ phức tạp của thuật toán SSGC là O(n2) hoặc O(nlogn).
Để đánh giá hiệu quả của thuật toán SSGC, người ta sử dụng kết quả thu được từ thuật toán phân cụm K-Means làm tham chiếu cơ sở. Sau đó so sánh thời gian tính tốn giữa thuật tốn SSGC và thuật tốn SSDBSCAN vì hai thuật tốn này hoạt động cùng mục đích phân cụm (phân cụm với kích thước và hình dạng khác nhau). Các kết quả thực nghiệm đã chứng minh thuật toán SSGC nhanh hơn thuật toán SSDBSCAN khoảng 20 lần.
Hình 2.10. So sánh tốc độ thực hiện giữa thuật toán SSGC và thuật toán SSDBSCAN[8]
Bằng các sử dụng k láng giềng gần nhất để xác định khoảng cách tương đối giữa các đối tượng, thuật tốn đã giải quyết được q trình phân cụm với hình dạng tùy ý và mật độ khác nhau. Hơn nữa, thời gian tính tốn thấp hơn đáng kể so với thuật toán SSDBSCAN.
Hình 2.11. Kết quả của thuật tốn SSGC khi so sánh với các thuật toán cùng loại[8]
2.5. Kết luận
Nội dung chương 2 nhằm mục đích nghiên cứu các thuật toán phân cụm nửa giám sát cơ bản bao gồm thuật toán phân cụm nửa giám sát K- Means, thuật toán SSDBSCAN và thuật toán SSGC. Đây là nghiên cứu tiền đề cho chương 3 để tiến hành thực nghiệm cài đặt phân cụm cho bài toán phân loại dữ liệu log web.