Mô tả thuật toán CLARANS

Một phần của tài liệu Khai phá dữ liệu với hệ thông tin địa lý và ứng dụng (Trang 26 - 29)

- Kết hợp cả bốn trường hợp trên, tổng giá trị hoán chuyển O m bằng

2.3.2. Mô tả thuật toán CLARANS

Các tác giả đã thực hiện việc tìm kiếm và đánh giá độ tốt của phép tìm kiếm bằng cách xây dựng một đồ thị tìm kiếm như sau. Với n đối tượng cần chia làm k cụm thì đồ thị được đặt tên là Gn,k. Mỗi đỉnh của Gn,k là một tập

gồm k đối tượng Om1,....,Omk , ngụ ý rằng mỗi đối tượng Omi là tâm của một cụm. Tập đỉnh của đồ thị là O ,....,O |O ,...,O CSDL k 1 k 1 m m m m . Hai

đỉnh của đồ thị được gọi là kề nhau nếu chúng có khác nhau duy nhất một đối tượng. Nghĩa là S1 = Om1,...,Omk và S2 =

1

w w

O ,...,O

k thì S1 và S2 được gọi là kề nhau nếu và chỉ nếu |S1 S2| = k - 1. Như vậy mỗi đỉnh có k(n-k) đỉnh kề. Theo cách định nghĩa đồ thị thì mỗi đỉnh là một phương án chọn k điểm tâm của k cụm, gán mỗi đỉnh của đồ thị với một trọng số là tổng khoảng cách của tất cả các đối tượng đến tâm tương ứng. Dùng trọng số này để đánh giá độ tốt của mỗi phương án.

Thuật toán CLARANS cần có hai tham số đầu vào là numlocal (số cục bộ địa phương cần tìm) và maxneighbor (số đỉnh kề cần xét). Quá trình thực hiện của thuật toán như sau: Đầu tiên chọn ngẫu nhiên một đỉnh làm đỉnh hiện thời, lấy ngẫu nhiên một đỉnh kề với đỉnh hiện thời, so sánh trọng số của đỉnh hiện thời và đỉnh vừa chọn, nếu đỉnh vừa chọn có trọng số nhỏ hơn thì đặt đỉnh đó làm đỉnh hiện thời, lặp lại quá trình đó maxneighbor lần, tìm được một đỉnh có trọng số thấp nhất, trọng số này gọi là cực tiểu địa phương. So sánh cực tiểu địa phương với một số mincost, nếu nhỏ hơn thì gán mincost bằng cực tiểu địa phương đó và lưu lại đỉnh hiện thời vào bestnode. Lặp lại quá trình trên đủ numlocal lần. Kết quả được chứa trong bestnode.

Thuật toán CLARANS đƣợc mô tả cụ thể nhƣ sau:

Bước 1: Đặt i = 1, mincost = + .

Bước 2: Chọn một đỉnh ngẫu nhiên của Gn,k gọi là đỉnh hiện thời current.

Bước 3: Đặt j = 1.

Bước 5: Nếu S có trọng số nhỏ hơn current thì đặt S là đỉnh hiện thời và trở lại bước 3.

Bước 6: Ngược lại, j = j + 1. Nếu j maxneighbor thì quay về bước 4.

Bước 7: Ngược lại, khi j > maxneighbor thì so sánh trọng số của current

với mincost, nếu nhỏ hơn mincost thì đặt mincost bằng trọng số của current và đặt bestnode = current.

Bước 8: i = i + 1, nếu i > numlocal thì đưa ra bestnode và dừng, ngược lại thì quay về bước 2.

Như vậy, quá trình hoạt động của CLARANS tương tự với quá trình hoạt động của thuật toán CLARA. Tuy nhiên, ở giai đoạn lựa chọn các trung tâm medoid cụm dữ liệu, CLARANS lựa chọn một giải pháp tốt hơn bằng cách lấy ngẫu nhiên một đối tượng của k đối tượng trung tâm medoid của cụm và cố gắng thay thế nó với một đối tượng được chọn ngẫu nhiên trong (n-k) đối tượng còn lại, nếu không có giải pháp nào tốt hơn sau một số cố gắng lựa chọn ngẫu nhiên xác định, thuật toán dừng và cho kết quả phân cụm tối ưu cục bộ.

CLARANS có ưu điểm là không gian tìm kiếm không bị giới hạn 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 so với CLARA. Thuật toán CLARANS được đánh giá là hiệu quả trên CSDL lớn, vấn đề xác định tham số numlocal và maxneighbor không phức tạp. Có thể chọn các giá trị khác nhau sao cho phù hợp với CSDL cần nghiên cứu.

Tuy nhiên, CLARANS cũng bộc lộ một số hạn chế. Thứ nhất, CLARANS cần đưa cả CSDL vào bộ nhớ trong. Thứ hai thời gian thực thi có nhiều trường hợp rất xấu, trường hợp tốt nhất là O(kn2) và trường hợp xấu nhất là O(nk

Một phần của tài liệu Khai phá dữ liệu với hệ thông tin địa lý và ứng dụng (Trang 26 - 29)

Tải bản đầy đủ (PDF)

(85 trang)