Liên thông mật độ và liên kết mật độ trong PCDL dựa trên mật độ

Một phần của tài liệu (LUẬN văn THẠC sĩ) các kỹ thuật phân cụm trong khai phá dữ liệu (Trang 48)

3.3.1.5. Định nghĩa 5: Cụm (Cluster)

Giả sử D là một tập các điểm dữ liệu. Một tập con C khác rỗng của D được gọi là một cụm theo Eps và MinPts nếu thỏa mãn hai điều kiện:

 Với mọi p, q D, nếu p C và q có thể đến được từ p theo Eps và MinPts thì q  C.

3.3.1.6. Định nghĩa 6: Dữ liệu nhiễu (Noise)

Giả sử C1, C2, …, Ck là các cụm trong tập dữ liệu D theo tham số Eps và MinPts, điểm dữ liệu nhiễu là điểm dữ liệu không thuộc vào cụm nào trong các cụm C1, C2, …, Ck, tức là Noise = { p với mọi i = 1,..,k , p  Ci}.

Để chứng minh cho thuật toán DBSCAN ta có thêm hai bổ đề sau:  Bổ đề 1:

Giả sử p là một điểm trong D trong đó NEps( )pMinPts

Tập O = {ooD và o có thể đến được mật độ từ p theo Eps và MinPts} là một cụm theo Eps và MinPts.

Như vậy, cụm C không hoàn toàn là duy nhất, tuy nhiên, mỗi một điểm trong

C đến được mật độ từ bất cứ một điểm nhân nào của C, vì vậy C chứa đúng một số

điểm liên thông với điểm nhân tùy ý.  Bổ đề 2:

Giả sử C là một cụm theo Eps và MinPts, p là một điểm bất kỳ trong C với

Eps( ) s

N pMinPt . Khi đó C trùng với tập O = {ooD và o có thể đến được mật độ từ p theo Eps và MinPts}.

Thuật toán DBSCAN khởi tạo điểm p tùy ý và lấy tất cả các điểm đến được

mật độ từ p với Eps và MinPts. Nếu p là điểm nhân thì thủ tục trên tạo ra một cụm theo Eps và MinPts (bổ đề 2). Nếu p là một điểm biên, không có điểm nào đến được mật độ từ p thì DBSCAN sẽ đi thăm điểm tiếp theo của tập dữ liệu.

Nếu chúng ta chọn sử dụng giá trị toàn cục Eps và MinPts, DBSCAN có thể

hòa nhập hai cụm theo định nghĩa 5 thành một cụm nếu mật độ của hai cụm gần bằng nhau. Giả sử khoảng cách giữa hai tập dữ liệu S1S2 được định nghĩa là Dist(S1, S2) = min{dist(p,q)pS1 và qS2}.

DBSCAN (SetOfPoints, Eps, MinOts) // SetOfPoints is UNCLASSIFIE Clusterid:= NextID(NOISE);

FOR i FROM 1 TO SetOfPoints.size DO Point := SetOfPoints.get(i);

IF PointC1Id = UNCLASSIFIED THEN IF ExpandCluster(SetOfPoints,Point,ClusterId, Eps,MinPts) THEN ClusterId := nextId(clusterId) END IF END IF END FOR END;

ExpandCluster (SetOfPoints, Points, C1Id, Eps, MinPts): Boolean;

Seeds:= SetOfPoint.regionQuery(Point, Eps) IF seeds.size < MinPts THEN //no core point SetOfPoint.changeC1Id(Point, NOISE); RETURN False;

ELSE//all points in seeds are density– reachable from point

SetOfPoint.changeC1Id(seeds, C1Id); Seeds.delete(point); WHILE seeds<>empty DO CurrentP := seeds.first(); Result:=SetOfPoints.regionQuery(CurrentP, Eps);

IF result.size >= MinPts THEN FOR i FROM 1 TO result.size DO resultP := result.get(i);

IF resultP.C1Id=UNCLASSIFIED THEN Seeds.append(resultP);

