Giải thuật phân cụm dựa trên giải thuật di truyền

Một phần của tài liệu LUẬN VĂN THẠC SĨ CÁC KỸ THUẬT PHÂN CỤM TRONG KHAI PHÁ DỮ LIỆU SỬ DỤNG TÍNH TOÁN TIẾN HÓA (Trang 41 - 50)

Thuật toán Phân cụm dựa trên giải thuật di truyền: (Một số thuật toán này sẽ được đề cập chi tiết ở chương kế tiếp).

Tóm lại, các kỹ thuật PCDL trình bày ở trên đã được sử dụng rộng rãi trong thực tế, thế nhưng hầu hết chúng chỉ nhằm áp dụng cho tập dữ liệu với cùng một kiểu thuộc tính. Vì vậy, việc PCDL trên tập dữ liệu có kiểu hỗn hợp là một vấn đề đặt ra trong KPDL ở giai đoạn hiện nay.

CHƯƠNG 3 GIẢI THUẬT PHÂN CỤM DỰA TRÊN LAI GHÉP GIẢI THUẬT DI TRUYỀN VÀ KMEANS

CHƯƠNG 4 CÀI ĐẶT VÀ THỬ NGHIỆM 4.1. Chuẩn bị dữ liệu

Chương trình thực hiện Demo trên hai bộ dữ liệu: Bộ dữ liệu tự sinh và bộ dữ liệu Northwind đã có sẵn trong SQLServer 2005. Chương trình thực nghiệm với dữ liệu có kiểu dữ liệu số.

- Bộ dữ liệu tự sinh: Dữ liệu trong các trường là dạng số bất kỳ như bảng 4.1:

Bảng 4.1: Bộ dữ liệu tự sinh có 3 trường dữ liệu

- Bộ dữ liệu Northwind trong SQLServer: Sử dụng bảng Order Details, bảng này có 2155 bản ghi về chi tiết đơn hàng.

4.2. Kết quả và phân tích

4.2.1. Thí nghiệm với giải thuật Kmeans

- Khi chạy thuật toán với số cụm bằng 2:

Bảng 4.3: Thuật toán Kmeans với số cụm bằng 2

- Khi chạy thuật toán với số cụm bằng 3:

Bảng 4.4: Thuật toán Kmeans với số cụm bằng 3

- Khi chạy thuật toán với số cụm bằng 6:

Bảng 4.5: Thuật toán Kmeans với số cụm bằng 6

- Tương tự như vậy, thí nghiệm với bộ dữ liệu Order Details của Northwind. Sau khi chạy thuật toán với các số cụm khác nhau, ta thấy số cụm luôn được tạo ra theo đúng số lượng cụm ban đầu. Khi chạy thuật toán với cùng số lượng cụm

muốn tạo thì thu được kết quả khác kết quả đã có. Như vậy các cụm được tạo ra không cố định.

4.2.2. Thí nghiệm với giải thuật Kmeans có sử dụng giải thuật di truyền

- Khi chạy thuật toán với số cụm bằng 2:

Bảng 4.6: Thuật toán Genetic Kmeans với số cụm bằng 2

- Chạy lại thuật toán với số cụm bằng 2:

Bảng 4.7: Chạy lại thuật toán Genetic Kmeans với số cụm bằng 2

- Khi chạy thuật toán với số cụm bằng 3:

- Chạy lại thuật toán với số cụm bằng 3:

Bảng 4.9: Chạy lại thuật toán Genetic Kmeans với số cụm bằng 3

- Tương tự như vậy, thí nghiệm với bộ dữ liệu Order Details của Northwind. Sau khi chạy thuật toán Genetic Kmeans với các số cụm khác nhau, ta thấy số cụm được tạo ra không theo đúng số lượng cụm ban đầu. Khi chạy thuật toán với cùng số lượng cụm muốn tạo thì thu được kết quả khác kết quả đã có. Các cụm được tạo ra không đúng như số lượng cụm ban đầu muốn tạo.

Để giải thích cho kết quả trên, ta theo ví dụ sau:

Ví dụ: Cho các điểm P1(3,5), P2(2,6), 3(4,9), P4(5,7), P5(3,8), P6(7,3)

