Phương pháp chia lớp dựa vào vị trí địa phươn g 3

Một phần của tài liệu Thuật toán chia lớp trong cơ sở dữ liệu không gian ba tầng (Trang 37)

/ 4 Cúc hướnsị phát triển của khám phá tri thức trong (lữ liệu không gian

23. Các hướng tiếp cận của bài toán chia lớp trong cơ sờ dữ liệu không gian

2.3.3. Phương pháp chia lớp dựa vào vị trí địa phươn g 3

Phương pháp dựa vào vị trí địa phương chia lớp các đối tượng dữ liệu dựa trên mối quan hệ của các đối tượng dữ liệu với những điểm lân cận của của các điểm dữ liệu đó. Trong phương pháp này thì các đối tượng dữ liệu được đưa vào các lớp dựa trên các đối tượng dữ liệu lân cận đối tượng dữ liệu đó. Ví dụ trong thuật toán chia lớp DBSCAN, ta chỉ đưa một đối tượng dữ liệu p vào một lớp nếu như số điểm lân cận của p trong khoảng Eps là lớn hơn Minpts. Điều kiện này được gọi là điều kiện thuộc lôfp của một đối tượng dữ liệu p.Trong thuật toán DBSCAN ỊEKSX96L lớp là một tập các đối tượng dữ liệu liên thông thoả mãn điều kiện thuộc lớp. Thuật toán DENCLUE IHK98Ị xây dựng mội lớp bằng cách xây dựng một hàm ảnh hưởng từ một đối tượng dữ liệu lên một đối tượng dữ liệu khác và xác định lóp cho một đối

tượng dữ liệu dựa trên tổng ảnh hưởng của các đối tượng của các đối trong miền lân cận lên điểm đó. DBCLASD rXEKS98l thì chia lớp dựa vào phân bố khoảng cách từ một điểm đến những điểm lân cận. Tư tưởng chia lớp của DBCLASD dựa vào quan sát thực tế là: phân bố khoảng cách từ một điểm đến các điểm thuộc cùng một lớp thường xấp xỉ một hàm toán học.

2.3.4. Đánh giá tổng quát

Mỗi một phương pháp chia lớp đều có điểm mạnh điểm yếu và thích hợp cho từng ứng dụng cụ thể.

I ) Phương pháp chia lớp phân hoạch:

Phương pháp chia lớp phân hoạch thì đơn giản, dễ áp dụng và hiệu quả đối với inột vài cơ sở dữ liệu nhỏ với các lớp đưa ra có hình dạng lồi. Tuy nhiên, do các lớp trong phương pháp chia lóp phân hoạch dược biểu diễn bởi các tâm của lớp và mỗi một điểm dữ liệu được đưa vào một lóp dựa vào khoảng cách từ điểm đó tới tâm của lớp. Chính vì thế phương pháp phân hoạch chỉ có thể dưa ra được các lớp có hình dạng là đa giác lồi mà không thể đưa ra được lớp có dạng lõm, phủ lên nhau hoặc lồng nhau. Ngoài ra, nếu cơ sở dữ liệu có nhiễu hoặc có đối tượng quá xa tâm (outlier) thì phương pháp chia lớp phân hoạch cùng không áp cỉụng được vì trong các trường hợp đó, các đối tượng dữ liệu nhiễu hoặc các đối tượng cỉĩr liệu xa tâm (outlier) sẽ làm tâm của lớp bị lệch đi. Do đó, không đưa ra được các lớp chính xác, ví dụ:

Hình 11. Ví dụ về cơ sở dữ liệu và các lớp khi áp dụng thuật toán chia lớp phân hoạch

Trang 38/91

- Cơ sở dữ liệu 1 : Do mỗi đối tượng dữ liệu được đưa vào lớp có tâm gần đối tượng dữ liệu đó nhất nên các đối tượng nằm về biên của lớp 1 sẽ bị hút về lớp 2, lớp 3 và lớp 4.

