Thuật toán lan truyền AP tự thích nghi

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 34)

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 jk; - 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-lamri + lam×ri-1, Ai = (1-lamAi + 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ị xy 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]:

= ∑ ∑

(9)

2.3.2 Phƣơng pháp

Ý tưởng chính của thuật toán là phân cụm AP và sử dụng độ đo tương tự đối với dữ liệu hỗn hợp kiểu số và kiểu phân loại.

Thuật toán 1: Mã giả tính có trọng số.

2.3.3 Cải thiện độ đo tƣơng tự

- Với một bộ dữ liệu hỗn hợp đã cho, gọi , i = 1,…, r là một thuộc tính số, nhận các giá trị là { , , …. } n là số lượng điểm dữ liệu.

- Độ tương tự giữa được định nghĩa là:

s( )= - ( (10)

Ở đây S có thể được xem như là một ma trận n x n và độ tương tự s( ) là bình phương sai số ( ) lấy dấu âm. Phương pháp mới để tính tầm quan trọng của thuộc tính số được liệt kê trong thuật toán 1.

Set 𝑖 = 0;

For each thuộc tính số 𝐴𝑖 trong bộ dữ liệu 𝐴do

Tính ma trận tương tự dựa trên (10) là đầu vào; Tính trung vị của các độ tương tự làm độ ưu tiên p;

Thực hiện thuật toán AP, bước (1) - (4), kết quả phân cụm 𝑆𝑖; Rời rạc hóa thuộc tính 𝐴𝑖 vào các khoảng 𝑆𝑖;

𝑖 = 𝑖 + 1;

end for

Lập bộ dữ liệu 𝐵 mới, gồm dữ liệu thuần phân loại và các thuộc tính số đã rời rạc và các thuộc tính phân loại ban đầu;

For eachs thuộc tính 𝐵𝑗 trong bộ dữ liệu 𝐵 do

Tính khoảng cách giữa hai giá trị của mọi thuộc tính phân loại sử dụng (5) - (8);

Tính trọng số của mỗi thuộc tính số sử dụng (9), trong đó khoảng 𝑆 được thay thế bởi 𝑆𝑖.

Hình 2.2: Minh họa hiệu năng của ba kỹ thuật rời rạc hóa khác nhau

Dữ liệu thô, chiều rộng bằng nhau, tần số bằng nhau, và phương pháp AP được liệt kê trong hình. Nó cho thấy rằng phương pháp AP thực sự phản ánh tốt nhất quy luật phân bố đều đặn của các điểm dữ liệu.

Gọi S là ma trận độ tương tự nxn , ta định nghĩa độ giống nhau giữa hai giá trị như sau:

S( ) = - - (11)

Ở đây à khoảng cách chỉ với các thuộc tính

kiểu số, là tầm quan trọng của thuộc tính i, kiểu số, và l là khoảng cách chỉ với các thuộc tính kiểu phân loại.

Độ tương tự tính bằng bình phương sai số, lấy dấu âm, để làm đầu vào cho thuật toán AP.

2.3.4 Thích nghi thuật toán lan truyền

Để tìm giá trị p tối ưu, ta đề xuất một chiến lược thích ứng như sau: = + (12)

Ở đây t là thời gian chạy của thuật toán AP,  > 1 là một hàm của số lượng cụm trong kết quả lần chạy thứ t, và  là độ dài bước tìm kiếm. và

là những giá trị âm.  là hệ số điều chỉnh thô,  là hệ số tinh chỉnh.

Khi giá trị của là lớn hơn nhiều so với giá trị mục tiêu K, nên sử dụng một giá trị  tương ứng lớn hơn, để p có thể giảm nhanh.

Ngược lại, khi gần mục tiêu K, cần xác định giá trị  nhỏ hơn. Đặt hệ số điều chỉnh thô  = ( - K)+0,5.

Trong trường hợp này, thuật toán có thể điều chỉnh động giá trị của , theo số lượng cụm hiện có

Chiến lược điều chỉnh thô làm cho thuật toán tìm được đúng số lượng các cụm, các bước tinh chỉnh nhằm thực hiện phân cụm tốt hơn.

Trong giai đoạn lặp của K,  được đặt = 0. Khi bước vào giai đoạn = K,  được gán = 1. Giá trị của  là quan trọng đối với việc quét khu vực địa phương để làm cực đại hàm năng lượng.

 được đặt là  = 0.01 , ở đây là giá trị ban đầu của p. Giai đoạn quét có thể được chấm dứt khi hàm năng lượng giảm hoặc sau một số cố định lần lặp tinh chỉnh.

Mặt khác, nhân tố giảm xóc λ là một tham số khác điều khiển hội tụ và tốc độ thuật toán. Mục đích của chúng tôi là, trong trường hợp không có dao động, thuật toán có thể có được một tốc độ hội tụ nhanh hơn.

Một cơ chế thích nghi của λ được áp dụng để cân bằng mâu thuẫn giữa dao động và hội tụ. Mặc dù duy trì một λ lớn hơn, gần bằng 1, có thể dễ dàng tránh dao động số, nhưng việc giảm tương ứng của tốc độ cập nhật “availability” và “responsibility” là không tránh khỏi. Với λ nhỏ hơn cần nhiều lần lặp hơn để có được một kết quả tương ứng. Vì vậy, thay đổi λ cùng với việc lặp của thuật toán là một lựa chọn tốt hơn. Theo quan niệm này, chúng tôi đã thiết kế một cơ chế thích ứng λ như sau:

= - - ) + (13)