Tạo 1 quần thể gồm 4 cá thể với số cụm là 2 Cá thể 1: [P2,P6]

Cá thể 2: [P1,P4] Cá thể 3: [P3,P5] Cá thể 4: [P1,P2] (adsbygoogle = window.adsbygoogle || []).push({});

Sau các bước lai ghép, đột biến, di truyền và qua các thế hệ, cá thể được chọn ra là [P2’,P6’] vì có độ thích nghi lớn nhất. Theo thuật toán Kmeans, tách nhiễm sắc thể này thành 2 cụm dựa vào 2 trọng tâm cụm là P2’ và P6’. Giả sử trong quá trình tính toán, khoảng cách từ P2’ đến các đối tượng luôn nhỏ hơn khoảng cách từ P6’ đến các đối tượng thì kết quả thu được một cụm duy nhất và cụm này có trọng tâm cụm là P2’.

Tóm lại, sau khi thực nghiệm thuật toán Kmeans và Genetic Kmeans. Kết quả của Kmeans luôn có số cụm đúng như số cụm ban đầu muốn tạo ra nhưng kết quả này không phải là kết quả hoàn toàn chính xác, nó mang tính chất tối ưu cục bộ. Kết quả của Genetic Kmeans không hoàn toàn trả ra số cụm đúng như số cụm ban đầu muốn tạo, nó thể hiện kết quả mang tính chất tối ưu hơn.

KẾT LUẬN A. Những nội dung chính của luận văn Trong chương 1:

♦ Giới thiệu các khái niệm cơ sở lý thuyết của khai phá dữ liệu, khai phá tri thức.

♦ Giới thiệu các khái niệm về giải thuật di truyền và lập trình tiến hóa.

♦ Trình bày sơ lược về giải thuật di truyền và giải thuật tiến hóa vi phân: Các quá trình cơ bản của thuật toán di truyền, các tham số của thuật toán di truyền, lưu đồ thuật toán.

Trong chương 2:

♦ Tìm hiểu về lý thuyết phân cụm dữ liệu: khái niệm, mục tiêu phân cụm dữ liệu, các ứng dụng và các yêu cầu của phân cụm dữ liệu.

♦ Tìm hiểu về những kỹ thuật tiếp cận trong phân cụm dữ liệu.

♦ Tìm hiểu về một số thuật toán cơ bản trong phân cụm dữ liệu.

Trong chương 3:

♦ Tìm hiểu một giải thuật chung cho viêc kết hợp giải thuật phân cụm sử dụng giải thuật di truyền.

♦ So sánh một giải thuật phân cụm cụ thể là Kmeans và giải thuật phân cụm Kmeans có sử dụng giải thuật di truyền.

Trong chương 4:

♦ Xây dựng một chương trình chạy thử nghiệm để kiểm tra giải thuật phân cụm Kmeans và giải thuật phân cụm Kmeans sử dụng giải thuật di truyền.

♦ Tiến hành chạy thử nghiệm trên 2 bộ dữ liệu kiểu số. Trong đó 1 bộ dữ liệu tự sinh và 1 bộ dữ liệu trong CSDL Northwind của SQL Server 2005.

B. Các kết quả đạt được

 Sau một thời gian thực hiện đề tài với sự nỗ lực, cố gắng của bản thân cùng với sự hướng dẫn nhiệt tình của thầy giáo TS. Bùi Thu Lâm, luận văn đã thu được một số kết quả chính như sau:

 Trình bày khái niệm cơ sở lý thuyết của khai phá dữ liệu, khai phá tri thức, tính toán tiến hóa.

 Tìm hiểu một số kỹ thuật tiếp cận và một số thuật toán trong phân cụm dữ liệu

 Giới thiệu giải thuật chung cho thuật toán phân cụm sử dụng giải thuật di truyền và thực hiện cài đặt thử nghiệm giải thuật phân cụm Kmeans và giải thuật Kmeans sử dụng giải thuật di truyên.

C. Hướng nghiên cứu tiếp theo