- Cơ sở dữ liệu 2: Do phương pháp phân hoạch chỉ có thể tạo ra được lớp với hình dạng lồi nên không thể áp dụng cho cơ sở dữ liệu có các lớp hình dạng không lồi. - Cơ sở dữ liệu 3: Khi có điểm dữ liệu nhiều và outlier thì phương pháp phân hoạch cũng không đưa ra được kết quả chính xác.

2) Phương pháp chia lớp có cấu trúc thực hiện việc chia lớp bằng các tách hoặc ghép các nhóm đối tượng dựa vào độ tương đồng của các nhóm đối tượng đó. Cũng như phương pháp chia lớp không có khả năng chia lớp với hình dạng bất kì. Ngoài ra, việc xây dựng lên cây cấu trúc khá phức tạp và phải duyệt cơ sở dữ liệu nhiều lần. Điều này dẫn tới có thời gian chạy của các thuật toán chia lớp có cấu trúc lớn. Ngoài ra, các phương pháp chia lớp có cấu trúc đòi hỏi một không gian bộ nhớ để lưu giữ cây trong quá trình xây dựng. Do đó, plurơng pháp này cũng không thích hợp với cơ sở dữ liệu lớn.

3) Chia lớp dựa vào vị trí địa phương: Phương pháp chia lớp dựa vào vị trí địa phưoìig là một trong những phương pháp chia lớp hiệu quả, dặc biệt là cho những cơ sở dữ liệu không gian. Những thuật toán thuộc phương pháp này không những có khá năng tìm ra những lớp với hình dáng bất kì mà còn rất hiệu quả khi áp dụng lên những cơ sở dữ liệu có nhiễu, ví dụ xem hình 12 và 13

Hình 12. DBSCAN khi áp dụng lên các cơ sở dữ liệu sau đã tìm ra được chính xác các lóp đối tượng.

Hình 13. DBCLASD chia cơ sở dữ liệu sau thành 3 lớp tương ứng.

Mồi phương pháp chia lớp thì thích ứng với một loại ứng dụng và trong những trường hợp cụ thể, người sử dụng sẽ lựa chọn phương pháp chia lớp thích hợp nhất cho yêu cầu ứng dụng của mình. Trong một số trường hợp, người ta có thể kết hợp các phương pháp khác nhau để đưa ra một thuật toán chia lớp hiệu quả hơn hoặc thích hợp hơn cho ứng dụng cụ thể.

Tuy nhiên, những phương pháp và thuật toán chia lớp hiện tại đều không thê áp dụng và chia lớp được cơ sở dữ liệu hỗn hợp gồm nhiều lớp đối tượng dữ liệu với tính chất khác nhau nhưng trong thực tế, cơ sờ dữ liệu không gian ihường chứa nhiều đối tượng dữ liệu hỗn hợp. Điều này đã dẫn tới một yêu cầu tìm ra những phương pháp và thuật toán mới để chia lớp cho cơ sờ dữ liệu không gian hồn hợp cơ sở dữ liệu lớp đôi tượng. Một s ố thuật toán chia l ớ p điển hình cho cơ s ở CỈỮ liệu không gian.

2.4. Một sỏ thuật toán chia lớp thông dụng

2.4.1. CLARAN S