END IF

SetOfPoints.changeC1Id(ResultP, C1Id); END IF; //UNCLASSIFIED or NOISE END FOR;

END IF; //result.size >= MinPts Seeds.delete(currentP);

END WHILE; //seeds <> Empty RETURN True;

END IF;

END; // ExpandCluster

Hình 3.13. Thuật toán DBSCAN

Trong đó, SetOfPoints hoặc là tập dữ liệu ban đầu hoặc là cụm được khám phá từ bước trước, CLId(clusterId) là nhãn đánh dấu phần tử dữ liệu nhiễu có thể thay đổi nếu chúng có thể đến được mật độ từ một điểm khác từ CSDL, điều này chỉ xảy ra đối với các điểm biên của dữ liệu. Hàm SetOfPoints.get(i) trả về phần tử thứ i của

SetOfPoints. Thủ tục SetOfPoints.regionQuery(point, Eps) trả về một danh sách các

điểm dữ liệu lân cận với điểm Point trong ngưỡng Eps từ tập dữ liệu SetOfPoints.

Trừ một số trường hợp ngoại lệ, kết quả của DBSCAN độc lập với thứ tự duyệt các đối tượng dữ liệu. Eps và MinPts là hai tham số toàn cục được xác định bằng thủ công hoặc theo kinh nghiệm. Nếu tham số Eps được đưa vào là nhỏ so với kích

thước của không gian dữ liệu thì độ phức tạp tính toán trung bình của mỗi truy vấn là O(logn).

3.3.2. Thuật toán OPTICS

Đây là thuật toán mở rộng cho thuật toán DBSCAN bằng cách giảm bớt các tham số đầu vào. OPTICS (Ordering Points To Identify the Clustering Structure)

sắp xếp các cụm theo thứ tự tăng dần, như trong hình 3.14, nhằm tự động phân cụm dữ liệu. Thứ tự này diễn tả cấu trúc dữ liệu phân cụm dựa trên mật độ chứa thông tin tương đương với phân cụm dựa trên mật độ với một dãy các tham số đầu vào.

OPTICS xem xét bán kính tối thiểu nhằm xác định các láng giềng phù hợp với thuật toán. DBSCAN và OPTICS tương tự với nhau về cấu trúc và có cùng độ phức tạp:

O(nlogn) (n là kích thước tập dữ liệu) [10]-[17].

Hình 3.14. Thứ tự các cụm đƣợc tăng dần trong OPTICS

3.3.3. Thuật toán DENCLUE

DENCLUE (DENsity-based CLUstEring) là một đại diện thứ ba PCDL dựa

trên mật độ nhưng sử dụng một cách tiếp cận khác, dựa trên tập các hàm phân phối mật độ [10]. Ý tưởng chính của thuật toán như sau:

 Sự tác động của một đối tượng tới láng giềng của nó được xác định bởi hàm ảnh hưởng (Influence Function).

 Mật độ toàn cục được mô hình như là tổng tất cả các hàm ảnh hưởng của các đối tượng.

 Các cụm được xác định bởi các điểm hấp dẫn mật độ (density attactors), các điểm này là các điểm cực đại địa phương của hàm mật độ toàn cục.

Hàm ảnh hưởng được định nghĩa như sau: Cho x, y là hai đối tượng trong

không gian d chiều Fd, hàm ảnh hưởng của đối tượng y lên đối tượng x được xác

định như sau: fBy:FdR y0,  fBy( )x . Hàm ảnh hưởng là hàm tùy chọn, miễn là nó được xác định bởi khoảng cách d(x, y) của các đối tượng, ví dụ như khoảng cách Euclidean. Một số ví dụ về hàm ảnh hưởng như sau:

Hàm sóng ngang: 0 if d(x,y)> ( , ) 1 if d(x,y) square f x y        trong đó  là một ngưỡng.  Hàm Gaussian: 2 2 ( , ) 2 aussian( , ) d x y G f x ye 

Biểu diễn của hàm hai hàm trên được mô tả trong hình 3.15 dưới đây:

