Phân cụm dữ liệu địa lý có nhiều ứng dụng trong lĩnh vực khai phá dữ liệu, trích xuất thông tin và tri thức cần thiết để giải quyết nhiều bài toán ứng dụng trong kinh tế, xã hội.
Bài toán phân cụm dữ liệu địa lý có một số đặc thù riêng cần xem xét.
-Các đối tƣợng vùng là các đa giác. Phân cụm các đa giác (các vùng địa lý ) có hai cách tiếp cận: 1) Lấy 1 điểm đại diện cho cả đa giác, ví dụ trọng tâm (centroid). Cách làm này đơn giản, nhưng có nhược điểm khi các vùng có kích thước và hình dáng rất đa dạng: rất to hoặc rất bé, khá tròn trịa hoặc dài và hẹp, v.v… Khoảng cách giữa hai điểm đại diện cho hai đa giác không phản ánh thích hợp hai vùng ở gần nhau hay xa nhau. 2) Xét toàn bộ đa giác như một đối tượng hình học. Lúc này có thể áp dụng một số định nghĩa khoảng cách khác nhau, phản ánh tốt hơn “khoảng cách” nhưng tính toán sẽ phức tạp hơn.
- Kết hợp giữa dữ liệu thuộc tính và dữ liệu không gian. Hàm tính khoàng cách sẽ kết hợp khoảng cách không gian và “khoảng cách” của các thuộc tính thành một độ đo khoảng cách chung hay xét riêng, chia làm hai bước phân cụm. Trước hết phân cụm theo dữ liệu thuộc tính, sau đó chỉ gom các vùng kề nhau hoặc cách nhau dưới một ngưỡng nào đó vào cùng cụm.
sông, cách núi thì không được gom trong cùng một cụm. Tương tự như vậy, có thể cần xét đến điều kiện hành chính. Cùng cụm thì phải cùng đơn vị hành chính cấp nào đó. Các yêu cầu này dẫn đến bài toán phân cụm có điều kiện ràng buộc hay phân cụm bám giám sát.
-Dữ liệu địa lý có sẵn tính mờ.
Một số loại dữ liệu địa lý có sẵn tính mờ ví dụ như dữ liệu ảnh vệ tinh thời tiết, ảnh viễn thám. Cách tiếp cận mờ, trong bài toán phân cụm những loại dữ liệu này tỏ ra là lựa chọn tự nhiên và phù hợp nhất. Đã có một số nghiên cứu phân cụm mờ cho dữ liệu địa lý với các kết quả khả quan.
CHƢƠNG 2
PHÂN CỤM BẰNG THUẬT TOÁN LAN TRUYỀN ĐỘ TƢƠNG TỰ 2.1 Các khái niệm cơ sở
2.1.1 Ý tƣởng thuật toán
Thuật toán lan truyền độ tương tự (Affinity Propagation - AP) là thuật toán phân cụm dữ liệu được đưa ra bởi Frey & Dueck vào năm 2007 dựa trên ý tưởng thuật toán lan truyền độ tin cậy. Thuật toán lan truyền làm việc dựa trên sự tương đồng (affinity nghĩa là sự giống nhau, sự tương thích, sự hấp dẫn) giữa các cặp điểm dữ liệu và đồng thời xem xét tất cả các điểm dữ liệu như các tâm cụm tiềm năng, theo thuật ngữ ở đây là tất cả các điểm dữ liệu đều là hình mẫu (exemplar) tiềm năng, và trao đổi các thông điệp giá trị thực cho đến khi có được tập hình mẫu tốt (phân cụm tương ứng).
Thuật toán phân cụm AP có một số ưu điểm: cho kết quả phân cụm tốt, đặc biệt là trong trường hợp có số lượng lớn các cụm, phát hiện cụm có hình dáng bất kỳ, không yêu cầu phải xác định trước số cụm.
Hình dưới đây minh họa ý tưởng lan truyền độ tương tự trong đồ thị factor. Đồ thị gồm có N nút (đỉnh) biến và N nút hàm. Mỗi điểm dữ liệu i ứng với một nút biến ci trong đồ thị factor. Đồng thời, cũng có N nút hàm fi ( c1, , c2 , … , cN) tương ứng.
Hình 2.1: Đồ thị Affinity Propagation (AP)
- Đầu vào: độ tương tự {s(i,k)} giữa hai điểm dữ liệu i và k, chính là mức độ tốt để điểm k làm hình mẫu cho điểm i. Chú ý rằng không bắt buộc phải có tính đối xứng, nghĩa là có thể s(i,k) ≠ s(k,i).
- ci = k, i ≠ k nghĩa là điểm i được gán vào cụm mà k là hình mẫu;
- ck = k nghĩa là điểm k là một hình mẫu (của cụm). Các thông điệp là vectơ n số thực có hai loại :
- Thông điệp từ nút biến i đến → (N) nút hàm k: r(i,k) = responsibility - Thông điệp từ nút hàm k đến → (N) nút biến i: a(i,k) = availability
- Responsibility – mức đáp ứng r(i,k) = mức độ tốt khi k làm hình mẫu cho i, có tính đến các bằng chứng đã tích lũy đến nay và các hình mẫu tiềm năng khác.
- Availability – mức sẵn sàng a(i,k) = mức độ tốt khi i làm hình mẫu cho k, có tính đến các bằng chứng đã tích lũy đến nay và từ các điểm khác mà k là một hình mẫu.
Một điểm dữ liệu đều có tư cách là thành viên cụm hay ứng viên làm hình mẫu, tùy theo nó đang gửi hay nhận thông điệp nào, mức sẵn sàng hay mức đáp ứng.
Khi thuật toán hội tụ, điểm i chọn k như hình mẫu nếu r(i, k) + a (i, k) lớn nhất, điểm k sẽ thành một tâm cụm chính thức.
2.1.2 Các công thức chính trong thuật toán AP
Độ tương tự: 2 ) , (i j xi xj s , i j. Độ ưu tiên: s(i,i). Mức đáp ứng: (, ') ( , ') max ) , ( ) , ( ' a i k s i k k i s k i r k k . Mức sẵn sàng: {, } ' ) , ' ( , 0 max ) , ( , 0 min ) , ( k i i k i r k k r k i a . Mức tự sẵn sàng: k i k i r k k a , ' ) , ' ( , 0 max ) , (
Quá trình cập nhật ( là hệ số suy giảm): ) , ( ) 1 ( ) , ( . ) , ( 1 1 i k r i k r i k rt t t ) , ( ) 1 ( ) , ( . ) , ( 1 1 i k a i k a i k at t t
2.1.3 Thuật toán AP nguyên thủy
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 , i j (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 at1; rt1theo 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)
2.2 Thuật toán lan truyền AP tự thích nghi
Có hai thông số quan trọng trong AP, đó là lựa chọn độ các độ ưu tiên hay độ ưa thích (preference) p(i) và thừa số suy giảm lăm đa (lam). Cần lưu ý rằng p(i) cũng là các giá trị độ tự tương tự ban đầu được gán bằng s(i,i) trong đường chéo của ma trận độ tương tự S.
Lựa chọn p(i)
Các tham số độ ưu tiên p(i), với giá trị ban đầu của nó là âm, cho thấy lựa chọn mà điểm dữ liệu i được chọn là một hình mẫu hay tâm của cụm, và ảnh hưởng đến chất lượng và số lượng của các cụm kết quả.
Công thức chính trong thuật toán AP là:
- r(i,k)=s(i,k)-max{a(i,j)+s(i,j)}, j{1,2,…,n} với jk; - a(i,k) = min {0,r(k,k)+sum{max(0,r(j,k))}}, j{1,2,…,n}
với j ≠ i và j ≠ k;
- p xuất hiện trong r (k, k) = p (k) - max {a (k, j) + s (k, j)}.
Do đó, p ảnh hưởng đến có bao nhiêu hình mẫu sẽ giành chiến thắng cuối cùng để làm tâm cụm. Khi p (k) là lớn hơn, thì r (k, k) và a (i, k) là lớn hơn, do đó nó có nhiều khả năng hơn rằng điểm k là một tâm cụm cuối cùng. Điều này có nghĩa là số lượng cụm được xác định sẽ tăng hoặc giảm bằng cách điều chỉnh p tương ứng. Thông thường một lựa chọn tốt là gán tất cả các p (i) là trung vị của tất cả các độ tương tự giữa các điểm dữ liệu [1].
Lựa chọn lăm đa
Trong mỗi bước lặp i, R và A được cập nhật với một vào lần lặp cuối cùng:
Ri = (1-lam)×ri + lam×ri-1, Ai = (1-lam)×Ai + lam×Ai-1
Trong đó thừa số suy giảm lam [0,1] và thường mặc định lam = 0,5.
Nghiên cứu cho thấy tham số lăm đa tác động đến tính hội tụ và tốc độ hội tụ của thuật toán. Tăng lăm đa sẽ tăng tốc độ hội tụ nhưng có thể dẫn đến hiện tượng gọi là dao động, làm thuật toán không hội tụ. Giảm dần lăm đa sẽ loại bỏ các dao động, đảm bảo tính hội tụ.
Dưới đây sẽ trình bày một cách tiếp cận để điều chỉnh hai tham số độ ưa thích (preference) p(i) và thừa số suy giảm lăm đa (lam) để đảm bảo sự hội tụ và chất lượng phân cụm tốt.
2.2.1 Phƣơng pháp thích ứng giảm dần
Như đã phân tích trên, tham số lăm đa ảnh hưởng đến khả năng xảy ra dao động làm thuật toán không hội tụ. Ý tưởng điều chỉnh tự thích nghi lăm đa như sau : xuất phát với = 0.5, tăng dần = + 0.05 cho đến khi phát hiện có dao động.
(2) tăng một lần bằng một bước 0.05 nếu dao động được phát hiện, nếu không về (1);
(3) Lặp tiếp tục w lần;
(4) Lặp lại các bước này đến khi các thuật toán đáp ứng điều kiện dừng
Bảng 2: Thủ tục giảm dần thích ứng và thoát thích nghi
Khởi tạo:
lam ← 0.5 (tham số giảm dao động) w ← 40 (kích thước cửa sổ)
w2 ← w / 8
maxits (số lần lặp tối đa) ps (bước giảm)
for i←1 to maxits do
Kset(i) ← K (K là số lượng cụm) Km(i) ← mean(Kset(i-w2:i))
if Km(i)-Km(i-1) < 0
then Kd←1 (ghi lại K đã giảm)
end if
Kc ←∑ j |Kset(i)-Kset(j)| (ghi lại K không đổi, j i-w2, i-1] (Ghi lại K giảm hay không đổi vào cửa sổ theo dõi Kb)
if Kd = 1 or Kc = 0
then Kb(i) ←1 (j là phần dữ của j/w)
else Kb(j)←0 ( j là phần dữ của j/w) end if Ks ←∑ j Kb(j) (j 1 to w) if Ks < 2w/3 then lam←lam+0.05 if lam >= 0.85 then p←p+ps end if end if
2.2.2 Kỹ thuật thích nghi p-scanning
Tham số p ảnh hưởng đến có bao nhiêu điểm giành chiến thắng cuối cùng để làm tâm cụm. Khi p(k) là lớn hơn, thì có nhiều khả năng rằng điểm k là một tâm cụm cuối cùng. Điều này có nghĩa là số lượng cụm được xác định sẽ tăng hoặc giảm bằng cách điều chỉnh p tương ứng.
Kỹ thuật thích nghi p-scanning được thiết kế như sau: (1) xác định một p lớn để bắt đầu các thuật toán;
(2) chạy một lần lặp với K hình mẫu ;
(3) kiểm tra xem khuôn mẫu K hội tụ (điều kiện là mỗi khuôn mẫu đáp ứng sẵn thời gian liên tục không thay đổi );
(4) đi đến bước (5) nếu K khuôn mẫu hội tụ, nếu không về bước (2)
(5) giảm p bước ps nếu K khuôn mẫu hội tụ quá trong lần lặp dy (điều này là sự hội tụ đáng tin cậy hơn), nếu không về bước (2); (6) đi đến bước (2).
Một tập dữ liệu với n mẫu được chia cho k cụm Ci (i = 1 ~ k), a (t) khác trung bình mẫu t của Cj cho tất cả các mẫu khác vào Cj, d (t, Ci) là khác trung
bình mẫu t của Cj để tất cả các mẫu trong một cụm Ci, sau đó b (t) = min {d (t, Ci)}, i = 1 ~ k, i ≠ j. Công thức Silhouette cho mẫu t là:
Sil(t) =
Với Sil (t) cho mỗi mẫu, tổng silhouette trung bình Sil cho n mẫu của bộ dữ liệu được lấy trực tiếp. Những silhouette trung bình chung lớn nhất lớn nhất cho thấy chất lượng phân cụm tốt nhất và tối ưu NC [3]. Sử dụng công thức (1), một loạt các giá trị tương ứng với Sil giải pháp phân cụm khác nhau được tính toán, và các giải pháp phân cụm tối ưu được tìm thấy tại Sil lớn nhất.
Bảng 3: Thủ tục thích nghi quét p để tìm kiếm không gian NC
2.3 Thuật toán lan truyền AP với tập dữ liệu hỗn hợp kiểu số và kiểu phân loại
Thuật toán lan truyền là một phương pháp phân cụm dựa trên mẫu, đã chứng minh hiệu suất tốt trên nhiều loại bộ dữ liệu. Tuy nhiên, nó có những hạn chế khi xử lý các bộ dữ liệu hỗn hợp. Một thước đo độ tương tự mới được đề xuất cho bộ dữ liệu hỗn hợp và một thuật toán phân cụm lan truyền thích ứng để phân cụm dữ liệu hỗn hợp. Để đánh giá hiệu suất của thuật toán, đã thử nhiều bộ dữ liệu thực tế. So sánh với các thuật toán phân cụm khác chứng minh rằng phương pháp đề xuất hoạt động tốt không chỉ trên bộ dữ liệu hỗn hợp mà cả trên các tập dữ liệu chỉ thuần kiểu số hoặc thuần kiểu phân loại.
Khởi tạo: p←pm/2, ps←pm/100, b←0, v←40, dy←10, nits←0, maxits←50000.
for i←1 to maxits do
Kset(i)←K (K là số lượng cụm)
if điểm k là exemplar
then B(k,j)←1 (j là phần dư của i/v) else B(k,j)←0 (j là phần dư của i/v) end if
if có K exemplars sao cho ∑j B(k,j) = v then Hdown←1 (K hình mẫu đã hội tụ) else Hdown←0, b←0, nits←0 nits←nits+1 end if
if Hdown = 1 and nits >= dy
then b←b+1 q ←0.1 √K+50 p ←p+b* ps / q nits ←0 if K <= 2 then stop end if
2.3.1 Khoảng cách và ý nghĩa
Dựa vào hàm chi phí của Huang, Ahmad và Dey phát triển một khung làm việc để tính toán khoảng cách và ý nghĩa của nó, không chỉ xem xét các khoảng cách giữa các cặp giá trị khác nhau của thuộc tính, mà còn tính đến cả occurrence của chúng so với các thuộc tính khác. Cả hai bộ phận này sẽ được đưa vào tính ma trận khoảng cách của một bộ dữ liệu hỗn hợp.
Bước đầu tiên
Tính toán khoảng cách giữa mỗi cặp giá trị thuộc tính phân loại. là một thuộc tính phân loại; x, y và là hai giá trị phân loại.
Gọi là một thuộc tính phân loại khác; là một tập hợp con các giá trị của . là phần bù của
Xác suất có điều kiện p( /x) là xác suất mà điểm dữ liệu có thuộc tính nhận giá trị x sẽ có thuộc tính nhận giá trị thuộc
Tương tự, p( /y) là xác suất có điều kiện mà điểm dữ liệu có thuộc tính nhận giá trị y sẽ có thuộc tính nhận giá trị thuộc
Khoảng cách giữa cặp giá trị x, y của thuộc tính, khi xét tương quan (as regard) với thuộc tính và một tập hợp con cụ thể sẽ là
(x,y)= ( | + ( | (5)
Khoảng cách giữa cặp giá trị x, y của thuộc tính, khi xét tương quan với thuộc tính , kí hiệu là (x, y)
(x,y)= ( | + ( | (6)
Ở đây là tập con của các giá trị của sao cho làm cực đại ( | + ( |
(x, y)= ( | + ( | - 1.0 (7)
Với tập dữ liệu có m thuộc tính, gồm cả thuộc tính kiểu phân loại và kiểu số đã được rời rạc hóa, khoảng cách giữa hai giá trị x và y của một thuộc tính phân loại được tính bằng :
∑
(8)
Sử dụng các công thức (5) đến (8), có thể tính toán khoảng cách giữa hai giá trị khác nhau của thuộc tính phân loại và thuộc tính số rời rạc hóa.
Bước hai: xác định ý nghĩa hay tầm quan trọng của mỗi thuộc tính số. Để tính toán ý nghĩa (tầm quan trọng) của một thuộc tính số, đầu tiên phải rời rạc hóa thành S khoảng. Mỗi khoảng được gán một giá trị phân loại c[1], c[2],…c[S]
Sau đó, sử dụng các công thức (5) đến (8), giống như cho thuôc tính kiểu phân loại có thể tính toán khoảng cách (c[i], c[j] của mỗi cặp.
Cuối cùng, ý nghĩa (tầm quan trọng) của một thuộc tính kiểu số r, được tính là trung bình của (c[i],c[j]) với mọi cặp c[i] [j]: