ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ NHƯ NA VỀ TÍNH HIỆU QUẢ CỦA CÁC THUẬT TOÁN TỐI ƯU TIẾN HÓA CHO PHÂN CỤM MỜ VÀ ỨNG DỤNG TRONG PHÂN TÍCH NHU CẦU KHÁCH HÀNG LU
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN THỊ NHƯ NA
VỀ TÍNH HIỆU QUẢ CỦA CÁC THUẬT TOÁN TỐI ƯU TIẾN HÓA CHO PHÂN CỤM MỜ VÀ ỨNG DỤNG TRONG PHÂN TÍCH NHU CẦU KHÁCH HÀNG
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội – 2015
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN THỊ NHƯ NA
VỀ TÍNH HIỆU QUẢ CỦA CÁC THUẬT TOÁN TỐI ƯU TIẾN HÓA CHO PHÂN CỤM MỜ VÀ ỨNG DỤNG TRONG PHÂN TÍCH NHU CẦU KHÁCH HÀNG
Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin
Mã số: 60.48.01.04
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Lê Hoàng Sơn
Hà Nội – 2015
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu độc lập của riêng tôi, không sao chép ở bất kỳ một công trình hoặc một luận văn, luận án của các tác giả khác Các số liệu, kết quả nêu trong luận văn này là trung thực và chưa được công bố trong bất kỳ công trình nào khác Các trích dẫn, các số liệu và kết quả tham khảo dùng để so sánh đều có nguồn trích dẫn rõ ràng
Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của mình
Hà Nội, tháng 5 năm 2015
Tác giả luận văn
Nguyễn Thị Như Na
Trang 4LỜI CẢM ƠN
Để hoàn thành tốt luận văn này, đầu tiên em xin bày tỏ lòng biết ơn chân thành
và sâu sắc đến Tiến sĩ Lê Hoàng Sơn, người đã tận tình và trực tiếp hướng dẫn em trong suốt quá trình triển khai và nghiên cứu đề tài, tạo điều kiện để em hoàn thành luận văn này
Thứ hai, em xin bày tỏ lòng biết ơn chân thành tới toàn thể các thầy cô giáo trong khoa Công nghệ thông tin, trường Đại học Công nghệ Hà Nội, Đại học Quốc gia Hà Nội đã dạy bảo tận tình em trong suốt quá trình em học tập tại khoa
Thứ ba, em xin được gửi lời cảm ơn tới các thầy cô, các anh chị và các bạn trong Trung tâm Tính toán Hiệu năng cao, trường Đại học Khoa học tự nhiên đã giúp đỡ em trong suốt thời gian làm luận văn này
Cuối cùng em xin chân thành cảm ơn tới gia đình, bạn bè, đồng nghiệp đã luôn bên em cổ vũ, động viên, giúp đỡ em trong suốt quá trình học tập và thực hiện luận văn Luận văn này được thực hiện dưới sự tài trợ của đề tài NAFOSTED, mã số: 102.05-2014.01
Mặc dù đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho phép nhưng chắc chắn sẽ không tránh khỏi những thiếu sót Em rất mong được sự góp ý chân thành của thầy cô và các bạn để em hoàn thiện luận văn của mình
Xin chân thành cảm ơn!
Hà Nội, ngày 5 tháng 5 năm 2015
Học viên
Nguyễn Thị Như Na
Trang 5MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH SÁCH HÌNH VẼ vi
DANH SÁCH BẢNG vi
DANH MỤC CÁC KÝ HIỆU VIẾT TẮT vii
1/ ĐẶT VẤN ĐỀ 1
2/ MỤC ĐÍCH CỦA LUẬN VĂN 2
3/ BỐ CỤC CỦA LUẬN VĂN 3
CHƯƠNG 1: TỔNG QUAN VỀ PHÂN CỤM MỜ 5
1.1 Tập mờ 5
1.1.1 Lý thuyết mờ 5
1.1.2 Tập mờ 5
1.2 Giới thiệu về phân cụm mờ 8
1.2.1 Khái quát phân cụm 8
1.2.2 Độ đo gần gũi 10
1.2.3 Các bước phân cụm 12
1.2.4 Phân cụm mờ 13
1.3 Thuật toán Fuzzy C – Means (FCM) 15
1.3.1 Thuật toán Fuzzy C - Means 16
1.3.2 Cài đặt chương trình 18
1.4 Kết luận chương 24
Trang 6CHƯƠNG 2: CÁC THUẬT TOÁN TỐI ƯU TIẾN HÓA CHO PHÂN CỤM
MỜ 25
2.1 Tính toán tiến hóa 25
2.2 Các dạng của thuật toán tiến hóa 27
2.2.1 Thuật toán lập trình tiến hóa 28
2.2.2 Chiến lược tiến hóa 29
2.2.3 Thuật toán di truyền 29
2.2.4 Lập trình di truyền 31
2.2.5 Tiến hóa vi phân 32
2.2.6 Thuật toán văn hóa 32
2.3 Một số thuật toán cụ thể 33
2.3.1.Tìm kiếm cục bộ 33
2.3.2 Thuật toán tìm kiếm Tabu 37
2.3.3 Tìm kiếm lân cận biến đổi (VNS) 40
2.3.4 Tối ưu bầy đàn PSO 42
2.4 Áp dụng thuật toán tối ưu tiến hóa cho phân cụm mờ 46
2.4.1 Thuật toán Fuzzy J – Means heuristic (FJM) 46
2.4.2 Thuật toán VNS 54
2.4.3 Thuật toán tối ưu bầy đàn cho phân cụm mờ (FPSO) 56
Cài đặt chương trình 58
2.5 Kết luận chương 61
CHƯƠNG 3: SO SÁNH HIỆU NĂNG THUẬT TOÁN TỐI ƯU TIẾN HÓA 62 3.1 Thiết lập môi trường thực nghiệm 62
Trang 73.1.1 Dữ liệu 62
3.1.2 Cấu hình cài đặt 62
3.1.3 Kết quả thực nghiệm 63
3.1.4 So sánh hiệu năng thuật toán 65
3.2 Ứng dụng 66
3.2.1 Bài toán 66
3.2.2 Dữ liệu 66
3.2.3 Kết quả chạy thực nghiệm bài toán 68
3.3 Kết luận chương 75
KẾT LUẬN 76
TÀI LIỆU THAM KHẢO 78
Trang 8Hình 3.1 Minh họa dữ liệu đầu vào thử nghiệm lưu trên tệp excel
Hình 3 2 Tóm tắt trường dữ liệu đầu vào
Hình 3 3 Tóm tắt trường dữ liệu đầu vào
Hình 3 4 Tóm tắt trường dữ liệu đầu vào
Hình 3.5 Minh họa dữ liệu đầu vào cho bài toán ứng dụng lưu trên tệp exel Hình 3.6 Ma trận mờ thuộc
DANH SÁCH BẢNG Bảng 3.1: Kêt quả thực nghiệm trường hợp 1
Bảng 3.2: Kêt quả thực nghiệm trường hợp 2
Bảng 3.3: Kêt quả thực nghiệm trường hợp 3
Bảng 3.4: Kêt quả thực nghiệm trường hợp 4
Trang 9Bảng 3.5: Bệnh viện thuộc cụm 1
Bảng 3.6: Bệnh viện thuộc cụm 2
Bảng 3.7: Bệnh viện thuộc cụm 3
Bảng 3.8: Không gian tham chiếu của các thuộc tính
DANH MỤC CÁC KÝ HIỆU VIẾT TẮT
viết tắt
Từ Tiếng Anh
search
Trang 10Optimization
Trang 11MỞ ĐẦU 1/ ĐẶT VẤN ĐỀ
Trong những năm gần đây, công nghệ thông tin đã có những chuyển biến mạnh mẽ, tác động lớn đến sự phát triển của xã hội Sự bùng nổ thông tin đã đem đến lượng dữ liệu khổng lồ Chúng ta càng có nhu cầu khám phá kho dữ liệu đó phục vụ cho nhu cầu con người, điều đó đòi hỏi con người phải biết khai thác dữ liệu và xử lý thông tin đó thành tri thức có ích
Một trong những kỹ thuật quan trọng trong quá trình khai phá dữ liệu và xử
lý dữ liệu lớn là kỹ thuật phân cụm dữ liệu Phân cụm đặc biệt hiệu quả khi ta không biết về thông tin của các cụm, hoặc khi ta quan tâm tới những thuộc tính của cụm mà chưa biết hoặc biết rất ít về những thông tin đó Phân cụm được coi như một công cụ độc lập để xem xét phân bố dữ liệu, làm bước tiền xử lý cho các thuật toán khác Việc phân cụm dữ liệu có rất nhiều ứng dụng như trong lập quy hoạch
đô thị, nghiên cứu trái đất, địa lý, khai phá Web v.v
Ngày nay, cùng với kỹ thuật phân cụm kết hợp với lý thuyết mờ của Zadeh phương pháp phân cụm mờ đã và đang phát triển và được ứng dụng rộng rãi trong thực thực tiễn, ví dụ như phân tích nhu cầu khách hàng, phân đoạn ảnh, nhận dạng mặt người, nhận dạng cử chỉ và điệu bộ, phân tích rủi ro, dự báo nguy cơ phá sản cho ngân hàng và nhiều bài toán khác Những vấn đề chính được quan tâm nhiều trong phân cụm nói chung và phân mờ nói riêng là nâng cao chất lượng phân cụm, tính toán thông qua một số độ đo chất lượng cụ thể Những nhược điểm của phân cụm mờ liên quan đến việc xác định số cụm tự động, học đo khoảng cách thích nghi, lựa chọn tham số tối ưu, xây dựng tập mờ trên các tập mờ mở rộng, v.v đã được quan tâm nghiên cứu nhiều trong thời gian gần đây Tuy nhiên, các nghiên cứu này chưa quan tâm đến việc xác định nghiệm tối ưu toàn cục của bài toán phân cụm, và hàm mục tiêu của bài toán hay cách thức phân chia dữ liệu vẫn được sử
Trang 12dụng chung cho mọi bài toán Để xác định nghiệm tối ưu toàn cục của bài toán phân cụm, các thuật toán tối ưu tiến hóa như thuật toán di truyền, tối ưu bầy đàn, v.v được áp dụng trong việc tìm nghiệm tối ưu toàn cục của bài toán tối ưu Và trong khuôn khổ luận văn này sẽ tìm hiểu vấn đề đó trên cơ sở khảo sát một số thuật toán tối ưu tiến hóa cho bài toán phân cụm mờ, cụ thể là thuật toán Fuzzy J - Means, Variable Neighbourhood Search và Fuzzy Particle Swarm Optimization
2/ MỤC ĐÍCH CỦA LUẬN VĂN
Trong luận văn này chúng tôi khảo sát môt số thuật toán tối ưu tiến hóa cho bài toán phân cụm mờ, cụ thể là thuật toán Fuzzy J – Means (FJM), Variable Neighbourhood Search (VNS) và Fuzzy Particle Swarm Optimization (FPSO) Các thuật toán này sẽ được áp dụng cho bài toán phân tích nhu cầu khách hàng – là mục tiêu quan trọng của bất kỳ doanh nghiệp nào trong việc xác định các khách hàng tiềm năng, nhu cầu của nhóm khách hàng đó và mức độ hài lòng về sản phẩm và dịch vụ Từ đó hỗ trợ doanh nghiệp đưa ra quyết định trong chiếm lược kinh doanh trong tương lai dựa vào kết quả của quá trình phân tích khách hàng tiềm năng, nhu cầu của nhóm khách hàng và mức độ hài lòng về sản phẩm và dịch vụ của doanh nghiệp
Cụ thể với một cơ sở dữ liệu mẫu về thống kê doanh doanh số bán hàng của một công ty kinh doanh thiết bị y tế cho khoảng 500 bệnh viện [26] được sử dụng làm dữ liệu đầu vào cho các thuật toán trên Qua đây, tính hiệu quả của các thuật toán tối ưu tiến hóa cho bài toán phân cụm mờ theo các tiêu chí về chất lượng và thời gian tính toán được làm rõ đồng thời phác họa chi tiết về các chức năng chính của bài toán phân tích nhu cầu khách hàng
Trang 133/ BỐ CỤC CỦA LUẬN VĂN
Luận văn gồm 3 chương, có 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 Các nội dung cơ bản của luận văn được trình bày theo cấu trúc như sau:
Chương 1: Tổng quan về phân cụm mờ
Trong chương này, luận văn sẽ trình bày tổng quan về tập mờ, bài toán phân cụm và phân cụm mờ và thuật toán cơ bản giải quyết vấn đề phân cụm trên tập mờ
đó là thuật toán Fuzzy C – Means (FCM) Từ thuật toán này chúng tôi sẽ khảo sát các thuật toán tối ưu tiến hóa cho bài toán phân cụm mờ
Chương 2: Các thuật toán tối ưu tiến hóa cho phân cụm mờ
Trong chương này, các khái niệm cơ bản về tối ưu tiến hóa sẽ được nhắc lại ở đầu chương Tiếp theo, chúng tôi sẽ trình bày thuật toán Fuzzy J – Means (FJM) được phát triển từ thuật toán Fuzzy C – Means (FCM) trong việc tìm nghiệm tối ưu cho bài toán, từ đó có nhận xét về hiệu quả của bài toán phân cụm mờ được áp dụng thuật toán trên Tiếp theo, chúng tôi khảo sát thuật toán Variable Neighbourhood Search (VNS) được phát triển tiếp từ thuật toán Fuzzy J – Means
và phần cuối của chương này trình bày về thuật toán Fuzzy Particle Swarm Optimization (FPSO) lai của hai phương pháp Fuzzy C – Means và Particle Swarm Optimization (PSO) Nhận xét chung các thuật toán cũng được nhắc trong chương này
Chương 3: So sánh hiệu năng thuật toán tối ưu tiến hoá
Trong chương này, chúng tôi cài đặt và đánh giá hiệu năng các thuật toán: FCM, FJM, VNS và FPSO theo các tiêu chí về chất lượng phân cụm thông qua giá trị hàm mục tiêu và thời gian tính toán Từ đây, hiệu quả của các thuật toán tối ưu tiến hóa cho phân cụm mờ được khẳng định
Trang 144
Trang 15Lotfi A Zadeh và Dieter Klaua là người sáng lập ra lý thuyết tập mờ [25], mở đầu bằng bài báo “Fuzzy Sets” trên tạp chí “Information and Control” năm 1965 Ý tưởng lý thuyết tập mờ của Zadeh là từ những khái niệm trừu tượng, không chắc chắn của thông tin như độ tuổi (trẻ – già), chiều cao (cao – thấp), nhiệt độ (nóng – lạnh), v.v ông đã tìm ra cách biểu diễn bằng một khái niệm toán học được gọi là tập mờ FS, như là một sự khái quát của khái niệm tập hợp
Bằng các phương pháp tiếp cận khác nhau, các nhà nghiên cứu như Dubois, Prade, Mamdani, Tagaki, Sugeno, Ishibuchi, Herrera, v.v đã đưa ra những kết quả
cả về lý thuyết và ứng dụng trong các bài toán điều khiển mờ, khai phá dữ liệu mờ,
cơ sở dữ liệu mờ, các hệ hỗ trợ quyết định
Tập mờ FS được định nghĩa như sau:
1.1.2 Tập mờ
Định nghĩa 1.2 [25]: Cho tập nền X và x là phần tử của tập X Một tập mờ
F x
mãn điều kiện với xX, 0 F x 1
Trang 16Khi F x = 0 thì x F hoàn toàn Khi F x = 1 thì x F hoàn toàn
Như vậy, khái niệm tập mờ là sự tổng quát hóa khái niệm tập rõ bởi hàm thuộc của nó có thể lấy giá trị bất kỳ trong khoảng [0, 1], tập rõ chỉ là một tập mờ đặc biệt
vì hàm thuộc F x chỉ nhận hai giá trị 0 hoặc 1
Ví dụ 1.3: X = {X1, X2, X3, X4}
Hàm thuộc không còn mang 2
giá trị tuyệt đối 0 hay 1, mà là giá trị
Trang 17Khi đó tập mờ F = {(50, 0.35) (10, 0.95) (15, 0.75) (55, 0.30)(70, 0.05)} và F được biểu diễn như Hình 1.2 sau:
Hình 1.2: Ví dụ một tập mờ
* Số mờ
Xét tập mờ F trên tập các số thực R Về nguyên tắc, không có ràng buộc chặt
đối với việc xây dựng các tập mờ để biểu thị ngữ nghĩa của các khái niệm ngôn ngữ Tuy nhiên, để đơn giản trong xây dựng các tập mờ và trong tính toán trên các tập mờ, người ta đưa ra khái niệm tập mờ có dạng đặc biệt, gọi là số mờ để biểu thị
các khái niệm mờ về số như gần 10, khoảng 15, lớn hơn nhiều so với 10,v.v
Trong điều khiển, với mục đích sử dụng các hàm thuộc sao cho khả năng tích hợp chúng là đơn giản, người ta thường chỉ quan tâm đến hai dạng số mờ hình thang và số mờ hình tam giác
Số mờ hình thang
Hàm thành viên có dạng sau [1]:
Trang 181.2.1 Khái quát phân cụm
Phân cụm là kỹ thuật rất quan trọng trong khai phá dữ liệu, nó thuộc lớp các phương pháp học không giám sát trong học máy, nhằm tìm kiếm, phát hiện các cụm, các mẫu dữ liệu tự nhiên tiềm ẩn và quan trọng trong tập dữ liệu lớn để từ đó cung cấp thông tin, tri thức cho việc ra quyết định
Có rất nhiều định nghĩa khác nhau về kỹ thuật này, nhưng về bản chất ta có thể hiểu phân cụm là các qui trình tìm cách nhóm các đối tượng đã cho vào các cụm,
Trang 19sao cho các đối tượng trong cùng một cụm tương tự nhau và các đối tượng khác
cụm thì không tương tự nhau [23]
Mục đích của phân cụm là tìm ra bản chất bên trong các nhóm nội tại bên trong của bộ dữ liệu không có nhãn Tuy nhiên, không có tiêu chí nào là được xem
là tốt nhất để đánh giá hiệu quả của phân tích phân cụm, điều này phụ thuộc vào mục đích cuối cùng của phân cụm dữ liệu Do đó, người sử dụng phải cung cấp tiêu chuẩn, theo cách như vậy mà kết quả của phân cụm sẽ phù hợp với nhu cầu của người sử dụng cần
z iz j với i j; i j, 1, 2, ,c
Phân cụm được đóng vai trò quan trọng trong các nghành khoa học:
hàng quan trọng có các đặc trưng tương đồng nhau và đặc tả họ từ các mẫu trong
cơ sở dữ liệu khách hàng
- Sinh học: Phân cụm dữ liệu được sử dụng để xác định các loại sinh vật, phân loại các Gen với chức năng tương đồng và thu được các cấu trúc trong các mẫu
liệu thu được từ các hình ảnh chụp từ vệ tinh, các thiết bị y học hoặc hệ thống thông tin địa lý (GIS), v.v, làm cho người dùng rất khó để kiểm tra các dữ liệu không gian một cách chi tiết Phân cụm dữ liệu có thể trợ giúp người dùng tự động
Trang 20phân tích và xử lý các dữ liêu không gian như nhận dạng và chiết xuất các đặc tính hoặc các mẫu dữ liệu quan tâm có thể tồn tại trong cơ sở dữ liệu không gian
v.v, nhằm cung cấp thông tin cho quy hoạch đô thị
thông tin cho nhận dạng các vùng nguy hiểm
trọng, có nhiều ý nghĩa trong môi trường Web Các lớp tài liệu này trợ giúp cho việc khám phá tri thức từ dữ liệu Web, khám phá ra các mẫu truy cập của khách hàng đặc biệt hay khám phá ra cộng đồng Web, v.v
Trang 21thấy rằng, độ đo không tương tự nhỏ nhất khi hai vector đồng nhất hay tương tự nhau
Một số độ đo không tương tự:
q
i i i
Một số phương pháp phân cụm điển hình
Dựa trên cách tiếp cận và thuật toán sử dụng, người ta phân các thuật toán phân cụm theo các phương pháp chính sau:
Trang 221.2.3 Các bước phân cụm
- Chọn lựa đặc trưng: Các đặc trưng phải được chọn lựa một cách hợp lý để
có thể “mã hoá” nhiều nhất thông tin liên quan đến công việc Mục tiêu chính của bước này là phải giảm thiểu sự dư thừa thông tin giữa các đặc trưng Các đặc trưng cần được tiền xử lý trước khi dùng chúng trong các bước sau
- Chọn độ đo gần gũi: Đây là một độ đo chỉ ra mức độ tương tự hay không
tương tự giữa hai véc tơ đặc trưng Phải đảm bảo rằng tất cả các véc tơ đặc trưng góp phần như nhau trong việc tính toán độ đo gần gũi và không có đặc trưng nào át hẳn đặc trưng nào Điều này được đảm nhận bởi quá trình tiền xử lý
- Tiêu chuẩn phân cụm: Điều này phụ thuộc vào sự giải thích của chuyên
gia cho thuật ngữ “dễ nhận thấy” dựa vào loại của các cụm được chuyên gia cho rằng đang ẩn dấu dưới tập dữ liệu Chẳng hạn, cụm trong không gian một chiều sẽ
có tiêu chuẩn khác với cụm trong không gian nhiều chiều
- Thuật toán phân cụm: Cần lựa chọn một sơ đồ thuật toán riêng biệt nhằm
làm sáng tỏ cấu trúc cụm của tập dữ liệu
- Công nhận kết quả: Khi đã có kết quả phân loại thì ta phải kiểm tra tính
đúng đắn của nó Điều này thường được thực hiện bởi việc dùng các kiểm định thích hợp
- Giải thích kết quả: Trong rất nhiều trường hợp, chuyên gia trong lĩnh vực
ứng dụng phải kết hợp kết quả phân loại với những bằng chứng thực nghiệm và phân tích để đưa ra được kết quả đúng đắn
Tóm lại, phân cụm dữ liệu là một vấn đề đòi hỏi chúng ta phải giải quyết những công việc sau đây:
Trang 231.2.4 Phân cụm mờ
Nhiều vấn đề đã dẫn đến bài toán phân cụm mờ và ứng dụng được nói nhiều trong bài toán phân cụm mờ là: nhận dạng ảnh, xử lý thông tin, phân loại khách hàng trong ngân hàng Đã có rất nhiều nghiên cứu chuyên sâu trong 2 thập kỷ qua Điểm quan trọng là sự khác nhau của hai hướng tiếp cận, theo hướng mờ thì một vector thuộc đồng thời vào nhiều cụm, ngược lại theo hướng xác suất thì một vector chỉ được thuộc vào duy nhất chỉ một cụm Ưu điểm của phân cụm mờ so với phân cụm rõ được thể hiện trong thực tế khi mà không thể chỉ ra ranh giới rõ ràng giữa các cụm Phân cụm rõ bắt buộc các điểm chỉ được phép thuộc vào duy nhất một cụm Còn phân cụm mờ cho phép các điểm dữ liệu linh hoạt hơn, một điểm dữ liệu có thể thuộc vào nhiều cụm và ta đưa ra khái niệm độ thuộc để chỉ mức độ liên quan của điểm dữ liệu vào cụm mà nó thuộc Giá trị độ thuộc nằm trong khoảng (0,1), trường hợp điểm dữ liệu không thuộc một cụm nào hay chỉ thuộc vào duy nhất một cụm là rất hiếm
1.2.4.1 Tập dữ liệu trong phân cụm mờ
Kỹ thuật phân cụm có thể được áp dụng cho dữ liệu được định lượng (kiểu số), định lượng (phân loại) hoặc có thể kết hợp cả hai
được biểu diễn thành vector cột n chiều x k x1k,x2k, ,x nkT,x kR n. Tập A của
Nquan sát được biểu diễn X x k k 1, 2 ,N, và biểu diễn như một ma trận n N :
Trang 24Trong thuật ngữ nhận dạng mẫu, các cột của ma trận được gọi là các mẫu hay
cảnh Ví dụ, trong hoạt động sản xuất kinh doanh các cột của X có thể chứa các mẫu như là: doanh số, lợi nhuận, thanh toán, nợ quá hạn
1.2.4.2 Các cụm và các mẫu trong phân cụm mờ
Chúng ta đã biết một cụm là một nhóm các đối tượng tương tự nhiều hơn các đối tượng trong những cụm khác [23] Thuật ngữ “tương tự” cần được hiểu như tương tự toán học Trong không gian metric, tương tự được xác định bằng độ đo khoảng cách
Dữ liệu cho thấy thấy các cụm có dạng hình học khác nhau, kích thước và mật
chồng lên nhau
Trang 251.2.4.3 Phương pháp phân cụm mờ
Bài toán phân cụm Nvector X x1 ,x2 , ,x N thành c cụm dựa trên tính toán tối thiểu hóa hàm mục tiêu để đo chất lượng của cụm và tìm tâm cụm sao cho hàm
nhóm và được xác định bằng giá trị hàm thuộc u Ma trận giá trị hàm thuộc có dạng như sau:
Giải bài toán J m( , )u z min với ràng buộc sau:
1.3 Thuật toán Fuzzy C – Means (FCM)
Phân cụm dữ liệu đóng vai trò quan trọng trong giải quyết bài toán nhân biết mẫu và xác định mô hình mờ Thuật toán FCM phù hợp hơn với dữ liệu lớn hoặc nhỏ phân bố quanh tâm cụm
Trang 26Có thể tổng quát bài toán bằng công thức (p) như [8]
(p)
ij ,Z
ij 1
i j c
dij x iz j là khoảng cách Euclide
m m ( 1)tham số mờ (Đối với m 1 thì Fuzzy C – Means trở thành thuật
ij 1 j
ij 1
N m
i i
N m i
1.3.1 Thuật toán Fuzzy C - Means
FCM được đề xuất bởi Bezdek năm 1974:
- X x1 ,x2 , ,x N
Trang 27ij 1
N m
i i
N m i
1
m c
k ik
d d
Bước 5: Nếu không hội tụ, lặp lại bước 2
Một vài luật dừng có thể được sử dụng Thứ nhất các giá trị đầu và giá trị cuối nhận giá trị nhỏ hơn khi thay đổi giá trị tâm cụm Hoặc hàm mục tiêu (1.1)
2 ij
với giá trị khởi tạo và có thể sảy ra tối ưu cục bộ
* Ưu và nhược điểm:
Ưu điểm:
Trang 28điểm được phân vào cụm dựa trên kết quả tính hàm thuộc Vì vậy, một điểm có thể thuộc về nhiều hơn một cụm
Nhược điểm:
- càng thấp kết quả nhận được càng tốt nhưng chi phí tính toán càng nhiều
1.3.2 Cài đặt chương trình
Thuật toán được cài đặt trên Matlab, với các hàm phụ:
- Hàm đọc dữ liệu đầu vào lưu với tên file là ReadData.m
- Hàm chuẩn hóa dữ liệu đầu vào về dạng [0,1] lưu với tên file là
Chuan_hoa.m
- Hàm tính giá trị hàm mục tiêu lưu với tên file ObjFunc2.m
- Hàm tính giá trị Fuzzy C - Means được lưu với tên file FCM.m
Trong hàm chính hàm main( ) gọi các hàm phụ và đo thời gian của thuật toán
Hàm đọc dữ liệu đầu vào
function X = ReadData(Str)
X = xlsread(Str);
end
Trang 31if (mauso ~= 0)
W(j,i) = tuso / mauso;
else
W(j,i) = 0;
Trang 33disp('Du lieu dau vao');
%1 Doc du lieu dau vao
Trang 34Trong chương 2 luận văn sẽ trình bày các thuật toán tối ưu tiến hóa cho bài toán phân cụm mờ xuất phát từ cơ sở lý thuyết chương 1
Trang 35CHƯƠNG 2: CÁC THUẬT TOÁN TỐI ƯU TIẾN HÓA CHO PHÂN
CỤM MỜ 2.1 Tính toán tiến hóa
Trên trái đất sự sống rất đa dạng có hàng triệu loài, mỗi loài có những hành vi
và đặc điểm riêng Tất cả từ những thực vật, động vật, con chim, con cá và các sinh vật khác đều đã tiến hóa, tiếp tục tiến hóa và phát triển qua hàng triệu năm Chúng
đã thích nghi với môi trường thay đổi liên tục, chúng thay đổi liên tục để sinh tồn Những thành viên nào yếu và không thích ứng được với loài có xu hướng chết đi, những thành viên khỏe hơn sẽ tiếp tục tồn tại và sinh sản để bảo tồn giống loài Cuộc sống bị chi phối bởi quy luật chọn lọc tự nhiên và tiến hóa của Darwin - cuộc đấu tranh sống còn [22]
Và từ quy luật sự sống các loài ở trên người ta có những ý tưởng về tính toán tiến hóa (EC) Tính toán tiến hóa là mô phỏng của quá trình chọn lọc tự nhiên trong thủ tục tìm kiếm Trong tự nhiên, các sinh vật có đặc trưng nhất định tác động đến
sự sống và sinh sản của chúng Những đặc trưng này được mã hóa thành những thông tin trên nhiễm sắc thể Nhiễm sắc thể con mới được tạo ra bằng cách ghép đôi và sinh sản Kết quả cuối cùng có được nhiễm sắc thể con có chứa đặc tính tốt nhất từ nhiễm sắc thể của bố mẹ cho phép chúng sống sót trong môi trường không thuận lợi Với quá trình chọn lọc tự nhiên chắc chắn những cá thể tốt sẽ có cơ hội được kết hợp với nhau, cho ra những con tương ứng hoặc có thể tốt hơn
Trong quần thể, khi mỗi thế hệ xuất hiện và mất đi, những cá thể yếu hơn có
xu hướng chết đi mà không sinh sản ra con, cá thể khỏe hơn còn lại sẽ lại kết hợp với cá thể khác để tiếp tục sinh sản ra con, con mới có thể có những thuộc tính của
cả cha lẫn mẹ và tiếp tục tiến hóa
Trang 36Các phép sử dụng trong EC bao gồm: Phép lai ghép, phép đột biến và phép chọn lọc Các phép này có thể kết hợp với nhau trong một mô hình tiến hóa
Định nghĩa tính toán tiến hóa:
kiếm, f được gọi là hàm thích nghi chứa đựng các thông tin đặc trưng cho bài toán Mỗi vòng lặp của tính toán tiến hóa có thể định nghĩa bởi công thức:
dụng, cách chọn quần thể mới từ quần thể cũ và các con mới sinh ra cùng
Tính toán tiến hóa như là một khái niệm chung cho giải quyết bài toán, đặc biệt đối với bài toán tối ưu hóa và áp dụng các thuật toán tiến hóa đã giải quyết được các bài toán tối ưu khó Ngày nay thuật toán trên thu hút rất nhiều nhà nghiên cứu tham gia nghiên cứu
Các khái niệm liên quan:
với một giải pháp của bài toán
hay mỗi giải pháp đối với môi trường, môi trường tương ứng với bài toán đang cần giải quyết Xây dựng độ thích nghi cũng là một bước quan trọng trong thuật toán di truyền Để đánh giá được độ thích nghi của các cá thể giải thuật di truyền sử dụng một hàm đo độ thích nghi
là cá thể cha - mẹ
Trang 37- Đột biến: Là quá trình tạo ra cá thể mới từ một cá thể ban đầu bằng cách thay đổi một số gen của nó
từ quần thể hiện tại để tạo ra thế hệ sau của nó Trong quá trình này diễn ra sự đào thải những cá thể yếu, chỉ giữ lại những cá thể tốt Những cá thể có độ thích nghi lớn hơn hoặc bằng với độ thích nghi tiêu chuẩn sẽ được giữ lại và độ thích nghi của
cá cá thể trong quần thể sẽ tốt hơn sau nhiều thế hệ
Điều kiện dừng: Thuật toán di truyền là một quá trình ngẫu nhiên, nên không thể đảm bảo chắc chắn thuật toán sẽ dừng sau hữu hạn bước Vì vậy, để đảm bảo thuật toán di truyền kết thúc, người dùng thường phải định nghĩa điều kiện dừng cho thuật toán di truyền
2.2 Các dạng của thuật toán tiến hóa
Có rất nhiều biến thể khác của thuật toán tiến hóa EA, song ý tưởng chung của các thuật toán này là giống nhau Với một quần thể các cá thể, quá trình chọn lọc tự nhiên cho ra nhóm các cá thể riêng hay cho ra một loài, sự sống của chúng phụ thuộc vào khả năng thích nghi của chúng Các biến thể phổ biến của thuật toán tiến hóa:
Trang 382.2.1 Thuật toán lập trình tiến hóa
Được đề xuất bởi Lawrence J Fogel trong những năm 1960, là chiến lược tối
ưu hóa ngẫu nhiên EP sau đó được phát triển thêm bởi David Fogel trong năm
1990
Thuật toán lập trình tiến hóa EP khác thuật toán tiến hóa khác là không có lai ghép mà chỉ thực hiện phép lựa chọn và phép đột biến để sinh ra thế hệ quần thể mới
EP tập trung vào sự phát triển của các hành vi và những mẫu không di truyền
EP có nguồn gốc từ mô phỏng các hành vi tiến hóa tương ứng Do đó, EP như là một tiến hóa kiểu hình Quá trình tiến hóa là quá trình tìm tập các hành vi tối ưu từ tập các hành vi quan sát được Với thuật toán này, độ đo thích nghi đo hành vi lỗi của cá thể trong quần thể trong môi trường của cá thể đó
Mục tiêu của thuật toán có thể là tìm giải pháp tối ưu hoặc tìm giải pháp nhanh nhất
Thuật giải EP
Gồm 4 bước (EP được lặp cho đến khi một vượt qua một ngưỡng cho trước hoặc thu được một giáp pháp thích hợp):
Bước 1: Khởi tạo quần thể
Một quần thể được khởi tạo ngẫu nhiên, bao gồm không gian tìm kiếm của bài toán tối ưu
Số lượng các cá thể trong quần thể phù hợp với tốc độ tối ưu hóa, nhưng không xác định được bao nhiêu cá thể là đủ và bao nhiêu cá thể là lãng phí
Bước 2: Đột biến
Các cá thể con được sinh ra bằng thực hiện phép đột biến ngẫu nhiên trên quần thể cha mẹ Mức độ của đột biến được đánh giá dựa trên thay đổi chức năng
so với cha mẹ
Trang 39Bước 3: Đánh giá
Mỗi cá thể được đánh giá bằng tính giá trị hàm mục tiêu
Quá trình chọn lọc tự nhiên trong EP thường dựa trên độ đo thích nghi Cá thể được lựa chọn cho thế hệ tiếp theo dưa trên độ đo thích nghi tương đối
Bước 4: Lựa chọn
Mục tiêu lựa chọn cá thể từ cha mẹ và con cháu cho thế hệ sau Thông thường,
có sự đấu tranh ngẫu nhiên để xác định N cá thể được giữ lại cho thế hệ sau EP thực hện phép lựa chọn và phép đột biến để sinh ra thế hệ quần thể mới
2.2.2 Chiến lược tiến hóa
ES được đề xuất để giải quyết bài toán tối ưu hóa các tham số do Rechenberg năm 1960 và tiếp tục phát triển bởi Schwefel Tối ưu hóa dựa trên giả thuyết quy luật tiến hóa sinh học
Các giả định để mã hóa các biến trong ES là thực hiện mối quan hệ nhân quả
đủ mạnh, tức là những nguyên nhân thay đổi nhỏ cũng phải tạo ra những thay đổi nhỏ về hiệu quả
ESs đầu tiên là một quần thể chỉ có một cá thể ES cũng chỉ thực hiện phép một di truyền là đột biến trong quá trình tiến hóa
Thuật toán này cho phép từ một số chiếm lược ban đầu tạo ra những chiến lược mới phù hợp với môi trường thực tế một cách tốt nhất
2.2.3 Thuật toán di truyền
GA được áp dụng rộng rãi và phổ biến nhất ngày nay Do John Holland đã mở rộng nghiên cứu trong những 1960 và 1970
GA cá thể được biểu diễn bằng các chuỗi (Tương tự như thông tin di truyền được mã hóa trong sinh vật như nhiễm sắc thể) Mỗi cá thể trong quần thể cho thấy một giải pháp tiềm năng cho bài toán
Trang 40GA có thể tìm thế hệ mới có độ thích nghi tốt hơn GA giải quyết các bài toán
quy hoạch toán học thông qua các phép di truyền cơ bản: lai tạo, đột biến và chọn
lọc cho các cá thể trong quần thể Dùng GA đòi hỏi phải xác định được: khởi tạo
quần thể ban đầu, hàm đánh giá các giải pháp theo mức độ thích nghi – hàm mục tiêu, các toán tử di truyền tạo hàm sinh sản
Giải thuật của GA
Bước 1 Khởi tạo:
Sinh ngẫu nhiên một quần thể gồm các cá thể
Bước 2: Quần thể mới:
Tạo quần thể mới bằng cách lặp lại các bước sau cho đến khi quần thể mới hoàn thành
a.Thích nghi: Ước lượng độ thích nghi của mỗi cá thể
b Kiểm tra: Kiểm tra điều kiện kết thúc giải thuật
c Chọn lọc: Chọn hai cá thể bố mẹ từ quần thể cũ theo độ thích nghi của chúng, cá thể có độ thích nghi càng cao thì càng có nhiều khả năng được chọn
d Lai ghép: Với một xác suất lai ghép được chọn, lai ghép hai cá thể
bố mẹ để tạo ra một cá thể mới
e Đột biến: Với một xác suất đột biến được chọn, biến đổi cá thể mới