Tìm hiểu thuật toán phân cụm bán tự động dựa vào lý thuyết tập thô của hai tác giả hong yu và dachun yan

69 16 0
Tìm hiểu thuật toán phân cụm bán tự động dựa vào lý thuyết tập thô của hai tác giả hong yu và dachun yan

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN TỐT NGHIỆP TÌM HIỂU THUẬT TỐN PHÂN CỤM BÁN TỰ ĐỘNG DỰA VÀO LÝ THUYẾT TẬP THÔ CỦA HAI TÁC GIẢ HONG YU VÀ DACHUN YAN Giảng viên hướng dẫn: TS Nguyễn Đức Thuần Sinh viên thực hiện: Trần Văn Đức Mã số sinh viên: 57130946 Khánh Hòa - 2019 TRƯỜNG ĐẠI HỌC NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN HỆ THỐNG THƠNG TIN ĐỒ ÁN TỐT NGHIỆP TÌM HIỂU THUẬT TOÁN PHÂN CỤM BÁN TỰ ĐỘNG DỰA VÀO LÝ THUYẾT TẬP THÔ CỦA HAI TÁC GIẢ HONG YU VÀ DACHUN YAN Giảng viên hướng dẫn: TS Nguyễn Đức Thuần Sinh viên thực hiện: Trần Văn Đức Mã số sinh viên: 57130946 Khánh Hòa, tháng 6/2019 QUYẾT ĐỊNH GIAO ĐỒ ÁN TỐT NGHIỆP iii TRƯỜNG ĐẠI HỌC NHA TRANG Khoa/Viện: Công nghệ thông tin PHIẾU THEO DÕI TIẾN ĐỘ VÀ ĐÁNH GIÁ ĐỒ ÁN TỐT NGHIỆP Tên đề tài: Tìm hiểu thuật toán phân cụm bán tự động dựa vào lý thuyết tập thô hai tác giả Hong Yu Dachun Yan Chuyên ngành: Công nghệ thông tin Họ tên sinh viên: Trần Văn Đức Mã sinh viên: 57130946 Người hướng dẫn: TS Nguyễn Đức Thuần Cơ quan công tác: Khoa Công nghệ thông tin – Đại học Nha Trang Phần đánh giá cho điểm người hướng dẫn (tính theo thang điểm 10) Mơ tả chất lượng Tiêu chí đánh giá Trọng số (%) Xây dựng đề cương nghiên cứu 10 Tinh thần thái độ làm việc 10 Kiến thức kỹ làm việc 10 Nội dung kết đạt 40 Kỹ viết trình bày báo cáo 30 Giỏi Khá Đạt yêu cầu Không đạt - 10 7-8 5-6 = vt) hold.Add(index[j]); else hold1.Add(index[j]); } if (hold.Count > 0) hold3.Add(hold); if (hold1.Count > 0) hold3.Add(hold1); if (hold2.Count > 0) hold3.Add(hold2); holdPos.Add(hold3); //Luu giua cac thres cua phan tu thres.Add(vt); } for (int l = 0; l < holdPos.Count; l++) { for (int j = 0; j < holdPos[l].Count; j++) { holdPos[l][j].Sort(); } } //Sap xep giam dan thres QuickSortWithIndex(thres, pos1, 0, rows - 1); int k = pos1[0]; for (int i = 0; i < holdPos[k].Count; i++) { List s = new List(); s = holdPos[k][i]; { List sub = new List(); sub = s; 42 for (int j = 0; j < holdPos.Count; j++) { if (j != k) { for (int l = 0; l < holdPos[j].Count; l++) { List findsub = new List(); findsub = LCSubStr(sub, holdPos[j][l], sub.Count, holdPos[j][l].Count, findsub); if (findsub.Count > 0) { sub = findsub; } } } } List tmp = new List(); for (int h = 0; h < sub.Count; h++) { tmp.Add(sub[h]); } ans.Add(tmp); if (checkIsItemed(s, sub).Count > ) s = checkIsItemed(s, sub); } while (s.Count > 0); } pos = new List(); for (int i = 0; i < ans.Count; i++) { ans[i].Sort(); pos.Add(i); } QuickSort(ans, 0, ans.Count - 1); fileAns.Append(" Initial Clusters "); fileAns.Append(System.Environment.NewLine.ToString()); for (int i = 0; i < ans.Count; i++) { for (int j = 0; j < ans[i].Count; j++) { fileAns.Append(ans[i][j].ToString() + " "); } fileAns.Append(System.Environment.NewLine.ToString()); } fileAns.Append(System.Environment.NewLine.ToString()); return ans; } Tìm U/R public static List LCSubStr(List X, List Y, int m, int n, List s) { int[,] LCStuff = new int[m + 1, n + 1]; int result = 0; for (int i = 0; i beta) { flag = i; for (int k = 0; k < ans[j].Count; k++) 44 { ans[i].Add(ans[j][k]); } } if (flag != -1) { Dictionary test1 = new Dictionary(); for (int k = 0; k < ans[flag].Count; k++) { //Kiem tra co ton tai key if (test1.ContainsKey(ans[flag][k]) == false) { test1.Add(ans[flag][k], true); } else { ans[flag].RemoveAt(k); k ; } } } //Kiem tra phan cum co thay doi checkHoanTat = checkIfFinished(initClass, ans); CaculateDegreeOfCluster(matrix, ans, degreeOfCluster, maxDegree, vtMaxDegree); //Kiem tra thoa dieu kien degree de thoat vong lap check = checkIfModify(degreeOfCluster, anpha, beta); } checkHoanTat = checkIfFinished(initClass, ans); } while (check == false && checkHoanTat == false); for (int i = 0; i < ans.Count; i++) { ans[i].Sort(); } fileDegreeOfCluster.Append(System.Environment.NewLine.ToString()); for (int i = 0; i < ans.Count; i++) { for (int j = 0; j < ans[i].Count; j++) { fileDegreeOfCluster.Append(ans[i][j].ToString() + " "); } fileDegreeOfCluster.Append(System.Environment.NewLine.ToString()); } return ans; } Tính ma trận phân biệt public void CaculateDegreeOfCluster(List matrix, List ans, List degreeOfCluster, double maxDegree, List vtMaxDegree ) { double max = -1; int vt1 = 0, vt2 = 0; for (int i = 0; i < ans.Count-1; i++) { for (int j = i+1; j < ans.Count; j++) { double value = SumSimilarity(matrix, ans, i, j); if (max < value) { max = value; vt1 = i; vt2 = j; } 45 degreeOfCluster[i][j] = value; } } maxDegree = max; vtMaxDegree.Add(vt1); vtMaxDegree.Add(vt2); } 4.4 MÔ TẢ CHỨC NĂNG CỦA CHƯƠNG TRÌNH Button Upload File: Thực upload liệu đầu vào Button SAC-DTRSM: Xử lý bước thuật toán TextBox Anpha, TextBox Beta: Nhận tham số 𝛼, 𝛽 Hình Giao diện nhập liệu liệu tham số cho thuật toán GroupBox Data Information: chứa thơng tin liệu Hình Hiển thị thông tin liệu Group Box Display Data Test: Hiển thị liệu Hiển thị liệu đưa vào chương trình để phân cụm Hình Hiển thị toàn liệu đầu vào 46 Group Box Result: Hiển thị kết phân cụm gồm số cụm khởi tạo ban đầu (Number Of Initial Clusters) số cụm cuối qua trình thực hiệu chỉnh (Number Of Final Clusters) Hình 4 Hiển thị kết phân cụm Group Box Processing Of Algorithm: Hiển thị thơng tin q trình thực thuật tốn kết việc phân cụm Hình Hiển thị chi tiết bước xử lý kết chương trình Giao diện chương trình Hình Giao diện chương trình 47 4.5 HƯỚNG DẪN CHẠY VÀ KIỂM THỬ Đầu tiên, click vào Button UpLoad File để chọn liệu cần phân cụm Sau chọn xong, liệu hiển thị lên DataGridView Kế đến, nhập tham số cần thiết thuật tốn, giá trị 𝛼 𝛽 Sau đó, click Button SAC-DTRSM để chương trình tiến hành xử lý Kết chương trình hiển thị Group Box Result Process Of Algorithm, gồm số cụm ban đầu khởi tạo, số cụm cuối đối tượng cụm 4.6 KẾT QUẢ ĐẠT ĐƯỢC Bảng Kết phân cụm với số liệu Số ghi Data Data Data Data Iris Wine 15 10 18 150 178 Số thuộc tính 2 2 13 Số phân cụm 4 Độ xác 100% 100% 100% 100% 90.67% 67.42% Các tác giả 100% 100% 100% 100% 88% 65.6% Dựa vào bảng kết quả, thấy, số liệu cho kết phân cụm xác Tuy nhiên, chưa có thuật tốn để đánh giá chất lượng phân cụm đối tượng thuộc nhiều cụm, khác với thuật toán phân cụm cổ điển, đối tượng phân vào cụm Độ xác có thơng qua việc tính số đối tượng phân vào cụm tổng số đối tượng 4.7 ĐÁNH GIÁ VỀ CHƯƠNG TRÌNH Chương trình đáp ứng việc thực bước thuật toán phân cụm bán tự động dựa lý thuyết tập thô hai tác giả Hong Yu Dachun Yan Ưu điểm: Thực phân cụm xác, đáp ứng bước thuật toán phân cụm bán tự động dựa vào lý thuyết tập thô hai tác giả Hong Yu Dachun Yan Thuật toán phân cụm hai tác giả kế thừa thuật toán phân cụm K-O kết hợp với lý thuyết định Bayes Một ưu điểm thuật tốn việc chọn giá trị ngưỡng 𝑇ℎ𝑖 cách hồn tồn tự động mà khơng cần phải có tham số người dùng cung cấp tác giả Bean Kambhampati 48 Nhược điểm: Vì phải tìm giá trị 𝜓𝑚𝑎𝑥 nên liệu lớn ảnh hưởng đến thời gian thực thuật toán Hơn nữa, để phân cụm địi hỏi người dùng phải cung cấp tham số đầu vào Thực tế cho thấy, giá trị tham số khác với liệu cho kết phân cụm khác Việc chọn 𝛼 𝛽 phù hợp đòi hỏi nhiều kinh nghiệm từ người sử dụng Tuy nhiên, cách tiếp cận giúp dễ dàng hiểu rõ hai tham số tìm hiểu sâu lý thuyết định dựa vào lý thuyết tập thơ trình bày nghiên cứu tác giả Yiyu Yao 4.8 HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI Tìm hiểu sâu việc lựa chọn tham số đầu vào Phát triển thuật toán dựa SAC-DTRSM hai tác giả Hong Yu Dachun Yan Cải thiện tốc độ xử lý chương trình với liệu kích thước lớn Chương trình bày cho người đọc kết đạt qua trình cài đặt thực nghiệm Từ đó, đưa đánh giá chương trình bàn luận thêm ưu, nhược điểm thuật toán đề xuất hướng phát triển mở rộng sau 49 TỔNG KẾT Khi thực xong việc đó, người ta ln nhìn nhận lại đạt chưa đạt Đối với thân em, thực đồ án “Tìm hiểu thuật tốn phân cụm bán tự động dựa vào lý thuyết tập thô hai tác giả Hong Yu Dachun Yan” mang lại cho em kiến thức mẻ lý thuyết tập thô, lĩnh vực khám phá tri thức, khai phá liệu nói chung tốn phân cụm nói riêng, đặc biệt nắm thuật toán SAC-DTRSM, thứ mà em chẳng đụng đến không thực đồ án Thành công đồ án hiểu cài đặt thuật toán mà hai tác giả đề xuất Những đóng góp thân em sâu chi tiết vào bước thuật toán, làm rõ vấn đề mà tác giả khơng trình bày Qua đó, nhằm giúp cho quan tâm nắm bắt hiểu rõ thuật tốn Qua q trình thực hiện, ưu điểm mà em nhận thấy thuật tốn hai tác giả việc đề xuất phương pháp để lựa chọn giá trị ngưỡng nhằm giúp khởi tạo phân cụm ban đầu cách tự động Tuy nhiên, vấn đề cần phải giải khuyết điểm thuật tốn việc chọn 𝛼 𝛽 cịn phụ thuộc vào người dùng Các cặp giá trị có ảnh hưởng đến kết việc phân cụm Một hướng giải dựa vào ma trận độ tương tự đối tượng tính ban đầu để chọn 𝛼 𝛽 thử nhiều giá trị khác định giá trị mang lại kết phân cụm tốt Nhưng giải pháp tạm thời, hướng phát triển đề tài việc sâu tìm hiểu giá trị 𝛼 𝛽 Bên cạnh đó, hiệu chỉnh lại phân cụm, cụ thể, tính giá trị ma trận phân biệt xảy trường hợp có nhiều giá trị 𝜓 thỏa điều kiện 𝛼 𝛽, vấn đề không hai tác giả trình bày từ kiến thức tìm hiểu cài đặt thực tế, em đề xuất cách chọn để giải quyết, thể ví dụ 3.5 mục 3.4.4 Trên tất mà em có nhận thấy việc thực đồ án Vì thời gian kiến thức thân có hạn, khơng tránh khỏi thiếu sót chủ quan thân Nhưng sao, em hy vọng mang lại thêm chút thông tin cho quan tâm đến việc nghiên cứu giải toán phân cụm 50 TÀI LIỆU THAM KHẢO Tài liệu Tiếng Việt [1] Huỳnh Khánh Đức (2010), Tìm hiểu kỹ thuật phân cụm dựa vào lý thuyết tập thô, Đại học Nha Trang, Đồ án tốt nghiệp [2] Nguyễn Đức Thuần (2013), Nhập môn phát tri thức khai phá liệu, NXB Thông tin truyền thông Tài liệu Tiếng Anh [1] C L Bean and C Kambhampati (2004), Knowledge-Based Clustering: A SemiAutonomous Algorithm Using Local and Global Data Properties, IEEE International Joint Conference on Neural Networks, pp 95 – 100 [2] C L Bean and C Kambhampati (2008), Autonomous clustering Using Rough Set Theory, International Journal of Automation and Computin, pp 90 – 102 [3] Hong Yu and Dachun Yan (2010), A Semiautonomous Clustering Algorithm Based on Decision-theoretic Rough Set Theory, Proc 9th IEEE Int Conf on Cognitive Informatics, pp 477 – 483 [4] Shoji Hirano and Shusaku Tsumoto (2001), A Knowledge-Oriented Clustering Technique Based on Rough Sets, In Proceedings of 25th IEEE International Conference on Computer and Software Applications, pp 632 – 637 [5] Yiyu Yao (2007), Decision-Theoretic Rough Set Models, Lecture Notes in Computer Science, pp – 12 51 PHỤ LỤC 5.1 Bộ liệu Test Atr1 1 1 x1 x2 x3 x4 x5 Atr2 2 2 x6 x7 x8 x9 x10 8 8 9 9 x11 x12 x13 x14 x15 10 10 10 10 10 20 20 20 20 20 Mục đích liệu nhằm kiểm tra tính đắn chương trình Các liệu chọn rời rạc hồn tồn dễ nhận thấy phân cụm Với liệu có độ phức tạp hơn, lấy từ test tác giả để đối sánh 5.2 Bộ liệu Test Atr1 Atr2 x1 1.7 1.7 x6 3.1 5.2 x2 2.1 1.8 x7 3.3 4.7 x3 1.6 2.1 x8 7.7 4.6 x4 3.6 2.3 x9 7.8 5.2 x5 3.5 5.1 x10 8.2 4.7 Bảng Ma trận độ tương tự đối tượng Test x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x1 0.94 0.94 0.72 0.46 0.47 0.53 0.07 0.02 x2 0.94 0.92 0.78 0.5 0.5 0.56 0.13 0.07 0.06 x3 0.94 0.92 0.72 0.5 0.52 0.57 0.08 0.03 0.01 x4 0.72 0.78 0.72 0.61 0.59 0.66 0.34 0.29 0.28 x5 0.46 0.5 0.5 0.61 0.94 0.94 0.41 0.4 0.34 x6 0.47 0.5 0.52 0.59 0.94 0.92 0.35 0.34 0.28 x7 0.53 0.56 0.57 0.66 0.94 0.92 0.39 0.37 0.32 x8 0.07 0.13 0.08 0.34 0.41 0.35 0.39 0.92 0.93 x9 0.02 0.07 0.03 0.29 0.4 0.34 0.37 0.92 0.91 x10 0.06 0.01 0.28 0.34 0.28 0.32 0.93 0.91 52 Kết phân cụm: Hình Kết phân cụm với Test 5.3 Bộ liệu Test Atr1 Atr2 x1 0.05 0.13 x7 0.06 0.47 x13 0.47 0.57 x2 0.06 0.32 x8 0.68 0.80 x14 0.49 0.50 x3 0.11 0.21 x9 0.69 0.74 x15 0.76 0.83 x4 0.16 0.10 x10 0.40 0.54 x16 0.61 0.55 x5 0.19 0.25 x11 0.72 0.90 x17 0.84 0.80 x6 0.23 0.13 x12 0.74 0.74 x18 0.52 0.60 Kết phân cụm: Hình Kết phân cụm với Test 53 5.4 Bộ liệu Test x1 x2 x3 x4 x5 x6 Atr1 0.4 0.22 0.35 0.26 0.08 0.45 Atr2 0.53 0.38 0.32 0.19 0.41 0.3 5.5 Bộ liệu Iris Nguồn: https://archive.ics.uci.edu/ml/datasets/iris Hình Kết phân cụm với Iris 5.6 Bộ liệu Wine Nguồn: https://archive.ics.uci.edu/ml/datasets/wine Hình Kết phân cụm với Wine 54 ... toán phân cụm bán tự động hai tác giả Hong Yu Dachun Yan, thể chi tiết bước thuật toán 12 CHƯƠNG THUẬT TOÁN PHÂN CỤM BÁN TỰ ĐỘNG DỰA VÀO LÝ THUYẾT TẬP THÔ CỦA HAI TÁC GIẢ HONG YU VÀ DACHUN YAN 3.1... 11 2.5.3 Thuật toán phân cụm K-Center 12 CHƯƠNG 13 THUẬT TOÁN PHÂN CỤM BÁN TỰ ĐỘNG DỰA VÀO LÝ THUYẾT TẬP THÔ CỦA HAI TÁC GIẢ HONG YU VÀ DACHUN YAN ... để thuật tốn hiệu chỉnh nhằm đạt phân cụm cuối Mặc dù vậy, thuật toán đề xuất hai tác giả mở hướng việc giải toán phân cụm Đồ án ? ?Tìm hiểu thuật tốn phân cụm bán tự động dựa vào lý thuyết tập thô

Ngày đăng: 10/07/2020, 23:17

Từ khóa liên quan

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

Tài liệu liên quan