Thuật toán AP nguyên thủy

Một phần của tài liệu (LUẬN văn THẠC sĩ) phương pháp lan truyền độ tương tự trong phân cụm dữ liệu và ứng dụng (Trang 32 - 34)

Bảng 1: Mã gỉa thuật toán được đề xuất

Điều kiện dừng có thể là:

a[i][j] ← 0  i,j s[i][j] ←

 i,j

While điều kiện hội tụ không thoả mãn

for each i,k

tìm k'≠k làm cực đại a[i][k']+s[i][k'] r[i][k] ← s[i][k]-(a[i][k']+s[i][k']) sum ← 0;

for each i' ∉{i,k} if r[i'][k]>0 then

do sum ← sum+r[i'][k] end if

end for

if (i==k)

then a[i][k] ← sum else if (r[k][k]+sum) <0

then a[i][k] ← r[k][k]+sum else a[i][k] ← 0 end if end if end for for each i Tìm k để a[i][k]+r[i][k] lớn nhất Thiết lập k như là hình mẫu của i Đặt điểm i vào cụm của k

end for end while

- Sau một số lần nhất định lặp đi lặp lại.

- Các thay đổi của tất cả các giá trị thông điệp trong một lần lặp nhỏ hơn một ngưỡng.

- Các hình mẫu không thay đổi sau một số lần lặp.

Đầu vào:

- Tập dữ liệu đầu vào X

- Số điểm dữ liệu N, số chiều r

- Ngưỡng  , số bước lặp MaxStep

Đầu ra:

Cụm dữ liệu { sao cho thỏa mãn: =arg

Các bƣớc chạy thuật toán

Bước 1:

- Tính giá trị S(i,j) theo công thức tính khoảng cách euclide và lấy đối

2

) ,

(i j xi xj

s   , ij (i, j từ 1=> N) - Set giá trị cho a(i,j) = 0 (i, j = 1=> N)

- Set các giá trị a(i,j) = S(i,j) = R(i,j) = khuyên nếu i = j

Bước 2: Bắt đầu chạy trong vòng lặp - Update hệ số { , } 2.1: Tìm k sao cho a(i,k) + s(i,k) đạt giá trị max

2.2: Tính r(i,j) theo công thức: r(i, j) = s(i, j) - (a(i, k) + s(i, k)) với (i, j từ 1=> N), k là các giá trị tìm được ở bước 2.1

2.3: Tính toán: Gán sum =0

- Tính tiếp:

if i = j then a(i, j) = sum else if (r(j, j) + sum) < 0 then a(i, j) = r(j, j) + sum else

a(i, j) = 0

2.4: Tính toán at1; rt1theo công thức có tham số lamda: Rnext(i, j) = lamda * R(i, j) + (1 - lamda) * Rnext(i, j) anext(i, j) = lamda * a(i, j) + (1 - lamda) * anext(i, j) 2.5: Cập nhật lại a= a.next; R = R.next

Kết thúc vòng lặp Bước 3: Xác định cụm

Xác định các exampler cho từng điểm bằng cách tìm k sao cho:

a(i,k) + s(i,k) đạt giá trị max (tính toán giống bước B1, chỉ khác là a đã được cập nhật lại ở cuối vòng lặp)

Một phần của tài liệu (LUẬN văn THẠC sĩ) phương pháp lan truyền độ tương tự trong phân cụm dữ liệu và ứng dụng (Trang 32 - 34)