Độ phức tạp thuật toán: Độ phức tạp thuật toán là O (N2) trong đó N là số đối tượng được phân cụm.
Ưu, nhược điểm: o Ưu điểm:
Khái niệm đơn giản.
Khi cụm được trộn hay tách thì quyết định là vĩnh cửu vì thế các phương pháp khác nhau cần được xem xét được rút giảm.
o Nhược điểm:
Quyết định trộn tách các cụm là vĩnh cửu nên thuật toán không có tính quay lui, nếu có quyết định sai thì không thể khắc phục lại.
Độ phức tạp thuật toán cao, thời gian thực hiện phân cụm lâu.
Áp dụng tạo cây phân cấp: Thuật toán tạo ra cây phân cấp ngay trong quá trình phân cụm.
CHƢƠNG 3. THỰC NGHIỆM 3.1. Xây dựng bộ CSDL thực nghiệm
Để phục vụ cho cho quá trình thử nghiệm thuật toán gộp nhóm điểm nâng cao tốc độ hiển thị trên Web (gọi tắt là dữ liệu thực nghiệm), học viên đã xây dựng bộ cơ sở dữ liệu điểm ATM trong phạm vi Thành phố Hà Nội. Dữ liệu được lấy chủ yếu từ nguồn Googlemaps API (URL: https://maps.googleapis.com) dưới dạng Shapefile (*.shp). Dữ liệu được chuẩn hóa và chỉnh sửa trên phần mềm ArcMap.
Hình 3.1. Biên tập dữ liệu trên phần mềm ArcMap Sau khi biên tập và chuẩn hóa dữ liệu có cấu trúc như sau:
Hình 3.2. Cấu trúc bảng thuộc tính của dữ liệu
Dữ liệu bao gồm 1393 đối tượng với tọa độ thuộc hệ tọa độ địa lý WGS84 – ESPG 4326
Hình 3.3. Bảng thuộc tính của dữ liệu ATM khu vực Hà Nội
3.2. Import dữ liệu vào hệ quản trị CSDL PostgreSQL
Tạo Databases trong PostgreSQL để lưu trữ cơ sở dữ liệu: nhấp chuột phải vào Databases trong Object browser chọn New Databases xuất hiện hộp thoại.
Hình 3.4. Hộp thoại tạo Databases (Nguồn: Phần mềm PostgreSQL) Trong hộp thoại có:
Name: tên cơ sở dữ liệu muốn tạo db_test
Owner: chọn postges
Nhấp chuột chọn OK, khởi tạo thành công một Database mới có tên db_test
Đưa shapefile lên Databases Tp Hà Nội: trên thanh công cụ của postgreSQL chọn Plugins/PostGIS Shapefile and DBF Loader 2.1 xuất hiện hộp thoại:
Hình 3.6. Hộp thoại đưa shapefile lên Databases (Nguồn: Phần mềm PostgreSQL) Trong đó:
Shape File: chọn shapefile cần đưa lên Databases Tp Hà Nội
Destination Table: đặt tên cho shapefile
SRID: mã số hệ tọa độ tương ứng với shapefile (4326) Nhấp chuột trái vào Options xuất hiện hộp thoại
Hình 3.7. Hộp thoại Import Options (Nguồn: Phần mềm PostgreSQL) Trong đó:
DBF file character encoding: mặc định là UTF-8. Nếu ko được thì chuyển mã LATIN1
Chọn dấu tick vào hai ô: Create spatial index automatically after load và Load data using COPY rather than INSERT. Nhấp chuột chọn OK, chọn Import, tạo thành công cơ sở dữ liệu trong Databases.
Hình 3.8. Cơ sở dữ liệu trong Databases db_test - atm (Nguồn: Phần mềm PostgreSQL)
3.3. Lập trình xây dựng trang Web thử nghiệm
3.3.1. Xây dựng trang Web và hiển thị dữ liệu điểm ATM
Để phục vụ cho quá trình thử nghiệm thuật toán học viên tiến hành xây dựng một trang Web đơn giản dựa trên nền tảng Googlemaps API (https://www.maps.google.com) để hiển thị các đối tượng ATM trên nền bản đồ nền Googlemap. Các thông số cơ bản của trang Web như sau:
Bảng 3.1. Các hạng mục xây dựng trang Web thử nghiệm
STT Hạng mục Mô tả
1 Máy chủ Web Wamp Server
2 Máy chủ bản đồ Google Maps Server
3 Lập trình giao diện HTML, CSS
4 Lập trình tương tác Database PHP 5 Lập trình tương tác người dùng JavaScript
6 Lập trình hiển thị dữ liệu điểm ATM Sử dụng lớp Google Maps OverLays 7 Lập trình gộp điểm (Phân cụm) trên bản
đồ
Ứng dụng thuật toán phân cấp Agglomerative Hirearchical (AH) kết hợp ngôn ngữ lập trình Javascript Luận văn tập trung vào trình bày ứng thuật toán phân cấp Agglomerative Hirearchical nhằm nâng cao tốc độ hiển thị dữ liệu điểm trên Web do đó chỉ trình bày tóm tắt về quy trình xây dựng trang Web và hiển thị dữ liệu chưa gộp nhóm.
Hình 3.10. Mã tạo trang Web với bản đồ nền GoogleMaps (nguồn:googlemaps)
Hình 3.11. Hiển thị dữ liệu điểm ATM trên Web (chưa gộp nhóm)
3.3.2. Ứng dụng thuật toán phân cấp Agglomerative Hirearchical lập trình tăng tốc độ hiển thị dữ liệu điểm ATM độ hiển thị dữ liệu điểm ATM
Tóm tắt nguyên lý gộp điểm trên Web
Như đã trình bày ở chương 2 của luận văn, sau khi đã tải lên danh sách các điểm cây ATM lên bản đồ, cần tính toán ma trận khoảng cách tại mức zoom hiện hành giữa các điểm ATM với nhau và sắp xếp theo thứ tự tăng dần. Trong đó những điểm có khoảng cách gần nhau nằm trong giới hạn gộp nhóm sẽ được gộp lại thành một nhóm. Có thể mô tả quá trình gộp nhóm như hình dưới
=>
Hình 3.12. Minh họa quá trình gộp nhóm bằng thuật toán Agglomerative Hirearchical
Khoảng cách cho phép Phân cụm
Tính toán khoảng cách giữa các đối tượng được thực hiện thông qua tọa độ màn hình, đơn vị này là bất biến đối với mọi mức zoom của bản đồ. Trong quá trình thử nghiệm học viên nhận thấy rằng khi 2 đối tượng trên màn hình cách nhau khoảng 20 pixels sẽ xảy ra sự chồng lấn vị trí. Tuy nhiên để đảm bảo tính thẩm mỹ học viên đã chọn 80 pixel làm giới hạn để gộp nhóm. Để xác định khoảng cách giữa 2 điểm trên màn hình theo đơn vị pixels cần tính chuyển đơn vị từ tọa độ thực ( tọa độ địa lý) sang tọa độ màn hình (pixel).
Chuyển đổi từ tọa độ thực sang tọa độ màn hình:
Tính toán ma trận khoảng cách và tự động gộp nhóm điểm
Sau khi đã có công thức tính tọa độ và khoảng cách giữa các đối tượng ở hệ tọa độ màn hình (pixels,pixels) tiến hành lập trình gộp điểm.
3.3.3. Đánh giá hiệu suất của việc gộp nhóm điểm.
Bảng 3.2. Thống kê hiệu suất phân cụm với thuật toán AH
Mức Zoom Số điểm Mức độ tăng tốc hiển thị
20 1393 1 19 1119 1.2 18 974 1.4 17 805 1.7 16 601 2.3 15 391 3.6 14 214 6.5 13 102 13.7 12 50 27.9 11 24 58 10 14 99.5 9 7 199 8 3 464.3 7 2 696.5 6 1 1393 5 1 1393 4 1 1393 3 1 1393 2 1 1393 1 1 1393 0 1 1393
Trên đây là những nội dung chính của quá trình lập trình gộp nhóm điểm bằng thuật toán phân cấp Agglomerative Hirearchical. Kết quả của quá trình gộp nhóm cho ta một danh sách (mảng) các đối tượng đại diện cho từng nhóm điểm, quá trình hiển thị các đối tượng này tương tự như hiện thị các đối tượng đơn lẻ trước đây. Tọa độ của điểm đại diện cho nhóm điểm được xác định bằng cách tính trung bình cộng của các đối tượng thành phần trong nhóm.
KẾT LUẬN
Luận văn đã trình bày rõ về hai phương pháp phổ biến thường được sử dụng trong kĩ thuật gộp nhóm điểm là K-means và AH, trong đó ứng dụng thành công thuật toán AH vào bài toán hiển thị dữ liệu điểm ATM khu vực Hà Nội. Đưa ra được phương pháp đánh giá sự thay đổi về hiệu suất trước và sau khi áp dụng kỹ thuật gộp điểm AH. Kết quả này có thể được phát triển để ứng dụng vào các bài toán hiển thị dữ liệu điểm trên Web với số lượng lên tới hàng triệu điểm.
Mục tiêu của luận văn là khái quát hóa một tập dữ liệu dạng điểm, thực nghiệm đã giảm được số lượng điểm hiển thị trên bản đồ mà không ảnh hưởng tới nội dung bản đồ.
Các tài liệu, và nghiên cứu liên quan đến lĩnh vực này cho thấy không có phương pháp nào là hoàn toàn tự động trong khái quát hóa bản đồ. Kết quả và độ chính xác của quá trình khái quát hóa đối với từng phương pháp đều phụ thuộc và các tham số do người dùng đưa ra như bán kính gộp điểm hoặc việc ấn định số lượng cụm ban đầu.
Trong quá trình khái quát hóa số lượng điểm giảm đi, hình thành các khu vực bị trống dữ liệu, vì vậy cần lựa chọn tham số bán kính gộp nhóm một cách hợp lý để quá trình khái quát hóa không ảnh hưởng nhiều tới nội dung bản đồ.
Hướng nghiên cứu tiếp theo có thể được phát triển từ các kết quả đã đạt trong luận văn vào bài toán khái quát hóa dữ liệu dạng vùng hoặc dạng đường. Góp phần hoàn thiện những mặt còn hạn chế trong quá trình khái quát hóa bản đồ số.
TÀI LIỆU THAM KHẢO Tiếng Việt
1. Nguyễn Thị Ngọc Diễm (2014), So sánh một số thuật toán phân cụm dữ liệu, Luận văn thạc sỹ, Học viện công nghệ bưu chính viễn thông, tr.5-9.
2. Phạm Thị Phép (2013), Ứng dụng công nghệ Webgis mã nguồn mở phục vụ
công tác quảng bá du lịch, Đại học Nông Lâm tp. Hồ Chí Minh, tr.10-12.
3. Nhữ Thị Xuân (2006), Bản đồ học, Nhà xuất bản Đại học quốc gia Hà Nội. tr.8-9, 103-108.
4. Fan Hong, Trần Quỳnh An, Tự động tổng quát hóa bản đồ, Tạp chí KHKT Mỏ địa chất, số 44, 10-2013, tr.23-29.
5. Nguyễn Hà Nam, Nguyễn Trí Thành, Hà Quang Thụy (2012), Giáo trình khai phá dữ liệu, Nhà xuất bản ĐHQGHN Hà Nội, tr.179-192.
Tiếng Anh
6. Atta Rabbi and Epameinondas Batsos (Master of Science Thesis in Geoinformatics - 2012), Phân cụm and cartographic simplification of point data set.
7. Bader M. (2001), Energy Minimization methods for feature displacement in map generation, doctoral thesis, Universty of Geography, University of Zurich,
Switzerland.
8. Epameinondas Batsos, Politis Panagiotis (2006), Creation of geographic – cartographic data, multiple, continuous scale of topographic maps using satellite images VHR. Concepts, problems, suggestions, bachelor thesis,
Department of Land surveying, Technological Educational Institution of Athens, Athens – Greece.
9. Jiawei Han, Micheline Kamber (2006), Data mining: Concepts and Techniques, 2nd ed., Elsevier Science, Sanfransico, United states.
10.Robert B.McMaster, K.Stuart Shea (1992), Generalization in digital cartography, The Association of American Geographers, Washington.
11.Robert B.McMaster, K.Stuart Shea (1989), Cartographic Generalization in a Digital Enviroment: when & how to generalize, Proceeding of 9th Internati
onal Symposium on Computer ‐ Assisted Cartography, Baltimore.
12.Pang Ning Tan, M. Steinbach, V. Kumar (2006), Introduction to Data Mining, Addison‐Wesley, Minesota, United states.
13.L.Kaufman & P.J. Rousseeuw (1990), Finding Groups in Data: an Introduction
14.Zhu and Dreher (2008), Improving web search by categorization, phân cụm,
and personalization, Springer-Verlag, pp. 659-666.
15.Geraci, Pellegrini, Maggini, and Sebastiani (2006), Cụm generation and cụm
labelling for web snippets: A fast and accurate hierarchical solution,
ISPIRE, pp. 25-36
16.Charu C.Aggarwal, Chandan K.Reddy (2014), Data phân cụm: algorithms and applications, Taylor & Francis Group, LLC, pp. 15-19.
17.Gregory Smith (2012), PostgreSQL 9.0 High Performance, PACKT pp. 8 - 12. Web 18. www.wattpad.com 19. www.postgresql.org 20.www.vi.wikipedia.org/wiki/So_sánh_các_hệ_quản_trị_cơ_sở_dữ_liệu_quan _hệ 21.https://maps.googleapis.com