Cơ sở dữ liệu không gian

Một phần của tài liệu Nghiên cứu, tìm hiểu một số thuật toán cơ bản về phân nhóm dữ liệu trên cơ sở dữ liệu không gian (Trang 27 - 96)

Dữ liệu không gian là dạng dữ liệu đặc biệt, mỗi điểm dữ liệu trong cơ sở dữ liệu ngoài những giá trị biểu thị cho điểm dữ liệu đó còn những giá trị biểu diễn vị trí và toạ độ của điểm đó. Hay nói cách khác một điểm dữ liệu không gian gồm hai tập tính chất:

 Tính chất mang tính không gian (spatial properties): Là những tính chất thể hiện cho toạ độ, vị trí của điểm dữ liệu.

 Tính chất phi không gian (non-spatial properties): Là những tính chất không liên quan đến vị trí của điểm dữ liệu mà chỉ đơn thuần là những giá trị mà điểm đó có.

Mối quan hệ giữa tính chất không gian và tính chất phi không gian liên kết rất chặt chẽ và có thể dựa vào tính chất không gian để đƣa ra đƣợc tính chất phi không gian và ngƣợc lại. Ví dụ nhƣ dựa vào tính chất về tỷ lệ ngƣời thất nghiệp của một điểm dữ liệu, chúng ta có thể đƣa ra đƣợc dự đoán về vị trí của điểm đó (trung tâm thành phố, nông thôn, miền núi...). Hoặc dựa vào vị trí của điểm đó với các điểm trung tâm thành phố, chúng ta có thể đƣa ra đƣợc tỷ lệ thất nghiệp với một mức độ chính xác nhất định.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

1.3.2. Hệ quản trị cơ sở dữ liệu không gian

Hệ quản lý cơ sở dữ liệu không gian là một bộ các công cụ cho phép thực hiện tổ chức, lƣu trữ, sắp xếp và tìm kiếm dữ liệu trong cơ sở dữ liệu không gian đƣợc nhanh chóng và hiệu quả. Các bộ công cụ này phải có các đặc thù riêng để đáp ứng và tận dụng đƣợc hết các đặc tính không gian. Hệ thống này cung cấp các kiểu dữ liệu không gian cũng nhƣ các phƣơng thức truy nhập dữ liệu và các phép toán thực hiện trên kiểu dữ liệu không gian. Ví dụ truy vấn là một trong những phép thực hiện đƣợc sử dụng nhiều nhất trong hệ cơ sở dữ liệu không gian bao gồm hai loại truy vấn phổ biến là:

 Truy vấn vùng (Region queries): Trả ra miền chứa toàn bộ những điểm dữ liệu thoả mãn một điều kiện nào đó đƣợc đƣa ra trong yêu cầu ngƣời dùng.

 Truy vấn lân cận gần nhất (Nearest neighbor-NN): Là một phép toán trả về các đối tƣợng gần với đối tƣợng đƣợc truy vấn nhất.

Một phép toán trên cơ sở dữ liệu thông thƣờng có thể đƣợc thực hiện bằng cách duyệt toàn bộ những đối tƣợng trong cơ sở dữ liệu đó. Tuy nhiên trong cơ sở dữ liệu không gian có thể có những tính chất khác. Ví dụ nếu trong không gian hai chiều, chúng ta cần tìm một điểm gần một điểm có toạ độ (x0, y0) chúng ta có thể duyệt với tất cả những điểm trong tập cơ sở dữ liệu nhƣng nếu chúng ta có một cấu trúc dữ liệu với những điểm mang tính không gian, việc tìm điểm gần điểm (x0, y0) nhất không nhất thiết phải duyệt toàn bộ cơ sở dữ liệu.

Hình 1.4: Những điểm nằm trong miền tô sẫm mới đƣợc xét đến khi tìm điểm gần nhất cho điểm x. Những điểm ngoài miền không cần xét đến

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ Trong trƣờng hợp trên chúng ta chỉ cần xét những điểm nằm trong miền giữa hai đƣờng thẳng x0 - và x0 + . Những điểm còn lại không cần thiết phải xét. Giá trị có thể chọn là giá trị từ điểm x0 với điểm kế tiếp x0 trong danh sách.

1.3.3. Phương pháp truy nhập không gian

