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 & TRUYỀN THÔNG TRẦN HÀ PHƯƠNG PHÂN CỤM ĐỒ THỊ 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 - 2016 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG TRẦN HÀ PHƯƠNG PHÂN CỤM ĐỒ THỊ 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 ĐOÀN VĂN BAN THÁI NGUYÊN - 2016 i LỜI CAM ĐOAN Tên tôi là: Trần Hà Phương Sinh ngày: Học viên lớp cao học CHK13 - Trường Đại học Công nghệ thông tin và Truyền thông - Đại học Thái Nguyên. Hiện đang công tác tại: Xin cam đoan: Đề tài “Phân cụm đồ thị liệu ứng dụng” do Thầy giáo PGS.TS Đoàn Văn Ban hướng dẫn là công trình nghiên cứu của riêng tôi. Tất cả tài liệu tham khảo đều có nguồn gốc, xuất xứ rõ ràng. Tác giả xin cam đoan tất cả những nội dung trong luận văn đúng như nội dung trong đề cương và yêu cầu của thầy giáo hướng dẫn. Nếu sai tôi hoàn toàn chịu trách nhiệm trước hội đồng khoa học và trước pháp luật. Thái Nguyên, ngày 14 tháng năm 2016 Tác giả luận văn Trần Hà Phương ii LỜI CẢM ƠN Sau một thời gian nghiên cứu và làm việc nghiêm túc, được sự động viên, giúp đỡ và hướng dẫn tận tình của Thầy giáo hướng dẫn PGS.TS Đoàn Văn Ban, luận văn với đề tài “Phân cụm đồ thị liệu ứng dụng”đã hoàn thành. Tôi xin bày tỏ lòng biết ơn sâu sắc đến: Thầy giáo hướng dẫn PGS.TS Đoàn Văn Ban đã tận tình chỉ dẫn, giúp đỡ tôi hoàn thành luận văn này. Khoa sau Đại học Trường Đại học công nghệ thông tin và truyền thông đã giúp đỡ tôi trong quá trình học tập cũng như thực hiện luận văn. Tôi xin chân thành cảm ơn bạn bè, đồng nghiệp và gia đình đã động viên, khích lệ, tạo điều kiện giúp đỡ tôi trong suốt quá trình học tập, thực hiện và hoàn thành luận văn này. Thái Nguyên, ngày 16 tháng năm 2016 Tác giả luận văn Trần Hà Phương iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC CÁC TỪ VIẾT TẮT . v DANH MỤC BẢNG vi DANH MỤC CÁC HÌNH ẢNH vii MỞ ĐẦU 1 1. Tính khoa học và cấp thiết của đề tài 1 2. Mục tiêu, đối tượng và phạm vi nghiên cứu của đề tài . 2 3. Phương pháp luận nghiên cứu 2 4. Nội dung và bố cục của luận văn . 2 CHƯƠNG 1TỔNG QUAN VỀ PHÂN CỤM DỮ LIỆU 4 1.1 Khái niệm, mục tiêu và các bước cơ bản của phân cụm dữ liệu 4 1.1.1 Phân cụm dữ liệu là gì? 4 1.1.2 Các mục tiêu của phân cụm dữ liệu 5 1.1.3 Các bước cơ bản để phân cụm 7 1.2 Một số khái niệm cần thiết khi tiếp cận phân cụm dữ liệu 8 1.2.1 Phân loại các kiểu dữ liệu . 8 1.2.2 Độ đo tương tự và phi tương tự . 9 1.3 Những kỹ thuật tiếp cận trong phân cụm dữ liệu . 11 1.3.1 Phương pháp phân cụm phân hoạch 12 1.3.2 Phương pháp phân cụm phân cấp 12 1.3.3 Phương pháp phân cụm dựa trên mật độ . 13 1.3.4 Phương pháp phân cụm dựa trên lưới 14 1.3.5 Phương pháp phân cụm dựa trên mô hình 15 1.3.6 Phương pháp phân cụm dữ liệu có liên kết 15 1.4 Các ứng dụng của phân cụm dữ liệu 16 1.5 Các yêu cầu và những vấn đề còn tồn tại trong phân cụm dữ liệu 18 1.5.1 Các yêu cầu của phân cụm dữ liệu 18 1.5.2 Những vấn đề còn tồn tại trong phân cụm dữ liệu . 20 1.6 Tổng kết chương . 20 iv CHƯƠNG THUẬT TOÁN PHÂN CỤM ĐỒ THỊ DỮ LIỆU . 22 2.1 Tổng quan về lý thuyết đồ thị 22 2.1.1 Giới thiệu chung 22 2.1.2 Biểu diễn đồ thị trên máy tính . 23 2.2 Mô hình đồ thị dữ liệu . 27 2.3 Độ đo trong phân cụm đồ thị dữ liệu 28 2.3.1 Độ đo cho phân cụm dữ liệu nói chung . 28 2.3.2 Độ đo cho phân cụm đồ thị 30 2.4 Một số thuật toán phân cụm dữ liệu dựa trên đồ thị 31 2.4.1 Thuật toán CHAMELEON 31 2.4.2 Thuật toán phân cụm quang phổ 33 2.4.3 Thuật toán phân cụm phân cấp 35 2.5 Kết luận chương 46 CHƯƠNG ỨNG DỤNG THUẬT TOÁN ĐỒ THỊ QUANG PHỔ TRONG VIỆC PHÂN LOẠI KẾT QUẢ HỌC TẬP CỦA HỌC SINH 47 3.1 Đặt vấn đề 47 3.2 Xây dựng chương trình ứng dụng 49 3.2.1 Mục đích chương trình . 49 3.2.2 Cơ sở dữ liệu 49 3.2.3 Các bước thực hiện . 49 3.2.4 Môi trường cài đặt 50 3.2.5 Cài đặt 50 3.3 Các chức năng chính của chương trình 51 3.3.1 Chương trình chính . 51 3.3.2 Biểu diễn dữ liệu theo đồ thị . 52 3.3.3 Phân cụm dữ liệu đồ thị quang phổ . 52 3.4 Đánh giá hiệu quả của thuật toán phân cụm dữ liệu đồ thị quang phổ 54 3.5 Kết luận chương 58 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 59 TÀI LIỆU THAM KHẢO 61 v DANH MỤC CÁC TỪ VIẾT TẮT Từ cụm từ Từ tiếng Anh Từ tiếng Việt Binding data Clustering Phương pháp phân cụm dữ liệu BDCM CA Methods có liên kết Continuous Attribute Thuộc tính liên tục Cơ sở dữ liệu CSDL Discrette Attribute Thuộc tính rời rạc DBM Density-Based Methods Phương pháp dựa trên mật độ GBM Grid-Based Methods Phương pháp dựa trên lưới HM Hierarchical Methods Phương pháp phân cấp DA Model-Based MBCM Methods phân cụm MC Markov Clustering Phân cụm theo mô hình Markov MST Minimum Spanning Tree Cây khung nhỏ nhất Partitioning Methods Phương pháp phân họach Random Walk Algorithm Thuật toán bước đi ngẫu nhiên Star Clustering Phân cụm hình sao PM RWA SC SCA Spectral Clustering Algorithm Thuật toán phân cụm quang phổ SOM Self-Organizing Map Clustering Phương pháp dựa trên mô hình Mạng tự tổ chức vi DANH MỤC BẢNG Bảng 3.1. Các module chính của chương trình . 51 vii DANH MỤC CÁC HÌNH ẢNH Hình 1.1. Ví dụ về phân cụm dữ liệu [7] 5 Hình 1.2. Ví dụ phân cụm các đối tượng dựa trên khoảng cách [7] 5 Hình 1.3. Ví dụ phân cụm các đối tượng dựa trên kích cỡ [7] 6 Hình 1.4. Các bước trong quá trình phân cụm 8 Hình 1.5. Các chiến lược phân cụm phân cấp [11] . 13 Hình 1.6. Cấu trúc phân cụm dữ liệu dựa trên lưới 15 Hình 2.1. Ví dụ về mô hình đồ thị 22 Hình 2.2. Phân loại đồ thị 23 Hình 2.3. Ma trận kề vô hướng (trên) và có hướng (dưới) 25 Hình 2.4. Ma trận trọng số vô hướng (trên) và có hướng (dưới) 26 Hình 2.5. Ma trận liên thuộc vô hướng (trên) và có hướng (dưới) 27 Hình 2.6. Minh họa thuật toán CHAMELEON 32 Hình 2.7. Nguyên lý chung của AntTree 36 Hình 2.8. Kiến trúc khác nhau giữa SOM và SOMTree . 41 Hình 2.9. Phân việc từ cây treec cho treec 44 old Hình 2.10. Tách subtreex khỏi cây treec và đưa vào list 45 old Hình 2.11. Tái liên kết subtreex vào treec 45 Hình 3.1. Màn hình chính của chương trình 51 Hình 3.2. Biểu diễn dữ liệu theo đồ thị 52 Hình 3.3. Phân cụm dữ liệu đồ thị quang phổ với dữ liệu vào là dữ liệu kiểm tra 53 Hình 3.4. Phân cụm dữ liệu đồ thị quang phổ với dữ liệu vào là điểm học sinh 54 Hình 3.5. Kết quả phân cụm dữ liệu dạng ba cụm Gaussian với 1000 mẫu dữ liệu 55 Hình 3.6. Kết quả phân cụm dữ liệu dạng ba cụm Gaussian với độ lớn lần lượt là 100, 1000, 3000 mẫu dữ liệu . 55 Hình 3.7. Kết quả phân cụm dữ liệu dạng hai nửa vầng trăng với kích thước dữ liệu là ba cụm Gaussian với độ lớn lần lượt là 7500 mẫu dữ liệu 56 Hình 3.8. Kết quả phân cụm dữ liệu dạng hai nửa vầng trăng với hai thuật toán K mean (trái) và đồ thị quang phổ (phải) 56 Hình 3.9. Kết quả phân cụm dữ liệu điểm học sinh với số cụm khác nhau 57 MỞ ĐẦU Tính khoa học cấp thiết đề tài Phân cụm là một trong những vấn đề cơ bản phổ biến trong các lĩnh vực nhận dạng mẫu, học máy và khai thác dữ liệu. Hiện tại, trên thực tế có rất nhiều thuật toán phân cụm được công bố. Tuy nhiên, do không tồn tại một thuật toán phân cụm duy nhất cho tất cả các loại bộ dữ liệu, những thuật toán phân cụm mới vẫn liên tục được đề xuất. Kết quả là, người dùng phải chọn thuật toán thích hợp nhất từ nhiều ứng viên để đạt được kết quả chính xác. Trong thực tế, việc lựa chọn thuật toán phân cụm dữ liệu phù hợp là rất khó khăn do người sử dụng thường không có một kiến thức tiên nghiệm về sự đa dạng và phức tạp của dữ liệu. Để phần nào giảm bớt nhược điểm trên, các thuật toán phân cụm dựa trên đồ thị được đề xuất do ưu điểm ở khả năng xử lý các bộ dữ liệu đa dạng và có cấu trúc. Bản chất của các thuật toán này là biểu diễn dữ liệu dựa trên đồ thị và phân cụm các thành phần theo các thuật toán thiết kế riêng. Đồ thị là những cấu trúc toán học được sử dụng để đại diện cho mối quan hệ giữa cặp đối tượng từ một tập hợp xác định. Đồ thị chứa đỉnh (đại diện cho các đối tượng) và các cạnh nối các đỉnh (đại diện cho mối quan hệ giữa các đối tượng cặp). Đây là phương pháp cấu trúc dữ liệu quan trọng được sử dụng trong rất nhiều lĩnh vực như khai thác dữ liệu, xử lý ngôn ngữ tự nhiên, tìm kiếm thông tin và khai thác thông tin. Trong phân cụm, sự tương đồng giữa các đối tượng được phân cụm có thể được diễn tả như một đồ thị có trọng số. Trong đó, các đối tượng là các đỉnh và sự tương đồng là trọng số của các cạnh. Bài toán phân cụm sẽ được đơn giản hóa về bài toán phân cụm đồ thị mà nhiệm vụ chính là tách các đồ thị phụ dày đặc và kết nối thưa thớt khỏi nhau dựa trên khái niệm của mật độ nội cụm so với khoảng cách liên cụm. Với những lý do trên, tác giả đã chọn đề tài “Phân cụm đồ thị liệu ứng dụng” làm đề tài nghiên cứu luận văn tốt nghiệp thạc sĩ chuyên ngành Khoa học máy tính. 48 Như vậy có thể hiểu khối lớp có 4/5 học sinh trên trung bình. Một cách chi tiết hơn, ta có thể nói: trong 400 học sinh trên trung bình thì có 100 học sinh là trên 8.0, 200 học sinh là từ 6.5 đến cận 8.0, và 100 học sinh là từ 5.0 đến cận 6.0. Như vậy có thể hiểu sâu sắc hơn rằng khối lớp có 1/5 học sinh giỏi, 2/5 học sinh khá v.v…. Như vậy, việc phân loại kết học tập học sinh nhà trường chuyện đơn giản. Nó đòi hỏi người đánh giá phải có một sự đầu tư, nghiên cứu, tìm tòi và sáng tạo nhằm đưa ra được các phân tích, đánh giá đúng đắn nhất, chính xác nhất về kết quả học tập của học sinh, từ đó đề ra định hướng, hoạch định cho nhà trường trong việc: đầu tư bồi dưỡng giáo viên bộ môn còn yếu, phát hiện học sinh giỏi để bồi dưỡng, học sinh kém để phụ đạo, có kế hoạch tăng giờ, tăng tiết, định hướng nghề nghiệp cho học sinh dựa trên sở thích, năng khiếu môn học v.v… Tuy nhiên, việc đánh giá dựa người mang tính cứng nhắc, áp đặt. Ví dụ luôn luôn chọn mức kém là dưới 5 điểm, mức giỏi là trên 8 điểm để phân học sinh thành ba cụm kém, trung bình và giỏi. Mặt khác, nếu cần phân chia với số cụm lớn hơn thì việc xác định mức điểm ranh giới giữa các cụm thường mang cảm tính, không chính xác. Thực tế điều này phải được dựa trên phân bố của mẫu dữ liệu về kết quả học tập. Nhược điểm này có thể được giải quyết nếu việc đánh giá thực máy với thuật toán phân cụm hợp lý mà phân cụm đồ thị lựa chọn cho đa số liệu [9]. Như đã trình bày trong chương 2, thuật toán phân cụm đồ thị quang phổ được cho là một sự lựa chọn phù hợp cho đa số các bài toán phân cụm dữ liệu do tính đơn giản, dễ cài đặt trong khi vẫn biểu diễn được dữ liệu dưới dạng có cấu trúc. Vì vậy, học viên quyết định lựa chọn thuật toán này cho việc “phân tích, đánh giá kết quả học tập của học sinh”. Bên cạnh đó, học viên cũng chứng minh hiệu quả của thuật toán qua việc tiến hành đánh giá trên các bộ dữ liệu thường được cộng đồng khoa học dùng làm tiêu chí so sánh các thuật toán phân cụm như: dữ liệu dạng Gauusian 2, 3 cụm, dữ liệu dạng hai nửa vầng trăng (đối xứng hoặc không đối xứng). 49 3.2 Xây dựng chương trình ứng dụng 3.2.1 Mục đích chương trình Chương trình ứng dụng được xây dựng với hai mục đích chính - Đánh giá hiệu hoạt động thuật toán phân cụm đồ thị quang phổ: Để chứng minh hiệu quả hoạt động tốt của thuật toán phân cụm đồ thị quang phổ, chương trình cho phép thực hiện phân cụm trên một số bộ mẫu dữ liệu có phân bố đặc biệt với số cụm đã được biết trước. - Chứng minh khả áp dụng thuật toán phân cụm đồ thị quang phổ cho toán phân loại học sinh: Dựa trên điểm trung bình của từng môn học để phân cụm dữ liệu nhằm phân loại, đưa ra cái nhìn đa dạng hơn, đa chiều hơn, nhiều góc độ khác nhau hơn về điểm số giúp cho các nhà quản lý giáo dục có thêm cơ sở để đánh giá đúng đắn nhất, chính xác nhất về tình hình học tập của học sinh, hoạt động giảng dạy của giáo viên từ đó đề ra định hướng, hoạch định cho nhà trường trong việc nâng cao chất lượng giáo dục. 3.2.2 Cơ sở liệu Để thực hiện chương trình, học viên đã chuẩn bị một số dữ liệu sau: - Các dữ liệu để đánh giá thuật toán phân cụm: Bao gồm các dữ liệu theo dạng hai nửa vầng trăng (đối xứng hoặc không đối xứng), dữ liệu dạng cụm theo phân bố Gaussian (đối xứng hoặc không đối xứng). - Dữ liệu về điểm của học sinh: Cơ sở dữ liệu về học sinh đều được lưu trữ trong phần mềm quản lý điểm ở các trường. Trong đó ngoài dữ liệu thông thường có được từ phần mềm quản trị cơ sở dữ liệu, quan trọng nhất là điểm trung bình của các môn học. Chiều của dữ liệu này bằng với số lượng môn học có điểm. 3.2.3 Các bước thực Để thực hiện phân cụm theo thuật toán quang phổ ta phải tiến hành các bước sau: Bước 1. Chuẩn bị cơ sở dữ liệu Bước 2. Biểu diễn dữ liệu điểm của học sinh dưới dạng đồ thị Trong bước này, ta có thể lựa chọn một số loại đồ thị để biểu diễn từ điểm số của học sinh như: 50 - Đồ thị k láng giềng (đối xứng) hoặc không đối xứng khi quan hệ láng giềng không phải là quan hệ một một. Khi chọn dạng đồ thị này ta cũng phải chọn số lượng láng giềng cho mỗi đỉnh. - Đồ thị Epsilon láng giềng (đối xứng hoặc không đối xứng) Sau khi lựa chọn dạng đồ thị cần biểu diễn, ta tiến hành xây dựng ma trận tương tự. Độ tương tự giữa hai điểm dữ liệu (hai đỉnh của đồ thị) sẽ được biểu diễn dưới dạng: s xi , x j exp xi x j / 2 trong đó được gọi là độ rộng hạt. Bước 3. Phân cụm dữ liệu từ kết quả biểu diễn Sau khi biểu diễn dữ liệu dưới dạng đồ thị, tùy thuộc số lượng cụm K được chỉ định. Ta tiến hành phân cụm dữ liệu. theo các bước: Tính toán K giá trị vecto riêng v1….vk của ma trận tương tự dựa trên ma trận Laplacian chuẩn hóa hoặc không chuẩn hóa. - Xây dựng ma trận V với cột là các vecto riêng - Biểu diễn các điểm dữ liệu Zi theo hàng của V - Phân cụm các điểm Zi nhờ thuật toán K mean 3.2.4 Môi trường cài đặt Chương trình ứng dụng được xây dựng trên giao diện GUI của phần mềm Matlab 2015a. Sở dĩ học viên lựa chọn xây dựng phần mềm mô phỏng trên Matlab vì đây là phần mềm chuyên dụng cho tính toán số liệu dưới dạng ma trận. Ngoài ra, Matlab cũng tích hợp rất nhiều các công cụ hỗ trợ cho việc tính toán, biểu diễn dữ liệu theo đồ thị. Các công bố về các phương pháp phân cụm dữ liệu cũng đa phần sử dụng Matlab nên rất tiện cho việc so sánh và đánh giá hiệu quả của các phương pháp. 3.2.5 Cài đặt Mã nguồn của chương trình bao gồm một số module chính như mô tả trong Bảng 3.1. 51 Bảng 3.1 Các module chương trình Module Giải thích main.m Cài đặt giao diện chính của chương trình ứng main.fig dụng, có hỗ trợ giao tiếp với người dùng Tính toán khoảng cách giữa các điểm, tính toán Graphs.m ma trận tương tự thể hiện quan hệ giữa các Graphs.fig điểm, lựa chọn dạng đồ thị và biểu diễn dữ liệu theo cấu trúc đồ thị Chọn số lượng cụm, phân cụm dữ liệu đã biểu SpectralClustering.m diễn theo đồ thị dựa trên việc xác định K vecto SpectralClustering.fig riêng và biểu diễn mọi điểm dữ liệu theo K vecto riêng này. 3.3 Các chức chương trình 3.3.1 Chương trình Hình 3.1 Màn hình chương trình Hình 3.1 mô tả giao diện chính của chương trình. Từ giao diện chính này cho phép người sử dụng có thể minh họa quá trình biểu diễn dữ liệu điểm của học sinh theo cấu trúc đồ thị nhờ thao tác Biểu diễn đồ thị liệu, Xem xét trực quan quá trình phân cụm dữ liệu để đánh giá kết quả học tập khi click vào chức năng Phân cụm liệu. Chức năng Kết thúc thực hiện việc giải phóng các biến và thoát chương trình. Biểu diễn đồ thị dữ liệu. 52 3.3.2 Biểu diễn liệu theo đồ thị Hình 3.2 Biểu diễn liệu theo đồ thị Hình 3.2 mô tả chi tiết việc biểu diễn dữ liệu điểm của học sinh theo đồ thị. Số chiều của dữ liệu cần biểu diễn sẽ tương ứng với số lượng điểm trung bình của các môn học (trong trường hợp này là 2). Từ các giá trị điểm, chương trình sẽ tính ra ma trận tương tự (tương ứng với độ rộng hạt sigma) và hiển thị lên mật độ phân bố của ma trận tương tự cũng như lược đồ phân bố của ma trận này. Tùy theo việc lựa chọn dạng đồ thị mà kết quả biểu diễu dữ liệu sẽ khác nhau. Chương trình cho phép người sử dụng có thể so sánh trực quan hai kiểu biểu diễn đồ thị. Như trên Hình 3.2 là đồ thị Epsilon có trọng số với giá trị 0.47266 và đồ thị KNN đối xứng với số láng giềng hiện tại là k=5 (giá trị và k có thể thay đổi nhờ thanh trượt). Sau thao tác Cập nhật, ta có thể quan sát được bậc của các đỉnh đồ thị, ma trận kề cũng như số điểm trên mỗi thành phần của hai loại đồ thị. 3.3.3 Phân cụm liệu đồ thị quang phổ Hình 3.3 mô tả chi tiết các bước trong việc thực hiện phân cụm dữ liệu. Chương trình cho phép lựa chọn hai loại dữ liệu để phân cụm, hoặc là dữ liệu để kiểm tra tính đúng đắn của thuật toán, hoặc là dữ liệu điểm số thực của học sinh. 53 Hình 3.3 Phân cụm liệu đồ thị quang phổ với liệu vào liệu kiểm tra Để xác định xem thuật toán phân cụm có chính xác không, ta tạo 500 mẫu ra dữ liệu ngẫu nhiên có phân bố dạng hai nửa vầng trăng có số chiều là 11 (một mẫu dữ liệu gồm 11 thành phần) với xác suất xuất hiện là 0,5 cho mỗi nửa và phương sai là 0.04 (đây là loại dữ liệu thường được sử dụng để đánh giá chung cho nhiều thuật toán phân cụm) [7]. Lựa chọn loại đồ thị biểu diễn là đồ thị Epsilon láng giềng đối xứng với tham số Epsilon bằng 0.43. Ma trận tương tự được tính với độ rộng hạt sigma bằng 0.1. Chương trình sẽ tính toán 10 vecto riêng của ma trận tương tự và hiển thị lên trên màn hình 5 vecto cùng với các giá trị riêng tương ứng. Dữ liệu sẽ được biểu diễn theo các vecto riêng này và được phân cụm theo K mean (như đã trình bày trong phần 2.4.2). Kết quả phân cụm với số cụm N=2 là chính xác theo dữ liệu giả định. Điều này chứng tỏ thuật toán phân cụm đồ thị quang phổ hoạt động tốt. Hình 3.4 mô tả kết quả hoạt động của chương trình phân cụm đối với bộ dữ liệu điểm của học sinh gồm 560 mẫu với số chiều là 3 (điểm trung bình 3 môn Toán, Văn, Anh). Ở đây ta lựa chọn loại đồ thị biểu diễn là đồ thị K láng giềng đối xứng với số lượng láng giềng là K=10. Ma trận tương tự được tính với độ rộng hạt sigma bằng 1. Khi lựa chọn số lượng cụm là 3, thuật toán trả về kết quả là: 54 - Có 111 em với điểm trung bình ba môn nhỏ hơn 5.6 (biểu thị bằng màu xanh dương) - Có 385 em đạt kết quả điểm trung bình ba môn nhỏ hơn 7.6 và lớn hơn 5.6 (biểu thị bằng màu đỏ). - Còn lại 64 em có kết quả điểm trung bình ba môn lớn hơn 7.6 (biểu thị bằng màu đen). Về mặt trực quan, có thể thấy việc phân dữ liệu với số cụm bằng 3 là tương đối chính xác. Thêm vào đó, dựa trên kết quả thu được, nếu ta quyết định đánh giá học sinh làm ba mức thì thuật toán sẽ cho ta ba cụm với các giá trị giới hạn của điểm trung bình của học sinh là 5.6 và 7.6. Điều này khó có thể thực hiện được khi phân loại học sinh dựa theo cảm tính của con người. Hình 3.4 Phân cụm liệu đồ thị quang phổ với liệu vào điểm học sinh 3.4 Đánh giá hiệu thuật toán phân cụm liệu đồ thị quang phổ Sau khi cài đặt chương trình thử nghiệm, luận văn tiến hành đánh giá hiệu quả của thuật toán phân cụm đồ thị quang phổ trên một số mẫu dữ liệu lớn nhằm làm rõ tốc độ hội tụ của thuật toán phân cụm đồ thị quang phổ với số lượng dữ liệu lớn này. Hình 3.5 và Hình 3.6 mô tả kết quả của thuật toán phân cụm dữ liệu đồ thị quang phổ đối với dữ liệu dạng ba cụm Gaussian với kích thước đều (Hình 3.5) 55 hoặc không đều (Hình 3.6). Kết quả đều cho thấy sự chính xác khi phân cụm của thuật toán. Thời gian hoạt động của thuật toán đến khi cho ra kết quả phân cụm là nhỏ hơn 1s. Điều này cho thấy tốc độ hội tụ của thuật toán là rất nhanh. Hình 3.5 Kết phân cụm liệu dạng ba cụm Gaussian với 1000 mẫu liệu Hình 3.6 Kết phân cụm liệu dạng ba cụm Gaussian với độ lớn 100, 1000, 3000 mẫu liệu Hình 3.7 minh họa kết quả của thuật toán với dữ liệu vào là 7500 mẫu theo dạng hai nửa vầng trăng. Có thể thấy rằng, khi dữ liệu lớn sẽ làm cho thời gian tính toán tăng và tốc độ hội rụ của thuật toán giảm. Tuy nhiên, so với kích thước lớn của mẫu dữ liệu đầu vào, thời gian tính toán chỉ là 1,09 s (vẫn là nhỏ khi áp dụng vào thực tế) 56 Hình 3.7 Kết phân cụm liệu dạng hai nửa vầng trăng với kích thước liệu ba cụm Gaussian với độ lớn 7500 mẫu liệu Trong Hình 3.8, luận văn cũng so sánh kết quả của thuật toán phân cụm dữ liệu đồ thị quang phổ đối với thuật toán K mean truyền thống. Có thể kết luận trong trường hợp này, thuật toán phân cụm đồ thị quang phổ cho kết quả phân cụm tốt hơn thuật toán K mean truyền thống. Hình 3.8 Kết phân cụm liệu dạng hai nửa vầng trăng với hai thuật toán K mean (trái) đồ thị quang phổ (phải) Tiếp theo, luận văn tập trung phân loại kết quả học tập của học sinh dựa trên chương trình cài đặt. 57 Hình 3.9 Kết phân cụm liệu điểm học sinh với số cụm khác Hình 3.9 thể hiện dữ liệu điểm thu thập được của 200 mẫu điểm trung bình 6 môn học (Toán, Lý, Hóa, Anh, Văn, Sinh) của học sinh phổ thông (mỗi mẫu dữ liệu có số chiều là 6). Dựa trên kết quả điểm thu được, chương trình sẽ tính toán ma trận tương tự của bộ mẫu dữ liệu và biểu diễn dữ liệu theo dạng đồ thị K láng giềng (K=10). Tiếp đó là các kết quả khi phân cụm với số cụm lần lượt là 2, 3, 4 và 5. Kết quả này cho phép phân lực học của sinh viên theo các nhóm khác nhau tùy thuộc yêu cầu người đánh giá. Chọn số cụm là 2 khi muốn chia lớp làm 2 nhóm giỏi và bình thường. Khi số cụm là 5 ta có thể phân lớp thành các nhóm yếu, kém, trung bình, khá, giỏi. Trong trường hợp phân bộ dữ liệu trên thành 5 cụm kết quả phân loại trả về 5 lớp như sau: - Có 46 em học lực yếu với điểm trung bình sáu môn nhỏ hơn 3.1 (biểu thị bằng màu xanh nước biển) - Có 31 em đạt học lực kém kết quả điểm trung bình sáu môn nhỏ nằm trong khoảng từ 3.1 đến 4.7 (biểu thị bằng màu xanh lá cây). - Có 48 em học lực trung bình có kết quả điểm trung bình sáu môn nằm trong khoảng từ 4.7 đến 7.2 (biểu thị bằng màu đen). - Có 24 em học lực khá có kết quả điểm trung bình sáu môn nằm trong khoảng từ 7.2 đến 8.5 (biểu thị bằng màu xanh dương). 58 - Còn lại 51 em học lực giỏi có kết quả điểm trung bình sáu môn lớn hơn 8.5 (biểu thị bằng màu đỏ). 3.5 Kết luận chương Nội dung chương 3 trình bày về việc thiết kế chương trình ứng dụng đánh giá kết quả học tập của học sinh dựa trên thuật toán phân cụm dữ liệu đồ thị quang phổ nhằm phân tích, đánh giá kết quả học tập của học sinh dựa trên điểm trung bình môn. Kết quả phân cụm này bước đầu ít nhiều có thể giúp cho Ban giám hiệu nhà trường, các nhà quản lý giáo dục có được một cái nhìn nhiều chiều hơn, đa dạng hơn, nhiều góc cạnh hơn về điểm số của học sinh từ đó thu được một số kết quả như : việc phân lớp, lựa chọn học sinh giỏi để bồi dưỡng, phát hiện học sinh yếu kém để phụ đạo … cũng như đề ra kế hoạch giảng dạy, tăng giờ tăng tiết, định hướng nghề nghiệp cho học sinh qua việc chọn ban và khối thi Đại học v.v… Các bước phân tích, tiến hành đã được nội dung chương mô tả chi tiết. Từ việc xây dựng ma trân độ đo tương tự giữa các điểm dữ liệu n chiều, đến việc xác định các vecto riêng, biểu diễn bằng các loại đồ thị khác nhau và phân cụm với số lượng cụm tùy chọn. Bên cạnh đó, nội dung chương cũng đánh giá hiệu quả hoạt động của thuật toán phân cụm dữ liệu đồ thị quang phổ trên các tập mẫu dữ liệu có phân bố phức tạp như: Dữ liệu có dạng hai nửa vầng trăng (cân bằng và không cân bằng), dữ liệu có dạng hai hoặc ba cụm Gaussian (cân bằng hoặc không cân bằng). Đây là các mẫu dữ liệu thường được các công trình công bố trong và ngoài nước sử dụng để đánh giá hiệu quả của các thuật toán phân cụm, từ đó tạo căn cứ khẳng định các đánh giá về hiệu quả hoạt động của thuật toán phân cụm dữ liệu đồ thị quang phổ. 59 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Sau một thời gian tìm hiểu nghiên cứu, luận văn đã trình bày được các vấn đề sau theo đúng đề cương đưa ra: - Nghiên cứu tổng quan và đánh giá các phương pháp phân cụm, nghiên cứu sâu về phương pháp phân cụm dữ liệu dựa trên đồ thị. - Nghiên cứu một số thuật toán của phương pháp phân cụm dựa trên đồ thị như: Chameleon, phân cụm đồ thị quang phổ (Spectral Clustering), phân cụm phân cấp theo đồ thị (thuật toán AntTree và SOMTree). Đánh giá các ưu và nhược điểm của mỗi thuật toán. - Cài đặt phần mềm thử nghiệm mô phỏng chương trình phân tích đánh giá kết quả học tập của học sinh theo thuật toán phân cụm đồ thị quang phổ, đánh giá hiệu quả hoạt động của thuật toán này. Trong quá trình tìm hiểu và hoàn thành luận văn, dù đã đạt được một số kết quả nhất định về kiến thức, về thực tế, nhưng bản thân học viên nhận thấy phân cụm trong khai phá dữ liệu vẫn là một lĩnh vực nghiên cứu còn quá rộng lớn và còn đầy triển vọng bao hàm nhiều phương pháp, kỹ thuật, nhiều hướng nghiên cứu, tiếp cận khác nhau. Vì vậy, trên cơ sở những gì mà luận văn đã thực hiện và đạt được, hướng phát triển sau này của luận văn như sau: - Về thực tiễn: sẽ phát triển thành bài toán với số dữ liệu lớn hơn, bao quát hơn, nhiều chọn lựa hơn. Đưa thêm các phương pháp tìm kiến tối ưu nhằm hỗ trợ xác định các tham số phù hợp như dạng đồ thị cần biểu diễn, số lượng láng giềng, độ rộng hạt sigma. - Về lý thuyết: tiếp tục nghiên cứu tiếp các phương pháp, các cách tiếp cận mới về phân cụm dữ liệu như: phân cụm thống kê, phân cụm khái niệm, phân cụm mờ, phân cụm mạng KOHONEN… tìm kiếm, so sánh và chọn lựa thuật toán tối ưu nhất để giải quyết bài toán đã đưa ra. 60 Mặc dù đã cố gắng tập trung nghiên cứu và tham khảo nhiều tài liệu, bài báo, tạp chí khoa học trong và ngoài nước, nhưng do trình độ còn có nhiều giới hạn không thể tránh khỏi thiếu sót và hạn chế, rất mong được sự chỉ bảo đóng góp nhiều hơn nữa của các quý thầy cô giáo và các nhà khoa học… Một lần nữa học viên xin được cảm ơn Thầy giáo PGS. TS. Đoàn Văn Ban đã tận tình giúp đỡ, hướng dẫn trong thời gian thực hiện đề tài, cảm ơn sự giúp đỡ của gia đình, bạn bè và các đồng nghiệp trong thời gian qua. Thái Nguyên ngày 14 tháng 06 năm 2016 Người thực Trần Hà Phương 61 TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt [1] N. H. T. Anh, Giáo trình Khai thác liệu ứng dụng, Đại học KHTN TP Hồ Chí Minh, 2009. [2] T. Q. Chiến, Giáo trình lý thuyết đồ thị ứng dụng, Đại Học Đà Nẵng, 2007. [3] Vũ Lan Phương (2006), Nghiên cứu cài đặt số giải thuật phân cụm phân lớp, Luận văn thạc sĩ, Đại học Bách khoa Hà Nội. Tài liệu tiếng Anh [4] D. J. C. L. B. H. Istvan Jonyer, "Graph-Based Hierarchical Conceptual Clustering," Journal of Machine Learning Research, vol. 2, pp. 19-43, 2001. [5] D. N. Quang, "New models for hierarchical and topological clustering, Ph D Thesis," PARIS 13 UNIVERSITY - SORBONNE PARIS CITÉ, 2013. [6] J. H. a. M. Kamber, Data Mining Concepts and Techniques, Canada: Intelligent Database Systems Research Lab School of Computing Science, Simon Fraser University, 2007, p. Chapter 1 & Chapter 8. [7] M. Matteucci, "A Tutorial on Clustering Algorithms," [Online]. Available: http://home.dei.polimi.it/matteucc/Clustering/tutorial_html/index.html. [8] O. R.Zaiane, Principles of knowledge discovery in databases, University of Alberta, Fall 2001. [9] S. E. Schae er., "Graph clustering," Computer Science Review, vol. 1, no. 1, p. 27–64, August 2007. [10] U. Luxburg, "A tutorial on spectral clustering," Statistics and Computing, vol. 17, December 2007. [11] G. V. A. O. e. C. G. Hanene Azzag, "A hierarchical ant based clustering algorithm and its use in three real-world applications," European Journal of Operational Research, vol. 179, no. 3, June 2007. [12] T. Kohonen, Self-Organizing Maps, Third Edition, Heidelberg: Springer, 2001. 62 Các trang Web [13] http://www.ml.uni-saarland.de/code/GraphDemo/GraphDemo.htm. [14] http://en.wikipedia.org/wiki/Cluster_analysis [15] http://en.wikipedia.org/wiki/Graph_partition [...]... Nghiên cứu về bài toán phân cụm dữ liệu; Giới thiệu một số phương pháp phân cụm dữ liệu phổ biến như: phân cụm phân hoạch, phân cụm phân cấp, phân cụm dựa trên mật độ, phân cụm dựa trên lưới, phân cụm dựa trên mô hình, phân cụm có dữ liệu ràng buộc và đánh giá các ưu và nhược điểm của mỗi phương pháp. Chương 2: Thuật toán phân cụm đồ thị dữ liệu Trình bày phương pháp phân cụm dữ liệu dựa trên đồ thị và một số thuật toán như: Thuật toán ... hết những cơ sở dữ liệu thực đều chứa đựng dữ liệu ngoại lai, dữ liệu lỗi, dữ liệu chưa biết hoặc dữ liệu sai. Một số thuật toán phân cụm nhạy cảm với dữ liệu như vậy và có thể dẫn đến chất lượng phân cụm thấp. - Ít nhạy cảm với thứ tự của các dữ liệu vào: một số thuật toán phân cụm nhạy cảm với thứ tự của dữ liệu vào, ví dụ như với cùng một tập dữ liệu, khi được đưa ra với các thứ tự khác nhau thì với cùng một thuật toán có thể sinh ra các cụm ... của tầng vào tương ứng với mỗi thuộc tính của bản ghi, mỗi một nơron vào kết nối với tất cả các nơron của tầng ra. Mỗi liên kết được gắn liền với một trọng số nhằm xác định vị trí của nơron ra tương ứng. 1.4 Các ứng dụng của phân cụm dữ liệu Phân cụm là một công cụ quan trọng trong một số ứng dụng. Sau đây là một số ứng dụng của nó: - Giảm dữ liệu: Giả sử ta có một lượng lớn dữ liệu (N). Phân cụm sẽ nhóm các dữ liệu này thành m cụm dữ liệu dễ nhận thấy và m ... Hình 3.2. Biểu diễn dữ liệu theo đồ thị 52 Hình 3.3. Phân cụm dữ liệu đồ thị quang phổ với dữ liệu vào là dữ liệu kiểm tra 53 Hình 3.4. Phân cụm dữ liệu đồ thị quang phổ với dữ liệu vào là điểm học sinh ... 1: Tổng quan phân cụm liệu - Nghiên cứu về bài toán phân cụm dữ liệu; Giới thiệu một số phương pháp phân cụm dữ liệu phổ biến như: phân cụm phân hoạch, phân cụm phân cấp, phân cụm dựa trên ... QUAN VỀ PHÂN CỤM DỮ LIỆU 4 1.1 Khái niệm, mục tiêu và các bước cơ bản của phân cụm dữ liệu 4 1.1.1 Phân cụm dữ liệu là gì? 4 1.1.2 Các mục tiêu của phân cụm dữ liệu
Ngày đăng: 09/12/2016, 17:56
Xem thêm: Phân cụm đồ thị dữ liệu và ứng dụng , Phân cụm đồ thị dữ liệu và ứng dụng