Giải thuật phõn cụm K-means

Một phần của tài liệu Luận văn: Phân cụm tập kết quả tìm kiếm web dựa vào tập thô dung sai docx (Trang 35 - 37)

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))) (adsbygoogle = window.adsbygoogle || []).push({});

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 .

Một phần của tài liệu Luận văn: Phân cụm tập kết quả tìm kiếm web dựa vào tập thô dung sai docx (Trang 35 - 37)