ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐẶNG QUỐC HỮU NGHIÊN CỨU MỘT SỐ KỸ THUẬT KHAI PHÁ DỮ LIỆU ỨNG DỤNG TRONG CSDL KHÔNG GIAN Ngành: Công nghệ thông tin Chuyên ngành: Kỹ th
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHÊ
ĐẶNG QUỐC HỮU
NGHIÊN CỨU MỘT SỐ KỸ THUẬT KHAI PHÁ DỮ LIỆU ỨNG DỤNG TRONG CSDL KHÔNG GIAN
LUẬN VĂN THẠC SĨ
Hà Nội - 2015
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
ĐẶNG QUỐC HỮU
NGHIÊN CỨU MỘT SỐ KỸ THUẬT KHAI PHÁ DỮ LIỆU ỨNG DỤNG TRONG CSDL KHÔNG GIAN
Ngành: Công nghệ thông tin Chuyên ngành: Kỹ thuật phần mềm
Mã số: 60480103
LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS ĐẶNG VĂN ĐỨC
Trang 3LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn chân thành nhất tới PGS TS Đặng Văn Đức - người đã
hướng dẫn, chỉ bảo tận tình, cung cấp tài liệu và phương pháp luận nghiên cứu khoa học
để tôi hoàn thành bản luận văn này
Tôi xin bày tỏ lòng cảm ơn sâu sắc tới thầy cô, bạn bè cùng khóa, cùng lớp đã giúp đỡ tôi trong suốt những năm học qua
Xin cảm ơn gia đình, bạn bè, những người luôn khuyến khích, động viên và giúp
đỡ tôi trong mọi hoàn cảnh khó khăn
Tôi xin cảm ơn các thầy cô trong trường Đại học Công nghệ, Đại học Quốc gia
Hà Nội đã hết sức tạo điều kiện cho tôi trong quá trình học và làm luận văn này
Luận văn được hoàn thành trong thời gian hạn hẹp nên không thể tránh được những thiếu sót Tôi xin cảm ơn thầy cô, bạn bè, đồng nghiệp đã và sẽ có những ý kiến đóng góp chân thành cho nội dung của luận văn, để tôi có thể tiếp tục đi sâu tìm hiểu về lĩnh vực này trong tương lai
Hà Nội, tháng 6 năm 2015
ĐẶNG QUỐC HỮU
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm của riêng cá nhân tôi, không sao chép lại của người khác Trong toàn bộ nội dung luận văn, những điều đã được trình bày hoặc là của riêng cá nhân tôi, hoặc là được tổng hợp từ nhiều nguồn tài liệu Tất cả các nguồn tài liệu tham khảo được dùng đều có xuất xứ rõ ràng, được trích dẫn hợp pháp
Tôi xin chịu hoàn toàn trách nhiệm và chịu mọi hình thức kỉ luật theo quy định cho lời cam đoan của mình
Hà Nội, tháng 6 năm 2015
Đặng Quốc Hữu
Trang 5MỤC LỤC
MỞ ĐẦU 1
CHƯƠNG I: TỔNG QUAN VỀ DỮ LIỆU KHÔNG GIAN VÀ KHAI PHÁ DỮ LIỆU 3
1.1 Tổng quan về dữ liệu không gian địa lý 3
1.1.1 Một số khái niệm 3
1.1.2 Mô hình dữ liệu Vector 5
1.1.3 Quan hệ không gian giữa các đối tượng địa lý 7
1.2 Khai phá dữ liệu 8
1.2.1 Định nghĩa khai phá dữ liệu 8
1.2.2 Nhiệm vụ chính trong khai phá dữ liệu 9
1.2.3 Các phương pháp khai phá dữ liệu 10
CHƯƠNG 2: KHAI PHÁ DỮ LIỆU KHÔNG GIAN SỬ DỤNG CÂY QUYẾT ĐỊNH ERROR! BOOKMARK NOT DEFINED 2.1 Cây quyết định Error! Bookmark not defined 2.1.1 Khái niệm Error! Bookmark not defined 2.1.2 Ưu điểm và nhược điểm của cây quyết định Error! Bookmark not defined 2.1.3 Xây dựng cây quyết định Error! Bookmark not defined 2.2 Phân lớp dữ liệu Error! Bookmark not defined 2.3 Cây quyết định ứng dụng trong phân lớp dữ liệu Error! Bookmark not defined 2.3.1 Thuật toán ID 3 Error! Bookmark not defined 2.3.2 Thuật toán C4.5 Error! Bookmark not defined 2.4 Xây dựng cây quyết định trong khai phá dữ liệu không gian Error! Bookmark not
defined
2.4.1 Tư tưởng xây dựng thuật toán Error! Bookmark not defined 2.4.2 Thuật toán cây quyết định không gian mở rộng từ ID3 Error! Bookmark not defined 2.4.3 Ví dụ xây dựng cây quyết định không gian Error! Bookmark not defined 2.4.4 Đề xuất phương pháp mới phân lớp dữ liệu không gian Error! Bookmark not defined CHƯƠNG 3: KHAI PHÁ DỮ LIỆU KHÔNG GIAN BẰNG PHÂN CỤM DỮ LIỆU
KHÔNG GIAN ERROR! BOOKMARK NOT DEFINED 3.1 Phân cụm phân hoạch Error! Bookmark not defined 3.2 Phân cụm phân cấp Error! Bookmark not defined 3.3 Phân cụm dựa trên mật độ Error! Bookmark not defined 3.4 Phân cụm dựa trên lưới Error! Bookmark not defined CHƯƠNG 4: ỨNG DỤNG PHÂN CỤM KHÔNG GIAN TRONG BÀI TOÁN XÁC ĐỊNH
VỊ TRÍ TỐI ƯU ĐẶT ĐIỂM TẬP KẾT TAXI ERROR! BOOKMARK NOT DEFINED 4.1 Phân tích bài toán Error! Bookmark not defined 4.1.1 Nguồn dữ liệu đầu vào và phạm vi bài toán Error! Bookmark not defined 4.1.2 Phương pháp kỹ thuật giải quyết bài toán Error! Bookmark not defined 4.2 Xây dựng chương trình ứng dụng Error! Bookmark not defined 4.2.1 Phân tích thiết kế hệ thống Error! Bookmark not defined 4.2.2 Cài đặt chương trình Error! Bookmark not defined 4.3 Thử nghiệm và đánh giá các thuật toán phân cụm Error! Bookmark not defined KẾT LUẬN ERROR! BOOKMARK NOT DEFINED
Trang 6TÀI LIỆU THAM KHẢO 11
Trang 7DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
CSDL Cơ sở dữ liệu
GIS Geographic information system
Object ID Identifier of objects
SDT Spatial Decision Tree
SJI Spatial Join Index
SJR Spatial Join Relation
SpatRel Spatial Relation
SpatMes Spatial Measure
SQL Structured Query Language
Trang 8
DANH MỤC CÁC BẢNG
Bảng 1.1: Topology vùng 5
Bảng 1.2: Topology nút 6
Bảng 1.3: Topology cung 6
Bảng 1.4: Dữ liệu tọa độ cung 6
Bảng 1.5: Mô tả dữ liệu đặc trưng cấu trúc Spaghetti 7
Bảng 2.1: Dữ liệu thời tiết 22
Bảng 2.2: So sánh Gain của các thuộc tính tại nút gốc 22
Bảng 2.3: So sánh Gain trong nhánh "Quang cảnh" = "Nắng" 23
Bảng 2.4: So sánh Gain trong nhánh "Quang cảnh" = "Mưa" 24
Bảng 2.5: Dữ liệu thời tiết xét thuộc tính độ ẩm dạng số 29
Bảng 2.6: Bảng tính Gain 30
Bảng 2.7: Dữ liệu thời tiết xét thuộc tính ngày 30
Bảng 2.8: Bảng quan hệ không gian 37
Bảng 2.9: Bảng quan hệ không gian và độ đo không gian 42
Bảng 2.10: Bảng quan hệ không gian đã lược thuộc tính Object ID 44
Bảng 2.11: Bảng quan hệ không gian: khoảng cách đến sông gần nhất 45
Bảng 2.12: Bảng quan hệ không gian rút gọn (đầu vào thuật toán) 46
Bảng 3.1: Kết quả thực nghiệm đánh giá thời gian thực hiện thuật toán 59
Bảng 4.1: So sánh tổng quan các thuật toán K-means, DBSCAN và DBRS 72
Bảng 4.2: Kết quả so sánh thời gian thực hiện phân cụm cùng tập dữ liệu 73
Trang 9
DANH MỤC CÁC HÌNH
Hình 1.1: Đối tượng dữ liệu cơ bản điểm, đường vùng 4
Hình 1.2: Biểu diễn đối tượng bằng mô hình dữ liệu Raster 4
Hình 1.3: Bản đồ minh họa cấu trúc Topology 5
Hình 1.4: Minh họa dữ liệu Spaghetti 7
Hình 1.5: Các bước của quá trình khai phá dữ liệu 8
Hình 2.1: Cây quyết định 13
Hình 2.2: Phân lớp sử dụng thuộc tính "Quang cảnh" 23
Hình 2.3: Phân nhánh "Quang cảnh" = "Nắng" 23
Hình 2.4: Cây nhánh "Quang cảnh" = "Nắng" 24
Hình 2.5: Cây quyết định tính toán từ thuật toán ID3 24
Hình 2.6: Xác định giá trị phân chia kiểu số 30
Hình 2.7: Chỉ mục kết nối không gian 33
Hình 2.8: Các Layer dự báo cháy rừng 36
Hình 2.9: Layer mục tiêu và Layer phủ bề mặt và mật độ dân số 37
Hình 2.10: Cây quyết định không gian 39
Hình 2.11: Mô tả Object ID các Layer 41
Hình 2.12: Quan hệ không gian giữa Layer mục tiêu và các Layer mô tả 41
Hình 2.13: Thống kê Layer phủ bề mặt theo loại phủ bề mặt 43
Hình 2.14: Thống kê Layer mật độ dân số theo loại mật độ dân số 47
Hình 2.15: Thống kê Layer khoảng cách đến sông gần nhất 47
Hình 2.16: Phân lớp Layer phủ bề mặt theo loại phủ bề mặt 48
Hình 2.17: Nhánh Dryland forest - thống kê Layer mật độ dân số 48
Hình 2.18: Nhánh Dryland forest - thống kê khoảng cách đến sông gần nhất 49
Hình 3.1: Minh họa thuật toán k-mean 52
Hình 3.2: Phân cụm phân cấp 53
Hình 3.3: Kề mật độ trực tiếp 55
Hình 3.4: Kề mật độ 55
Hình 3.5: Kết nối theo mật độ 55
Hình 3.6: Minh họa đồ thị khoảng các 58
Hình 3.7: Các cụm phát hiện được bởi CLARANS và DBSCAN 59
Hình 3.8: Các cụm được phát hiện bởi DBRS, DBSCAN, K-Means, CLARANS 63
Hình 3.9: Phân cụm dựa theo lưới vùng 63
Hình 4.1: Biểu đồ ca sử dụng 67
Hình 4.2: Biểu đồ hoạt động của thuật toán phân cụm đã cài đặt K-means 67
Hình 4.3: Biểu đồ hoạt động của thuật toán phân cụm đã cài đặt DBSCAN 68
Hình 4.4: Biểu đồ hoạt động của thuật toán phân cụm đã cài đặt DBRS 69
Hình 4.5: Phân cu ̣m lớp dữ liê ̣u "Khách sạn-nhà hàng" trong nô ̣i thành Hà Nô ̣i, các vùng màu vàng là các cụm tìm được 70
Hình 4.6: Hình ảnh chồng phủ (vùng màu vàng) của các cụm “Siêu thị” và các cu ̣m “Khách sa ̣n- nhà khách” 71
Trang 10Hình 4.7: Kết quả phân cụm DBSCAN đối với dữ liệu thử nghiệm tự tạo 71 Hình 4.8: Khả năng phát hiện nhiễu và cụm của K-means và DBSCAN 72 Hình 4.9: : Khả năng phân cụm theo thuộc tính của DBSCAN và DBRS 72 Hình 4.10: Đồ thị so thời gian thực hiện phân cụm của các thuật toán K-measn, DBSCAN và DBRS với cùng một tập dữ liệu đầu vào 74
Trang 11MỞ ĐẦU
1 Đặt vấn đề
Những tiến bộ trong các công nghệ CSDL và các kỹ thuật thu thập dữ liệu như đọc
mã số mã vạch, viễn thám, ghi nhận thông tin từ các vệ tinh,… đã tạo ra một lượng lớn thông tin, dữ liệu Việc dữ liệu tăng lên nhanh với quy mô lớn đòi hỏi phải được khai phá
để trích chọn ra các tri thức hữa ích phục vụ cho công tác chuyên môn Chính điều này đã dẫn đến sự ra đời của lĩnh vực khai phá dữ liệu hay khai phá tri thức trong các CSDL Khai phá tri thức trong các CSDL có thể được định nghĩa là khai phá tri thức đáng quan tâm, tiềm ẩn và chưa biết trước trong các CSDL Khai phá dữ liệu là sự kết hợp của một
số lĩnh vực bao gồm học máy, các hệ thống CSDL, thể hiện dữ liệu, thống kê và lý thuyết thông tin
Đã có nhiều nghiên cứu về khai phá dữ liệu trong các CSDL quan hệ và giao dịch, nhưng đối với các CSDL không gian vấn đề khai phá dữ liệu vẫn còn là những thách thức cần được giải quyết
Dữ liệu không gian là dữ liệu liên quan đến các đối tượng trong không gian Một CSDL không gian lưu trữ các đối tượng không gian bao gồm các kiểu dữ liệu không gian
và các quan hệ không gian giữa các đối tượng Dữ liệu không gian mang thông tin hình học và khoảng cách thường được tổ chức theo các cấu trúc chỉ mục không gian và truy cập bằng các phương pháp truy cập không gian Chính các đặc trưng khác biệt này của các CSDL không gian đã đặt ra nhiều trở ngại nhưng cũng mang đến nhiều cơ hội cho khai phá tri thức từ CSDL không gian Khai phá dữ liệu không gian hay khai phá tri thức trong CSDL không gian là trích trọn ra các tri thức tiềm ẩn, các quan hệ không gian hay các mẫu chưa rõ lưu trữ trong các CSDL không gian
Các nghiên cứu trước đây về học máy, các hệ thống CSDL và thống kê đã đặt nền móng cho nghiên cứu khai phá tri thức trong các CSDL Và những tiến bộ của các CSDL không gian như cấu trúc dữ liệu không gian, lập luận không gian, tính toán hình học,…
đã mở đường cho khai phá dữ liệu không gian Trở ngại lớn nhất trong khai phá dữ liệu không gian là hiệu quả của các thuật toán khai phá dữ liệu không gian do lượng dữ liệu
Trang 12không gian thường là có quy mô lớn, các kiểu dữ liệu không gian và các phương pháp truy cập không gian phức tạp
Các phương pháp khai phá dữ liệu không gian tập trung theo ba hướng chính là khai phá luật kết hợp không gian, phân lớp dữ liệu không gian và phân cụm dữ liệu không gian Với mong muốn nghiên cứu về phân lớp dữ liệu không gian sử dụng cây quyết định, luận văn đi sâu tìm hiểu một lĩnh vực nhỏ đó là phân lớp dữ liệu không gian
sử dụng cây quyết định
2 Mục tiêu của luận văn
Luận văn tập trung nghiên cứu kỹ thuật phân lớp không gian sử dụng cây quyết định và phân cụm dữ liệu nhằm trích rút ra các dữ liệu địa lý có ích tiềm ẩn bên trong Cụ thể luận văn hướng vào các công việc:
- Thu thập một số lớp dữ liệu bản đồ (bao gồm cả dữ liệu hình học và dữ liệu thuộc tính) để thử nghiệm với thuật toán phân lớp dữ liệu không gian sử dụng cây quyết định
- Nghiên cứu một số thuật toán phân lớp dữ liệu quan hệ dựa trên cây quyết định đối với cơ sở dữ liệu truyền thống, đề xuất mở rộng áp dụng trên dữ liệu địa lý
- Nghiên cứu một số thuật toán phân lớp dữ liệu quan hệ dựa trên phân cụm dữ liệu
- Cài đặt chương trình thử nghiệm thuật toán lựa chọn trên dữ liệu hình học và dữ liệu thuộc tính của một số lớp bản đồ
3 Tóm tắt nội dung luận văn
Phần còn lại của luận văn được tổ chức như sau:
Chương 1: Tổng quan về dữ liệu không gian và khai phá dữ liệu Bao gồm các
phần như: Giới thiệu khái quát về dữ liệu địa lý, khai phá dữ liệu, cây quyết định
Chương 2: Khai phá dữ liệu không gian sử dụng cây quyết định Bao gồm: Giới
thiệu một số kỹ thuật khai khai phá dữ liệu sử dụng cây quyết định trên cơ sở dữ liệu
quan hệ truyền thống, vận dụng đề xuất thuật toán trong khai phá dữ liệu không gian
Chương 3: Khai phá dữ liệu không gian bằng phân cụm dữ liệu
Chương 4: Cài đặt chương trình thử nghiệm Bao gồm mô tả bài toán, xây dựng dữ
liệu thử nghiệm, thiết kế chương trình, cài đặt thuật toán và đánh giá kết quả thử nghiệm
Trang 13- Đối tượng địa lý: Trên bản đồ, các đối tượng như trạm xe bus, bến tàu, trạm xăng
là các thực thể dữ liệu quản lý, còn được gọi là đối tượng địa lý Một trạm xăng trên bản
đồ là một thể hiện cụ thể của đối tượng địa lý trạm xăng
- Dữ liệu địa lý và cơ sở dữ liệu địa lý: Dữ liệu địa lý là thông tin về các đối tượng địa lý được mã hóa trong máy tính Cơ sở dữ liệu địa lý là một tập hợp các dữ liệu địa lý có chuẩn cấu trúc được lưu trữ trên máy tính và các thiết bị lưu trữ thông tin khác, có thể thỏa mãn yêu cầu khai thác thông tin đồng thời của nhiều người sử dụng hay nhiều chương trình ứng dụng với nhiều mục đích khác nhau
- Dữ liệu không gian và dữ liệu phi không gian: Một đối tượng địa lý chứa các thông tin dữ liệu không gian và dữ liệu phi không gian
+ Dữ liệu không gian: Dữ liệu không gian được sử dụng theo nghĩa rộng bao gồm các điểm đa chiều, các đường thẳng, hình khối, và các đối tượng hình học nói chung Mỗi đối tượng này chiếm một vùng không gian được đặc trưng bởi hai thuộc tính vị trí và biên Trong luận văn, khái niệm dữ liệu không gian được hiểu đơn giản hơn, dữ liệu không gian mô tả các đối tượng địa lý được thể hiện dưới dạng hình học, được quản lý bằng hình thể và được biểu diễn dưới ba dạng đối tượng cơ bản là điểm, đường, vùng + Dữ liệu phi không gian: Một đối tượng địa lý ngoài các thuộc tính không gian còn
có các thông tin thuộc tính khác Ví dụ con đường có thể có các thông tin như tên đường,
độ rộng, chất liệu làm đường, đơn vị quản lý, thời gian đưa vào sử dụng, Các thuộc tính này gọi là các thông tin thuộc tính phi không gian (dữ liệu phi không gian) Dữ liệu phi không gian đôi khi gọi tắt là dữ liệu thuộc tính
- Hệ thống GIS: Khi đề cập đến dữ liệu địa lý, hệ thống thông tin địa lý (Geographic Information System - gọi tắt là GIS) thường được nhắc đến bởi GIS sử dụng dữ liệu địa
lý GIS được hình thành vào những năm 1960 và phát triển mạnh trong 10 năm lại đây Xét dưới góc độ hệ thống, GIS có thể được hiểu như một hệ thống gồm các thành phần: phần cứng, phần mềm, dữ liệu và con người (người dùng và các quy định, chính sách liên quan đến duy trì, phát triển hệ thống)
- Các phương pháp mô hình hóa đối tượng địa lý (mô hình dữ liệu địa lý):