Hình 3.15. Biểu diễn hàm ảnh hƣởng sóng ngang và Gaussian

Trong hình, các điểm hấp dẫn mật độ (Density attractors) là các giá trị đỉnh

(cực đại hoá địa phương). Sau đó, một cụm trung tâm với điểm hấp dẫn x* là một tập con C, với hàm mật độ tại x* là nhỏ hơn .

Chúng ta thấy rằng, DENCLUE phụ thuộc nhiều vào ngưỡng nhiễu  (noise

threshold) và tham số mật độ  (density parameter). Mặt khác, DENCLUE có các ưu điểm sau:

 Có cơ sở toán học vững chắc

 Có khả năng xử lý các phần tử ngoại lai

 Cho phép khám phá ra các cụm với hình thù bất kỳ ngay cả đối với các dữ liệu đa chiều.

 Sử dụng các ô lưới và lưu giữ thông tin về các đối tượng thực. Độ phức tạp tính toán của DENCLUE là O(nlogn).

Các thuật toán dựa trên mật độ không thực hiện kỹ thuật phân mẫu trên tập dữ liệu như trong các thuật toán phân cụm phân hoạch, vì điều này có thể làm tăng thêm độ phức tạp do có sự khác nhau giữa mật độ của các đối tượng trong mẫu với mật độ của toàn bộ dữ liệu.

3.4. Các thuật toán phân cụm dựa trên lƣới

3.4.1. Thuật toán STING

Thuật toán STING (STatistical INformation Grid) phân rã tập dữ liệu không

gian thành số hữu hạn các cell sử dụng cấu trúc phân cấp chữ nhật, được mô tả như trong hình 3.16 dưới đây [17]-[23].

Các đối tượng dữ liệu lần lượt được chèn vào lưới và các tham số thống kê ở trên được tính trực tiếp thông qua các đối tượng dữ liệu này. Các truy vấn không gian được thực hiện bằng cách xét các cell thích hợp tại mỗi mức của phân cấp. Có nhiều mức khác nhau cho các cell trong cấu trúc lưới, các cell này hình thành nên

cấu trúc phân cấp như sau: Mỗi cell ở mức cao được phân hoạch thành các cell mức thấp hơn trong cấu trúc phân cấp. Giá trị của các tham số thống kê (như các giá trị trung bình, tối thiểu, tối đa) cho các thuộc tính của đối tượng dữ liệu được tính toán và lưu trữ thông qua các tham số thống kê ở các cell mức thấp hơn.

Một số lợi thế của cách tiếp cận này là [23]:

 Đây là cách tiếp cận truy vấn độc lập khi thông tin thống kê tồn tại các truy vấn độc lập. Nó trình bày tóm tắt các dữ liệu trong từng ô lưới, tạo điều kiện thuận lợi để trả lời một số lớp lớn các truy vấn.

 STING duyệt toàn bộ dữ liệu một lần để tính toán các đại lượng thống kê cho mỗi cell nên độ phức tạp tính toán của STING là O(N), trong đó N là số các đối

tượng. Sau khi xây dựng cấu trúc dữ liệu phân cấp, thời gian xử lý cho các truy vấn là O(K) với K là tổng số cell tại mức thấp nhất (K<<N).

 Thuật toán xử lý truy vấn sử dụng cấu trúc song song hoá.

 Khi dữ liệu được cập nhật, chúng ta không cần phải tính toán lại tất cả thông tin trong ô phân cấp.

Với mỗi ô, chúng ta có các tham số thuộc tính-độc lập (attribute-independent) và thuộc tính-phụ thuộc (attribute-dependent). Tham số thuộc tính-độc lập là:

n- số các đối tượng (các điểm) trong một ô.

Với tham số thuộc tính-phụ thuộc, chúng ta giả sử rằng các thuộc tính ứng với mỗi đối tượng có giá trị kiểu số. Khi đó, có 5 tham số dưới đây cho mỗi ô:

