Thị k-dist và một phương pháp ước lượng tham số Eps

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Phương pháp phân cụm dữ liệu không gian và ứng dụng trong việc xác định vị trí tối ưu đặt máy ATM (Trang 50 - 57)

Thử nghiệm cho thấy kết quả ước lượng tự động này khá hiệu quả đối với hầu hết các tập dữ liệu. Dưới đây minh họa đồ thị 4-dist của một vài CSDL:

Hình 26: Đồ thị 4-dist của dữ liệu bản đồ “Ngân hàng”

Hiệu quả của thuật toán

Để đánh giá hiệu quả của DBSCAN, các tác giả của thuật toán đã so sánh với thuật toán khá nổi tiếng là CLARANS. Kết quả thực nghiệm của các tác giả cho thấy thời gian thực hiện của DBSCAN là một hàm gần tuyến tính với số điểm dữ liệu, trong khi đó thời gian thực hiện của CLARANS xấp xỉ hàm bậc 2 của số điểm dữ liệu.

Bảng 1: Kết quả thực nghiệm đánh giá thời gian thực hiện thuật toán (tính theo giây) trên 2 thuật toán của nhóm tác giả

Các tác giả cũng chỉ ra rằng DBSCAN tốt hơn CLARANS gấp 250 đến 1900 lần trong các thí nghiệm, hệ số này sẽ tăng lên khi kích thước của CSDL lớn dần lên. Với cùng CSDL mẫu trong hình vẽ dưới thì CLARANS và DBSCAN cho kết quả lần lượt như minh họa ở hình dưới (các điểm được phát hiện cùng một cụm được minh họa bằng màu giống nhau).

Như vậy, DBSCAN hiệu quả hơn trong việc phát hiện ra các cụm với hình dạng bất kì, kể cả hình không lồi. Và khử nhiễu tốt hơn CLARANS. Tuy nhiên DBSCAN hoạt động kém hiệu quả hơn khi:

 Nếu các cụm có mật độ khác nhau nhiều thì DBSCAN sẽ không giữ được tính hiệu quả. Trên những dữ liệu như thế ta phải áp dụng mật độ của cụm có mật độ thấp nhất cho tất cả các cụm khác. Với các cụm có mật độ rất cao thì DBSCAN tốn nhiều thời gian để xác định lân cận của các điểm một cách không cần thiết.

 Nếu có quan tâm đến các thuộc tính phi không gian (non-spatial) thì sử dụng DBSCAN không thích hợp vì DBSCAN không chú ý đến các thuộc tính đó.

Thuật toán DBRS

Thuật toán DBRS (Density-Based Spatial Clustering Method with Random Sampling) được tác giả Howard J.Hamilton và Xin Wang giới thiệu năm 2003 [WAHA03]. Tư tưởng của thuật toán gần tương tự với thuật toán DBSCAN. Tuy nhiên, DBRS khắc phục được một số hạn chế mà thuật toán DBSCAN còn mắc phải. Như đã nói trong mục trước, thuật toán DBSCAN hoạt động không còn hiệu quả khi mà các cụm được phát hiện có mật độ khác nhau nhiều hoặc dữ liệu có đặc tính phi không gian. DBRS được giới thiệu là thuật toán phân cụm dữ liệu không gian với các đặc trưng như sau:

Các cụm được phát hiện có nhiều hình dạng khác nhau. Chẳng hạn như dữ liệu về địa chỉ của sinh viên của một trường đại học. Khi phân cụm sinh viên theo địa chỉ thì có thể có các cụm sinh viên tại các nhà chung cư (cụm có dạng hình chữ nhật), cụm sinh viên dọc theo các tuyến xe bus (cụm có dạng tuyến),... Các cụm có mật độ khác nhau nhiều. Một ví dụ như CSDL nghiên cứu về sự phân bố khách hàng của một công ty, ở các thành phố lớn thì khách hàng của công ty rất nhiều, còn ở các vùng hẻo lánh thì lượng khách hàng thưa thớt. Vì các thành phố lớn dân số tập trung đông hơn nhiều các vùng hẻo lánh. Như vậy các cụm được phát hiện sẽ có mật độ khác nhau khá lớn.

Dữ liệu có những đặc tính phi không gian (non-spatial).

Áp dụng tốt với các CSDL có kích thước lớn với hàng trăm nghìn điểm.

DBRS là sự mở rộng của thuật toán DBSCAN, các định nghĩa của thuật toán DBSCAN vẫn được dùng bình thường, ngoài ra còn có thêm một số định nghĩa sau đây, nhằm tính tới cả các ảnh hưởng của các thuộc tính phi không gian.

Cho CSDL D, hàm khoảng cách đối xứng dist, các tham số MinPts, Eps và thuộc tính prop (định nghĩa cho khía cạnh thuộc tính phi không gian).

Lân cận ghép (matching neighborhood) của một điểm p là tập:

N’Eps = {q: dist(p,q) <= Eps và p.prop = q.prop}.

