Thuật toỏn CLARANS

Một phần của tài liệu Phương pháp phân cụm và ứng dụng (Trang 45 - 47)

3. Thuật toỏn phõn cụm dữ liệu dựa vào cụm trung tõm 1 Thuật toỏn K – means

3.4Thuật toỏn CLARANS

CLARANS cũng sử dụng kiểu k-medoids , nú kết hợp thuật toỏn PAM với chiến lược tỡm kiếm kinh nghiệm mới. í tưởng cơ bản của CLARANS là khụng xem xột tất cả cỏc khả năng cú thể thay thế cỏc đối tượng tõm medoids bới một đối tượng khỏc, nú ngay lập tức thay thế cỏc đối tượng tõm này nếu việc thay thế này cú tỏc động tốt đến chất lượng phõn cụm chứ khụng cần xỏc định cỏch thay thế tối ưu nhất.

CLARANS lấy ngẫu nhiờn một đối tượng của k đối tượng medoid trong tõm cụm và cố gắng thay thế nú với một đối tượng chọn ngẫu nhiờn trong (n-k) đối tượng cũn lại. Cụm thu được sau khi thay thế đối tượng trung tõm được gọi là một lỏng giềng của phõn hoạch cụm trước đú. Số cỏc lỏng giềng được hạn chế bởi tham số do người dựng đưa vào là Maxneighbor, quỏ trỡnh lựa chọn cỏc lỏng giềng này hoàn toàn ngẫu nhiờn. Tham số Numlocal cho phộp người dựng xỏc định số vũng lặp tối ưu cục bộ được tỡm kiếm. Khụng phải tất cả cỏc lỏng giếng được duyệt mà chỉ cú Maxneighbor số lỏng giềng được duyệt. Nếu một lỏng giềng tốt hơn được tỡm thấy, thỡ CLARANS di chuyển lỏng giềng đú tới nỳt và quỏ trỡnh bắt đầu lặp lại; nếu khụng kết quả cụm hiện thời là tối ưu cục bộ. Nếu tối ưu cục bộ được tỡm thấy, thỡ CLARANS bắt đầu với lựa chọn nỳt ngẫu nhiờn mới trong tỡm kiếm tối ưu cục bộ mới.

CLARANS khụng thớch hợp với tập dữ liệu lớn bởi vỡ nú lấy phần nhỏ của toàn bộ tập dữ liệu và phần này được chọn để đại diện toàn bộ tập dữ liệu và thực hiện sau đú. CLARANS khụng bị giới hạn khụng gian tỡm kiếm như đối với CLARA, và trong cựng một lượng thời gian thỡ chất lượng của cỏc cụm phõn được là lớn hơn CLARA.

Một số khỏi niệm sử dụng trong thuật toỏn CLARANS được định nghĩa như sau:

Giả sử O là một tập cú n đối tượng và MOlà tập cỏc đối tượng tõm mediod, NM = O- M là tập cỏc đố tượng khụng phải tõm. Cỏc đối tượng dữ liệu sử dụng trong thuật toỏn CLARANS là cỏc khối đa diện. Mỗi đối tượng được diễn tả bằng một tập cỏc cạnh, mỗi cạnh được xỏc định bằng hai điểm.

Giả sử 3

PR là một tập tất cả cỏc điểm . Núi chung, cỏc đối tượng ở đõy là cỏc đối tượng dữ liệu khụng gian và chỳng ta định nghĩa tõm của một đối tượng chớnh là trung bỡnh cộng toỏn học của tất cả cỏc đỉnh hay cũn gọi là trọng tõm :

:

center OP

Giả sử dist là một hàm khoảng cỏch, khoảng cỏch thường được chọn ở đõy là khoảng cỏch Eucliean : dist PxP: R0

Hàm khoảng cỏch dist cú thể mở rộng cho cỏc điểm của khối đa diện thụng qua hàm tõm : dist OxO: R0 sao cho

ist(o ,i j) is ( ( ),i ( ))j

d od t center o center o

Mỗi đối tượng được gỏn cho một tõm medoid của cụm nếu khoảng cỏch từ trọng tõm của đối tượng đú tới tõm medoid của nú là nhỏ nhất. Vỡ vậy, định nghĩa tõm medoid như sau : medoid : OM sao cho

( ) i, i , i : is( , i) is ( , j),

medoid om mM  m M d o md t o m oO. Cuối cựng định nghĩa

một cụm tới tõm mediod mi tương ứng là một tập con cỏc đối tượng trong O với medoid(o) = mi

Giả sử C0 là tập tất cả cỏc phõn hoạch của O. Hàm tổng để đỏnh giỏ chất lượng một phõn hoạch được định nghĩa như sau : total_distance : C0R0

sao cho total_distance(c)= d t o mis ( , i)với miM o, cluster m( i) Thuật toỏn chi tiết CLARANS :

Input : O,k, dist, numlocal và maxneighbor;’

Output : k cụm dữ liệu;

CLARANS(int k, function dist, int numlocal, int maxneighbor)

BEGIN

For (i = 1 ; 1 <= numlocalk; i++{ current.creat_randomly(k); j = 1 ;

while (j <= maxneighbor) {

current.select_radom(old, new);

diff = current.caculate_distance_difference(old, new);

if (diff < 0){

j = 1; } Else j++; //end if } //end while Dist = current.caculate_total_distance(); If (disr < smallest_dist) { Best = current; Smallest_dist= dist; } // end if }// end for END.

Một phần của tài liệu Phương pháp phân cụm và ứng dụng (Trang 45 - 47)