Cụm và nhiễu

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Nghiên cứu các kỹ thuật phân cụm dữ liệu và ứng dụng (Trang 55 - 59)

Ngoài việc sử dụng các định nghĩa trên, DBSCAN còn có hai bổ đề để quan trọng để kiểm tra tính đúng đắn của thuật toán. Với các tham số Eps và MinPts đã cho trước chúng ta có thể phát hiện một cụm theo phương pháp mật độ theo hai bước sau:

- Thứ nhất chọn một điểm bất kì trong CSDL thỏa mãn điều kiện điểm nhân, coi điểm này là hạt giống (seed).

- Thứ hai tìm tất cả các điểm kề mật độ với điểm hạt giống trong cụm.

Bổ đề 1: Giả sử p là một điểm trong D và ||NEps(p)||  MinPts. Tập O = {o | oD và o có thể liên lạc từ p} là một cụm theo Eps và MinPts.

Không rõ ràng rằng cụm C được xác định bởi duy nhất một điểm nhân nào của nó. Tuy nhiên, mỗi điểm trong C là điểm kề mật độ với một điểm nhân bất kì của C và theo đó C chính xác chứa các điểm mà kề mật độ với một điểm nhân bất kì của C.

Bổ đề 2: Giả sử C là một cụm theo Eps và MinPts, p là điểm bất kỳ trong C với ||NEps(p)|| MinPts. Khi đó, C trùng với tập O = {o | oD và o có thể liên lạc theo Eps và MinPts}.

Ý tưởng chính của DBSCAN là với mỗi điểm của cụm láng giềng thuộc bán kính cho trước có chứa số điểm là ít nhất, ví dụ mật độ trong láng giềng có thể vượt quá ngưỡng nào đó. Vùng láng giềng có hình dạng được xác định bằng việc chọn hàm khoảng cách của 2 điểm, ký hiệu dist(p, q), tùy thuộc vào ứng dụng đó. Chẳng hạn nếu chọn hàm khoảng cách Manhattan thì vùng láng giềng có hình chữ nhật.

Khái niệm được dùng trong thuật toán này là tham số toàn cục Eps

MinPts, đối tượng nhân (core) và đối tượng biên (border). Tham số Eps là bán kính lớn nhất của miền láng giềng. Miền láng giềng Eps của điểm p, ký hiệu NEps(p), là các điểm q thuộc không gian đối tượng D sao cho khoảng cách dist(p, q) Eps. Tham số MinPts là số điểm ít nhất nằm trong vùng láng giềng Eps của điểm đó. Đối tượng nhân là các đối tượng thực sự nằm bên trong cụm và đối tượng biên là các đối tượng nằm trên đường biên của cụm. Số điểm trong miền Eps của đối tượng biên nhỏ hơn so với đối tượng nhân.

Thuật toán chi tiết như sau:

B1: Tạo đồ thị gồm các đối tượng trong tập dữ liệu

B2: Với mỗi điểm nhân c vẽ cạnh từ c tới mọi điểm p thuộc NEps(c)

B3: Gán N = số nút trên đồ thị

B4: Nếu N không chứa bất kỳ điểm nhân nào thì dừng

B5: Lấy điểm nhân c trong N

B6: Gán X = tập các điểm mà từ c có thể đi tiếp đến

B6.1. Tạo cụm chứa X {c}

B6.2. Gán N = N \ (X {c})

B7: Quay lại B4.

Thuật toán DBSCAN yêu cầu hai tham số là Epsminpts từ người dùng, việc xác định giá trị của hai tham số này có ảnh hưởng lớn đến các cụm được phát hiện. 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.

Việc xác định giá trị EpsMinPts tối ưu là một bài toán cần tìm lời giải, bởi vì nếu các giá trị đủ lớn thì mọi điểm thuộc cụm đó đều phải thỏa mãn. Tuy nhiên nếu các giá trị đó nhỏ thì có thể rơi vào trường hợp mọi điểm trong tập dữ liệu đều thuộc một cụm.

Thuật toán này sử dụng cấu trúc cây R*-tree để lưu trữ tập dữ liệu. DBSCAN có độ phức tạp tính toán khi chưa dùng cây chỉ mục để xử lý là O(n2) và sau khi dùng R*-tree là O(n*log(n)).

2.6.3.2. Thuật toán DENCLUE

DENCLUE (Density-based CLUstEring) được giới thiệu năm 1998 bởi Hinne Burg Kein [13] là thuật toán phân cụm tổng quát, được đề xuất vào năm 1998 bởi Hinne Burg Kein. Thuật toán này được xây dựng dựa trên các ý tưởng: (1) sự ảnh hưởng của mỗi điểm dữ liệu có thể biểu diễn dưới dạng mô hình thông qua hàm toán học, gọi là hàm ảnh hưởng (influence function) dùng để mô tả ảnh hưởng của điểm dữ liệu lên vùng láng giềng của nó; (2) toàn bộ mật độ của không gian dữ liệu có thể được mô hình hóa theo giải tích là tổng các hàm ảnh hưởng của mọi điểm dữ liệu; (3) các cụm có thể được xác định theo toán học bởi các điểm mật độ cao (density attractor), trong đó điểm mật độ cao là điểm đạt cực đại hàm mật độ toàn cục.

