Các thuật toán 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Ĩ) Phân cụm dữ liệu và ứng dụng trong công tác tái bảo hiểm Luận văn ThS Công nghệ thông tin 1 01 10 (Trang 49 - 57)

CHƯƠNG 3: CÁC THUẬT TOÁN PHÂN CỤM DỮ LIỆU ĐIỂN HÌNH31

3.3 Các thuật toán phân cụm dựa trên mật độ

Các cụm có thể đƣợc xem nhƣ các vùng có mật độ cao, đƣợc tách ra bởi các vùng không có hoặc ít mật độ. Khái niệm mật độ ở đây đƣợc xem nhƣ là các số các đối tƣợng láng giềng.

3.3.1 Thuật toán DBSCAN

Thuật toán phân cụm dựa trên mật độ thông dụng nhất là thuật toán DBSCAN (Density - Based Spatial Clustering of Applications with noise). Thuật toán đi tìm các đối tƣợng mà có số đối tƣợng láng giềng lớn hơn một ngƣỡng tối thiểu. Tìm tất

1. Chọn một mẫu ngẫu nhiên từ tập dữ liệu ban đầu;

2. Phân hoạch mẫu này thành nhiều nhóm dữ liệu có kích thước bằng nhau: ý tưởng chính ở đây là phân hoạch mẫu thành p nhóm dữ liệu bằng nhau, kích thước của mỗi phân hoạch là n'/p (n' là kích thước của mẫu);

3. Phân cụm các điểm của mỗi nhóm: chúng ta thực hiện PCDL cho các nhóm cho đến khi mỗi nhóm đƣợc phân thành n'/pq cụm (với q>1);

4. Loại bỏ các phần tử ngoại lai: trước hết, khi các cụm được hình thành cho đến khi số các cụm giảm xuống một phần so với số các cụm ban đầu. Sau đó, trong trường hợp các phần tử ngoại lai đƣợc lấy mẫu cùng với quá trình pha khởi tạo mẫu dữ liệu, thụât toán sẽ tự động loại bỏ các nhóm nhỏ.

5. Phân cụm các cụm không gian: các đối tượng đại diện cho các cụm di chuyển về hướng trung tâm cụm, nghĩa là chúng đƣợc thay thế bởi các đối tƣợng gần trung tâm hơn.

6. Đánh dấu dữ liệu với các nhãn tương ứng

cả các đối tƣợng mà các láng giềng của nó thuộc về lớp các đối tƣợng đã xác định ở trên, một cụm đƣợc xác định bằng một tập tất cả các đối tƣợng liên thông mật độ với các láng giềng của nó. DBSCAN có thể tìm ra các các cụm với hình thù bất kỳ, trong khi đó tại cùng một thời điểm ít bị ảnh hưởng bởi thứ tự của các đối dữ liệu nhập vào. Khi có một đối tƣợng đƣợc chèn vào chỉ tác động đến một láng giềng xác định.

Mặt khác, DBSCAN yêu cầu người dùng xác định bán kính Eps của các láng giềng và số các láng giềng tối thiểu Minpts, các tham số này khó mà xác định đƣợc tối ƣu, thông thường nó được xác định bằng phép chọn ngẫu nhiên hoặc theo kinh nghiệm.

Người ta áp dụng chỉ số không gian để giúp xác định các láng giềng của một đối tƣợng dữ liệu do vậy độ phức tạp của DBSCAN đã đƣợc cải tiến là O(nlogn) so với độ phức tạp của DBSCAN là O(n2) trong trường hợp nếu không áp dụng cấu trúc chỉ số. Khoảng cách Euclide được sử dụng để đo sự tương tự giữa các đối tượng nhưng không hiệu quả đối với dữ liệu đa chiều.

Thuật toán DBSCAN dựa trên các khái niệm mật độ có thể áp dụng cho các tập dữ liệu không gian lớn đa chiều. Dưới đây là các định nghĩa và bổ đề được sử dụng trong thuật toán DBSCAN [11][16].

Định nghĩa 1: Lân cận với ngƣỡng Eps của một điểm (Eps - Neighborhood of a point)

Lân cận với ngƣỡng Eps của một điểm P ký hiệu NEps(p) đƣợc xác định nhƣ sau: NEps(p) = {q  D | khoảng cách Dist(p,q) ≤ Eps }, D là tập dữ liệu cho trước.

