T C= [tcx,y] MxM
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
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 đú : - Mỗi snippet d trong nhúm C 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 { 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 fCk(tj)/Ck >σ do 4. Rk = Rk ∪ tj
5. end if 6. end for
7. if di∈ Ck and di∩ Rk = ∅ then
8. Rk = Rk ∪ argmaxRk ∪argmaxtj∈diwij 9. end if
trong đú fC (tj)
k là số tài liệu trong nhúm Ck cú chứa từ tj .