Với đối tượng x, y trong không gian d-chiều ký hiệu Fd, hàm ảnh hƣởng của đối tượng y lên x là một hàm fBy:FdR0 được định nghĩa dưới dạng một hàm ảnh hưởng cơ bản fb : fBy(X) fb(x,y). Hàm ảnh hưởng có thể là hàm bất kỳ xác định khoảng cách của hai véc tơ d(x, y) trong không gian d chiều.

Hàm mật độ tại điểm x Fd là tổng các hàm ảnh hưởng của tất cả các điểm dữ liệu. Với n là các đối tượng dữ liệu mô tả bởi tập véc tơ D={x1, x2,…, xn}Fd, hàm mật độ được định nghĩa    n i i x B D B x f x F 1 ) ( ) ( .

Hàm mật độ cục bộ (local density function) 

   ) ( 1 1( ) ) ( x near x x B D x f x f trong đó

hàm near(x) được xác định với x1 near(x) thì d(x1, x) near. Hàm mật độ cục bộ quan tâm đến sự ảnh hưởng của các điểm gần với điểm đang xét và ảnh hưởng của các điểm xa thì bỏ qua.

Bƣớc 1: Xây dựng bản đồ chứa không gian dữ liệu cần phân cụm để việc tính toán hàm mật độ được thực hiện nhanh hơn. Tiến hành phân chia không gian bằng khối siêu lập phương d-chiều có độ dài cạnh là 2, sau đó dựng cây lưu trữ dữ liệu bằng cấu trúc cây B+-tree hoặc cây tìm kiếm ngẫu nhiên và chỉ lưu trữ các khối siêu lập phương có chứa dữ liệu. Mỗi nút trên cây tương ứng với một khối c, cần lưu thêm thông tin số điểm dữ liệu trong khối, tổng giá trị trong khối để tính giá trị trung bình mean(c) của mỗi khối. Nếu cụm thuộc nhiều khối, cần cho biết các khối láng giềng với khối đang xét. Thông thường khối c2 được gọi là liên thông với c1

khi giá trị khoảng cách d(mean(c1), mean(c2)) 4.

Bƣớc 2: Thực hiện việc phân cụm, chỉ có những khối có mật độ cao Cp và các khối liên thông của chúng được xem xét trong quá trình phân cụm. Tính hàm mật độ cục bộ fD(x)

và điểm mật độ cao x* của điểm x, nếu hàm mật độ của x* thỏa mãn điều kiện thì điểm x được phân loại và gán vào cụm theo x* [20].

Thuật toán có độ phức tạp tính toán là O(n*log(n)) và phụ thuộc nhiều vào tham số mật độ và ngưỡng nhiễu, việc chọn tham số thích hợp ảnh hưởng đến chất lượng của các cụm thu được. Tuy nhiên thuật toán cho kết quả tốt kể cả tập dữ liệu lớn và có nhiễu, thậm chí các cụm có hình dạng bất kỳ trong tập dữ dữ liệu đa chiều cũng được mô tả trong công thức toán đơn giản. Cấu trúc dữ liệu theo ô lưới làm cho thuật toán có khả năng xử lý các khối dữ liệu lớn kể cả dữ liệu đa chiều.

2.6.4. Phƣơng pháp dựa trên lƣới (Gird-Based Methods)

Phương pháp phân cụm dựa trên lưới thích hợp với dữ liệu nhiều chiều, và chủ yếu được dùng để phân cụm cho dữ liệu không gian. Phương pháp sử dụng cấu trúc dữ liệu lưới (grid), bằng cách chia không gian thành số hữu hạn các ô để hình thành cấu trúc lưới và mọi thao tác phân cụm đều thực hiện trên đó.

Ưu điểm là thời gian xử lý nhanh mà không bị ảnh hưởng bởi số các đối tượng dữ liệu, ngược lại nó phụ thuộc vào số các ô trong mỗi chiều của không gian được chia [13][14].

Cách tiếp cận dựa trên lưới hiệu quả hơn so với phương pháp dựa trên mật độ và phân cấp, vì chỉ làm việc với từng đối tượng trong từng ô mà không phải đối tượng dữ liệu, mặt khác phương pháp này không trộn/hòa nhập các ô như phân cấp.

Một ví dụ về cấu trúc dữ liệu lưới chứa các ô trong không gian như hình sau:

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Nghiên cứu các kỹ thuật phân cụm dữ liệu và ứng dụng (Trang 55 - 59)

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

(102 trang)