CLARANS (Clustei ing Large Application Baseil on RAN DOM Search) [NH941 ỉà thuật toán chia lớp phân hoạch k-medoid. Thuật toán này dựa trên việc tìm kiếm ngẫu nhiên trên đồ thị tập các đối tượng nhân của lớp để tìm ra tập các đối tượng nhân thể hiện cho các lớp. Đối tượng dữ liệu nhân {medoid) là đôi tượng dữ liệu thể

Trang 40/9 \

hiện “tâm” của đôi tượng dữ liệu thuộc lớp đó. Thuật toán yêu cầu hai tham số từ người sir dụng: MaxneighborNunilocal trong đó Ma.xneiglĩbor là số đỏi tượng hàng lân cận cùa một nút trong đồ thị sẽ được kiểm tra và Numìocal là sô' lớn nhất của các điếm cực tiểu địa phương sẽ thu thập. CLANRANS khởi tạo bằng cách chọn một tập điểm nhân ngẫu nhiên. Kế tiếp thuật toán kiểm tra một trường hơp trong đối tượng lân cận của tập đối tượng nhân vừa chọn. Nếu tập điểm nhân lân cận đang được xét tốt hơn so với tập điểm nhân đang có dựa trên đánh giá về sự khác nhau giữa hai tập điểm thì thay tập điểm nhân cũ bởi tập điểm nhAn đang xét. Quá trình trên được thực hiện cho đến khi điều kiện về Mcixneighbor được thoả mãn. Trong trường hợp ngược lại, tập điểm đạt được được gọi là tập điểm cực tiểu địa phương. Sau một số bước, ta sẽ thu thập được một số tập cực tiểu địa phương. Kết quả đưa ra là tập cực tiểu địa phương tốt nhất trong tập các điểm các tập cực tiểu địa phương thu được.

Thuật toán CLARANS được mô tả như sau CLARANS (Numlocal, Mtnneighbor, D)

Build (£). ơ„it);

mincost = oo; Best Node = nil; for i = 1 to Numlocal do begin current = Get_random(G„*); while (/' <= maxneighbor) do begin s= Get_randoni(Neishbor(C/i/vr/iO); if (cost(5) < cost {Current)) then begin Current = S; J = 0; end; j = j + 1; end;

if (cost (Current) < cost (BestNode) then BestNode = Current; end;

Giá trị max neighbor ảnh hường lớn tới chất lượng của lớp được tạo ra. Với giá trị

maxneighbor đủ lớn thì kết quả chia lớp có hiệu quả gíin với PAM. Tham số

Nunilocal ảnh hưởng lớn tới thời gian chạy. Những thí nghiệm đánh giá đếu nhận thấy rằng chất lượng của lớp nhận được là tốt trong trường hợp Numìocaì có giá trị bằng 2 và với giá trị Nurnlocul lớn hơn 2 thì thuật toán CLARANS cũng không đưa được một kết quả tốt hơn. Vì thế, thông thường thì Ntonlocal được đặt là 2 trong các trường hạp sử dụng CLARANS.

Một trong những điểm yếu của CLARANS là sự thiếu hiệu quà. Vòng lặp bên trong của thuật toán cần thời gian O(N) khi duyệt qua toàn bộ cơ sớ dữ liệu. Mặc dù tác

T r a n g 4 2 / 9 ì

giả đã đưa ra thời gian chạy của CLARANS là xấp xí tuyến tính nhưng trorm thực tế, thời gian cho mối bước tìm dã là O(KN)2 và tổng thời gian của toàn bộ quá trình chia thời gian này ít nhất là hàm mũ 2. Thêm vào nữa là có thể những bước tìm kiếm cực tiếu địa phirơng không tìm được cực tiểu địa phương thực sự mặc dù đã được duyệt với kĩ thuật lẫy mẫu. CLARANS lưu trữ tất cả mọi điểm dữ liệu trong bộ nhớ và vì thế CLARANS chí có thể áp dụng lên cơ sờ dữ liệu nhỏ. Đè khắc phục được điều này thì một kĩ thuật lảy mẫu đã được áp dụng để cải tiến CLARANS có thể xử lý với dữ liệu lớn.

Nếu CLARANS không áp dụng với bất kì kĩ thuật nào thì không thể xử lý được dữ liệu lớn. Mặc dù thuật toán thì cho kết quả hoàn toàn độc lập với thứ tự dữ liệu đầu vào nhimg CLARANS chỉ có thê tìm ra lớp với hình thù đơn giản mà không tìm ra lớp với hình thù bất kì. Thêm vào nữa CLARANS khỏng làm việc được với dữ liệu nhiều chiều. Dựa trên phương pháp lấy mẫu thì thuật toán có thế không xử lý được với những trường hợp cỉữ liệu có nhiều. Thuật toán có thể sẽ xác định một điểm dữ liệu nhiễu thành một điểm dữ liệu cực tiểu địa phirơng. Mặc dù không cần thiết phải xác định sô' lớp tnrớc như những thuật toán phân hoạch khác nhưng thuật toán CLARANS lại yêu cầu hai tham biến là Maxnei^lìborintmloi al từ người sử dụng.

2.4.2. DBSCAN

Không giống như CLARANS, DBSCAN (Density based Spatial Clustering o f Application with Noise) IEKSX961 là thuật toán chia lớp dựa vào vị trí địa phương

(locality-based). DBvSCAN chia lớp dựa trên quan sát thực tê thấy rằng, mật độ của những điểm trong cùng một lớp thì lớn hơn rất nhiều so với mật độ của những điểm không thuộc lớp đó. Từ quan sát đó, DBSCAN thực hiện việc chia các lớp sao cho mật độ của các đôi tượng dĩr liệu trong từng lớp lớn hơn một ngưỡng đật ra.

Thuật toán DBSCAN yêu cầu hai tham số là Epsniinpts từ người dùng. Tham số

Eps xác định tập các đối tượng lân cận của một đối tượng dữ liệu, minpts là tham số ngưỡng mật độ của các đôi tượng dữ liệu.

Một số khái niệm sử dụng trong DBSCAN

1. Lân cận với ngưỡng Eps của một điểm: Lân cận với ngưỡng Eps của một điểm p kí hiệu là NEps(p) được xác định như sau:

NEpsQ?) = \ q e Ddisịp, q) < Eps)