DBRS sử dụng các thông tin phi không gian trong quá trình tìm lân cận, và dùng một ngưỡng tối thiểu MinPur để quản lí độ đồng nhất (purity) của lân cận. Một điểm gọi là điểm lõi (core point) nếu nó có lân cận ghép trù mật, tức là lân cận đó có ít nhất MinPts điểm và có ít nhất MinPur điểm lân cận ghép. Điểm biên (border point) là một điểm lân cận của điểm nhân, nhưng không phải là điểm lõi. Một điểm không là điểm lõi hoặc điểm biên thì được coi là điểm nhiễu (noise).

Định nghĩa 7: Kề mật độ đồng nhất trực tiếp

Điểm p và điểm q được gọi là kề mật độ đồng nhất trực tiếp (directly purity-density- reachable) với nhau nếu:

1. p N'Eps(q), |N'Eps(q)| MinPts và |N'Eps(q)| / |NEps(q)| MinPur 2. hoặc q N'Eps(p), |N'Eps(p)| MinPts và |N'Eps(p)| / |NEps(p)| MinPur

Quan hệ kề mật độ đồng nhất trực tiếp là đối xứng với 2 điểm lõi hoặc 1 điểm lõi và 1 điểm biên, nhưng không đối xứng với 2 điểm biên.

Định nghĩa 8: Kề mật độ đồng nhất

Điểm p và điểm q được gọi là kề mật độ đồng nhất với nhau (purity-density-reachable) và kí hiệu là PD(p,q) nếu có một tập điểm p1, p2, ... ,pn. p1 = q, pn = p sao cho pi+1 là kề mật độ đồng nhất trực tiếp với pi (1 i n-1).

Định nghĩa 9:Cụm mật độ đồng nhất

Một cụm C được gọi là cụm mật độ đồng nhất (purity-density-based cluster) là một tập con không rỗng của D thỏa mãn điều kiện sau: Với mọi điểm p,q trong D, nếu p C và p,q là kề mật độ đồng nhất với nhau thì q C. Từ đó suy ra ta thấy mọi cặp điểm trong C đều kề mật độ đồng nhất với nhau.

Một điều hiển nhiên là để chắc chắn tìm được các cụm mật độ đồng nhất thì chúng ta có thể xét trực tiếp các quan hệ liên thông mật độ của các điểm bằng việc duyệt các lân cận ghép của nó. Tuy nhiên thao tác thực hiện tuy vấn miền là để tìm lân cận là rất tốn kém. Chúng ta sẽ cố gắng giảm truy vấn miền nếu có thể, vì thao tác truy vấn miền là thao tác có chi phí cao nhất trong các thuật toán phân cụm dựa trên mật độ. Thuật toán DBRS thực hiện ít truy vấn miền hơn, vì dựa vào một điều hiển nhiên là một cụm bao gồm một số tối thiểu các điểm lõi và các lân cận ghép của chúng. Trong một cụm trù mật (cụm có mật độ cao) thì một lân cận có thể có nhiều hơn MinPts điểm, việc duyệt chi tiết các lân cận của các điểm đó là không cần thiết vì chúng ta đã biết chúng thuộc một cụm. Như vậy, để xác định một cụm ta cần tìm hết các điểm xương của nó, tuy nhiên để tìm xương là một bài toán NP-đủ. Thay vì tìm

các điểm khung DBRS chọn ngẫu nhiên điểm mẫu, tìm lân cận của chúng rồi ghép lại nếu chúng giao nhau. Nếu số điểm mẫu đủ lớn thì ta có thể xác định xấp xỉ các cụm mà không cần duyệt qua mọi điểm. Điểm mẫu có thể không là điểm khung, nhưng số truy vấn miền sẽ giảm đáng kể so với DBSCAN trên bộ dữ liệu có mật độ thay đổi nhiều.

Thuật toán DBRS có thể được mô tả ngắn gọn như sau: DBRS bắt đầu từ một điểm bất kì q và tìm lân cận ghép qseeds có số điểm MinPts và độ đồng nhất MinPur thì q là điểm lõi, ngược lại coi q là điểm nhiễu hoặc điểm biên. Nếu q là điểm lõi thì kiểm tra lân cận của q có giao với một cụm đã có không, danh sách các cụm đã có được lưu trong ListCluster, nếu có giao với một cụm thì trộn qseeds với cụm đó, nếu giao với nhiều cụm thì hợp các cụm đó với qseeds. Ngược lại thì tạo ra một cụm mới. Quá trình lặp lại cho đến khi tòan bộ các điểm của D đã được đưa vào một cụm nào đó hoặc là được gán là nhiễu. Có thể mô tả thuật toán bằng đoạn mã giả Pascal như sau:

Algorithm DBRS(D, Eps, MinPts, MinPur)

ClusterList := Empty;

WHILE (D.isClassified = False) DO Select one unclassified point q from D;

qseeds := D.matchingNeighbors(q, Eps);