Các phƣơng thức truy nhập không gian (Spatial Access Method - SAM) đã đƣợc phát triển để hỗ trợ hiệu quả cho xử lý các truy vấn trong hệ quản lý cơ sở dữ liệu không gian. Các phƣơng pháp này thực hiện tổ chức dữ liệu trong cơ sở dữ liệu cũng nhƣ là tổ chức toàn bộ không gian dữ liệu thích hợp nhất để giúp cho việc xem xét tìm ra câu trả lời cho một truy vấn chỉ cần thực hiện trong một tập con tối thiểu của cơ sở dữ liệu.

Các phƣơng pháp truy nhập không gian sử dụng khái niệm đối tƣợng xấp xỉ (approxiamtion) là một đối tƣợng đƣợc đơn giản hoá loại bỏ đi các thuộc tính không gian phức tạp mà chỉ gồm các thuộc tính chính đảm bảo nhận biết đƣợc đối tƣợng. Dựa vào khái niệm này xử lý một truy vấn có thể thực hiện theo hai bƣớc sau

 Bƣớc lọc (filtering step): Dựa vào các đối tƣợng xấp xỉ để tìm ra một tập các đối tƣợng ứng cử viên nhằm giảm bớt càng nhiều càng tốt số lƣợng các đối tƣợng phải kiểm tra.

 Bƣớc đánh giá lại (redefinement step): Thực hiện kiểm tra lại các đối tƣợng trong tập các đối tƣợng ứng cử viên xem có thoả mãn các điều kiện truy vấn hay không.

Đối tƣợng xấp xỉ đƣợc sử dụng phổ biến nhất đó là hộp giới hạn (bouding box - BB) đó là một hình chữ nhật nhỏ nhất mà có chứa một đối tƣợng không gian. Do vậy, hầu hết các phƣơng pháp truy nhập không gian đƣợc thiết kế chủ yếu để thực hiện việc quản lý các hình chữ nhật này. Hai phƣơng pháp truy nhập không gian phổ biến đó là phƣơng pháp chia lƣới và R*-tree thƣờng đƣợc đề cập đến bởi tính hiệu quả và mức độ đơn giản của chúng.

a.Phƣơng pháp chia lƣới (grid file)

Phƣơng pháp chia lƣới đƣợc thiết kế để quản lý những điểm trong không gian dữ liệu đa chiều (d-chiều). Nó sẽ chia toàn bộ không gian dữ liệu thành những

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ khối d chiều với kích thƣớc của các cạnh nói chung là đều nhau. Tuy nhiên việc chọn kích thƣớc của các cạnh cho khối cũng là một bài toán cần đƣợc giải quyết trƣớc khi sử dụng phƣơng pháp chia lƣới.

Với d trục trong không gian dữ liệu d chiều tạo nên một mảng d chiều và gọi là từ điển dữ liệu. Mỗi một phần tử gọi là một cell và có thể chứa một hoặc nhiều điểm dữ liệu hoặc cũng có thể không chứa điểm dữ liệu nào. Những cell không chứa điểm nào thì không đƣợc xét đến và gọi là cell rỗng. Mỗi một điểm dữ liệu phải nằm trong một cell của mảng và tất cả những điểm dữ liệu trong cùng một cell đƣợc lƣu trữ cùng với nhau một cách riêng biệt với các cell khác. Nói cách khác là các điểm dữ liệu trong cùng một cell đƣợc lƣu trữ thành một khối và độc lập với các điểm dữ liệu thuộc các cell khác. Trong một số trƣờng hợp chúng ta có thể lƣu trữ một vài cell liền kề thành một khối để giảm bớt bộ nhớ. Một miền có thể là một số cell nằm trọn trong miền đó hoặc là các cell giao với miền đó.

Phƣơng pháp chia lƣới có thể áp dụng tốt trong rất nhiều ứng dụng tuy nhiên có một hạn chế đó là số cell tăng theo hàm số mũ với d nên phƣơng pháp này chỉ có thể áp dụng với những dữ liệu có số chiều không quá lớn.

Hình 1.5: Một cách chia lƣới. Những ô mầu sẫm là những ô chứa dữ liệu và đƣợc lƣu trữ. Những ô màu trắng là những ô không chứa dữ liệu b. Phƣơng pháp R*-TREE

