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

Một phần của tài liệu các hướng tiếp cận của bài toán phân cụm dữ liệu (Trang 56 - 100)

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.

Hình 2.18: Mô hình cấu trúc dữ liệu lưới

Các thuật toán điển hình theo phương pháp dựa trên lưới gồm: STING (STatistical INformation Grid), WaveCluster, CLIQUE (CLustering In QUEst)… Dưới đây là trình bày hai trong số các thuật toán trên.

2.6.4.1. Thuật toán STING

STING (STatistical Information Grid-based method) [16] được đề xuất năm 1997 bởi Wang, Yang và Muntz. Thuật toán này là kỹ thuật phân cụm đa phân giải dựa trên lưới, khám phá tính chất của cụm dựa vào cấu trúc chỉ số. STING chia miền không gian thành những ô lưới chữ nhật theo chiều ngang hoặc chiều dọc và đánh chỉ số cho từng ô lưới. Sau đó, mỗi đối tượng dữ liệu sẽ được đưa vào ô lưới tương ứng. Một cấu trúc phân cấp được sử dụng để xây dựng lên lưới của miền dữ liệu không gian. Mỗi một ô ở tầng i thì được chia thành k ô ở tầng kế tiếp.

STING lưu trữ tham số trong mỗi ô với mục đích có thể trả lời những yêu cầu về thống kê. Ngoài việc lưu trữ số điểm hoặc đối tượng trong từng ô, STING lưu trữ thêm một vài giá trị khác gồm[20]:

- m – giá trị trung bình của tất cả giá trị trong ô.

- s – mức deviation của tất cả các giá trị của thuộc tính trong một ô.

- min – giá trị nhỏ nhất của một thuộc tính trong một ô.

- Dis – kiểu phân bố mà một thuộc tính trong một ô tuân theo. Kiểu phân

bố có thể là: Thường, đều, hàm số mũ hoặc không xác định. Kiểu phân bố có thể được xác định trước bởi người dùng hoặc xác định bằng phương pháp X2.

Hình 2.19: Mô hình thuật toán STING.

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. Chú ý là N>>k.

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

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.1 Bà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 đồ.

Hình 3.1: Kết quả phân cụm với Minpt = 3, Epxilon = 200000000

Kết quả dữ liệu được phân cụm được thể hiện tương ứng trên với màu trên bản đồ:

Hình 3.2: Kết quả phân cụm trên dữ liệu thuộc tính và trên bản đồ

Các cụm tương ứng với màu thể hiện trên bản đồ:

Ứng với mỗi màu là giá trị ngưỡng của từng vùng thể hiện diện tích của vùng đó : 1. Cụm 1 gồm các tỉnh có diện tích trong bảng sau, có màu tương ứng

Tên tỉnh Diện tích Trà Vinh 2306466349.96141000 Hà Tây 2198420357.81812000 Bà Rịa 1897727768.00838000 TP.HCM 2066159606.10698000 Tiền Giang 2395682910.39683000 Bạc Liêu 2477845384.00060000 Bến Tre 2335831224.56328000 2. Cụm 2 gồm các tỉnh có diện tích trong bảng sau, có màu tương ứng

Tên tỉnh Diện tích

Bình Thuận 7931209499.87932000 Hà Giang 7965348879.95733000 Quảng Bình 7970535688.36433000

3. Cụm 3 gồm các tỉnh có diện tích trong bảng sau, có màu tương ứng

Tên tỉnh Diện tích

Long An 4494400782.31278000 Quảng Ngãi 5160704548.38619000 Quảng Trị 4732815713.60740000 Thừa Thiên Huế 4910723589.51324000 Hoà Bình 4646402537.94947000 Bắc Kạn 4859193597.45612000 Cà Mau 5218144748.70507000 Phú Yên 5044337921.47458000 Khánh Hoà 4654650767.56896000

4. Cụm 4 gồm các tỉnh có diện tích trong bảng sau, có màu tương ứng

Một phần của tài liệu các hướng tiếp cận của bài toán phân cụm dữ liệu (Trang 56 - 100)

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

(100 trang)
w