IF ((|qseeds| < MinPts) or (qseeds.pur < MinPur)) THEN q.clusterID := -1;/* q là điểm nhiễu hoặc điểm biên */ ELSE isFirstMerge := True; Ci := ClusterList.firstCluster; /* so sánh qseeds với tất cả các cụm đã có */ WHILE (Ci <> Empty) DO IF (hasIntersection(qSeeds, Ci)) THEN IF (isFirstMerge) THEN newCi := Ci.merge(qseeds); isFirstMerge := False; ELSE newCi := Ci.merge(Ci) ClusterList.deleteCluster(C);

END IF

Ci := ClusterList.NextCluster; END WHILE;

/* không giao với một cụm nào đã tồn tại */ IF (isFirstMerge) THEN

Create a new cluster Cj từ qseeds;

ClusterList := ClusterList.addCluste(Cj); END IF; // isFirstMerge

END IF;

END WHILE; //D.isClassified = False

Trong thuật toán DBRS thì truy vấn miền D.matchingNeighbors(q,Eps) là tốn nhiều thời gian nhất. Nếu sử dụng các cấu trúc chỉ mục không gian như cây R* hoặc cây tứ phân thì độ phức tạp của thủ tục này là O(logn). Trường hợp xấu nhất là n điểm trong CSDL đều là nhiễu thì cần n truy vấn nên độ phức tạp là O(n logn). Tuy nhiên nếu tìm thấy một điểm lõi thì số lần truy vấn giảm đi rất nhiều vì các điểm thuộc lân cận ghép thì không cần truy vấn miền nữa.

Để cải tiến tốc độ thực hiện thuật toán, DBRS sử dụng một kỹ thuật heurictis gọi là DBS-H, kỹ thuật này dựa trên nhận xét rằng: Ban đầu, bằng cách chọn ngẫu nhiên 1 điểm p và xem xét các điểm lân cận của nó thì xác suất tìm được một cụm mới với ít nhất MinPts điểm lớn nhất là

n MinPts n

. Gọi nj là số điểm bị loại sau khi điểm ngẫu nhiên thứ j được chọn. Với điểm ngẫu nhiên là điểm nhiễu thì nj = 1, với điểm ngẫu nhiên là điểm lõi thì nj ít nhất bằng 1 và nếu một cụm mới được tạo ra từ điểm lõi này thì nj ít nhất bằng MinPts điểm. Đặt

1 i 1 j j i n

N là tổng các điểm bị loại sau i-1 điểm ngẫu nhiên được xem xét. Thì xác suất tìm được một cụm mới với ít nhất MinPts điểm là k 1 i i i k N n MinPts N n

α , giá trị của αkgiảm khi k tăng lên và tại các thời điểm tìm ra cụm mới thì αk giảm nhanh hơn. Mặc dù xác địnhαk bằng cách phân tích thì khó, nhưng khi DBRS thực hiện thì xác định αk tương đối dễ dàng. Đặt Li=n - Ni , Li là số điểm còn lại chưa được phân cụm hoặc gán nhãn là nhiễu, ban đầu α0 1,L0 n, tại bước thứ i, 1 i 1 i 1 i i L MinPts L α α , Li Li 1 ni. DBRS sẽ dừng nếu m ax i α

khi đặt αm ax 0.01 thì khả năng không còn tìm ra một cụm nào mới nữa với độ tin cậy là 99% [WAHA03].

Hiệu quả của thuật toán DBRS

Hình 28 biểu diễn các cụm phát hiện được bởi DBRS(a), DBSCAN(b), K- Means(c), CLARANS(d) với cùng CSDL (các cụm khác nhau được biểu diễn bởi các màu khác nhau) trong thí nghiệm của các tác giả của thuật toán. Đặc điểm nổi bật của DBRS so với các thuật toán khác là tốc độ thực hiện nhanh hơn rất nhiều, vì DBRS thực hiện ít truy vấn miền hơn. So với K-Means và CLARANS thì DBRS và DBSCAN phát hiện nhiễu tốt hơn.

Hình 28: Các cụm được phát hiện bởi DBRS(a), DBSCAN(b), K-Means(c), CLARANS(d) [WAHA03].

3.1.4. Phân cụm dựa trên lưới

Phương pháp này lượng tử hoá không gian đối tượng vào trong một số hữu hạn các ô hình thành nên một cấu trúc lưới. Sau đó nó thực hiện tất cả các thao tác phân cụm trên cấu trúc lưới (tức là trên không gian đã lượng tử hoá). Thuận lợi chính của tiếp cận này là thời gian xử lý nhanh chóng của nó độc lập với số các đối tượng dữ liệu và chỉ tuỳ thuộc vào số lượng các ô trong mỗi chiều của không gian lượng tử.

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Phương pháp phân cụm dữ liệu không gian và ứng dụng trong việc xác định vị trí tối ưu đặt máy ATM (Trang 50 - 57)

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

(86 trang)