Ở đây K là số lần lặp còn iteration là số max lần lặp. and là max, min. Hệ số a để chỉnh tốc độ giảm của . Khi giá trị a > 1,  giảm nhanh.

Thuật toán 2: Mã giả của thuật toán được đề xuất.

Tính ma trận độ tương tự và độ ưu tiên làm đầu vào của thuật toán AP.

For each thuộc tính số 𝐴𝑖 trong bộ dữ liệu 𝐴 do

Tính độ quan trọng của thuộc tính 𝐴𝑖 sử dụng phương pháp tại mục 3.1;

end for

For each thuộc tính số 𝐴𝑖 trong bộ dữ liệu 𝐴 do

Tính khoảng cách của mọi cặp giá trị trong 𝐴𝑗 dựa trên (5) - (8);

end for

Sinh ma trận độ tương tự (đầu vào) của tập dữ liệu hỗn hợp sử dụng (11); Đặt độ ưu tiên 𝑝𝑚 bằng trung vị của các độ tương tự;

Nhập số lượng cụm 𝐾;

While các điều kiện chấm dứt chưa thỏa do for each lần chạy thuật toán AP do

if 𝐾𝑡 ≠ 𝐾then

Chiến lược thích ứng giá trị 𝑝 là 𝑝𝑡+1= 𝛼𝑝𝑡, với 𝛼 = √(𝐾𝑡− 𝐾) + 0.5;

else if 𝐾𝑡 = 𝐾then

Chiến lược thích ứng giá trị 𝑝 là 𝑝𝑡+1= 𝑝𝑡+𝛽, Với 𝛽 = 0.01𝑝𝑚;

end if

Chiến lược thích ứng 𝜆 theo (13);

end for end while

CHƢƠNG 3

XÂY DỰNG ỨNG DỤNG PHÂN CỤM DỮ LIỆU ĐỊA LÝ 3.1 Bài toán thực tế và cách tiếp cận phân cụm dữ liệu

3.1.1 Bài toán khai thác các dữ liệu quan trắc khí tƣợng

Ở các địa phương nước ta đều có các trạm quan trắc khí tượng, thu thập dữ liệu định kỳ về môi trường khí hậu. Những dữ liệu này trước hết phục vụ cho dự báo thời tiết; theo dõi biến động của môi trường khí hậu; chất lượng không khí,v… Về lâu dài, đây là kho dữ liệu lớn cần nghiên cứu đưa vào khai thác, sử dụng để phát hiện những thông tin tiềm ẩn về môi trường thiên nhiên, điều kiện khí hậu có thể hữu ích cho các nhà quản lý, quy hoạch phát triển kinh tế, xã hội.

Các dữ liệu do các trạm quan trắc cung cấp phản ánh những thuộc tính khí tượng của tiểu vùng xung quanh như nhiệt độ, độ ẩm, lượng mưa, sức gió, mức khói bụi hay ô nhiễm không khí nói chung v.v… Một cách tiếp cận nghiên cứu khai thác kho dữ liệu này là phân cụm dữ liệu. Phân cụm dữ liệu cho phép phát hiện những đặc trưng, quy luật tiềm ẩn, không yêu cầu đặt ra trước các giả định.

Các bước giải quyết bài toán thực tế gồm:

- Xây dựng các tầng bản đồ chuyên đề chứa vị trí địa lý của các trạm quan trắc khí tượng trên nền bản đồ thực địa, bản đồ hành chính của địa bàn nghiên cứu.

- Thông qua bảng thuộc tính tầng bản đồ, gắn các thuộc tính phi không gian (các cột) là các dữ liệu chuyên đề nhiệt độ, độ ẩm, lượng mưa, sức gió, mức khói bụi, ô nhiễm không khí v.v…

- Thực hiện phân cụm các dữ liệu chuyên đề, riêng biệt hay gộp nhóm một vài thuộc tính có liên quan với nhau. Hiển thị kết quả phân cụm một cách trực quan trên bản đồ. Có thể phân cụm bằng vài phương pháp khác nhau để có sự so sánh, phát hiện những quy luật chung nhất, sau đó rút ra các kết luận thích hợp.

3.1.2 Lựa chọn giải pháp kỹ thuật công nghệ

Hệ thông tin địa lý (GIS) là công cụ thích hợp nhất để thu thập, lưu trữ, chỉnh sửa, truy cập, phân tích và cập nhật các thông tin địa lý cho một mục đích chuyên biệt. Với bài toán đặt ra ở đây, GIS sẽ là công cụ nền tảng để lưu trữ, truy cập, phân tích các dữ liệu chuyên đề bằng phương pháp phân cụm dữ liệu

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 34)