2. Một điểm dữ liệu p được gọi ỉà điểm nhân (core-point) nếu miền lân cận của

p với bán kính Eps có ít nhất là minpts điểm.

3. c/ dirợc gọi là đến dược theo mật độ trực tiếp (d i r e c t l y d e n s i t y r e a c h a b le ) nếu /;là điểm nhân và ( Ị € Neighbor^, Eps).

4. í/ gọi là đến được theo mật độ ( d e n s i t y r e a c h a b le ) tir /; nếu có một dẫy P=P0,

,/>„=í/ vớip, ỉ à đến được theo mật dộ trực tiếp từ/>,+ |.

5. Một điểm /; gọi là nối mật độ với LỊ nếu có một điểm o mà cả pLị đêu là đến được theo mật độ từ o.

Đếh được mật độ trực tiếp Đếh được mật độ NỔI mật độ

Hìnlì 14. Ví dụ về mậl độ trực tiếp, đến được mật độ và nối mật độ

6. Mội tập con c khác rỗng của D được gọi là một lớp (cluster) theo Eps

minpts nếu thoả mãn hai điều kiện:

1. Vp, í/ eD, nếu peC và LỊcó thể đến được từp theo EpsMinpts thì qeC. 2. Vp, q e c , p liên thông theo mật độ với q theo EpsMinpts.

7. Dữ liệu nhiễu (noise): Một điểm dữ liệu nếu không thuộc vào lớp nào thì gọi là nhiễu: nhiễu = \p I V/ = \...k,p£ (•,}.

Để tìm ra các lớp, DBSCAN lần lượt duyệt tại mọi đối tượng dữ liệu thuộc cơ sở dữ liệu và mờ rộng đến tất cả những điểm có cùng mật độ có thể đi đến được từ Ị ) với hai tham số EpsMinpts. Nếu đối tượng dữ liệu p là đối tượng dữ liệu nhân thì tập

Trally 44/9 ị

các điểm den được mật độ từ p sẽ tạo ra một lớp. Trong trường hợp ngược lại, duyệt đến đối tượng dữ liệu kế tiếp trong cơ sờ dữ liệu cho đến khi tất cả các đôi tượng dữ liệu đã được duyệt qua.

