Các truy vấn không gian được thực hiện bằng cách xét các ô thích hợp tại mỗi mức của phân cấp. Truy vấn không gian được xác định như là một thông tin khôi phục lại của dữ liệu không gian và các quan hệ của chúng. Một câu truy vấn đưa ra một kết quả mà người sử dụng muốn tìm. Ví dụ như ―Đưa ra vùng lớn nhất mà ít nhất có 100 ngôi nhà trong một đơn vị, có ít nhất 70% nhà có giá trị trên $400K với độ tin cậy là 90%‖.
Để xác định được câu truy vấn này, STING bắt đầu từ gốc (tầng cao nhất) của cấu trúc cây và tìm các ô thoả mãn cho câu truy vấn. Ô thoả mãn câu truy vấn được xác định trên khả năng của các đối tượng trong câu truy vấn. Chỉ những con của ô thoả mãn thì mới được xét tiếp tục và quá trình dừng lại khi lá thấp nhất được tìm thấy. Kết quả đưa ra là những ô ở tầng thấp nhất.
Độ phức tạp của STING là O(N), với N là số đối tượng trong cơ sở dữ liệu. STING chỉ cần duyệt qua toàn bộ cơ sở dữ liệu một lần để đưa ra được cấu trúc cây mà mỗi lần trả lời một câu truy vấn cần thời gian chạy là O(K) với K là số ô lưới.
Ưu điểm:
- Tính toán dựa trên lưới là truy vấn độc lập vì thông tin thống kê được bảo quản trong mỗi ô đại diện nên chỉ cần thông tin tóm tắt của dữ liệu trong ô lưới chứ không phải dữ liệu thực tế và không phụ thuộc vào câu truy vấn.
- Cấu trúc dữ liệu lưới thuận tiện cho quá trình xử lí song song và cập nhật liên tục.
- Duyệt toàn bộ cơ sở dữ liệu cho một lần để tính toán các đại lượng thống kê cho mỗi ô, nên nó rất hiệu quả.
Hạn chế:
Mặc dù STING có thể đưa ra một phân cụm tốt đáp ứng được yêu cầu của người sử dụng trong khoảng thời gian rất nhanh nhưng vẫn tồn tại hai vấn đề:
1) Thuật toán chỉ dựa trên thuộc tính của các lá ở tầng cuối cùng;
2) Thuật toán không dựa vào mối quan hệ giữa các nút con không cùng một cha.
Vì thế, thuật toán đưa ra được cụm với biên là chiều ngang và chiều dọc nhưng không đưa ra được biên có chiều là đường chéo. Điều này cũng ảnh hưởng tới chất lượng của thuật toán.
2.6.4.2. Thuật toán CLIQUE
CLIQUE (Clustering In QUEst) [10] được đề xuất năm 1998 bởi Agrawal, Gehrke, Gunopulos, Raghavan; CLIQUE là một hướng tiếp cận mật độ và phương pháp chia lưới áp dụng cho cơ sở dữ liệu nhiều chiều.
Mô hình thuật toán phân cụm cho cơ sở dữ liệu nhiều chiều là hạn chế không gian tìm kiếm trong một không gian con (sub_space) thay vì thêm vào những chiều mới được tạo ra bằng cách tích hợp các chiều ban đầu. Hướng tiếp cận mật độ được áp dụng cho phép phân cụm trong không gian con đó.
Với mục đích là xấp xỉ mật độ của điểm dữ liệu, mỗi một chiều sẽ được phân hoạch thành những khoảng bằng nhau dựa vào cách tiếp cận từ dưới lên. Độ lớn của mỗi phân hoạch là giống nhau và mật độ của phân hoạch có thể coi như là số điểm bên trong phân hoạch đó. Những thông số về mật độ sẽ được sử dụng để xác định không gian con.
Cụm được xác định trong không gian con bằng cách chia những điểm dữ liệu dựa vào hàm mật độ của các điểm và mật độ của một không gian con. Để đơn giản, mỗi cụm sẽ được giới hạn bởi một hình khối chữ nhật có các cạnh song song với các trục. Các cụm được hình thành lên bằng cách nhóm một số hình chữ nhật gối lên nhau. Hai tham biến dùng để phân hoạch không gian con và xác định đơn vị mật độ là và trong đó là số khoảng với độ dài bằng nhau mà một không gian sẽ được chia, là ngưỡng để xác định một khối có là khối mật độ hay không.
Thuật toán gồm các bước cụ thể như sau
Bƣớc 1: Xác định miền không gian con chứa các cụm. Thuật toán xử lý theo từng mức và sử dụng phương pháp dưới lên (bottom-up) để tìm ra những đơn vị mật độ. Đầu tiên sẽ đi duyệt qua toàn bộ cơ sở dữ liệu để tìm ra được đơn vị mật độ một chiều. Một đơn vị mật độ cha sẽ được xác định dựa vào những thông tin có sẵn trong những đơn vị con. Những không gian con được phủ bởi nhiều đơn vị mật độ nhất sẽ được lựa chọn và cắt bỏ những phần còn lại. Những không gian con được sắp theo số điểm mật độ trong không gian đó…
Bƣớc 2: Tìm kiếm các cụm. Thuật toán là tìm các thành phần liên thông sử dụng các đơn vị như các đỉnh và giữa hai đỉnh có một cạnh khi và chỉ khi chúng có chung ít nhất một mặt. Một thuật toán tìm kiếm theo chiều sâu được sử dụng để tìm ra những thành phần liên thông của đồ thị. Các cụm được phụ thuộc vào số khối mật độ.
Bƣớc 3: Sinh ra đặc tả tối thiểu cho mỗi cụm (cụm được tạo ra từ bước 2). Với mỗi cụm, xác định vùng lớn nhất chứa cụm các đơn vị mật độ liên thông. Tiếp đó xác định phủ tối tiểu (minimal cover) cho cụm đó.
Độ phức tạp của thuật toán phụ thuộc vào 3 phần: Xác định không gian con O(ck + mk) với k là hằng số, k là số chiều lớn nhất của các đơn vị mật độ và m là số điểm dữ liệu đầu vào. Thuật toán sẽ đi qua dữ liệu k lần. Tại bước thứ 2, thuật toán kiểm tra 2k điểm lân cận để tìm ra các miền liên thông của các đơn vị mật độ. Độ phức tạp của bước cuối cùng là 2kn. Độ phức tạp của bước cuối cùng là O(n2) với n là số đơn vị mật độ. Thời gian chạy xấp xỉ biến đổi tuyến tính với kích thước của dữ liệu vì số lần duyệt qua dữ liệu là không thay đổi. Tuy nhiên, khi số chiều của dữ liệu tăng lên thì độ phức tạp cũng tăng rất nhanh.
CLIQUE không phụ thuộc vào thứ tự vào ra của dữ liệu và không yêu cầu những thông tin của dữ liệu trước. CLIQUE yêu cầu hai tham biến từ người sử dụng
và làm việc hiệu quả với dữ liệu nhiễu. Tuy nhiên khi gía trị quá nhỏ thì sẽ có những đơn vị chứa dữ liệu nhiễu nhưng vẫn được xem là đơn vị của cụm và xem như là một cụm.
2.6.5. Kết luận
Mỗi một phương pháp phân cụm đều có điểm mạnh điểm yếu và thích hợp cho từng ứng dụng cụ thể.
1) Phương pháp phân hoạch
Phương pháp phân hoạch đơn giản, dễ áp dụng và hiệu quả đối với cơ sở dữ liệu nhỏ với các cụm đưa ra có hình dạng lồi. Tuy nhiên, do các cụm trong phương pháp phân hoạch được biểu diễn bởi các tâm của cụm và mỗi một điểm dữ liệu được chia vào một cụm dựa vào khoảng cách từ điểm đó tới tâm của cụm. Chính vì thế phương pháp phân hoạch chỉ có thể đưa ra được các cụm có hình dạng là đa giác lồi mà không thể đưa ra được các cụm 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 dữ liệu quá xa tâm (outline) thì phương pháp phân cụm phân hoạch cùng không áp dụ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 dữ liệu xa tâm (outline) sẽ làm tâm của cụm bị lệch đi. Do đó, không đưa ra được các cụm chính xác, ví dụ:
2) Phương pháp phân cấp: Thực hiện việc phân cụm bằng cách 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 đó. Phương pháp này không có khả năng phân cụm với hình dạng bất kỳ. Việc xây dựng lên cây cấu trúc tương đối phức tạp và phải duyệt cơ sở dữ liệu nhiều lần, dẫn tới thời gian chạy của các thuật toán lớn. Ngoài ra, phương pháp phân cấp đòi hỏi một không gian bộ nhớ để lưu giữ cây trong quá trình xây dựng. Do đó phương pháp này cũng không thích hợp với cơ sở dữ liệu lớn.
3) Phương pháp dựa trên mật độ: là một trong những phương pháp phân cụm
hiệu quả, đặ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 chỉ có khả năng tìm ra những cụm với hình dáng bất kỳ mà còn rất hiệu qủa khi áp dụng lên những cơ sở dữ liệu có nhiễu.
Mỗi phương pháp phân cụm có ưu và nhược điểm riêng, phù hợp với từng loại ứng dụng. Tuỳ từng ứng dụng cụ thể mà người sử dụng sẽ chọn phương pháp phân cụm 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 phân cụm 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 phân cụm hiện tại đều không thể áp dụng và phân cụm đượ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 và chứa nhiều đối tượng dữ liệu hỗn hợp như cơ sở dữ liệu không gian.
4) Phương pháp dựa trên lưới (Gird-Based Methods).
Phương pháp này thích hợp với dữ liệu nhiều chiều, được áp dụng chủ yếu cho lớp cơ sở dữ liệu không gian. Ví dụ như dữ liệu được biểu diễn dưới dạng cấu trúc hình học của đối tượng trong không gian cùng với các quan hệ, các thuộc tính, các hoạt động của chúng.
Ưu điểm của phương pháp dựa trên lưới là thời gian xử lý nhanh và độc lập với số đối tượng dữ liệu trong tập dữ liệu ban đầu, thay vào đó là chúng phụ thuộc vào số ô trong mỗi chiều của không gian lưới.
Chƣơng 3: ỨNG DỤNG
3.1Bài toán:
Phân cụm dữ liệu bản đồ Đơn vị hành chính việt Nam thành những vùng sao cho những đơn vị hành chính (tỉnh/ huyện/ xã) trong cùng một vùng được chia có diện tích tương đương nhau.
3.2 Phân tích bài toán a. Cơ sở dữ liệu:
Bản đồ Đơn vị hành chính Việt Nam dưới dạng dữ liệu thuộc tính, được cung cấp từ Cục Công nghệ thông tin – Bộ Tài nguyên và Môi trường.
b. Công nghệ sử dụng:
Sử dụng thư viện ArcGIS Engine và công nghệ lưu trữ dữ liệu không gian Geodatabase của ESRI.
Ngôn ngữ lập trình VS.Net 2008. c. Giải thuật:
Để phân cụm một cơ sở dữ liệu người ta có thể áp dụng rất nhiều phương pháp như phương pháp phân hoạch (partitioning), phương pháp phân cấp (hierarchical), phương pháp dựa trên mật độ (density-based), phương pháp dựa trên lưới (grid-based)…. Mỗi phương pháp đều có ưu và nhược điểm khác nhau tuỳ thuộc vào yêu cầu bài toán và cơ sở dữ liệu được phân cụm. Trong đó phương pháp phân cụm dựa trên mật độ là phương pháp hiệu quả. Trên thực tế, phương pháp này đã được áp dụng đối với nhiều cơ sở dữ liệu lớn, dữ liệu không gian với nhiều mục đích khác nhau như: dịch bệnh, động đất, dân số …
Với bài toán đơn giản trên áp dụng giải thuật DBSCAN. Thuật toán DBSCAN được hình thành dựa trên ý tưởng: những đối tượng trong cùng một cụm phải có mật độ các điểm lân cận vượt qua một ngưỡng nào đó. Ví dụ như một điểm chỉ có thể thuộc một cụm khi có không ít hơn 3 đối tượng trong lân cận Eps. DBSCAN thực hiện việc phân cụm các đối tượng dữ liệu dựa vào mật độ của các đối tượng dữ liệu đó. Những cụm đối tượng do DBSCAN tìm ra có hình dạng bất kỳ (lồi, lõm …). Ngoài ra, DBSCAN còn có thể phân biệt được dữ liệu nhiễu.
Yêu cầu bài toán: Khi áp dụng giải thuật DBSCAN với tham số Eps và Minpts thì các cụm đối tượng nhận được phải có chung tính chất và thoả mãn điều kiện các đối tượng trong cùng một cụm đều có mật độ các điểm trong lân cận Eps lớn hơn một số Minpts (với Eps và Minpts được nhập vào). Chính vì vậy, DBSCAN không áp dụng lên được những cơ sở dữ liệu mà mật độ các điểm trong các cụm khác nhau có sự chênh lệch lớn.
3.3 Kết quả của ứng dụng
- Với Minpt = 3, Epxilon = 200000000 Dữ liệu Bản đồ được chia làm 9 cụm và một cụm dữ liệu nhiễu (có giá trị là -1) tương ứng với 10 màu thể hiện trên bản đồ.