2.5.1. Tư tưởng thuật toán
Bài toán thu thập, phân cụm dữ liệu tự động là một bài toán mang tính thời sự, vì trong thời đại công nghệ thông tin, với sự trợ giúp của máy tính thì việc áp dụng công nghệ thông tin vào thu thập dữ liệu tự động trên internet, sau đó phân tích phục vụ cho việc phận cụm và từ đó hình thành các chủ đề thôn tin với các dữ liệu thu thập tự động từ internet. Trên cơ sở đó, chúng ta tiến hành phân tích dữ liệu và đưa ra những dự báo trong tương lai với từng chủ đề khác nhau như: dự báo tốc độ tăng trưởng kinh tế, GDP, chỉ số chứng khoán, giá cả hàng hoá... Điều này làm cơ sở cho chúng ta có thể đưa ra một chính sách phát triển kinh tế trong cả nước [2].
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
40
Tuy nhiên, để có được những dữ liệu và phân cụm được những dữ liệu đó theo các chủ đề khác nhau thì chúng ta phải có các kỹ thuật. Như mục 2.2, nhóm tác giả đã trình bày thuật toán K-Means, tuy nhiên thuật toán có những hạn chế nhất định [2]. Do đó, nhóm tác giả cải tiến thuật toán này nhằm khắc phục những hạn chế của thuật toán K-means.
Cải tiến thuật toán K-means: thay vì chọn số điểm (k) làm trọng tâm, chúng ta không chọn số điểm (k) làm trọng tâm cho số cụm mà sẽ tăng số cụm từ 1 lên k cụm bằng cách đưa trung tâm cụm mới vào cụm có mức độ biến dạng Max và tính lại trọng tâm các cụm.
Với thuật toán K- means bắt đầu bằng cách chọn k cụm và chọn ngẫu nhiên k điểm làm trung tâm cụm, hoặc chọn phân hoạch ngẫu nhiên k cụm và tính trọng tâm của từng cụm này. Việc chọn ngẫu nhiên k điểm làm trung tâm cụm như đã nói ở trên có thể cho ra các kết quả khác nhau tùy vào chọn k điểm này. Thuật toán cải tiến K-means nhìn chung vẫn dựa trên thuật toán k- means nhưng sẽ không chọn k điểm làm trọng tâm cho k cụm mà sẽ tăng số cụm từ 1 lên k cụm bằng cách đưa trung tâm cụm mới vào cụm có mức độ biến dạng max (tăng số cụm) và tính lại trọng tâm các cụm.
2.5.2. Mô tả thuật toán
Bước 1: Khởi tạo giá trị ban đầu cho K: K=1 Bước 2:
Bước 2.1: Kiểm tra điều kiện K
Nếu K=1: chọn bất kỳ một điểm làm trung tâm của cụm.
Nếu K>1: thêm trung tâm của cụm mới vào cụm có biến dạng max. Bước 2.2: Gán từng điểm vào cụm có trung tâm gần nhất với điểm đang xét và cập nhật lại trung tâm cụm
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
41
Ngược lại, quay trở lại bước 2.2 (bước 2).
Bước 3: (Tăng số cụm)
Nếu K≤ giá trị ấn định số cụm thì K:=K+1, quay trở lại bước 2.1 (bước 2). Ngược lại, thuật toán dừng.
Với thuật toán K-means cải tiến: đưa ra sự khác biệt, đó là mức độ biến dạng của các cụm (Dựa trên biến dạng để phân cụm).
Mức độ biến dạng của các cụm được tính như sau:
I=S-N (d (w,x ))
Trong đó: w: trung tâm của cụm, N: Số các thành phần trong cụm.
S: Tổng bình phương khoảng cách giữa các thành phần trong cụm và trung tâm của không gian Euclidean.
I: Mức độ biến dạng của cụm
d (w,x): là khoảng cách giữa trung tâm w của cụm và trung tâm của không gian Euclidean x.
2.5.3 Nhận xét:
+ Một cụm có mức độ biến dạng lớn thì trung tâm cụm đó có vị trí không thích hợp.
+ Việc xác định các cụm cũng như xác định trung tâm của cụm, như vậy thuật toán chủ yếu tìm trung tâm cụm chính xác và xác định lại các thành phần trong cụm.
Với thuật toán K-means cải tiến:
+ Bước 2: như K-means nhưng khác là: không xác định trước k điểm mà tăng k lên dần từ 1. Và chọn cụm có mức độ biến dạng lớn để phân ra 2 cụm (khi đó 2 cụm này có mức độ biến dạng giảm, nhỏ hơn).
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
42
+ Thuật toán cải tiến K-means có độ phức tạp là O(k
2
nt), như vậy so với
thuật toán K-means có độ phức tạp O(tkn) thì: O(k
2
nt)>O(tkn), nhưng không bằng K-mendoids, do k<<n. Tuy nhiên ưu điểm của thuật toán là giảm sự phụ thuộc vào việc khởi tạo các cụm ban đầu nên ta sẽ không phải lập lại thuật toán với việc chọn các cụm ban đầu khác nhau để tìm ra kết quả tối ưu như ở K-Means.