Một điểm p muốn nằm trong một cụm C nào đó thì NEps(p) thì phải có tối thiểu MinPts điểm. Số điểm tối thiểu đƣợc chọn là bao nhiêu cũng là bài toán khó, vì: nếu số điểm tối thiểu lớn thì chỉ những điểm nằm thực sự trong cụm C mới đạt đủ tiêu chuẩn, trong khi đó những điểm nằm ngoài biên của cụm không thể đạt đƣợc điều đó. Ngƣợc lại, nếu số điểm tối thiểu là nhỏ thì mọi điểm sẽ rơi vào một cụm.

Theo định nghĩa trên, chỉ những điểm thực sự nằm trong cụm mới thoả mãn điều kiện là điểm thuộc vào cụm. Những điểm nằm ở biên của cụm thì không thoả mãn điều kiện đó, bởi vì thông thường thì lân cận với ngưỡng Eps của điểm biên thì bé hơn lân cận với ngƣỡng cũng Eps của điểm nhân (Core Point).

Để tránh đƣợc điều này, chúng ta có thể đƣa ra một tiêu chuẩn khác để định nghĩa một điểm thuộc vào một cụm nhƣ sau: nếu một điểm p muốn thuộc một cụm C phải tồn tại một điểm q mà p  NEps(q) và số điểm trong NEps(q) phải lớn hơn số điểm tối thiểu. điều này có thể đƣợc định nghĩa một cách hình thức nhƣ sau:

Định nghĩa 2: Đến được trực tiếp theo mật độ (Directly Density - reachable) Một điểm p đƣợc gọi là đến đƣợc trực tiếp từ điểm q với ngƣỡng Eps nếu:

1. p NEps(q)

2. || NEps(q)|| ≥ MinPts (điều kiện nhân)

Điểm q gọi là điểm nhân (core point). Có thể thấy là đến đƣợc trực tiếp là một hàm phản xạ và đối xứng đối với hai điểm nhân và bất đối xứng nếu một trong hai điểm đó không phải là điểm nhân.

Định nghĩa 3: Đến được mật độ (Density - Reachable)

Một điểm p đƣợc gọi là đến đƣợc từ một điểm q theo hai tham số Eps và MinPts nếu tồn tại một dãy p = p1, p2, …, pn =q thoả mãn pi+1là có thể đến đƣợc trực tiếp từ pi với i1,n1

Hai điểm biên của một cụm C có thể không đến đƣợc nhau bởi vì cả hai có thể đều không thoả mãn điều kiện nhân. Mặc dù vậy, phải tồn tại một điểm nhân trong C mà cả hai điểm đều có thể đến đƣợc từ điểm đó. Để cho thuận tiện chúng ta sẽ đƣa ra một định nghĩa liên thông mật độ (Density - Connectivity)

Định nghĩa 4: Liên thông mật độ (Density - Reachable)

Một điểm p đƣợc gọi là một điểm liên thông với điểm q theo hai tham số Eps với MinPts nếu nhƣ tồn tại một điểm o mà cả hai điểm p, q điều có thể đến đƣợc theo tham số Eps và MinPts. Liên thông mật độ có tính chất đối xứng và phản xạ.

Định nghĩa 5: Cụm (Clustering)

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 (cluster) theo Eps và MinPts nếu thoả 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.

 Với mọi p,q C, p liên thông mật độ với q theo Eps và MinPts.

Đị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 }

Tiếp theo là hai bổ đề để chứng minh cho việc thuật toán phân cụm DBSCAN.

Chúng phát biểu như sau: với hai tham số Eps và MinPts cho trước, chúng ta có thể khám phá các cụm theo hai bước:

Bước 1: chọn một điểm bất kỳ từ tập dữ liệu ban đầu thoả mãn điều kiện nhân

Bước 2: lấy tất cả các điểm đến đƣợc mật độ với điểm nhân đã chọn ở trên để tạo thành cụm

Hai bổ đề này có thể phát biểu một cách hình thức hơn nhƣ sau:

Bổ đề 1: Giả sử p là một điểm trong D trong đó || NEps(p)|| ≥ MinPts, 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 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 tuỳ ý.

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

|| NEps(p)|| ≥ MinPts. 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:

DBSCAN khởi tạo điểm p tuỳ ý 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 và 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ị trị toàn cục Eps và MinPts, DBSCAN có thể hoà 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 S1 và S2 đƣợc định nghĩa là Dist (S1,S2) = min{dist(p,q)| pS1 và qS2}. Hình 18 sau diễn tả thuật toán DBSCAN chi tiết [16]:

{---Mô đun chương trình chính---}

DBSCAN (SetOfPoints, Eps, MinPts) // SetOfPoints is UNCLASSIFIED ClusterId:= nextId(NOISE);

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

IF Point.ClId = UNCLASSIFIED THEN IF ExpandCluster(SetOfPoints, Point, ClusterId, Eps, MinPts) THEN ClusterId:= nextId(ClusterId) END IF

END IF END FOR END; // DBSCAN

{---Thủ tục Expand ---}

ExpandCluster(SetOfPoints, Point, ClId, Eps, MinPts): Boolean;

SetOfPoints.changeClIds(seeds,ClId);

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.ClId

IN {UNCLASSIFIED, NOISE} THEN IF resultP.ClId = UNCLASSIFIED THEN seeds.append(resultP);

END IF;

SetOfPoints.changeClId(resultP,ClId);

END IF; // UNCLASSIFIED or NOISE END FOR;

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

END WHILE; // seeds <> Empty

seeds:=SetOfPoints.regionQuery(Point,Eps);

IF seeds.size<MinPts THEN // no core point SetOfPoint.changeClId(Point,NOISE);

RETURN False;

ELSE // all points in seeds are density- // reachable from Point

RETURN True;

END IF

END; // ExpandCluster

{---End---}

Hình 18: 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. 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(log n).

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ằ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 của tập dữ liệu)[17].

Hình 19 sau thể hiện về một thí dụ trong PCDL của thuật toán OPTICS [11][17]:

Hình 19: Thứ tự phân cụm của các đối tƣợng của OPTICS

3.3.3. Thuật toán DENCLUE

DENCLUE (DENsity - Based CLUstEring) là thuật toán PCDL dựa trên một tập các hàm phân phối mật độ. Ý tưởng chính của thuật toán này như sau [11][17]:

 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ủa không gian các đối tƣợng đƣợ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 tƣợng mật độ cao (density attactors), các đối tƣợng này là các điểm cực đại 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:

f yB: Fd Ro, y = f yB(x). Hàm ảnh hưởng là hàm tuỳ 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, thí dụ nhƣ khoảng cách Euclide. Một số thí dụ về hàm ảnh hưởng được cho như sau:

Khoảng cách đến đƣợc mật độ

Chƣa đánh dấu

Thƣ tự của các cụm dữ liệu

 Hàm sóng ngang: f square(x,y) =





 ) , ( 1

) , ( 0

y x d if

y x d if

, trong đó  là một ngƣỡng.

 Hàm Gaussian: f Gaussian x y e d x2y

2

2

) , ( )

,

(  

Hàm mật độ của một đối tƣợng x  Fd đƣợc tính bằng tổng tất cả các hàm ảnh hưởng của các đối tượng lên x. Giả sử ta có một tập dữ liệu D={x1, x2, ..., xn}. Hàm mật độ của x đƣợc xác định nhƣ sau: 

n

i B

D

B x x

x f

f i

1

) ( )

( ;

Hàm mật độ được thành lập dựa trên hàm ảnh hưởng Gauss được xác định như sau:



ni D

Gauss e

f xi

x d d

1

2 2

)2

, ( )

(  . Thí dụ về kết quả PCDL của thuật toán DENCLUE với hàm chi phối Gaussian đƣợc biểu diễn nhƣ hình 20 sau. Các cực đại mật độ là các giá trị tại đỉnh của đồ thị. Một cụm cho một cực đại mật độ x* là tập con C, khi các hàm mật độ tại x* không bé hơn :

Hình 20: DENCLUE với hàm phân phối Gaussian

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 độ  , nhƣng 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

Tập dữ liệu Phân cụm với Gauss

Độ 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 thụâ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.

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Phân cụm dữ liệu và ứng dụng trong công tác tái bảo hiểm Luận văn ThS Công nghệ thông tin 1 01 10 (Trang 49 - 57)

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

(101 trang)