EpsMinpts dược xác định trước bởi -ười dùng. Minpts thường được đặt bằng 2" với 11 là số chiều không gian đối tượng dữ liệu. Eps được xác định bởi người sử dụng trong tìmu ứng dụns cụ thể. Việc lựa chọn giá trị Eps có thê được hỏ trợ bởi đổ thị

2"-ilist (đồ thị biểu diễn hàm ánh xạ mỗi một điểm p đến khoảng cách của điểm lân cân thứ 2" của điểm p).

DBSCAN được thiết kế để xử lý với dữ liệu có nhiễu và hiệu quà trong việc loại trừ

outlier. Mộc dù DBSCAN có thể tìm ra được lớp với hình thù bất kì những DBSCAN không thể xác định được lớp với hình dạng lồng nhau. Một điểm yếu của DBSCAN là DBSCAN yêu cầu hai tham biến từ người sứ dụng là EpsMinpts. Minpts được xác định cố định trên toàn bộ cơ sờ dữ liệu nhưng Eps thì được xác định lại sau mỗi lần chạy của DBSCAN.

DBSCAN có thể áp dụng với dữ liệu lớn và thứ tự của dữ liệu đầu vào không ảnh hương tới kết qủa chia lớp. Thời gian chạy của thuật toán là O(NlogN). Tuy nhiên trong thực tế, thời gian để tính toán và dự đoán giá trị Eps là khá lớn. DBSCAN không xử lý được với cơ sở dữ liệu nhiều chiểu.

2.4.3. DBCLASD

DBCLASD {Distribution Based Clustering of Large Spatial Databases) IXEKS981 cũng là một thuật toán dựa vào địa phương. Tuy nhiên khác với DBSCAN,

DBCLASD giả sử rằng những điểm bên trong mỗi lớp được phàn bố đểu. Tác giả đã quan sát và nhận ra rằng, khoảng cách từ một điểm đến điểm gần nó nhất thì nhỏ hơn nếu hai điểm đó trong cùng một lớp và lớn hơn trong trường hợp ngược lại. Mỗi một lớp có một xác xuất phân bố của các điểm tới điểm lân cận gần nhất và xác xuất đó được sử dụng để xác định lớp. Những khái niệm đê xác định lớp trong DBCLASD:

1. NNDi\tSet(C), tập khoảng cách lân cận gần nhất của c với một phân bố cho trước với một yêu cầu về ngưỡng cho trước.

2. c là tập cực đại. Ví dụ với mỗi I11Ờ rộng của c bời một sô điểm lãn cận thì c

không còn thoả mãn điềm kiện 1.

3. c là liên thông. Ví dụ với mỗi cặp (a, b) trong cùng một lớp thì phải có một đường đi trong lớp đó từ a đến b.

DBCLASD là thuật toán chia lớp tăng cường. Mỗi một điểm dược xử lý dựa trên các điểm đã được xem xét trước mà không quan tâm tới những điểm đến sau. Điều này khiến kết quả của DBCLASD phụ thuộc vào thứ tự đầu vào. Đê hạn chế được yếu điểm này, DBCLASD sử dụng hai kĩ thuật sau: một là, mỗi một đối tượng dữ liệu không thoả mãn cho một lớp thì không bị bỏ ngay mà sẽ được kiểm tra lại sau, hai là, một đối tượng dữ liệu đã thuộc một lớp vẫn cũng có thể được chuyên sang lớp khác. Tuy nhiên chưa có kiểm tra thực tế nào được thực hiện để chứng minh sự hiệu quà của hai kĩ thuật trên.

Thực hiện thuật toán nhiều lần với các thử tự đẩu vào khác nhau có thể đưa ra được

Một phần của tài liệu Thuật toán chia lớp trong cơ sở dữ liệu không gian ba tầng (Trang 37)

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

(92 trang)