Nghiên cứu phương pháp phân cụm dữ liệu bản đồ véc tơ và ứng dụng Nghiên cứu phương pháp phân cụm dữ liệu bản đồ véc tơ và ứng dụng Nghiên cứu phương pháp phân cụm dữ liệu bản đồ véc tơ và ứng dụng Nghiên cứu phương pháp phân cụm dữ liệu bản đồ véc tơ và ứng dụng Nghiên cứu phương pháp phân cụm dữ liệu bản đồ véc tơ và ứng dụng Nghiên cứu phương pháp phân cụm dữ liệu bản đồ véc tơ và ứng dụng Nghiên cứu phương pháp phân cụm dữ liệu bản đồ véc tơ và ứng dụng Nghiên cứu phương pháp phân cụm dữ liệu bản đồ véc tơ và ứng dụng Nghiên cứu phương pháp phân cụm dữ liệu bản đồ véc tơ và ứng dụng
ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG - MAI ĐĂNG CƯỜNG NGHIÊN CỨU PHƯƠNG PHÁP PHÂN CỤM DỮ LIỆU BẢN ĐỒ VÉC TƠ VÀ ỨNG DỤNG LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH Chuyên ngành : Khoa học máy tính Mã số : 60 48 01 Thái Nguyên, năm 2011 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn LỜI CẢM ƠN Tôi xin gửi lời cảm ơn sâu sắc tới PGS.TS Đặng Văn Đức người tận tình có bảo cần thiết để giúp đỡ suốt trình nghiên cứu phát triển luận văn Xin chân thành cảm ơn bạn công tác Viện Công nghệ thông tin hỗ trợ nhiều mặt công nghệ sử dụng luận văn Xin chân thành cảm ơn quý thầy cô Viện Công nghệ thông tin, Trường Đại học Công nghệ thông tin Truyền thơng -Đại học Thái Ngun tận tình giảng dạy cho kiến thức quý báu suốt thời gian học tập trường Xin trân thành cảm ơn bạn lớp, đồng nghiệp đơn vị cơng tác tạo điều kiện cho tơi hồn thành luận văn Xin gửi lời cảm ơn đến gia đình động viên tơi suốt q trình học tập làm luận văn Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn MỤC LỤC LỜI CẢM ƠN MỤC LỤC DANH MỤC CÁC HÌNH TỔNG QUAN CHƢƠNG – KHÁI QUÁT PHÂN CỤM DỮ LIỆU VÀ DỮ LIỆU BẢN ĐỒ VÉC TƠ 1.1 Khái niệm mục tiêu phân cụm liệu 1.2 Các ứng dụng phân cụm liệu 1.3 Các yêu cầu phân cụm liệu 1.4 Hệ thống thông tin địa lý 11 1.4.1 Một số định nghĩa hệ thống thông tin địa lý 11 1.4.2 Các lĩnh vực sử dụng 13 1.4.3 Biểu diễn liệu địa lý 14 1.4.3.1 Mô hình véctơ 16 1.4.3.2 Mơ hình raster 18 1.4.4 Cấu trúc lƣu trữ liệu địa lý 22 1.4.4.1 Cây tứ phân 23 1.4.4.2.Cây R – tree 26 1.4.4.3 Cây R* - tree 27 1.4.4.4 Cây k-d-tree 29 1.5 Cấu trúc liệu đồ véc tơ 31 1.5.1 Khái niệm 31 1.5.2.Kiểu đối tƣợng điểm (Points) 31 1.5.3 Kiểu đối tƣợng đƣờng (Arcs) 32 1.5.4.Kiểu đối tƣợng vùng (Polygons) 32 1.5.5 Cấu trúc liệu véctơ 33 1.5.5.1 Cấu trúc Spaghetti 33 1.5.5.2 Cấu trúc Topology 34 1.6 Kỹ thuật tiếp cận phân cụm liệu 34 CHƢƠNG - CÁC THUẬT TOÁN PHÂN CỤM DỮ LIỆU 36 2.1 Giới thiệu phân cụm liệu đồ véctơ 36 2.1.1.Phân cụm liệu số khái niệm liên quan 36 2.1.2.Phân cụm liệu đồ 38 2.1.2.1 Mục tiêu ứng dụng 39 2.1.2.2 Cân đối chất lƣợng tốc độ 39 2.1.2.3 Đặc tính liệu 40 2.2 Các phƣơng pháp phân cụm liệu đồ véc tơ 41 2.2.1 Phƣơng pháp phân cụm phân hoạch 41 2.2.2 Phƣơng pháp phân cụm phân cấp 41 2.2.3 Phƣơng pháp phân cụm dựa mật độ 42 2.2.4 Phƣơng pháp phân cụm dựa lƣới 42 2.2.5 Phƣơng pháp phân cụm dựa mơ hình 43 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 2.2.6 Phƣơng pháp phân cụm có liệu ràng buộc 44 2.3 Thuật toán phân cụm liệu đồ không gian véc tơ 45 2.3.1 Phƣơng pháp phân đoạn 45 2.3.1.1 Thuật toán k-means 46 2.3.1.2 Thuật toán k-medoids 47 2.3.2.Phƣơng pháp phân cấp 49 2.3.2.1 Thuật toán BIRCH 50 2.3.2.2 Thuật toán CHAMELEON 51 2.3.3.Phƣơng pháp dựa mật độ 52 2.3.3.1 Thuật toán DBSCAN 53 2.3.3.2 Thuật toán DENCLUE 54 2.3.4.Phƣơng pháp dựa lƣới 56 2.3.4.1 Thuật toán STING 56 2.3.4.2 Thuật toán CLIQUE 57 2.3.5.Phƣơng pháp phân cụm dựa ràng buộc 59 CHƢƠNG – XÂY DỰNG CHƢƠNG TRÌNH THỬ NGHIỆM 62 3.1 Phát biểu toán 62 3.2 Xây dựng đồ véc tơ hệ thống khách sạn nội thành Hà Nội 63 3.2.1 Thu thập liệu khách sạn nội thành Hà Nội 63 3.2.2 Xây dựng đồ nội thành Hà Nội 63 3.2.2.1.Quét số hóa đồ giấy 63 3.2.2.2.Nắn đồ véc tơ 63 3.2.3.3.Kết nạp thơng tin thuộc tính 64 3.2.3 Xây dựng lớp đồ khách sạn nội thành Hà Nội 64 3.3 Cài đặt thử nghiệm thuật toán 64 3.4 Đánh giá kết thử nghiệm 69 3.4.1 Dữ liệu gồm 189 mẫu, số cụm k=8 69 3.4.2 Dữ liệu gồm 189 mẫu, số cụm k=4 70 3.4.3 Dữ liệu gồm 189 mẫu, số cụm k=5 70 KẾT LUẬN 72 TÀI LIỆU THAM KHẢO 73 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn DANH MỤC CÁC HÌNH Hình 1.1 Mơ tả tập liệu đƣợc phân thành cụm…………………………… Hình 1.2 Các tầng đồ……………………………………………………… Hình 1.3 Biểu diễn vector……………………………………………………… Hình 1.4 Mơ hình Spaghetti…………………………………………………… Hình 1.5 Mơ hình Topological………………………………………………… Hình 1.6 Mơ hình TIN…………………………………………………………… Hình 1.7 Biểu diễn giới mơ hình Raster……………………………… Hình 1.8 Biểu diễn giá trị ơ………………………………………………… Hình 1.9 Biểu diễn liệt kê tồn bộ……………………………………………… Hình 1.10 Biểu diễn Mã loạt dài………………………………………………… Hình 1.11 Sự ảnh hƣởng độ phân giải……………………………………… Hình 1.12 Cây tứ phân lƣu trữ đối tƣợng vùng………………………………… Hình 1.13 Cây tứ phân PR……………………………………………………… Hình 1.14 Biểu diễn R tree………………………………………………… Hình 1.15 Các khả nhóm hình chữ nhật R* - tree………………… Hình 1.16 Cây k-d-tree chiều……………………………………………… Hình 1.17 Dữ liệu vector biểu diễn dƣới dạng điểm (Point)…………………… Hình 1.18 Dữ liệu vector biểu diễn dƣới dạng Acr………………………… Hình 1.19 Dữ liệu vector biểu diễn dƣới dạng vùng (Poligan)……………… Hình 1.20 Minh họa liệu Spaghetti……………………… Hình 1.21 Các đối tƣợng mơ hình Topology………………………… Hình 2.1 Các chiến lƣợc phân cụm phân cấp………………………………… Hình 2.2 Cấu trúc phân cấp…………………………………… Hình 2.3 Các cách mà cụm đƣa ra…………………………………… Hình 2.4 Các bƣớc thuật tốn CHAMELION………………………………… Hình 2.5 Ba lớp liên kết cấu trúc STRING………………………… Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn TỔNG QUAN Trong sống, gặp nhiều ứng dụng toán phân cụm Chẳng hạn nhƣ ngành bƣu điện, hàng ngày bƣu điện phải phân loại thƣ theo mã nƣớc, mã nƣớc lại phân loại theo mã tỉnh/thành phố, sau thƣ đến bƣu điện tỉnh bƣu điện tỉnh lại phải phân loại thƣ theo quận/huyện để gửi đi, đến bƣu điện quận/huyện lại phân loại thƣ theo xã/phƣờng để gửi thƣ Đó ứng dụng toán phân cụm Khai phá liệu khơng gian hay cịn gọi khai phá tri thức từ liệu không gian lĩnh vực có nhu cầu cao Bởi lẽ liệu đầu vào bao gồm khối lƣợng liệu không gian khổng lồ đƣợc thu thập từ nhiều ứng dụng khác nhau, từ thiết bị viễn thám đến hệ thống thông tin địa lý, từ đồ số, từ hệ thống quản lý đánh giá môi trƣờng, … Con ngƣời không đủ khả để phân tích đƣợc khối lƣợng liệu khổng lồ Khai phá liệu không gian đƣợc sử dụng nhiều hệ thống thông tin địa lý (GIS), viễn thám, khai phá liệu ảnh, ảnh y học, rô bốt dẫn đƣờng, … Khám phá tri thức từ liệu khơng gian đƣợc thực dƣới nhiều hình thức khác nhƣ sử dụng quy tắc đặc trƣng định, trích rút mơ tả cấu trúc cụm bật, kết hợp không gian, … Trong q trình khai phá phân tích liệu khơng gian, bƣớc làm liệu có vai trò quan trọng Để thực bƣớc này, phƣơng pháp đƣợc quan tâm phát triển nhiều phƣơng pháp phân cụm Phƣơng pháp dựa lý thuyết thống kê cho phép tìm cấu trúc cụm trực tiếp từ liệu Luận văn giới thiệu số phƣơng pháp phân cụm liệu đồ véc tơ đƣợc sử dụng nay, số thuật toán phân cụm liên quan Đồng thời luận văn giới thiệu cài đặt thử nghiệm thuật toán phân cụm liệu Kmeans hỗ trợ tìm kiếm theo vị trí đồ địa lý thành phố Hà nội Bố cục luận văn gồm: - Chƣơng I: Khái quát phân cụm liệu liệu đồ véc tơ Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn - Chƣơng II: Các thuật toán phân cụm liệu - Chƣơng II: Cài đặt chƣơng trình thử nghiệm Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn CHƢƠNG – KHÁI QUÁT PHÂN CỤM DỮ LIỆU VÀ DỮ LIỆU BẢN ĐỒ VÉC TƠ 1.1 Khái niệm mục tiêu phân cụm liệu Phân cụm liệu trình nhóm tập đối tƣợng tƣơng tự tập liệu vào cụm cho đối tƣợng thuộc cụm tƣơng đồng đối tƣợng thuộc cụm khác không tƣơng đồng Phân cụm liệu ví dụ phƣơng pháp học khơng có thầy Khơng giống nhƣ phân lớp liệu, phân cụm liệu khơng địi hỏi phải định nghĩa trƣớc mẫu liệu huấn luyện Vì thế, coi phân cụm liệu cách học quan sát, phân lớp liệu học ví dụ… Ngồi phân cụm liệu cịn đƣợc sử dụng nhƣ bƣớc tiền xử lí cho thuật tốn khai phá liệu khác nhƣ phân loại mơ tả đặc điểm, có tác dụng việc phát cụm Hình 1.1 Mơ tả tập liệu vay nợ đƣợc phân thành cụm Phân cụm có ý nghĩa quan trọng hoạt động ngƣời Ngay từ lúc bé, ngƣời học cách làm để phân biệt mèo chó, động vật thực vật liên tục đƣa vào sơ đồ phân loại tiềm thức Phân cụm đƣợc sử dụng rộng rãi nhiều ứng dụng, bao gồm nhận dạng mẫu, phân tích liệu, xử lý ảnh, nghiên cứu thị trƣờng Với tƣ cách chức khai phá liệu, phân tích phân cụm đƣợc sử dụng nhƣ công cụ độc lập chuẩn để quan sát đặc trƣng cụm thu đƣợc bên phân bố liệu tập trung vào tập riêng biệt cụm để giúp cho việc phân tích đạt kết Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn Một vấn đề thƣờng gặp phân cụm hầu hết liệu cần cho phân cụm có chứa liệu nhiễu trình thu thập thiếu xác thiếu đầy đủ, cần phải xây dựng chiến lƣợc cho bƣớc tiền xử lí liệu nhằm khắc phục loại bỏ nhiễu trƣớc chuyển sang giai đoạn phân tích cụm liệu Nhiễu đƣợc hiểu đối tƣợng liệu khơng xác, khơng tƣờng minh đối tƣợng liệu khuyết thiếu thông tin số thuộc tính Một kỹ thuật xử lí nhiễu phổ biến việc thay giá trị thuộc tính đối tƣợng nhiễu giá trị thuộc tính tƣơng ứng Ngồi ra, dị tìm phần tử ngoại lai hƣớng nghiên cứu quan trọng phân cụm, chức xác định nhóm nhỏ đối tƣợng liệu khác thƣờng so với liệu sở liệu (CSDL), tức đối tƣợng liệu không tuân theo hành vi mơ hình liệu nhằm tránh ảnh hƣởng chúng tới trình kết phân cụm Mục tiêu phân cụm xác định đƣợc chất nhóm tập liệu (DL) chƣa có nhãn Nhƣng để định đƣợc tạo thành cụm tốt Nó đƣợc khơng có tiêu chuẩn tuyệt đối “tốt” mà khơng phụ thuộc vào kết qủa phân cụm Vì vậy, địi hỏi ngƣời sử dụng phải cung cấp tiêu chuẩn này, theo cách mà kết phân cụm đáp ứng yêu cầu Theo nghiên cứu cho thấy chƣa có phƣơng pháp phân cụm tổng quát giải trọn vẹn cho tất dạng cấu trúc CSDL Hơn nữa, phƣơng pháp phân cụm cần có cách thức biểu diễn cấu trúc CSDL, với cách thức biểu diễn khác có tƣơng ứng thuật tốn phân cụm phù hợp Vì phân cụm liệu vấn đề khó mở, phải giải nhiều vấn đề cách trọn vẹn phù hợp với nhiều dạng liệu khác nhau, đặc biệt liệu hỗn hợp ngày tăng hệ quản trị liệu thách thức lớn lĩnh vực khai phá liệu (KPDL) Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 1.2 Các ứng dụng phân cụm liệu Phân cụm liệu đƣợc ứng dụng nhiều lĩnh vực nhƣ: Thƣơng mại: Tìm kiếm nhóm khách hàng quan trọng có đặc trƣng tƣơng đồng đặc tả họ từ ghi mua bán CSDL Sinh học: Phân loại gen với chức tƣơng đồng thu đƣợc cấu trúc mẫu Thƣ viện: Phân loại cụm sách có nội dung ý nghĩa tƣơng đồng để cung cấp cho độc giả Bảo hiểm: Nhận dạng nhóm tham gia bảo hiểm có chi phí bồi thƣờng cao, nhận dạng gian lận thƣơng mại Quy hoạch đô thị: Nhận dạng nhóm nhà theo kiểu vị trí địa lí, nhằm cung cấp thơng tin cho quy hoạch đô thị Nghiên cứu trái đất: Phân cụm để theo dõi tâm động đất nhằm cung cấp thông tin cho nhận dạng vùng nguy hiểm WWW: Có thể khám phá nhóm tài liệu quan trọng, có nhiều ý nghĩa môi trƣờng Web Các lớp tài liệu trợ giúp cho việc khai phá thông tin từ liệu 1.3 Các yêu cầu phân cụm liệu Phân cụm thách thức lĩnh vực nghiên cứu chỗ ứng dụng tiềm chúng đƣợc đƣa yêu cầu đặc biệt chúng Sau yêu cầu phân cụm KPDL: Có khả mở rộng: Nhiều thuật toán phân cụm làm việc tốt với tập liệu nhỏ chứa 200 đối tƣợng, nhiên, CSDL lớn chứa tới hàng triệu đối tƣợng Việc phân cụm với tập liệu lớn làm ảnh hƣởng tới kết Vậy làm cách để phát triển thuật tốn phân cụm có khả mở rộng cao CSDL lớn ? Khả thích nghi với kiểu thuộc tính khác nhau: Nhiều thuật toán đƣợc thiết kế cho việc phân cụm liệu có kiểu khoảng (kiểu số) Tuy nhiên, nhiều ứng dụng địi hỏi việc phân cụm với nhiều kiểu liệu Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 59 toán Tuy nhiên, sử dụng thuật tốn khơng gian CLIQUE đƣa kết 2.3.5.Phƣơng pháp phân cụm dựa ràng buộc Việc phát triển phân cụm không gian sở liệu lớn ngày đƣợc hỗ trợ nhiều cơng cụ hữu ích để phân tích liệu địa lý Tuy nhiên, hầu hết thuật tốn lại khơng có tính mở, nghĩa không cho ngƣời sử dụng đƣợc phép đƣa thêm ràng buộc (constraint) thực tế để thuật tốn tìm kiếm phân cụm theo chúng Các nghiên cứu bổ sung để hỗ trợ, cung cấp cho ngƣời dùng khả kết hợp ràng buộc hay giới hạn định xung quanh toán cần giải vào thuật tốn phân cụm đƣợc quan tâm Mơ hình phân cụm dựa ràng buộc COD (Clustering Obstructed Distance) đƣợc giới thiệu vào năm 2001, lĩnh vực có nhu cầu cao, cho thấy hiệu thành công việc giữ lại ngữ nghĩa ứng dụng khai phá liệu Phân cụm có ràng buộc CC (Constraint Clustering) đƣợc định nghĩa nhƣ sau: Cho tập liệu D với n đối tƣợng, hàm đo khoảng cách df: D D , số nguyên dƣơng k tập ràng buộc C, cần tìm k cụm liệu (Cl1,Cl2, …,Clk) cho DISP i 1 disp(Cli , repi ) đạt giá trị nhỏ cụm Cli thỏa mãn k ràng buộc C, ký hiệu Cli╞ C, disp(Cli, repi) biểu đạt phân tán (dispersion) cụm Cli tổng khoảng cách từ lần lƣợt điểm thuộc cụm đến điểm đại diện cụm Ngƣời ta phân ràng buộc thành loại sau: - Ràng buộc đối tƣợng riêng: cho phép xác định tập đối tƣợng đƣợc phân cụm Ví dụ: phân cụm biệt thự cao cấp có giá trị triệu la Mỹ - Đối tƣợng cản (chƣớng ngại vật): vật cản tác động chúng lên đối tƣợng đƣợc ghi lại Ví dụ: thành phố có đối tƣợng núi, sông, hồ, cầu, … vật cản cần xét đến thực phân cụm - Tham số cụm: số lƣợng cụm k cần phân chia ràng buộc trình phân cụm Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 60 - Ràng buộc cụm cụ thể: thƣờng ràng buộc dƣới dạng công thức cần thực nhóm gộp Theo COD, cho tập P điểm (p1, p2, …, pn) tập O vật cản (o1, o2, …, on) không cắt không gian chiều R oi đƣợc biểu diễn vùng đơn giản Khoảng cách d(p, q) điểm p q đƣợc định nghĩa độ dài đƣờng ngắn mà không cắt qua vật cản COD thực chia P thành k cụm (C1, C2, …, Ck) cho hàm sai số E k (squared-error) đạt giá trị cực tiểu E xác định công thức E d ( p, mi ) , i 1 pCi với mi trung tâm cụm Ci Trong Hình 2.6 mô tả việc phân cụm trƣờng hợp bỏ qua có tính đến vật cản Hình 2.6 Kết phân cụm khác Ta thấy khơng tính đến yếu tố ràng buộc kết cho cụm (hình trái), có tính đến ràng buộc sơng cầu kết cụm lại khác với trƣờng hợp (hình phải) Các loại hình ràng buộc kể đƣợc xếp vào loại ràng buộc vật lý Ngồi cịn phải kể đến ràng buộc liên quan đến thao tác nghiệp vụ (operational constraints) Ví dụ, nhà quản lý cần phân bổ thiết bị (facility) nhƣng phải đảm bảo thiết bị đƣợc sử dụng hết tính năng, đồng thời cụm đƣợc phân bổ thiết bị phải chứa tối thiểu số khách định,… Hầu hết phƣơng pháp phân cụm nhằm áp dụng cho tập liệu có kiểu thuộc tính Đối với tập liệu có kiểu hỗn hợp việc phân cụm gặp nhiều khó khăn Trong cộng đồng địa lý, ngƣời ta tập trung sử dụng thuật Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 61 toán gom cụm thuộc phƣơng pháp: phân đoạn, phân cấp, dựa mật độ dựa lƣới Phƣơng pháp dựa ràng buộc giai đoạn phát triển, kiểu ràng buộc mặt vật lý đƣợc phần giải thuật toán COD Đối với ràng buộc mặt hoạt động nghiệp vụ đƣợc xếp vào lớp toán NP, để giải sử dụng đốn hay thuật tốn xấp xỉ Một số thuật tốn đƣợc kết hợp từ thuật toán gom cụm trƣớc để tận dụng ƣu điểm thuật tốn Ví dụ thuật tốn CADD (Clustering Algorithm based on object Density and Direction) đƣợc giới thiệu vào năm 2008, kết hợp thuật toán k-means thuật tốn DENCLUE Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 62 CHƢƠNG – XÂY DỰNG CHƢƠNG TRÌNH THỬ NGHIỆM 3.1 Phát biểu tốn Ngồi việc trung tâm trị lớn nƣớc, so với tỉnh, thành phố khác Việt Nam, Hà Nội thành phố có tiềm để phát triển du lịch Trong nội ô, với công trình kiến trúc, Hà Nội cịn sở hữu hệ thống bảo tàng đa dạng bậc Việt Nam Thành phố có nhiều lợi việc giới thiệu văn hóa Việt Nam với du khách nƣớc ngồi thơng qua nhà hát sân khấu dân gian, làng nghề truyền thống Theo thống kê năm 2007 Hà Nội có 511 sở lƣu trú với 12.700 phịng hoạt động Trong số có 178 khách sạn đƣợc xếp hạng với 8.424 phòng Với mạng lƣới giao thông dày đặc với khách sạn phân bố không đồng đều, việc xác định xác vị trí lựa chọn đƣợc khách sạn phù hợp với nhu cầu tốn khó cán nƣớc họp, doanh nhân, khách du lịch, đặc biệt khách du lịch nƣớc vị trí thành phố Xuất phát từ cách tiếp cận trên, để minh họa thuật toán phân cụm phần lý thuyết nghiên cứu, học viên mạnh dạn đề xuất tốn tìm cụm khách sạn gần vị trí ngƣời dùng thỏa mãn số tiêu chí lựa chọn ngƣời dùng nhƣ cấp (sao) khách sạn, số phòng, giá phịng… Để giả tốn trên, cần thực bƣớc đề xuất sau: - Thu thập thông tin khách sạn địa bàn thành phố Hà Nội, thông tin bao gồm thông tin vị trí địa lý khách sạn thơng tin khác nhƣ số phịng, cấp khách sạn, giá phòng… - Thành lập đồ số khách sạn nội thành Hà Nội - Xây dựng ứng dụng máy tính để khai thác đồ khách sạn nội thành Hà Nội, hỗ trợ ngƣời dùng tìm kiếm khách sạn thỏa mãn số tiêu chí nhƣ: gần vị trí nhất, có giá phịng cấp phù hợp với lựa chọn Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 63 3.2 Xây dựng đồ véc tơ hệ thống khách sạn nội thành Hà Nội 3.2.1 Thu thập liệu khách sạn nội thành Hà Nội Dữ liệu khách sạn nội thành Hà Nội bao gồm liệu không gian (dữ liệu đồ) liệu thuộc tính (các thơng tin khách sạn) Dữ liệu không gian (tọa độ khách sạn) đƣợc thu thập nhiều phƣơng pháp nhƣ tra cứu đồ Gmap, đo thực địa máy định vị cầm tay, số hóa đồ giấy Dữ liệu thuộc tính đƣợc thu thập cách tra cứu thơng tin Internet khách sạn, tra cứu cẩm nang du lịch đến thu thập trực tiếp khách sạn Dữ liệu bao gồm thông tin cấp (sao), số phòng, giá phòng, điện thoại liên lạc… 3.2.2 Xây dựng đồ nội thành Hà Nội Để khai thác tốt đƣợc đồ khách sạn nội thành Hà Nội, trƣớc hết, phải có lớp đồ chứa thơng tin nhƣ thông tin ranh giới hành quận huyện nội thành, sơng hồ nội thành, đƣờng giao thơng nội thành, từ làm để chồng phủ lớp đồ chuyên đề khách sạn nội thành Hà Nội Bản đồ nội thành Hà Nội đƣợc xây dựng từ đồ du lịch Hà Nội (bản đồ giấy) qua công đoạn sau: 3.2.2.1.Quét số hóa đồ giấy Bản đồ giấy đƣợc số hóa bàn số hóa chuyên nghiệp sử dụng lĩnh vực đo đạc đồ Kết thu đƣợc đồ véc tơ đơn giản, chƣa đƣợc gán tọa độ không gian kết nạp liệu thuộc tính cho đối tƣợng đồ 3.2.2.2.Nắn đồ véc tơ Đây bƣớc gán tọa độ địa lý cho đối tƣợng đồ Ở công đoạn này, đồ đƣợc gán tọa độ không gian cách chọn số điểm tham chiếu tọa độ số đối tƣợng đồ với giá trị tọa độ thực thể tƣơng ứng thực địa (ví dụ vị trí ngã tƣ, điểm giao cắt, tòa nhà lớn…), tọa độ đối tƣợng thực đƣợc đo máy định vị GPS Dựa tập tọa độ Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 64 thực này, thực thuật toán nắn chỉnh để gán tọa độ thực cho đối tƣợng đồ véc tơ thu đƣợc bƣớc a 3.2.3.3.Kết nạp thơng tin thuộc tính Các đối tƣợng đồ véc tơ cần đƣợc kết nạp thơng tin thuộc tính nhƣ tên thơng tin phụ trợ khác Q trình đƣợc thực cách nhập liệu thủ công máy tính 3.2.3 Xây dựng lớp đồ khách sạn nội thành Hà Nội Trên sở đồ nội thành Hà Nội đƣợc xây dựng bƣớc trên, tiến hành xây dựng lớp đồ khách sạn Hà Nội theo hai bƣớc nhƣ sau: - Nhập liệu không gian (tọa độ khách sạn): Sử dụng phần mềm biên tập đồ chuyên nghiệp nhƣ ArcMap, MapInfo - Nhập liệu thuộc tính cho khách sạn: sử dụng phần mềm biên tập đồ ArcMap 3.3 Cài đặt thử nghiệm thuật toán Học viên tiến hành cài đặt thử nghiệm thuật toán phân cụm đơn giản, thuật tốn K-means Tƣ tƣởng thuật tốn đƣợc trình bày phần Thuật tốn đƣợc cài đặt ngơn ngữ lập trình C# Microsoft nhƣ dƣới đây: // Bước 1: Chọn ngẫu nhiên k điểm làm tâm cụm List centers = new List(); // Mảng chứa tâm cụm ArrayList clusters = new ArrayList(); // Mảng chứa liệu cụm int[] memberNum = new int[k]; // Mảng chứa số phần tử cụm Random r = new Random(); for (int i = 0; i < k; i++) { Point P = (Point)geo[r.Next(n)]; centers.Add(P); } // Bước 2: Xây dựng cụm // - Tính khoảng cách từ điểm tới tâm cụm // - Tính tốn lại tâm cụm Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 65 // - Xây dựng lại cụm bool isRemain = false; // Cờ kiểm tra dịch chuyển tâm cụm centerChangeCount = 0; // Biến đếm số lần tính lại tâm cụm while (!isRemain) { // Khởi tạo lại số điểm chứa cụm for (int i = 0; i < k; i++) { memberNum[i] = 0; } // Tính tốn khoảng cách từ điểm tới tâm cụm gán điểm vào cụm phù hợp double minDistance; double distance; int clusterIndex = 0; Point P = new Point(); for (int i = 0; i < n; i++) { minDistance = Double.MaxValue; P = (Point)geo[i]; for (int j = 0; j < k; j++) { distance = P.Distance((Point)centers[j]); if (distance < minDistance) { minDistance = distance; clusterIndex = j; } } P.ClusterIndex = clusterIndex; } // Tính lại tâm cụm List centers_new = new List(); // Tâm cụm for(int i =0; i< k; i++) { centers_new.Add(new Point(0,0)); Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 66 } Point new_Center = new Point(); for (int i = 0; i < n; i++) { Point P1 = (Point)geo[i]; centers_new[P1.ClusterIndex].X += P1.X; centers_new[P1.ClusterIndex].Y += P1.Y; memberNum[P1.ClusterIndex]++; } // Tính lại tâm cụm for (int i = 0; i < k; i++) { centers_new[i].X = centers_new[i].X / memberNum[i]; centers_new[i].Y = centers_new[i].Y / memberNum[i]; // Kiểm tra xem tâm cụm có thay đổi khơng if ((centers_new[i].X == centers[i].X) && (centers_new[i].Y == centers[i].Y)) { isRemain = true; } else { isRemain = false; } } // Cập nhật lại tâm cụm centers = centers_new; // Cập nhật số lần dịch chuyển tâm cụm centerChangeCount++; } // Phân đối tượng vào cụm tương ứng for (int i = 0; i < k; i++) { Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 67 List list = new List(); for (int j = 0; j < n; j++) { Point P2 = (Point)geo[j]; if (P2.ClusterIndex == i) { list.Add(P2); } } clusters.Add(list); } Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 68 Dƣới số hình ảnh chƣơng trình thử nghiệm Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 69 3.4 Đánh giá kết thử nghiệm 3.4.1 Dữ liệu gồm 189 mẫu, số cụm k=8 Lần thử Lần1 Lần Lần Lần Lần Lần Lần Lần Lần Số lần tâm cụm 8 17 10 8 14 30 17 10 14 thay đổi Thời gian chạy (ms) Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 70 3.4.2 Dữ liệu gồm 189 mẫu, số cụm k=4 Lần thử Lần1 Lần Lần Lần Lần Lần Lần Lần Lần Số lần tâm cụm 11 4 17 6 10 thay đổi Thời gian chạy (ms) 3.4.3 Dữ liệu gồm 189 mẫu, số cụm k=5 Lần thử Lần1 Lần Lần Lần Lần Lần Lần Lần Lần Số lần tâm cụm 10 14 10 11 7 15 thay đổi Thời gian chạy (ms) Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 71 Việc sử dụng thuật toán K-means việc phân cụm liệu đồ véc tơ có khả cho kết khác sau lần chạy chọn ngẫu nhiên k điểm làm tâm cụm ban đầu, thời gian chạy tỉ lệ thuận với số lần dịch chuyển tâm cụm, hình dạng cụm phát đƣợc dạng cầu hóa thích hợp cho việc phân cụm để tìm kiếm vị trí địa lý thỏa mãn số yêu cầu Nhƣng so với số thuật toán khác nhƣ DBSCAN khả phát nhiễu phát cụm có hình dạng yếu Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 72 KẾT LUẬN Chƣơng I luận văn hệ thống hóa khái niệm vê phân cụm liệu, số vấn đề liên quan đến hệ thống thông tin địa lý GIS nhƣ cách biểu diễn liệu, thành phần liệu địa lý nhƣ cách tổ chức lƣu trữ vật lý liệu Chƣơng II tập trung nghiên cứu thuật toán phân cụm liệu khả áp dụng phân cụm liệu đồ véctơ Đƣa hầu hết thuật tốn điển hình thuộc phƣơng pháp phân cụm, tập trung sử lý trƣờng liệu không gian kiểu số Chƣơng III giới thiệu tốn thực tế nhu cầu tìm kiếm vị trí khách sạn thỏa mãn tiêu chí có cấp (sao) nội thành Hà Nội để ngƣời dùng sử dụng đƣợc Luận văn đề xuất xây dựng ứng dụng thử nghiệm hỗ trợ tìm kiếm khách sạn sử dụng thuật tốn K – means để thực tính tốn phân cụm đối tƣợng điểm khách sạn hệ thống liệu đồ, thành phần ứng dụng đƣợc cài đặt thành cơng đem lại kết khả quan Module tính tốn giai đoạn thử nghiệm tiếp cơng việc tìm kiếm cụm có tâm gần vị trí khách hang đứng Tuy nhiên phần cài đặt thử nghiệm chƣa giải đƣợc vấn đề sau: -Sau tìm kiếm phân cụm xong, ngƣời dùng lựa chọn khách sạn tập kết quả, ứng dụng khơng hỗ trợ tìm đƣờng tối ƣu -Thuật toán quan tâm đến vấn đề khoảng cách điểm không gian mà chƣa xét đến số ràng buộc thực tế Luận văn tảng để phát triển ứng dụng hoàn chỉnh tƣơng lai để triển khai đƣợc phạm vi rộng, hệ thống máy tính diện thoại di động, đồng thời hỗ trợ tìm kiếm số lĩnh vực cụ thể khác Do kiến thức nhƣ kinh nghiệm thời gian hạn chế, luận văn khơng thể tránh khỏi thiếu sót Kính mong đƣợc góp ý Q thầy bạn Em xin trân thành cảm ơn Số hóa Trung tâm Học liệu – ĐHTN Thái Nguyên, tháng 09 năm 2011 Học viên: http://www.lrc-tnu.edu.vn 73 TÀI LIỆU THAM KHẢO Tài liệu Tiếng Việt Đặng Văn Đức, Hệ thống thông tin địa lý, NXB Khoa học kỹ thuật, 2001 Nguyễn Trọng Thuần, “Điều khiển Logic ứng dụng”, Nhà xuất Khoa học Kỹ thuật, 2004 Tài liệu Tiếng Anh A Arning, R Agrawal, and P Raghavan Alinear method for deviation detection in larger databases, Proc Int Conf.Data Mining and Knowledge Discovery (KDD-96), Portland, Oregon, August 1996 Daniel T Larose, “Discovering Knowledge in Data: An Introduction to Data Mining”, John Wiley & Sons, Inc., 2005 Pavel Berkhin, Survey of Clustering Data Mining Techniques, Grouping Multidimensional Data: Springer Berlin Heidelberg, 2006 Yi Peng et al., Recent trends in Data Mining (DM): Document Clustering of DM Publications, International Conference on Service Systems and Service Management, 2006 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn ... CHƢƠNG – KHÁI QUÁT PHÂN CỤM DỮ LIỆU VÀ DỮ LIỆU BẢN ĐỒ VÉC TƠ 1.1 Khái niệm mục tiêu phân cụm liệu 1.2 Các ứng dụng phân cụm liệu 1.3 Các yêu cầu phân cụm liệu 1.4... phƣơng pháp phân cụm phân hoạch phân cụm phân cấp, nghĩa kết thu đƣợc phƣơng pháp phân cấp cải tiến thông qua bƣớc phân cụm phân hoạch Phân cụm phân hoạch phân cụm phân cấp hai phƣơng pháp phân cụm. .. tính liệu 40 2.2 Các phƣơng pháp phân cụm liệu đồ véc tơ 41 2.2.1 Phƣơng pháp phân cụm phân hoạch 41 2.2.2 Phƣơng pháp phân cụm phân cấp 41 2.2.3 Phƣơng pháp phân cụm