Phương pháp lan truyền độ tương tự trong phân cụm dữ liệu và ứng dụng

65 420 0
Phương pháp lan truyền độ tương tự trong phân cụm dữ liệu và ứng dụng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TẠ DUY KHÁNH PHƢƠNG PHÁP LAN TRUYỀN ĐỘ TƢƠNG TỰ TRONG PHÂN CỤM DỮ LIỆU VÀ ỨNG DỤNG LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên - 2015 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TẠ DUY KHÁNH PHƢƠNG PHÁP LAN TRUYỀN ĐỘ TƢƠNG TỰ TRONG PHÂN CỤM DỮ LIỆU VÀ ỨNG DỤNG Chuyên ngành: KHOA HỌC MÁY TÍNH Mã số: 60 48 01 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS.TS NGUYỄN ĐÌNH HÓA Thái Nguyên - 2015 Số hóa Trung tâm Học liệu – ĐHTNii http://www.lrc.tnu.edu.vn LỜI CÁM ƠN Đầu tiên, xin gửi lời cảm ơn sâu sắc đến thầy giáo, cán hướng dẫn khoa học PGS.TS Nguyễn Đình Hóa tận tình hướng dẫn từ buổi tiếp cận với đề tài khoa học Trong trình làm luận văn, nhận giúp đỡ nhiệt tình từ nhóm nghiên cứu TS Lê Hoàng Sơn Trung tâm tính toán hiệu cao, trường ĐH KHTN đề tài NCKH cấp ĐHQG, mã số GG.14.60 Tôi xin bày tỏ lòng biết ơn đến thầy cô giáo trường Đại học Công nghệ thông tin Truyền thông – Đại học Thái Nguyên, cán Trung tâm Đông Đô - Hà Nội, tận tình giảng dạy tạo điều kiện cho học tập, nghiên cứu hoàn thành luận văn Tôi xin chân thành cảm ơn bạn học viên lớp CK12H, CK13H – Khoa học máy tính giúp đỡ, tạo điều kiện cho suốt trình học tập thực luận văn Cuối cùng, xin gửi lời cảm ơn sâu sắc đến gia đình, đồng nghiệp bạn bè tôi, người động viên, tạo điều kiện cho lao động học tập suốt thời gian qua Tôi xin cam đoan luận văn công trình nghiên cứu riêng cá nhân tôi, không chép Luận văn tự nghiên cứu, đọc, dịch tài liệu, tổng hợp thực Nội dung lý thuyết luận văn có sử dụng số tài liệu tham khảo trình bày phần tài liệu tham khảo Chương trình phần mềm kết luận văn trung thực chưa công bố hệ thống khác Một lần nữa, xin chân thành cảm ơn! Số hóa Trung tâm Học liệu – ĐHTN i http://www.lrc.tnu.edu.vn MỤC LỤC LỜI CÁM ƠN i MỤC LỤC………………………………………………………………………ii DANH MỤC CÁC TỪ VIẾT TẮT iv DANH MỤC CÁC HÌNH VẼ v MỞ ĐẦU CHƢƠNG 1: HỆ THỐNG THÔNG TIN ĐỊA LÝ VÀ PHÂN CỤM DỮ LIỆU ĐỊA LÝ 1.1 Tổng quan hệ thống thông tin địa lý 1.1.1 Lịch sử đời 1.1.2 Định nghĩa 1.1.3 Các thành phần hệ thống thông tin địa lý 1.1.4 Dữ liệu hệ thống thông tin địa lý 10 1.2 Phân cụm liệu địa lý 11 1.2.1 Phân cụm liệu 11 1.2.2 Một số kỹ thuật phân cụm liệu 12 1.2.2.1 Thuật toán phân cụm theo phân cấp 13 1.2.2.2 Thuật toán phân cụm phân hoạch : Phân cụm k-means 14 1.2.2.3 Phân cụm mờ 16 1.3 Dữ liệu địa lý vấn đề phân cụm đối tƣợng địa lý 17 1.3.1 Cấu trúc liệu GIS 18 1.3.1.1 Hai mô hình liệu không gian 18 1.3.1.2 Dữ liệu thuộc tính 19 1.3.2 Các vấn đề phân cụm liệu địa lý 20 CHƢƠNG 2: PHÂN CỤM BẰNG THUẬT TOÁN LAN TRUYỀN ĐỘ TƢƠNG TỰ 22 2.1 Các khái niệm sở 22 2.1.1 Ý tưởng thuật toán 22 2.1.2 Các công thức thuật toán AP 24 2.1.3 Thuật toán AP nguyên thủy 25 2.2 Thuật toán lan truyền AP tự thích nghi 27 2.2.1 Phương pháp thích ứng giảm dần 28 2.2.2 Kỹ thuật thích nghi p-scanning 30 Số hóa Trung tâm Học liệu – ĐHTNii http://www.lrc.tnu.edu.vn 2.3 Thuật toán lan truyền AP với tập liệu hỗn hợp kiểu số kiểu phân loại 31 2.3.1 Khoảng cách ý nghĩa 32 2.3.2 Phương pháp 32 2.3.3 Cải thiện độ đo tương tự 34 2.3.4 Thích nghi thuật toán lan truyền 36 CHƢƠNG 3: XÂY DỰNG ỨNG DỤNG PHÂN CỤM DỮ LIỆU ĐỊA LÝ 39 3.1 Bài toán thực tế cách tiếp cận phân cụm liệu 39 3.1.1 Bài toán khai thác liệu quan trắc khí tượng 39 3.1.2 Lựa chọn giải pháp kỹ thuật công nghệ 40 3.2 Các phần mềm GIS 40 3.3 Tìm hiểu phần mềm mã nguồn mở MapWindow 42 3.4 Thiết kế plug-in phần mềm mã nguồn mở Mapwindown 44 3.4.1 Thêm plug-ins từ Visual Studio vào MapWindow 44 3.4.2 Xây dựng ứng dụng với Active X map control Visual Studio 45 Kết chạy thử nghiệm 53 KẾT LUẬN 56 Một số kết đạt luận văn 56 Những hạn chế hướng phát triển 56 TÀI LIỆU THAM KHẢO 57 Số hóa Trung tâm Học liệu – ĐHTNiii http://www.lrc.tnu.edu.vn DANH MỤC CÁC TỪ VIẾT TẮT STT Từ viết tắt GIS Từ tiếng Anh Geographical Ý nghĩa Hệ thống thông tin địa lý Information System AP affinity propagation Thuật toán lan truyền độ tương tự CSDL Database Cơ sở liệu SIL Silhouette Công thức Silhouette DEM Digital Elevation Model Mô hình kỹ thuật số độ cao DTM Digital Terrain Model Mô hình kỹ thuật số địa hình TIN Triangulated Irregular Lưới tam giác không Network SQL Structured Query Ngôn ngữ truy vấn có cấu trúc Language Số hóa Trung tâm Học liệu – ĐHTNiv http://www.lrc.tnu.edu.vn DANH MỤC CÁC HÌNH VẼ Hình 1.1: Các thành phần hệ thống thông tin địa lý Gis Hình 1.2: Thuật toán phân cụm K-means Hình 1.3: Cấu trúc vector raster Hình 2.1: Đồ thị Affinity Propagation (AP) Hình 2.2: Minh họa hiệu ba kỹ thuật rời rạc hóa khác Hình 3.1: Phần mềm mã nguồn mở Mapwindow Hình 3.2: Kiếm tra plug-ins vừa add MapWindow Hình 3.3: Kéo thả Map Control vào form Hình 3.4: Kéo Legend vào form Hình 3.5: Kéo thêm DataGridView vào form Table Hình 3.6: Giao diện plugin APCluster Số hóa Trung tâm Học liệu – ĐHTNv http://www.lrc.tnu.edu.vn MỞ ĐẦU Đặt vấn đề Nguồn liệu dồi cung cấp nhiều thông tin, từ nhân loại đúc rút thành tri thức trình phát triển xã hội loài người Với phát triển công nghệ điện toán hệ thống lưu trữ liệu khối lượng tài nguyên số ngày trở nên phong phú đồ sộ Trong xã hội đại, thông tin đóng vai trò then chốt Nhu cầu xử lý liệu, trích rút thông tin, kịp thời khai thác chúng để mang lại hiệu thiết thực cho công tác quản lý, hoạt động sản xuất kinh doanh,… ngày trở nên cấp thiết Khai phá liệu nói chung để trích rút thông tin phân cụm liệu nói riêng trọng tâm nghiên cứu khoa học máy tính Phân cụm liệu biện pháp để tìm kiếm tri thức, ta chưa biết nhiều thông tin miền ứng dụng Phân cụm coi công cụ độc lập để xem xét phân bố liệu, bước tiền xử lý cho bước sau Phân cụm liệu có nhiều ứng dụng hầu hết lĩnh vực hoạt động kinh tế, xã hội Có nhiều phương pháp thuật toán phân cụm liệu khác nhau, tùy theo cách tiếp cận toán góc độ Một phương pháp đề xuất tương đối gần Phương pháp lan truyền độ tương tự Thuật toán lan truyền độ tương tự (Affinity Propagation - AP) thuật toán phân cụm liệu đưa Frey & Dueck vào năm 2007 dựa ý tưởng thuật toán lan truyền độ tin cậy suy diễn mạng xác xuất Bayes, dựa sở toán học lý thuyết xác suất Thuật toán lan truyền làm việc dựa tương đồng (affinity nghĩa giống nhau, tương thích, hấp dẫn) cặp điểm liệu đồng thời xem xét tất điểm liệu tâm cụm tiềm năng, theo thuật ngữ tất điểm liệu hình mẫu (exemplar) tiềm năng, trao đổi thông điệp giá trị thực có tập hình mẫu tốt (phân cụm tương ứng) Số hóa Trung tâm Học liệu – ĐHTN1 http://www.lrc.tnu.edu.vn Thuật toán phân cụm AP có số ưu điểm: cho kết phân cụm tốt, đặc biệt trường hợp có số lượng lớn cụm, phát cụm có hình dáng bất kỳ, không yêu cầu phải xác định trước số cụm Nó cho phép dễ dàng thực phân cụm thỏa mãn số điều kiện xác định trước đó, tức phân cụm bán giám sát Đặc tính thích hợp cho phân cụm liệu GIS ràng buộc điều kiện địa hình tự nhiên quản lý hành cần tính đến toán thực tế Luận văn chọn đề tài “Phương pháp lan truyền độ tương tự phân cụm liệu ứng dụng” hướng nghiên cứu chính, với mục tiêu khám phá điểm mạnh, điểm yếu phương pháp này, hiểu biết sâu thêm cách tiếp cận phân cụm, đồng thời nâng cao kỹ thực hành triển khai ứng dụng Đối tƣợng phạm vi nghiên cứu Đối tượng nghiên cứu phương pháp phân cụm liệu, tập trung vào thuật toán lan truyền độ tương tự Phạm vi nghiên cứu điểm mạnh, điểm yếu tiềm ứng dụng phương pháp lan truyền độ tương tự phân cụm liệu địa lý Hƣớng nghiên cứu đề tài Luận văn dự kiến hướng nghiên cứu là: Nghiên cứu lý thuyết: tìm hiểu sâu thuật toán lan truyền độ tương tự, sở nắm vững chất phương pháp lan truyền độ tin cậy suy diễn mạng xác xuất Bayes dựa sở toán học lý thuyết xác suất Nghiên cứu ứng dụng: Cài đặt thử nghiệm thuật toán với liệu mô để đánh giá, phân tích đánh giá kết quả; thử với liệu thực tế Những nội dung nghiên cứu Số hóa Trung tâm Học liệu – ĐHTN2 http://www.lrc.tnu.edu.vn Nội dung nghiên cứu luận văn bao gồm: Tìm hiểu tổng quan phân cụm liệu; điểm đặc thù toán phân cụm liệu địa lý; Một số đặc điểm thuật toán lan truyền độ tương tự, sở lý thuyết toán học phân tích thực nghiệm Về thực hành: Cài đặt thử nghiệm thuật toán với liệu mô để đánh giá, phân tích đánh giá kết quả; thử với liệu thực tế Làm quen với hệ thống thông tin địa lý nguồn mở; sở liệu địa lý; cách viết plugin tích hợp phép phân tích liệu địa lý Phƣơng pháp nghiên cứu Phương pháp nghiên cứu lý thuyết: tổng quan, phân tích kết nghiên cứu có, nhận biết ưu nhược điểm, lựa chọn cách tiếp cận phù hợp để giải toán ứng dụng Nghiên cứu thực nghiệm qua phân tích kết thử nghiệm với liệu mô phỏng; liệu thực tế; so sánh đánh giá kết luận Ý nghĩa khoa học đề tài Đề tài nghiên cứu có ý nghĩa khoa học, góp phần làm hiểu biết sâu sắc phương pháp lan truyền độ tương tự phân cụm liệu Ứng dụng thực tế: phân cụm liệu môi trường, không khí, thời tiết… nhận từ trạm quan trắc khí tượng để xác định tiểu vùng môi trường khí tượng địa phương, khu vực Bố cục luận văn Luận văn bao gồm chương với phần Mở đầu, phần Kết luận, phần Mục lục, phần Tài liệu tham khảo Chương 1: Tổng quan phân cụm liệu GIS phân cụm liệu địa lý: Trình bày khái niệm bản, cách tiếp cận, phương pháp, thuật toán; Số hóa Trung tâm Học liệu – ĐHTN3 http://www.lrc.tnu.edu.vn  Ngôn ngữ: Visual C++, C#, Visual Basic, Visual Basic NET and Delphi 3.4 Thiết kế plug-in phần mềm mã nguồn mở Mapwindown 3.4.1 Thêm plug-ins từ Visual Studio vào MapWindow  Bước 1: Tạo project VS, chọn ngôn ngữ C#.NET, loại Class Library, framework Net 3.5  Bước 2: add reference cho project cách: o Bấm Chuột phải vào tên project, chọn properties o Trên form properties, chọn tab reference, click button Add Tại form Reference Manager, chọn Menu Browse, click button Browse đến thư mục C:\Program Files MapWindow, check chọn thư mục: MapWinGIS.ocx MapWininterfaces.dll Click OK để add reference, sau set thuộc tính Copy Local file reference False  Bước 3: Quay trở lại form Reference Manager, chọn Menu Assemblies\Framework, check chọn System.Drawing, bấm OK để add vào Reference  Bước 4: Quay trở lại hình Code, thêm dòng using MapWindow.Interfaces; Trên đầu trang mã khác using bên cạnh dòng “Public Class Class1” thêm “: Iplugin” nhấn Implement Interface để VS tự gen đoạn code  Bước 5: Tìm đến thuộc tính Author, Description, Name Version hình code, bỏ dòng get{throw new NotImplementedException();} thay get { return "tên thuộc tính";}, riêng thuộc tính BuilDate thay get{ return System.DateTime.Now.ToString(); }, Số hóa Trung tâm Học liệu – ĐHTN44 http://www.lrc.tnu.edu.vn thuộc tính SerialNumber thay get{ return null;} sau build project  Bước 6: Copy file DLL vừa tạo vào thư mục C:\Program Files \MapWindow (Ấn chuột phải vào tên project lại Solution Explorer, chọn Open Folder in File Explorer để tìm đến thư mục chứa DLL)  Bước 7: Kiểm tra việc add plug-ins MapWindow: Mở MapWindow, vào menu Plug-ins thấy plug-ins vừa tạo add vào Bấm chọn plug-ins để sử dụng plug-in project MapWindow Hình 3.2: Kiếm tra plug-ins vừa add MapWindow 3.4.2 Xây dựng ứng dụng với Active X map control Visual Studio Active X map control với MapWinGIS.ocx sử dụng để cung cấp chức GIS lập đồ cho ứng dụng Windows Forms MapWinGIS.ocx nguồn mở miễn phí, lập trình dựa hệ thống thông tin địa lý điều khiển ActiveX lập trình giao diện ứng dụng (API) Số hóa Trung tâm Học liệu – ĐHTN45 http://www.lrc.tnu.edu.vn thêm vào Windows Visual Basic, C #, Delphi, ngôn ngữ khác có hỗ trợ ActiveX, cung cấp ứng dụng với đồ Cài đặt Active X map control 4.9.3.5 Link download đây: http://mapwingis.codeplex.com/releases/view/541892 Để đưa Active X map control vào form Visual studio ta làm sau:  Bước 1: Tạo project VB, ngôn ngữ C#.NET, loại ứng dụng Windows Forms Application, framework NET 3.5 Sau tạo thành công mộtWindow form Application, thực đặt tên, ID cho form cách: Ấn chuột phải vào form, chọn Properties Thiết lập thuộc tính (Name) Text cho form Thuộc tính (Name) coi ID form để gọi đến form Thuộc tính Text để hiển thị tên form  Bước 2: Đưa Active X vào Visual Studio cách: Tại công cụ chọn TOOL  Choose Toolbox Item  COM components  đánh dấu tích vào Map Control  OK Sau add xong, kiểm tra mục Tool box form thấy control Map Control:  Bước 3: Đưa Map Control vào form cách: kéo chức Map Control từ Toolbox thả vào form, form khung có toạ độ hình: Số hóa Trung tâm Học liệu – ĐHTN46 http://www.lrc.tnu.edu.vn Hình 3.3: Kéo thả Map Control vào form Đặt (Name) cho Map Control vừa kéo vào AxMap1  Bước 4: tạo Legend : Mục đích tạo điều khiển lớp layer (cho phép layer hiển thị, nằm trên) Các bước thực hiện: -Bước 4.1: Tại Tool  Choose Toolbox Item, Net Framework Component  Brower đến C:\Program Files\MapWindow  chọn MapWinInterfaces.dll, tick chọn Legend Sau tick chọn xong, control Legned add vào Toolbox: -Bước 4.2: Kéo Legend từ Toolbox thả vào phía bên trái form Thiết lập thuộc tính (Name) Legend Số hóa Trung tâm Học liệu – ĐHTN47 http://www.lrc.tnu.edu.vn Hình 3.4: Kéo Legend vào form Tạo liên kết Legend Mapcontrol: Chuyển sang hình code form, viết kiện load cho form sau: private void TestMap_Load(System.Object sender, System.EventArgs e) { Legend.Map = AxMap.GetOcx(); }  Bước 5: Thêm chức Tạo layer Xoá layer -Bước 5.1: Tạo Layer Thêm button vào form, đặt thuộc tính Text Tạo layer Viết kiện Click cho button Tạo layer sau: Số hóa Trung tâm Học liệu – ĐHTN48 http://www.lrc.tnu.edu.vn private void BtAdd_Click(object sender, EventArgs e) { int handle = 0; MapWinGIS.Shapefile sf = new MapWinGIS.Shapefile(); OpenFileDialog open1 = new OpenFileDialog(); open1.Filter = sf.CdlgFilter; if (open1.ShowDialog(this) == System.Windows.Forms.DialogResult.OK) { sf.Open(open1.FileName); handle = Legend.Layers.Add(sf, true); Legend.Map.LayerName(handle) = System.IO.Path.GetFileNameWithoutExtension(sf.Filename); } } -Bước 5.2: Xoá Layer Thêm button vào form, đặt thuộc tính Text Xoá layer, Name BtDel Viết kiện Click cho button Xoá layer sau: private void BtDel_Click(object sender, EventArgs e) { AxMap.RemoveAllLayers(); Legend.Layers.Clear(); }  Bước 6: Chọn màu cho vùng hiển thị Thêm button vào form, đặt thuộc tính Text Set Color, Name Bttcolour Từ toolbox, kéo control ColorDialog vào cạnh button Set Color Viết kiện click cho button Set Color sau: Số hóa Trung tâm Học liệu – ĐHTN49 http://www.lrc.tnu.edu.vn private void BttColour_Click(object sender, EventArgs e) { int hnd = 0; System.UInt32 col = 0; hnd = Legend.SelectedLayer; if (ColorDialog1.ShowDialog == System.Windows.Forms.DialogResult.OK) { Col = System.Convert.ToUInt32(Information.RGB(ColorDialog1.Color.R, ColorDialog1.Color.G, ColorDialog1.Color.B)); AxMap.set_ShapeLayerFillColor(hnd, col); Legend.Refresh(); AxMap.Refresh(); } }  Bước 7: Tạo bảng hiển thị liệu layer add vào form -Bước 7.1: Tạo bảng: Tạo window form project cách: Bấm chuột phải vào tên project, chọn Add, chọnWindow form…; Đặt tên file Table.cs Tạo thêm Data grid vào form: Từ tool box, kéo control DatagridView vào form, đặt Name cho control DataGridView1, set thuộc tính dock DataGridView1 Fill Số hóa Trung tâm Học liệu – ĐHTN50 http://www.lrc.tnu.edu.vn Hình 3.5: Kéo thêm DataGridView vào form Table Chuyển sang hình code form Table, thêm dòng khai báo Shape file vào sau dòng Public class Table: MapWinGIS.Shapefile pshape = default(MapWinGIS.Shapefile); Tạo sub với tham số myShapeFile As MapWinGIS.Shapefile cách thêm đoạn code phía vào public Class Table public New(ref MapWinGIS.Shapefile myShapeFile) { pshape = myShapeFile; InitializeComponent(); } Viết kiện load cho form Table sau: Số hóa Trung tâm Học liệu – ĐHTN51 http://www.lrc.tnu.edu.vn private void Table_Load(object sender, EventArgs e) { DataTable myDataTable = new DataTable(); DataRow myDataRow = null; int i = 0; int j = 0; int k = 0; for (i = 0; i

Ngày đăng: 22/03/2017, 09:11

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan