Các kỹ thuật khai phá dữ liệu đã được sử dụng với các cơ sở dữ liệu quan hệ để khám phá các thông tin chưa biết, tìm các kết quả không mong đợi và các tương quan.. Phần sau đây của báo c
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Bài tập lớn Cơ sở dữ liệu nâng cao
không gian
Giảng viên : PGS.TS Nguyễn Hà Nam
Nhóm thực hiện : Nhóm 19
Sinh viên thực hiện : Khúc Ngọc Hiệp
Nguyễn Quang Minh
Hà Nội – 3/2012
Trang 2M c l c ục lục ục lục
Danh sách hình vẽ 3
Giới thiệu 4
1 Cơ sở dữ liệu không gian 5
1.1 Định nghĩa 5
1.2 Các đặc điểm của cơ sở dữ liệu không gian 5
2 Khai phá dữ liệu không gian 8
2.1 Định nghĩa 8
2.2 Đặc điểm của khai phá dữ liệu không gian 8
3 Phân tích phân cụm 11
3.1 Giới thiệu về phân tích phân cụm 11
3.2 Các thuật toán phân cụm 12
3.3 Phân cụm theo phân bố 12
4 Kết luận 15
5 Tài liệu tham khảo 16
Trang 3Danh sách hình vẽ
Hình 1: Kiểu dữ liệu không gian trong Oracle Spatial 6
Hình 2: Kiểu dữ liệu không gian trong DB2 Spatial Extender 6
Hình 3: Thứ tự đánh chỉ số trong R-tree 7
Hình 4: Mối liên hệ không gian giữa các mức trong R-tree 7
Hình 5: Các hình với hình dạng đặc biệt 12
Hình 6: Phương pháp phân cụm EM-clustering 14
Trang 4Gi i thi u ới thiệu ệu
Cơ sở dữ liệu không gian là cơ sở dữ liệu được thiết kế để xử lý dữ liệu không gian, nó thường được sử dụng cho rất nhiều lĩnh vực từ dữ liệu không gian địa lý đến kiến thức về công nghệ y học, và các cơ sở dữ liệu không gian được sử dụng ngày càng nhiều Lượng dữ liệu không gian được thu thập cũng tăng vô cùng nhanh theo hàm mũ Độ phức tạp của các dữ liệu được chứa đựng trong các cơ sở dữ liệu có nghĩa là con người không thể phân tích một cách hoàn toàn các
dữ liệu đã được thu thập Các kỹ thuật khai phá dữ liệu đã được sử dụng với các cơ sở dữ liệu quan hệ để khám phá các thông tin chưa biết, tìm các kết quả không mong đợi và các tương quan Các cơ sở dữ liệu vô cùng lớn đòi hỏi các kỹ thuật mới để phân tích dữ liệu và khám phá những các mẫu như trên Các thuật toán tìm kiếm truyền thống có thể vẫn có câu trả lời cho một
số phần của thông tin, tuy nhiên các kỹ thuật cũ đã hoàn toàn không thể thực hiện các tìm kiếm cho các mẫu chưa biết đến trong dữ liệu
Phần sau đây của báo cáo sẽ tìm hiểu về cơ sở dữ liệu không gian, các kỹ thuật trong khai phá dữ liệu không gian để giải quyết bài toán ở trên, và đi sâu vào tìm hiểu các thuật toán phân cụm ứng dụng trong khai phá dữ liệu không gian
Trang 51 C s d li u không gian ơ sở dữ liệu không gian ở dữ liệu không gian ữ liệu không gian ệu
1.1 Đ nh nghĩa ịnh nghĩa
Cơ sở dữ liệu không gian là một loại đặc biệt của cơ sở dữ liệu mà nó được tối ưu hóa để lưu trữ
và truy vấn các dữ liệu liên quan đến các đối tượng trong không gian bao gồm điểm, đường, đa giác và mặt Trong khi các cơ sở dữ liệu điển hình có thể hiểu các kiểu dữ liệu dạng số và ký tự,
cơ sở dữ liệu không gian phải có các chức năng được xây dựng thêm để xử lý các dữ liệu không gian
Güting (1994) định nghĩa cơ sở dữ liệu không gian là một kiểu của cơ sở dữ liệu mà có các đặc tính sau:
Là một cơ sở dữ liệu
Có các kiểu dữ liệu không gian trong mô hình dữ liệu và ngôn ngữ truy vấn của nó
Hỗ trợ các kiểu dữ liệu không gian và cung cấp ít nhất là chỉ số không gian (spatial indexing) và một thuật toán hiệu quả cho phép kết không gian (spatial joins)
1.2 Các đ c đi m c a c s d li u không gian ặc điểm của cơ sở dữ liệu không gian ểm của cơ sở dữ liệu không gian ủa cơ sở dữ liệu không gian ơ sở dữ liệu không gian ở dữ liệu không gian ữ liệu không gian ệu
Cơ sở dữ liệu không gian cho phép quản lý và xử lý các dữ liệu liên quan đến bản đồ Phần sau đây sẽ nói về các đặc điểm của nó, bao gồm các kiểu dữ liệu không gian, đánh chỉ số không gian (spatial indexing) và phép kết không gian
Các kiểu dữ liệu không gian
Các cơ sở dữ liệu truyền thống được thiết kế để quản lý và xử lý dữ liệu chữ-số thể hiện bởi chuỗi các ký tự, giá trị số, ngày tháng và giá trị đúng sai Nó không có sự chuẩn bị để hỗ trợ để lưu trữ và xử lý dữ liệu không gian mà được thể hiện bởi các điểm, đường, đa giác và bề mặt Các cơ sở dữ liệu hướng đối tượng và cơ sở dữ liệu quan hệ cho phép người dùng định nghĩa các kiểu dữ liệu trừu tượng mô tả cấu trúc cột phức tạp trong cơ sở dữ liệu Một vài nhà cung cấp phần mềm cơ sở dữ liệu đã sử dụng khả năng này để định nghĩa các kiểu dữ liệu không gian cho phép sản phẩm của họ quản lý và xử lý tốt các dữ liệu không gian
Mỗi nhà cung cấp phần mềm cơ sở dữ liệu cài đặt một cách khác nhau, ví dụ Oracle Spatial có chín kiểu dữ liệu không gian cơ bản bao gồm điểm, đường thẳng, đường cong, đường phức hợp,
đa giác, đa giác cong, đa giác phức hợp, hình tròn và hình chữ nhật Trong khi đó, DB2 Spatial Extender của IBM lại sử dụng thuật ngữ hình học để mô tả các kiểu dữ liệu không gian của nó với điểm, đa điểm, đường, đa đường, đa giác, hợp đa giác và ellipse
Trang 6Trong khi các thuật ngữ được sử dụng khác nhau, các mô hình dữ liệu cơ bản và các hàm và phép toán lại khá là nhất quán
Hình 1: Kiểu dữ liệu không gian trong Oracle Spatial
Hình 2: Kiểu dữ liệu không gian trong DB2 Spatial Extender
Đánh chỉ số dữ liệu không gian
Đánh chỉ số dữ liệu không gian cũng có mục đích tương tự như trong các cơ sở dữ liệu truyền thống, là để nhanh chóng tìm kiếm được giá trị mong muốn từ cơ sở dữ liệu không gian, tuy nhiên nó phức tạp hơn rất nhiều vì nó phải làm việc với không gian hai chiều hơn là một mảng các dữ liệu dạng ký tự trong các bảng
Một khái niệm cơ bản trong đánh chỉ số không gian đó là nó sử dụng xấp xỉ bởi đó quá trình truy cập dữ liệu không gian dần dần thu hẹp vùng tìm kiếm của nó cho đến khi tìm thấy đối tượng mong muốn Có rất nhiều phương pháp đánh chỉ số được sử dụng cho các cơ sở dữ liệu không gian , một trong số những phương pháp được sử dụng nhiều nhất là R-tree
Trang 7Hình 3: Thứ tự đánh chỉ số trong R-tree
Hình 4: Mối liên hệ không gian giữa các mức trong R-tree
Phép kết không gian (spatial joins)
Phép kết không gian là một truy vấn trong đó nó so sánh hai hay nhiều hình dựa vào vị trí của chúng Về mặt chức năng, phép kết không gian có mục đích tương tự với các phép kết trong cơ
sở dữ liệu thông thường , tuy nhiên nó bổ sung thêm các toán tử không gian như là nằm trên (overlay), đan xen (intersect), chứa, hợp Trong thực tế, phép kết không gian là truy vấn quan trọng nhất trong các truy vấn không gian vì nó cung cấp cơ chế để so sánh hai hay nhiều lớp trong các hàm phân tích không gian như là phân tích một đối tượng có nằm trên đối tượng khác hay không
Trang 82 Khai phá d li u không gian ữ liệu không gian ệu
Cơ sở dữ liệu không gian đầu tiên được thiết kế và cài đặt chủ yếu để quản lý dữ liệu Vì quá trình phát triển tập trung vào cấu trúc dữ liệu và xử lý giao dịch, các hệ thống đầu tiên này thường yếu về các chức năng phân tích dữ liệu, với kết quả là chúng hiếm khi được sử dụng để
hỗ trợ thực thi và quản lý ra quyết định
Sự tích hợp tăng cường của các cơ sở dữ liệu không gian với xu hướng chính của công nghệ cơ
sở dữ liệu đã ngày càng cho thấy tầm quan trọng và giá trị của dữ liệu không gian trong các quá trình ra quyết định trong các tổ chức Xu hướng mới nổi lên này trong việc sử dụng dữ liệu không gian để hỗ trợ ra quyết định được hưởng lợi rất nhiều từ sự tiến bộ song song trong khai phá tri thức trong các cơ sở dữ liệu lớn sử dụng khái niệm và kỹ thuật hiện nay thường được biết đến như là khai phá dữ liệu hoặc khám phá kiến thức trong cơ sở dữ liệu
2.1 Đ nh nghĩa ịnh nghĩa
Khai phá dữ liệu không gian là một lĩnh vực ứng dụng đặc biệt của khai phá dữ liệu Nó được đặt nền móng từ khai phá dữ liệu truyền thống và dựa chủ yếu vào các công nghệ khai phá dữ liệu tổng quát để điều khiển các thuộc tính của dữ liệu không gian
Khai phá dữ liệu không gian là quá trình khám phá các mẫu đáng chú ý, có ích tiềm tàng, chưa biết trước từ các tập dữ liệu không gian lớn Phân tích các mẫu đáng chú ý và có ích từ các tập
dữ liệu không gian khó hơn rất nhiều so với việc phân tích các mẫu tương ứng từ các dữ liệu chữ-số truyền thống bởi vì sự phức tạp của các kiểu dữ liệu không gian và các mối quan hệ không gian
Để sử dụng các kỹ thuật và khái niệm của khai phá dữ liệu trong lĩnh vực không gian, chúng ta phải cải tiến chúng về cả lý thuyết và kỹ thuật để phù hợp với các tính chất của dữ liệu không gian và đáp ứng được yêu cầu của người sử dụng trong ra quyết định không gian
2.2 Đ c đi m c a khai phá d li u không gian ặc điểm của cơ sở dữ liệu không gian ểm của cơ sở dữ liệu không gian ủa cơ sở dữ liệu không gian ữ liệu không gian ệu
Khai phá dữ liệu không gian phức tạp hơn khai phá dữ liệu truyền thống rất nhiều do đặc thù của
dữ liệu không gian:
Cấu trúc dữ liệu không gian Dữ liệu không gian thường mang thông tin về vị trí và địa
hình, thường được tổ chức bằng các cấu trúc đánh chỉ số phức tạp và được truy xuất bởi các phương pháp truy xuất không gian
Trang 9 Tập dữ liệu không gian Các cơ sở dữ liệu không gian luôn chứa một lượng lớn dữ liệu
thật sự và nó thường có định dạng và chất lượng hỗn tạp và đòi hỏi một lượng tính toán đáng kể để làm sạch và lựa chọn chúng để sử dụng trong khai phá dữ liệu
Thu thập dữ liệu không gian Rất nhiều dữ liệu không gian được sử dụng ngày nay đã
được thu thập bằng cách lấy mẫu và được cung cấp tạm thời dưới dạng tập hợp Đặc tính này có nghĩa là những thông tin hay thay đổi có thể bị mất bởi vì thiết kế lấy mẫu và phiên dịch trong thu thập dữ liệu, tính toán và các quá trình biên dịch
Phụ thuộc không gian Các đặc điểm của không gian thường liên hệ với nhau về bản
chất, vì vậy thường là khó hoặc không thể khám phá ra các kiến thức ẩn trong dữ liệu nếu không có kiến thức trước về các đặc tính của tập dữ liệu cần phân tích Kiến thức đó thường không dễ để tìm thấy
Tính tạm thời của dữ liệu không gian Đặc điểm của không gian là liên hệ và kết nối
với nhau về mặt thời gian Bởi vì dữ liệu không gian ghi lại trạng thái của các đặc điểm chỉ tại một thời điểm nhất định, thông tin của trạng thái trước đó rất hiếm khi được ghi lại
và lưu giữ trong cơ sở dữ liệu không gian
Các nhân tố khác liên quan đến những kỹ thuật và khái niệm của kiến thức không gian Nó bao gồm:
Các kỹ thuật khai phá dữ liệu không gian Khai phá dữ liệu không gian đòi hỏi tính
toán hình học và các phép toán không gian, điều này chỉ có thể có trong cơ sở dữ liệu không gian, điều đó ngụ ý rằng khai phá dữ liệu không gian đòi hỏi tích hợp chặt chẽ và dựa chủ yếu trên các kỹ thuật cơ sở dữ liệu không gian phức tạp
Các mô hình khái niệm dữ liệu không gian Sự thiếu hụt rõ ràng một mô hình chung
được chấp nhận của địa lý học đã gây ra những khó khan trong hình thức hóa miền dữ liệu không gian Điều này đã tạo ra các cách cài đặt khác nhau của các cơ sở dữ liệu không gian từ những cơ sở dữ liệu chính
Khai phá dữ liệu không gian vì vậy được mô tả bởi cả sự phức tạp cố hữu của của dữ liệu không gian và sự phức tạp trong các kỹ thuật cài đặt Nó khác so với khai phá dữ liệu truyền thống theo những cách sau:
Khai phá dữ liệu không gian liên quan tới kiến thức không gian trong không gian địa lý hai hoặc ba chiều, trong khi khai phá dữ liệu truyền thống chỉ liên quan tới kiến thức trong một không gian riêng rẽ
Không giống như khai phá dữ liệu truyền thống, khai phá dữ liệu không gian không chỉ làm việc với các dữ liệu rõ ràng dạng chữ-số, mà nó còn phải làm việc với các dữ liệu mở rộng như điểm, đường, vùng, mặt…
Trang 10 Khai phá dữ liệu không gian tập trung vào khám phá kiến thức cục bộ, nhưng khai phá dữ liệu truyền thống lại có xu hướng khám phá dữ liệu toàn cục
Khai phá dữ liệu không gian dựa chủ yếu vào khái niệm về lân cận
Các vị từ trong khai phá dữ liệu không gian (nằm trên, gần, đan xen, nằm trong…) là ẩn
và với số lượng lớn, trong khi đó các vị từ của khai phá dữ liệu truyền thống (bằng, lớn hơn, nhỏ hơn …) là rõ ràng và giới hạn
Trang 113 Phân tích phân c m ục lục
Ở phần trước chúng ta đã tìm hiểu về khai phá dữ liệu không gian Để khai phá thành công một
cơ sở dữ liệu không gian được thu thập với số lượng vô cùng lớn đòi hỏi phải có các kỹ thuật bổ trợ cho thao tác và làm sạch dữ liệu để chuẩn bị cho phân tích chúng Có ba phương pháp được đưa ra và phát triển để hỗ trợ chuẩn bị dữ liệu bao gồm phân lớp dữ liệu không gian, phân tích xu hướng không gian và phân cụm dữ liệu không gian
Các thuật toán phân lớp dữ liệu không gian và phân tích xu hướng không gian được phát triển và kiểm thử, tuy nhiên nó đòi hỏi tính toán rất lớn đặc biệt là với tập lớn dữ liệu Phương pháp thú
vị nhất và được phát triển rất tốt để thao tác và làm sạch dữ liệu không gian để chuẩn bị cho phân tích khai phá dữ liệu không gian được chỉ ra là sử dụng phân tích phân cụm Phần sau đây sẽ tìm hiểu chi tiết về phương pháp phân cụm dữ liệu không gian
3.1 Gi i thi u v phân tích phân c m ới thiệu ệu ề phân tích phân cụm ục lục
Phân tích cụm hay phân cụm là công việc gán một tập các đối tượng lại thành các nhóm (cụm) sao cho các đối tượng trong cùng một cụm là giống nhau (theo một tiêu chí nào đó) hơn so với các đối tượng nằm trong các cụm khác
Phân cụm là một trong những nhiệm vụ chính của khai phá dữ liệu, và là một kỹ thuật chung cho phân tích dữ liệu thống kê được sử dụng trong nhiều lĩnh vực, bao gồm học máy (machine learning), nhận dạng mẫu, phân tích ảnh, phục hồi thông tin, và thông tinh sinh học
Phân tích cụm bản thân nó không phải là một thuật toán riêng, mà là một nhiệm vụ chung cần được giải quyết Nó có thể đạt được bằng rất nhiều các thuật toán khác nhau, khác nhau từ trong khái niệm về cái gì tạo thành một cụm và làm thế nào để tìm được nó một cách hiệu quả
Các khái niệm chính về cụm bao gồm một nhóm với các khoảng cách ngắn giữa các thành viên trong nhóm, là các vùng dày đặc của không gian dữ liệu hoặc các phân bố thống kê nhất định Phân cụm vì vậy mà được phát biểu một cách hệ thống là một bài toán tối ưu với nhiều mục tiêu Thuật toán phân cụm phù hợp và các bố trí tham số (bao gồm các giá trị như là khoảng cách, mật
độ hay số lượng cụm mong muốn) phụ thuộc vào các tập dữ liệu riêng và mục tiêu sử dụng của kết quả Phân tích phân cụm vì vậy mà không phải là một công việc tự động, trong quá trình lặp của quá trình khai phá kiến thức hoặc quá trình lặp của tối ưu hóa với nhiều mục tiêu mà liên quan đến các phép thử (trial and error), nó thường cần phải thay đổi các tiền xử lý và các tham số cho đến khi đạt được kết quả mong đợi
Trang 123.2 Các thu t toán phân c m ật toán phân cụm ục lục
Có rất nhiều phương pháp được đưa ra để tiến hành phân cụm, tuy nhiên có thể chia thành ba loại chính bao gồm phân cụm thứ bậc, phân cụm dựa vào tâm, phân cụm theo phân bố và phân cụm theo mật độ
Mặc dù có sự tương đồng giữa phân cụm dữ liệu không gian và phân cụm dữ liệu truyền thống, tuy nhiên các cơ sở dữ liệu lớn và các cơ sở dữ liệu không gian có các yêu cầu riêng cho các thuật toán phân cụm:
1 Cần các thuật toán hiệu quả và mở rộng được vì phải làm việc với một lượng lớn dữ liệu
2 Các thuật toán phải có thể xác định được các hình không theo quy luật, bao gồm các vết lõm, các kẽ hở và các hình lồng nhau
Hình 5: Các hình với hình dạng đặc biệt
3 Các phương pháp phân cụm không nhạy cảm với lượng lớn nhiễu
4 Các thuật toán không nhạy cảm với thứ tự của dữ liệu vào, tức là kết quả phân tích phân cụm không phụ thuộc vào thứ tự của dữ liệu
5 Không yêu cầu có kiến thức trước về dữ liệu hoặc yêu cầu số lượng cụm để tạo ra, và vì vậy không yêu cầu miền kiến thức đầu vào từ người sử dụng
Các phương pháp phân cụm khác nhau đều có những mặt mạnh và mặt yếu riêng của mình Phần dưới đây sẽ trình bày chi tiết về phương pháp phân cụm theo phân bố
3.3 Phân c m theo phân b ục lục ố
Phân cụm theo phân bố là một quá trình lặp đối với dữ liệu đầu vào Mỗi bảng ghi đầu vào được đọc liên tiếp Sự giống nhau của mỗi bản ghi với một trong những cụm đã tồn tại được tính toán Đầu tiên, chưa có cụm nào tồn tại Nếu sự giống nhau lớn nhất đối với mỗi cụm vượt qua ngưỡng, bản ghi này được thêm vào cụm tương ứng Các thuộc tính của cụm thay đổi cho phù hợp Nếu mức độ giống nhau được tính toán không lớn hơn ngưỡng, hoặc nếu chưa có cụm nào, một cụm mới sẽ được tạo ra chứa bản ghi này Ta có thể định trước số lượng tối đa các cụm, cũng như là ngưỡng giống nhau để so sánh