3. Phƣơng phỏp trọng số mở rộng đối với xấp xỉ trờn
3.1.4. Giải thuật phõn cụm K-means
Giải thuật được thực hiện để sinh ra K nhúm ( K được chọn phụ thuộc vào chiều dài (số lượng cỏc snippet) của D)
Giải thuật
Input: D – tập N snippet, K- số nhúm, - ngưỡng tương tự với …
Output: K nhúm cỏc snippet từ tập D (cú thể nạp chồng) với giỏ trị thuộc mờ
1. Khởi tạo đại diện của mỗi nhúm C1, C2 , …., CK bằng cỏc chọn ngẫu nhiờn K snippet từ tập D. K đại diện nhúm được ký hiệu lần lượt như sau: R1, R2, …, RK
2. repeat
3. for each di D do
4. for each cluster Ck, k=1,…,K do
5. Tớnh mức độ tương tự giữa xấp xỉ trờn của sniptet di với phần tử đại diện Rk : S(UR(di), Rk) ( sử dụng phộp đo lường theo hệ số gúc cosin)
6.
if S(UR(di), Rk) > then
7.
gỏn di vào nhúm Ck , với mức độ tương tự bằng giỏ hàm thuộc vào nhúm: m(di, Ck) = S(UR(di), Rk)
8. end if
9.
end for
10. end for
11. for each cluster Ck do
12.
13. end for
14. until khụng cú sự thay đổi hoặc chỉ thay đổi rất it giỏ trị của hàm thuộc
/* Vỡ do yờu cầu ràng buộc mức độ tương tự giữa cỏc snippet phải lớn hơn ngưỡng , do vậy mà sau tất cả cỏc vũng lặp trờn vẫn tồn tại một số snippet khụng được gắn vào bất cứ nhúm nào. Lỳc này cú 2 giải phỏp được đặt ra:
+ Tạo ra một nhúm đặc biệt “Other” và gắn tất cỏc snippet chưa thuộc nhúm nào vào trong nhúm “Other”
+ Gắn những tài liệu đú vào những nhúm mà chỳng cú lỏng giềng gần nhất cũng ở trong nhúm đú.
Trong bài này thỡ chọn giải phỏp 2 */
15.
for each du chưa được phõn lớp (chưa được gắn vào bất kỳ nhúm nào) do
16. Tỡm lỏng giềng gần nhất của du ký hiệu NN(du) với mức độ tương tự khỏc khụng
17. Trong số những nhúm mà NN(du) thuộc về, chọn một nhúm Ck mà NN(du) cú hàm thuộc là mạnh nhất
18.
Gỏn du vào nhúm Ck và tớnh giỏ trị của hàm thuộc (tớnh mức độ phụ thuộc của du vào nhúm Ck) như sau: m(du, Ck) = m(NN(du),Ck) * S(UR(du),UR (NN(du)))
19.
end for
20. if cần thiết ta cú thể xỏc định lại phần tử đại diện của nhúm Rk đối với những nhúm cú sự thay đổi.
* Giải thuật xỏc định đại diện nhúm (determine_cluster_representatives(RK))
Đại diện nhúm Rk thể hiện nột đặc trưng tiờu biểu của nhúm k, do đú : phải chứa ớt nhất một từ trong R
- Những từ trong Rk phải xuất hiện trong hầu hết cỏc snippet thuộc nhúm Ck .
- Khụng phải từ nào trong Rk cũng cần phải xuất hiện trong mỗi snippet thuộc về nhúm Ck .
Trọng số đối với mỗi từ tj trong Rk được tớnh như sau:
i k j i C d ij ij d t C d w w i k Giải thuật: 1. Rk=
2. for all di Ck and tj di do 3. if f fC tj Ck k( )/ do 4. Rk = Rk tj 5. end if 6. end for 7. if di Ck and di Rk = then 8. Rk = Rk argmax ij i j dw t k R argmax 9. end if trong đú fC (tj)
k là số tài liệu trong nhúm Ck cú chứa từ tj .