m – giá trị trung bình của của các thuộc tính trong ô. s – độ lệch chuẩn của tất cả các giá trị thuộc tính trong ô min – giá trị tối thiểu của thuộc tính trong ô

max – giá trị tối đa của thuộc tính trong ô.

Trong đó n, m, s, min, max có thể được tính như sau:

i i nn ; i i i m n m n   ; 2 2 2 ( i i ) i i s m n s m n     ; min( i) i

minmin ; max( i)

i

maxmax

Thuật toán STING gồm các bước sau [23]: 1. Xác định tầng để bắt đầu.

2. Với mỗi cell của tầng này, tính toán khoảng cách tin cậy (hoặc ước lượng khoảng) của xác suất mà cell này liên quan tới truy vấn.

3. Từ khoảng cách tin cậy của tính toán trên, gán nhãn có liên quan (relevant) hoặc không có liên quan.

4. Nếu lớp này là lớp dưới cùng, chuyển sang bước 6; nếu khác thì chuyển sang bước 5.

5. Duyệt xuống dưới của cấu trúc cây phân cấp một mức. Chuyển sang bước 2 cho các cells liên quan của lớp có mức cao hơn.

6. Nếu đặc tả được câu truy vấn, chuyển sang bước 8; nếu không thì chuyển sang bước 7.

7. Truy vấn dữ liệu vào trong các cells liên quan và thực hiện xử lý. Trả lại kết quả phù hợp yêu cầu của truy vấn. Chuyển sang bước 9.

8. Tìm các miền có các cells liên quan. Trả lại miền phù hợp với yêu cầu của truy vấn. Chuyển sang bước 9.

9. Dừng.

3.4.2. Thuật toán CLIQUE

Trong không gian đa chiều, các cụm có thể tồn tại trong tập con của các chiều hay còn gọi là không gian con. Thuật toán CLIQUE (CLustering In QUEst) là thuật

toán phân cụm không gian con [17]. Nó phân hoạch tập dữ liệu thành các hình hộp chữ nhật và tìm các hình hộp chữ nhật đặc, nghĩa là các hình hộp này chứa một số các đối tượng dữ liệu trong số các đối tượng láng giềng cho trước. Hợp các hình hộp này tạo thành các cụm dữ liệu. CLIQUE trước hết tìm các cell đặc đơn chiều, tiếp đến chúng tìm các hình chữ nhật 2 chiều, rồi 3 chiều,…, cho đến khi hình hộp chữ nhật đặc k chiều được tìm thấy. CLIQUE có khả năng áp dụng tốt đối với dữ liệu đa chiều, nhưng nó lại rất nhạy cảm với thứ tự của dữ liệu vào, độ phức tạp tính toán của CLIQUE là O(n).

3.4.3. Thuật toán WaveCluster

Thuật toán WaveCluster là phương pháp gần giống với STING, tuy nhiên thuật toán sử dụng phép biến đổi dạng sóng để tìm ô đặc trong không gian. Đầu tiên, kỹ thuật này tóm tắt dữ liệu bằng việc tận dụng cấu trúc dạng lưới đa chiều lên trên không gian dữ liệu. Tiếp theo nó sử dụng phép biến đổi dạng sóng để biến đổi không gian có đặc trưng gốc, tìm kiếm ô đặc trong không gian đã được biến đổi. Phương pháp này phức tạp so với các phương pháp khác chính là ở phép biến đổi.

Phương pháp này có một số ưu điểm như [17]:

 Cung cấp cụm không gian giám sát, khử nhiễu các thông tin bên ngoài biên của cụm. Theo cách đó, vùng đặc trong không gian đặc trưng gốc hút các điểm ở gần và ngăn chặn các điểm ở xa. Vì vậy, các cụm tự động nổi bật và làm sạch khu vực xung quanh nó, do đó, các kết quả tự động loại phần tử ngoại lai.

 Đa phân giải là thuộc tính hỗ trợ dò tìm các cụm có các mức biến đổi chính xác.  Thực hiện nhanh với độ phức tạp thuật toán là O(n), trong đó n là số đối tượng trong CSDL. Thuật toán có thể thích hợp với xử lý song song.

 Xử lý tập dữ liệu lớn có hiệu quả, khám phá các cụm có hình dạng bất kỳ, xử lý phần tử ngoại lai, mẫn cảm với thứ tự vào, và không phụ thuộc các tham số vào như số các cụm hoặc bán kính láng giềng.

