Một cải tiến thuật toán K-Means song song sử dụng phương pháp lấy mẫu

8 20 0
Một cải tiến thuật toán K-Means song song sử dụng phương pháp lấy mẫu

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

Thông tin tài liệu

Nghiên cứu này trình bày ý tưởng cải tiến thuật toán phân cụm dữ liệu PK-means, phân tích ưu và nhược điểm của thuật toán này, sau đó trình bày thuật toán cải tiến của chúng tôi SK-meansMR và thực nghiệm đánh giá chất lượng, tốc độ của thuật toán trên dữ liệu lớn.

196 KỶ YẾU HỘI THẢO KHOA HỌC QUỐC GIA CITA 2017 “CNTT VÀ ỨNG DỤNG TRONG CÁC LĨNH VỰC” Một cải tiến thuật toán K-Means song song sử dụng phương pháp lấy mẫu Trần Hoàng Việt1, Nguyễn Thị Tuyết1, Trần Thiên Thành1 Khoa Công nghệ thông tin, Đại học Quy Nhơn tranhoangviet92@gmail.com, nguyenthituyet@qnu.edu.vn,thanhtranthien@gmail.com Tóm tắt: Phân cụm liệu kỹ thuật ứng dụng nhiều lĩnh vực khác K-means thuật toán kinh điển phân cụm liệu Hiện tại, thời điểm bùng nổ liệu, K-means thuật tốn khác khơng đáp ứng yêu cầu tốc độ Việc cải tiến thuật toán để xử lý liệu lớn nhu cầu cấp thiết Trong nghiên cứu này, chúng tơi trình bày ý tưởng cải tiến thuật toán phân cụm liệu PK-means, phân tích ưu nhược điểm thuật tốn này, sau trình bày thuật tốn cải tiến SK-meansMR thực nghiệm đánh giá chất lượng, tốc độ thuật toán liệu lớn Keywords: K-means cải tiến, MapReduce, PK-means, SK-meansMR Mở đầu “Chúng ta tràn ngập thông tin lại khát tri thức”, nhận định John Naisbett’s thể nhu cầu lớn khai phá liệu Đặc biệt thời điểm bùng nổ thông tin, việc khai phá liệu lớn trở nên cấp thiết Các toán thường gắn liền với tập liệu lớn thuật toán truyền thống không đáp ứng yêu cầu thời gian Xử lý song song môi trường phân tán giải pháp để giải vấn đề Phân cụm liệu bước quan trọng khai phá liệu, ứng dụng nhiều lĩnh vực khác như: thiên văn học, tin sinh học, thương mại điện tử, phát lừa đảo, quảng cáo, quản lý quan hệ khách hàng, chăm sóc sức khỏe, viễn thơng, đầu tư Trong phân cụm liệu, thuật tốn K-means thuật tốn kinh điển khơng thể giải tập liệu lớn Để khắc phục số nhược điểm K-means xử lý liệu lớn, cải tiến thường sử dụng mơ hình lập trình MapReduce để tăng hiệu suất thuật toán Một thuật toán cải tiến tiếng K-means PK-means Weizhong Zhao [5] Ý tưởng thuật toán chia nhỏ liệu thực xác định cụm phần liệu Kế tiếp tổng hợp điểm cụm lại với thực tính toán lại tâm cụm, kiểm tra độ hội tụ, trình lặp lặp lại tương tự K-means cổ điển Tuy nhiên, trình chuẩn bị liệu, truyền nhận liệu hệ thống phân tán khoảng thời gian định Vì vậy, áp dụng mơ hình cần hạn chế việc gọi lại trình nhiều lần Đối với ý tưởng Weizhong Zhao, thuật toán cần lặp lặp lại trình phân tán xử lý song song làm cho thuật toán trở nên hiệu Để cải tiến thuật tốn PK-means, chúng tơi thực chọn số lượng mẫu định đại diện cho liệu Sau thực phân cụm tập mẫu để xác định k tâm cụm cuối Khi có k tâm cụm, chúng tơi xác định điểm cụm Đây Trần Hoàng Việt, Nguyễn Thị Tuyết, Trần Thiên Thành 197 kết phân cụm thuật toán Số lần thực MapReduce giải thuật luôn hai lần Như vậy, thuật toán này, rõ ràng giảm thời gian chuẩn bị, truyền nhận liệu so với thuật toán PK-means Để chứng minh hiệu thuật tốn mình, chúng tơi tiến hành thực nghiệm hai khía cạnh Một là, việc lấy mẫu có ảnh hưởng đến chất lượng phân cụm hay không Hai là, so sánh tốc độ với thuật toán K-means cổ điển Nghiên cứu gồm phần Sau phần mở đầu, chúng tơi trình bày kiến thức liên quan mơ hình lập trình MapReduce, thuật tốn K-means PK-means Phần ba trình bày cải tiến thuật toán K-means phương pháp lấy mẫu (SK-meansMR) Phần bốn kết thực nghiệm để chứng minh hiệu thuật toán SK-meansMR Cuối phần kết luận hướng nghiên cứu tương lai Kiến thức liên quan 2.1 Mơ hình lập trình song song MapReduce MapReduce mơ hình lập trình song song Google đề xuất để xử lý liệu lớn môi trường phân tán Theo [12] MapReduce gồm hai bước Map Reduce thực hoàn toàn độc lập, song song cặp liệu (key, value): Hàm Map Nhận liệu đầu vào (input) dạng (key1, value1), thực xử lý lọc (filter) phân loại (sort) liệu trả danh sách cặp liệu (key2, value2): map(key1,value1)  list(key2,value2) Hàm Reduce Hệ thống nhóm value theo key từ kết hàm Map, tạo thành tập cặp liệu với cấu trúc (key, tập value key) Hàm Reduce nhận cặp liệu này, thực xử lý cặp liệu trả kết cho người dùng: reduce(key2, list (value2))  list(value3) Hình Mơ hình lập trình MapReduce 2.2 Thuật toán K-means Thuật toán K-means [4] thuật toán quan trọng sử dụng phổ biến kỹ thuật phân cụm K-means chia tập D đối tượng thành k cụm cho kết tương đồng 198 KỶ YẾU HỘI THẢO KHOA HỌC QUỐC GIA CITA 2017 “CNTT VÀ ỨNG DỤNG TRONG CÁC LĨNH VỰC” cụm tương đối cao, ngược lại tương đồng thấp cụm khác Ý tưởng thuật toán: Bước 1: Thuật toán xác định k tâm ngẫu nhiên Bước 2: Thuật tốn lặp lại q trình: - Xác định cụm cho điểm; - Xác định tâm cụm mới; - Nếu đạt ngưỡng hội tụ tâm cụm cũ qua số lần lặp định kết thúc thuật tốn Nhược điểm K-means lặp lại việc tính khoảng cách để xác định cụm cho điểm lặp lặp lại Trong lần lặp, tổng số phép tính khoảng cách phải thực D*k D số đối tượng, k số lượng cụm Với liệu lớn, đòi hỏi cần cải tiến để đáp ứng yêu cầu thời gian 2.3 Thuật toán K-means cải tiến Weizhong Zhao (PK-means) Để phân cụm liệu lớn, Weizhong Zhao đề xuất cải tiến theo hướng xử lý song song [5] Theo ý tưởng Weizhong Zhao liệu sau chia nhỏ phân tán, thực song song việc xác định cụm cho điểm Nhờ mơ hình MapReduce, điểm cụm liệu phân tán nhóm chung lại với để thực việc tính tốn lại tâm kiểm tra độ hội tụ Thuật tốn tiến hành lặp q trình xác định cụm tính tốn tâm tương tự K-means cổ điển Hình thể trình thực MapReduce ý tưởng Weizhong Zhao Hình Thuật tốn PK-means Hàm Map: Đối với hàm Map, PK-means xây dựng mảng chứa thông tin tâm cụm Với mảng này, hàm Map tính tâm gần cho đối tượng Kết trả hàm Map cặp: Hàm Combine: Được xây dựng để kết hợp liệu trung gian Map Khi kết trả lưu trữ nhớ cục máy thực hàm Map, hệ thống thực hàm Combine tổng hợp điểm gán cho cụm lại với nhau, tính tọa độ trung bình cho cụm ghi lại số lượng mẫu cụm nhằm thu gọn kết quả, giảm chi phí truyền thơng đến Reduce Trần Hồng Việt, Nguyễn Thị Tuyết, Trần Thiên Thành 199 Hàm Reduce: Đầu vào số liệu thu từ hàm Combine máy Như mô tả hàm Combine, liệu bao gồm tổng số mẫu có cụm số lượng mẫu cụm Hàm Reduce tổng hợp tất mẫu, tính tốn xác định tâm để sử dụng cho lần lặp Về lý thuyết, việc xử lý song song liệu chia nhỏ tăng tốc độ thuật toán Tuy nhiên, thực tế, thuật toán lại tồn nhược điểm mơ hình MapReduce thời gian chuẩn bị liệu, khởi chạy truyền tải máy tính hệ thống Thuật tốn Weizhong Zhao lại lặp lặp lại việc sử dụng MapReduce làm thời gian thực tế tăng lên lớn Trong thực nghiệm chúng tơi R, chí cịn chậm K-means cổ điển Thuật tốn K-means cải tiến phương pháp lấy mẫu (SK-meansMR) Ý tưởng PK-means vừa thực việc lặp lặp lại trình xử lý song song để xác định tâm cụm vừa lưu trữ liên tục tâm để xác định độ hội tụ dẫn đến thời gian thực thuật toán tăng lên lớn Để loại bỏ phụ thuộc lặp trình xử lý song song thuật tốn, chúng tơi sử dụng phương pháp lấy mẫu nhằm xác định tập đại diện cho tập liệu lớn Sau sử dụng thuật tốn phân cụm cổ điển tập để xác định k tâm cuối [8] Quá trình thực phân cụm qua Job MapReduce thể hình Hình Quá trình thực phân cụm thuật toán SK-meansMR Thuật toán: Xác định k tâm sử dụng phương pháp lấy mẫu Input : tập liệu D, k Output : k tâm cụm Map(k1, v1){ Xử lý liệu đầu vào; Chuyển đổi liệu sang kiểu số thực; Output(1, K-means(v1, 2*k)) } Reduce(k2, v2) Output(K-means(v2, k)) 200 KỶ YẾU HỘI THẢO KHOA HỌC QUỐC GIA CITA 2017 “CNTT VÀ ỨNG DỤNG TRONG CÁC LĨNH VỰC” Hình Sơ đồ thể thuật toán xác định tâm SK-meansMR Trong thuật tốn trên, chúng tơi thực việc lấy mẫu tập liệu phân tán Việc thực lấy mẫu dựa phương pháp xác định tâm cụm với số lượng tâm cho số lượng tâm đại diện cho tập liệu tổng số tâm không vượt khả xử lý node Giả sử, với n hàm Map xử lý song song k' tâm điểm đại diện cho tập liệu đầu vào hàm Map Tập đại diện có kích thước n*k' phần tử, phải đảm bảo không vượt khả xử lý Node Chúng chọn số lượng mẫu 2*k tâm thực nghiệm Hàm Reduce nhận kết từ hàm Map, thực thuật toán K-means để xác định k tâm Kết thực nghiệm Chúng tơi thực nghiệm thuật tốn máy tính Core Duo E8400 3.00GHz, hệ điều hành Ubuntu 14.04, Hadoop 2.7.3, R 3.3.3 gồm MasterNode NameNode Bộ liệu thực nghiệm gồm có KddCup (1999) 42 thuộc tính, 2.155.000 điểm, kích thước 197,6 MB; Individual Household Electric Power Consumption (House) 14 thuộc tính, 4.098.559 điểm, kích thước 226,5 MB Các liệu tải UCI Machine Learning Repository http://archive.ics.uci.edu/ml/index.php 4.1 Đánh giá chất lượng Việc đánh giá chất lượng phân cụm khó khăn Theo [6] [7], có loại độ đo chất lượng phân cụm: đánh giá (internal evaluation), đánh giá (external evaluation), đánh giá quan hệ (relative evalution) Để so sánh chất lượng phân cụm hai thuật tốn, chúng tơi sử dụng số Davies-Bouldin (DBI) kỹ thuật đánh giá Trần Hoàng Việt, Nguyễn Thị Tuyết, Trần Thiên Thành 201 Theo [13] số Davies-Bouldin (DBI) (được David L Davies Donald W Bouldin đưa vào năm 1979) xác nhận tính hợp lệ việc phân cụm thực cách sử dụng số liệu đặc tính vốn có liệu Chỉ số Davies-Bouldin tính theo cơng thức: DB  i  j n M axi  j ( )  i 1 n d (ci , c j ) Trong đó: + n số cụm; + cx trọng tâm cụm x; + σx trung bình khoảng cách tất phần tử cụm x tới trọng tâm cx; + d(ci,cj) khoảng cách hai trọng tâm cụm i j Giá trị DBI nhỏ chất lượng phân cụm tốt Bộ liệu KddCup(1999) 42 thuộc tính, 2.155.000 điểm: Bảng Chỉ số DB K-means SKmeansMR liệu KddCup K K-means SK-meansMR 1,578 1,829 0,813 2,069 0,741 0,239 0,231 0,263 0,268 0,431 Hình Biểu đồ chất lượng phân cụm K-means SK-meansMR DL KddCup Bộ liệu House 14 thuộc tính, 4.098.559 điểm: Bảng Chỉ số DB K-means SK-meansMR liệu House K 10 11 12 13 14 K-means 1,514 1,252 1,552 1,562 1,438 SK-meansMR 1,091 1,157 1,225 1,279 1,373 Hình Biểu đồ chất lượng phân cụm K-means SK-meansMR DL House Qua thực nghiệm, thấy số DBI thuật toán SK-meansMR thấp K-means cổ điển Chứng tỏ thuật tốn cải tiến SK-meansMR có chất lượng phân cụm tốt K-means Với số lượng cụm định, số DBI K-means thay đổi lớn Điều chứng minh việc chọn tâm ảnh hưởng đến chất lượng cụm Ngược lại, so với K-means, thuật tốn SK-meansMR có chất lượng phân cụm tốt thay đổi Qua hai liệu thực nghiệm thấy số lượng điểm lớn ảnh hưởng đến chất lượng phân cụm thuật toán SK-meansMR 202 KỶ YẾU HỘI THẢO KHOA HỌC QUỐC GIA CITA 2017 “CNTT VÀ ỨNG DỤNG TRONG CÁC LĨNH VỰC” 4.2 Đánh giá tốc độ Để đánh giá hiệu thuật tốn, chúng tơi tiến hành thực nghiệm so sánh thuật toán SK-meansMR với thuật toán K-means cổ điển hai liệu: KddCup House Đối với thuật toán SK-meansMR, thực nghiệm với số lượng mẫu đại diện cho tập liệu 2*k tâm Bộ liệu KddCup(1999) 42 thuộc tính, 2.155.000 điểm: Bảng Thời gian chạy K-means SK-meansMR liệu KddCup K K-means 119,76 122,06 146,18 155,37 190,33 SK-meansMR 56,44 56,50 56,50 57,59 58,30 Hình Biểu đồ tốc độ K-means SK-meansMR liệu KddCup Bộ liệu House 14 thuộc tính, 4.098.559 điểm: Bảng Thời gian chạy (s) K-means SK-meansMR liệu House K 10 11 12 13 14 K-means 65,07 67,91 68,56 74,93 81,28 SK-meansMR 56,82 57,73 58,84 58,09 59,40 Hình Biểu đồ tốc độ K-means SK-meansMR liệu House Qua thực nghiệm, thấy thời gian thực thuật toán SK-meansMR giảm đáng kể so với thời gian thực thuật toán K-means cổ điển Với số lượng tâm cụm k = 10, k = 11 House k = 5, k = KddCup, thời gian thực thuật toán K-means tăng không đáng kể Tuy nhiên, với số lượng tâm cụm lớn hơn, thời gian thực thuật toán K-means bắt đầu tăng nhanh Ngược lại, thuật toán SK-meansMR cho kết tăng mặt thời gian thay đổi số lượng cụm hai liệu Kết luận hướng nghiên cứu tương lai Trong nghiên cứu trình bày thuật tốn SK-meansMR, thực nghiệm đánh giá để chứng minh chất lượng phân cụm tốc độ thuật toán cải tiến tốt K-means cổ điển Bài toán phân cụm liệu ứng dụng nhiều thực tế Trong thời gian đến, tiếp tục nghiên cứu ứng dụng toán phân cụm liệu điểm sinh viên thực nghiệm liệu điểm trường Đại học Quy Nhơn Sau mơ hình hóa kết thực nghiệm phân tích cụm liệu để đưa tư vấn phù hợp cho sinh viên đồng thời tiếp tục cập nhật phân cụm liệu khóa để chứng minh tính đắn phân tích tư vấn Trần Hồng Việt, Nguyễn Thị Tuyết, Trần Thiên Thành 203 Tài liệu tham khảo George Karypis, Eui-Hong (Sam) Han, and Vipin Kumar “Multilevel Refinement for Hierarchical Clustering” 1999 Graham J Williams, Simeon J Simoff, “Data Mining: Theory, Methodology, Techniques, and Applications”, Springer-Verlag, 2006 Huang, Z., “Clustering Large Data Sets with Mixed Numeric and Categorical Values, In Proceedings of The First Pacific-Asia Conference on Knowledge Discovery and Data Mining”, Singapore, World Scientific, 1997 J A Hartigan and M A Wong, “A K-means clustering algorithm”, Applied Statistics, Vol 28, pp 100-108, 1979 Weizhong Zhao, Huifang Ma, and Qing He, “Parallel K-Means Clustering Based on MapReduce”, 2009 Darius Pfitzner, Richard Leibbrandt, David M W Powers (2009): “Characterization and evaluation of similarity measures for pairs of clusterings” Knowl Inf Syst 361-394 Maria Halkidi, Yannis Batistakis, Michalis Vazirgiannis: “On Clustering Validation Techniques” J Intell Inf Syst 17(2-3): 107-145, 2001 Trần Thiên Thành, Nguyễn Thị Tuyết, Hồ Văn Lâm, Trần Hoàng Việt, “Cài đặt thuật toán K-means cải tiến phương pháp lấy mẫu áp dụng mơ hình lập trình MapReduce công cụ R”, báo đăng Kỷ yếu “Hội thảo Một số vấn đề chọn lọc Công nghệ thông tin Truyền thông” lần thứ 20, 11/2017 Oyelade O J, Oladipupo O O, Obagbuwa I C, “Application of k-Means Clustering algorithm for prediction of Students’ Academic Performance”, (IJCSIS) International Journal of Computer Science and Information Security, Vol 7, No 1, 2010 10 Md.H.I.Shovon, M Haque, “An Approach of Improving Student’s Academic Performance by using K-means clustering algorithm and Decision tree”, (IJACSA) International Journal of Advanced Computer Science and Applications, Vol.3, No 8, 2012 11 Byoungwook Kim, JaMee Kim, Gangman Yi, “Analysis of Clustering Evaluation Considering Features of Item Response Data Using Data Mining Technique for Setting Cut-Off Scores”, Symmetry 2017, 9, 62 12 Tom White, Hadoop, The Definitive Guide, 4th Edition, O’Reilly Media, Inc, 2015 13 Wikipedia, “Cluster analysis”, Website: https://en.wikipedia.org/wiki/Cluster_analysis ... trình MapReduce, thuật tốn K-means PK-means Phần ba trình bày cải tiến thuật toán K-means phương pháp lấy mẫu (SK-meansMR) Phần bốn kết thực nghiệm để chứng minh hiệu thuật toán SK-meansMR Cuối... gian thực thuật toán tăng lên lớn Để loại bỏ phụ thuộc lặp trình xử lý song song thuật tốn, chúng tơi sử dụng phương pháp lấy mẫu nhằm xác định tập đại diện cho tập liệu lớn Sau sử dụng thuật tốn... nghiệm chúng tơi R, chí cịn chậm K-means cổ điển Thuật tốn K-means cải tiến phương pháp lấy mẫu (SK-meansMR) Ý tưởng PK-means vừa thực việc lặp lặp lại trình xử lý song song để xác định tâm cụm vừa

Ngày đăng: 17/12/2021, 09:03

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

Tài liệu liên quan