R*-tree tạo ra một một cây nhị phân một chiều (1-dimensional binary-tree) cho không gian dữ liệu d chiều. Đặc biệt là R*-tree quản lý những khối hình chữ nhật d chiều bằng một mảng một chiều gọi là khoá. Một R*-tree có thể lƣu giữ đối tƣợng bất kì (ví dụ nhƣ đa giác) bằng hình chữ nhật biên nhỏ nhất (Minimum

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

Bounding Rectangle - MBR). Phƣơng pháp này xấp xỉ mỗi điểm đối tƣợng thành một hình chữ nhật nhỏ nhất có thể và lƣu trữ hình chữ nhật đó.

Những lá của R*-tree lƣu giữ một MBR của một đối tƣợng và một con trỏ trỏ đến đối tƣợng thực trong không gian địa lý. Những nút bên trong lƣu trữ những dãy cặp gồm một hình chữ nhật và con trỏ trỏ đến nút con của nút đó. Những hình chữ nhật này hoặc chính là một MBR hoặc là nút gốc của một cây con trong R*-tree. Ví dụ

Hình 1.6: Mô phỏng một R*-tree gồm 3 mức

Để trả lời câu hỏi về một miền ta bắt đầu xuất phát từ gốc và chỉ những hình chữ nhật nào có giao với miền cần trả lời sẽ đƣợc xét đến. Sau đó, xét tiếp đến các nút con của những nút đó cho tới khi tìm ra đƣợc trang dữ liệu cần tìm.

1.4. Kết luận (adsbygoogle = window.adsbygoogle || []).push({});

Qua chƣơng này, chúng tôi đã trình bày tổng quan về khai phá tri thức trong cơ sở dữ liệu không gian. Tìm hiểu một số khái niệm và các vấn đề liên quan đến khai phá tri thức trong cơ sở dữ liệu, các tính chất và đặc trƣng của cơ sở dữ liệu không gian. Tập trung nghiên cứu một lĩnh vực của khai phá dữ liệu là kỹ thuật phân nhóm trong cơ sở dữ liệu bao gồm các phƣơng pháp sử dụng trong kỹ thuật phân nhóm nhằm giải quyết các mục tiêu của luận văn.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

Chƣơng 2

CÁC CÁCH TIẾP CẬN CỦA KỸ THUẬT PHÂN NHÓM

Các kỹ thuật phân nhóm có rất nhiều cách tiếp cận và các ứng dụng trong thực tế, nó đều hƣớng tới hai mục tiêu chung đó là chất lƣợng của các nhóm khám phá đƣợc và tốc độ của thuật toán. Hầu hết các thuật toán theo hai cách tiếp cận: Phƣơng pháp phân hoạch (Partitioning Methods) và phƣơng pháp phân cấp (Hierarchical Methods) là hai phƣơng pháp phân nhóm dữ liệu cổ điển, hiện đã có rất nhiều thuật toán cải tiến dựa trên hai phƣơng pháp này đã đƣợc áp dụng phổ biến trong khai phá dữ liệu. Làm việc hiệu quả với các dữ liệu nhỏ và cho kết quả tốt. Tuy nhiên, khi áp dụng các thuật toán trên vào cơ sở dữ liệu lớn, phức tạp và đặc biệt là có chứa nhiễu thì không phải thuật toán nào cũng cho kết quả tốt cả về hiệu quả tri thức tìm đƣợc cũng nhƣ thời gian chạy chƣơng trình.

Các thuật toán áp dụng cho cơ sở dữ liệu không gian cần đạt đƣợc 3 yêu cầu chính: (1) số các tham số đầu vào là tối thiểu (2) phát hiện các lớp với hình dạng bất kỳ (3) hiệu quả với các cơ sở dữ liệu lớn, đa chiều và có nhiễu. Tuy nhiên khó có thể đƣa ra đƣợc một thuật toán nhằm thoả mãn một cách chính xác các yêu cầu này [9].

Sau đây là một số thuật toán phân nhóm sử dụng cho dữ liệu không gian có hình dạng tuỳ ý và đặc biệt chứa nhiễu.

2.1. Thuật toán DBSCAN

Thuật toán phân nhóm dựa trên mật độ thông dụng nhất là thuật toán DBSCAN (Density Based Spatial Clustering of Applicatins with Noise)[5] do Ester, P. Kriegel và J. Sander đề xuất năm 1996. 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. Một nhóm đƣợc xác định bằng 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ó.

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.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