Trên cơ sở các kết quả đã đạt được, có thể tiếp tục nghiên cứu một số vấn đề như sau:

 Tiếp tục nghiên cứu một số giải thuật phân cụm sử dụng giải thuật di truyền và giải thuật tiến hóa vi phân.

 Xây dựng tiếp chương trình chạy thử nghiệm các giải thuật phân cụm và các giải thuật phân cụm có sử dụng tính toán tiến hóa.

Mặc dù đã rất cố gắng nhưng do thời gian và hiểu biết về lĩnh vực khai phá dữ liệu còn hạn chế nên luận văn chắc sẽ không tránh khỏi những khiếm khuyết nhất định. Trong tương lai, em sẽ cố gắng để khắc phục những hạn chế, tiếp tục nghiên cứu những vấn đề đã nêu ở trên. Rất mong nhận được ý kiến đóng góp của quý thầy cô và các độc giả để luận văn ngày càng hoàn thiện.

TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt

[1] Nguyễn Đình Thúc (2000), Trí tuệ nhân tạo - Lập trình tiến hóa, NXB Giáo dục

[2] Cao Chính Nghĩa, Một số vấn đề về phân cụm dữ liệu, Luận văn thạc sĩ, Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội, 2006

[3] Hoàng Hải Xanh, Về các kỹ thuật phân cụm dữ liệu trong Data mining, Luận văn thạc sĩ, ĐH Quốc gia Hà Nội, 2005 (adsbygoogle = window.adsbygoogle || []).push({});

Tài liệu tiếng Anh

[4] Rui Xu, Survey of Clustering Algorithms, IEEE transactions on neural networks, vol. 16, no. 3, may 2005

[5] Eduardo R. Hruschka, Ricardo J. G. B. Campello, Alex A. Freita, André C. P. L. F. de Carvalho, A Survey of Evolutionary Algorithms for Clustering, To appear in IEEE Transactions on Systems, Man, and Cybernetics - Part C: Applications and Reviews

[6] David A.Coley, an introduction to genetic algorithms for scientists and enginer, Copyright Q 1999 by World Scientific Publishing Co. Pte. Ltd. [7] Ujjwal Maulik, Sanghamitra Bandyopadhyay, Genetic algorithm-based

clustering technique, Pattern Recognition 33 (2000) 1455-1465

[8] Rajashree Dash and Rasmita Dash, comparative analysis of k-means and genetic algorithm based data clustering, International Journal of Advanced Computer and Mathematical Sciences, ISSN 2230-9624. Vol 3, Issue 2, 2012, pp 257-265

[9] Bashar Al-Shboul, and Sung-Hyon Myaeng, Initializing K-Means using Genetic Algorithms, World Academy of Science, Engineering and Technology 54 2009

[10] K. Krishna and M. Narasimha Murty, Genetic K-Means Algorithm, IEEE transactions on systems, man, and cybernetics—part b: cybernetics, vol. 29, no. 3, june 1999

[11] Kenneth Price, Rainer Storn, Jouni Lampinen, Differiential Evolution A Practical Approach to Global Optimization, Springer, Verlag, 2005

[13] S. Anitha Elavarasi, Dr. J. Akilandeswari, Dr. B. Sathiyabhama, a survey on partition clustering algorithms, International Journal of Enterprise Computing and Business Systems - http://www.ijecbs.com - Vol. 1 Issue 1 January 2011

[14] Sai Hanuman, Dr Vinaya Babu, Dr Govardhan, Dr S C Satapathy, Data Clustering Using Almost Parameter Free Differential Evolution Technique, International Journal of Computer Applications (0975 – 8887) Volume 8– No.13, October 2010

[15] G Sudhakar, Polinati Vinod Babu, Suresh Chandra Satapathy, Gunanidhi Pradhan, Effective Image Clustering with Differential Evolution Technique, Int. J. of Computer and Communication Technology, Vol. 2, No. 1, 2010 [16] David Goldberg, Genetic Algorithms in Search, Optimization, and Machine

Learning, Addison-Wesley, 1989

[17] Darrell Whitley, “Genetic Algorithm Tutorial” – on the web at

Một phần của tài liệu LUẬN VĂN THẠC SĨ CÁC KỸ THUẬT PHÂN CỤM TRONG KHAI PHÁ DỮ LIỆU SỬ DỤNG TÍNH TOÁN TIẾN HÓA (Trang 41 - 50)