Hình 3.18. Ứng dụng của thuật toán WaveCluster

3.5. Phân cụm dựa trên mô hình

3.5.1. Thuật toán EM

Thuật toán EM (Expectation - Maximization) được xem như là thuật toán dựa

trên mô hình hoặc là mở rộng của thuật toán k-means. Thật vậy, EM gán các đối tượng cho các cụm đã cho theo xác suất phân phối thành phần của đối tượng đó. Phân phối xác suất thường được sử dụng là phân phối xác suất Gaussian với mục đích là khám phá lặp các giá trị tốt cho các tham số của nó bằng hàm tiêu chuẩn là hàm lôgarit của đối tượng lên dữ liệu, đây là hàm tốt để mô hình xác suất cho các đối tượng dữ liệu. EM có thể khám phá ra nhiều hình dạng cụm khác nhau, tuy nhiên do thời gian lặp của thuật toán khá nhiều nhằm xác định các tham số tốt nên chi phí tính toán của thuật toán khá cao. Đã có một số cải tiến được đề xuất cho EM dựa trên các tính chất của dữ liệu: có thể nén, có thể sao lưu trong bộ nhớ và có thể hủy bỏ. Trong các cải tiến này, các đối tượng bị hủy bỏ khi biết chắc chắn được nhãn phân cụm của nó, chúng được nén khi không bị loại bỏ và thuộc về một cụm quá lớn so với bộ nhớ và chúng sẽ được lưu lại trong các trường hợp còn lại.

Sơ đồ các bước thực hiện thuật toán EM được mô tả trong hình 3.19 dưới đây:

1. Khởi tạo tham số:  (0) (0) (0) (0) (0) (0)

0 1 , 2 ,..., k ,p1 ,p2 ,...,pk      2. Bước E ( ) 2 ( ) ( ) 2 ( ) ( , ) ( , ) ( , , ) ( , ) ( , ) ( , , ) t t k j t j t k i i i j k t t t k t k k j j j P x P P x P P x P x P x P                 3. Bước M ( 1) ( , ) ( , ) i k t k t k i i k t k P x x P x          ; ( 1) ( i k, )t t k i P x p R    

4. Lặp lại bước 2 và 3 cho đến khi đạt được kết quả.

Bảng 3.1. Bảng tổng kết các thuộc tính của các thuật toán PCDL kiểu số

Thuật toán Tham số đầu vào Thích hợp với Cấu trúc cụm Xử lý phần tử ngoại lai

Độ phức tạp tính toán Các phƣơng pháp phân cụm phân cấp

k-means Số các cụm Các cụm tách rời Hình cầu Không O(Ikn)

PAM Số các cụm Các cụm tách rời, tập dữ liệu nhỏ Hình cầu Không O(Ik(n - k)2)

CLARA Số các cụm Tập dữ liệu tương đối lớn Hình cầu Không O(ks2+ k(n - k))

CLARANS Số các cụm, số tối đa các láng giềng

Tập dữ liệu không gian Hình cầu Không O(kn2)

Các phƣơng pháp phân cụm phân cấp BIRCH Yếu tố nhánh, đường

kính cụm

Tập dữ liệu lớn Hình cầu Có O(n)

CURE Số các cụm, số cụm đại diện

Tập dữ liệu trung bình Hình bất kỳ Có O(n2 log n)

Các phƣơng pháp phân cụm dựa trên mật độ

Một phần của tài liệu (LUẬN văn THẠC sĩ) các kỹ thuật phân cụm trong khai phá dữ liệu (Trang 48)

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

(98 trang)