2.1.1. Các định nghĩa và bổ đề được sử dụng trong thuật toán DBSCAN

Định nghĩa 1: Các lân cận của một điểm P với ngƣỡng Eps, ký hiệu NEps(p) đƣợc xác định nhƣ sau:

NEps(p) = {q D khoảng cách (p, q) Eps}, D là tập dữ liệu cho trƣớc

Hình 2.1: Lân cận của P với ngƣỡng Eps

Một điểm p muốn nằm trong một lớp C nào đó thì NEps(p) 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à một bài toán khó vì: Nếu số điểm tối thiểu lớn chỉ những điểm nằm thực sự trong lớp C mới đạt đủ tiêu chuẩn, trong khi những điểm nằm ở ngoài biên không thể đạt đƣợc điều đó. Ngƣợc lại, nếu số điểm tối thiểu là nhỏ mọi điểm sẽ chỉ rơi vào một lớp.

Nhƣ định nghĩa trên thì chỉ những điểm nằm thực sự trong lớp mới thoả mãn điều kiện là điểm của lớp. Những điểm nằm ở biên thì không thoã mãn điều kiện thuộc lớp. Để tránh đƣợc điều đó 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 lớp nhƣ sau: Nếu một điểm p muốn thuộc một lớp 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 nhƣ sau.

Định nghĩa 2: Mật độ - đến đƣợc trực tiếp (directly density-reachable) Một điểm P đƣợc gọi là mật độ - đến đƣợc trực tiếp từ điểm q với ngƣỡng Eps và MinPts trong tập đối tƣợng D nếu:

p NEps(q) Với NEps(q) là tập con của D

|| NEps(q) || MinPts Điều kiện đối tƣợng nhân. Điểm q gọi là điểm nhân (core point).

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ Ta thấy rằng nó 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

Hình 2.2: Mật độ - đến đƣợc trực tiếp

Định nghĩa 3: Đến đƣợc mật độ (density-reachable) (để ngắn gọn, từ các phần tiếp sau ta gọi là đến đƣợc): 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+1 là có thể đến đƣợc trực tiếp từ pi với i = 1,..n -1.

Hình 2.3: Mật độ đến đƣợc

Thực chất định nghĩa đến đƣợc là mở rộng của đến đƣợc trực tiếp. Nó có tính bắc cầu nhƣng không đối xứng với q không phải là nhân. Trong trƣờng hợp q là nhân thì tính chất trên là tính chất đối xứng.

Hai điểm biên của một lớp C có thể không đến đƣợc nhau bởi vì có thể cả hai đề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 đó. Để 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: Mật độ liên thông (density-connected): Đối tƣợng p là mật độ liên thông với điểm q theo hai tham số Eps với MinPts nếu nhƣ có một đối tƣợng o mà cả hai đối tƣợng p, q điều là mật độ đến đƣợc o theo tham số Eps và MinPts.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

Hình 2.4: Mật độ liên thông

Định nghĩa 5: Nhóm và nhiễu (adsbygoogle = window.adsbygoogle || []).push({});

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 lớp (cluster) theo Eps và MinPts nếu thoả mãn hai điều kiện:

1) p, q D, nếu p C và q có thể đến đƣợc từ p theo Eps và MinPts thì q C. 2) p, q C, p liên thông mật độ với q theo Eps và MinPts.

Mọi đối tƣợng không thuộc nhóm nào cả thì gọi là nhiễu

Hình 2.5: Nhóm và nhiễu

Với hai tham số Eps và MinPts cho trƣớc, ta có thể khám phá các nhó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 nhóm.

Định nghĩa 6: Dữ liệu nhiễu (noise): Giả sử C1, C2, . . , Ck là các lớp 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 lớp nào trong các lớp C1, C2, ... , Ck tức là Noise = {p D i = 1...k, p Ci}

Tiếp sau là hai bổ đề để chứng minh cho việc chia lớp của chúng ta theo cách trên là hoàn toàn đúng đắn.

Bổ đề 1: Giả sử p là một điểm trong D và ||NEps(p)|| MinPts, tập O = {o o D} và o có thể đến đƣợc từ p theo Eps và MinPts sẽ là một lớp theo Eps và MinPts.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

Một phần của tài liệu Nghiên cứu, tìm hiểu một số thuật toán cơ bản về phân nhóm dữ liệu trên cơ sở dữ liệu không gian (Trang 27 - 96)