1. Trang chủ
  2. » Thể loại khác

Khai phá dữ liệu sử dụng giải thuật di truyền và ứng dụng

83 239 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 83
Dung lượng 2,49 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các nhãn lớp của tập dữ liệu huấn luyện đều phải được xác định trước khi xây dựng mô hình, vì vậy phương pháp này còn được gọi là học có giám sát supervised learning khác với phân nhóm d

Trang 1

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Người hướng dẫn khoa học

TS Nguyễn Huy Đức

Thái Nguyên - 2016

Trang 2

2

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

LỜI CAM ĐOAN

Sau quá trình học tập tại Trường Đại học công nghệ thông tin & truyền

thông, với những kiến thức lý thuyết và thực hành đã tích lũy được, với việc vận

dụng các kiến thức vào thực tế, em đã tự nghiên cứu các tài liệu, các công trình nghiên cứu, đồng thời có sự phân tích, tổng hợp, đúc kết và phát triển để hoàn thành luận văn thạc sĩ của mình

Em xin cam đoan luận văn này là công trình do bản thân em tự tìm hiểu, nghiên

cứu và hoàn thành dưới sự hướng dẫn tận tình của thầy giáo TS Nguyễn Huy Đức

Thái Nguyên, tháng 6 năm 2016

Học viên

Hoàng Hà Đức

Trang 3

nỗ lực hết mình; tiếp đến cần có sự ủng hộ về tinh thần, sự giúp đỡ về chuyên môn một trong những điều kiện không thể thiếu quyết định đến việc thành công của đề tài

Để hoàn thành được đề tài này trước tiên em xin gửi lời cảm ơn đến thầy giáo

hướng dẫn TS Nguyễn Huy Đức, người đã có những định hướng cho em về nội

dung và hướng phát triển của đề tài, người đã có những đóng góp quý báu cho em về những vấn đề chuyên môn của đề tài, giúp em tháo gỡ kịp thời những vướng mắc trong quá trình làm luận văn

Em cũng xin cảm ơn các Thầy Cô giáo Trường Đại học Công nghệ thông tin

và Truyền thông Thái Nguyên, cũng như bạn bè cùng lớp đã có những ý kiến đóng góp bổ sung cho đề tài luận văn của em Xin cảm ơn gia đình, người thân cũng như đồng nghiệp luôn quan tâm, ủng hộ hỗ trợ về mặt tinh thần trong suốt thời gian từ khi nhận đề tài đến khi hoàn thiện đề tài này

Trong nội dung của luận văn chắc chắn còn nhiều thiếu sót Em rất mong các Thầy Cô cùng bạn bè đóng góp để bản luận văn của Em được hoàn thiện hơn

Em xin trân trọng cảm ơn

Thái Nguyên, tháng 6 năm 2016

Học viên

Trang 4

4

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

MỤC LỤC

LỜI CAM ĐOAN 1

LỜI CÁM ƠN 3

CHƯƠNG 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ PHÂN CỤM DỮ LIỆU 11

1.1 Tổng quan về khám phá tri thức và khai phá dữ liệu 11

1.1.1 Giới thiệu chung về khám phá tri thức và khai phá dữ liệu 11

1.1.2 Quá trình khám phá tri thức 11

1.1.3 Quá trình khai phá dữ liệu 13

1.2 Các phương pháp khai phá dữ liệu 13

1.2.1 Phân lớp và dự đoán (Classification & Prediction) 14

1.2.2 Luật kết hợp (Association Rules) 14

1.2.3 Khai thác mẫu tuần tự (Sequential / Temporal patterns) 14

1.2.4 Phân nhóm- đoạn (Clustering / Segmentation) 15

1.2.5 Hồi quy (Regression) 15

1.2.6 Tổng hợp hóa (Summarization) 15

1.2.7 Mô hình hóa sự phụ thuộc (dependency modeling) 16

1.2.8 Phát hiện sự biến đổi và độ lệch (Change and deviation detection) 16

1.3 Phân cụm dữ liệu 16

1.3.1 Phân cụm dữ liệu là gì 16

1.3.2 Các mục tiêu của phân cụm dữ liệu 18

1.3.4 Các phương pháp phân cụm dữ liệu 19

1.3.4.1 Phương pháp phân cụm phân cấp 19

1.3.4.2 Phương pháp phân cụm dựa trên mật độ 20

1.3.4.3 Phương pháp phân cụm phân hoạch 21

1.3.4.4 Phương pháp phân cụm dựa trên lưới 22

1.3.4.5 Phương pháp phân cụm dựa trên mô hình 23

1.3.4.6 Phương pháp phân cụm có dữ liệu ràng buộc 23

CHƯƠNG 2: THUẬT TOÁN PHÂN CỤM DỮ LIỆU DỰA TRÊN GIẢI THUẬT DI TRUYỀN 25

2.1 Giải thuật di truyền 25

Trang 5

5

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

2.1.1 Lịch sử của giải thuật di truyền 25

2.1.2 Tóm tắt giải thuật di truyền 25

2.1.3 Cách biểu diễn bài toán trong giải thuật di truyền (hay chọn cách biểu diễn cấu trúc dữ liệu cho bài toán) 29

2.1.4 Mã hóa (encoding) 35

2.1.5 Các phương pháp chọn(Selection) 37

2.1.6 Chọn lọc Roulette (Roulette Wheel Selection) 37

2.1.7 Các toán tử trong giải thuật di truyền 41

2.1.8 Các tham số cần sử dụng trong giải thuật di truyền 44

2.1.9 Điều kiện kết thúc thuật giải di truyền 44

2.1.10 Nguyên lý hoạt động của giải thuật di truyền 44

2.1.11 Ứng dụng của thuật giải di truyền 44

2.2 Thuật toán phân cụm sử dụng giải thuật di truyền 44

2.2.1 Một số giải thuật cơ bản trong phân cụm dữ liệu 44

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

2.3 So sánh hiệu quả của thuật toán Kmeans và thuật toán Kmeans sử dụng giải thuật di truyền 61

2.3.1 Thuật Toán K-Means 61

2.3.2 Thuật toán Kmean sử dụng giải thuật di truyền 66

2.3.3 So sánh giữa k-means và k-means sử dụng giải thuật di truyền: 69

CHƯƠNG 3: THỰC NGHIỆM PHÂN CỤM DỮ LIỆU VỀ SINH VIÊN CỦA TRƯỜNG CAO ĐẲNG Y TẾ YÊN BÁI 70

3.1 Mô tả bài toán 70

3.1.1 Cơ sở dữ liệu 70

3.2 Xây dựng chương trình 71

3.2.2 Các chức năng của chương trình 71

3.2.3 Giao diện chương trình 71

3.2.3 Kết quả thực nghiệm 73

KẾT LUẬN 75

TÀI LIỆU THAM KHẢO 76

PHẦN PHỤ LỤC 78

Trang 6

6

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

DANH SÁCH HÌNH VẼ

Hình 1.1: Quá trình khám phá tri thức 12

Hình 1.2: Quá trình khai phá dữ liệu 13

Hình 1.3: Ví dụ về phân cụm dữ liệu 17

Hình 1.4: Ví dụ phân cụm các ngôi nhà dựa trên khoảng cách 18

Hình 1.5: Ví dụ phân cụm các ngôi nhà dựa trên kích cở 19

Hình 1.6 Các chiến lược phân cụm phân cấp 20

Hình 1.7: Ví dụ về phân cụm theo mật độ (1) 21

Hình 1.8: Ví dụ về phân cụm theo mật độ (2) 21

Hình 1.9: Cấu trúc phân cụm dựa trên lưới 22

Hình 1.10: Ví dụ về phân cụm dựa trên mô hình 23

Hình 1.11: Các cách mà các cụm có thể đưa ra 24

Hình 2.1:Sơ đồ tổng quát của giải thuật di truyền 28

Hình 2.2: Nhiễm sắc thể bằng cây 37

Hình 2.2 Minh họa trường hợp tách dữ liệu thành 3 cụm 45

Hình 2.3 Khái quát giải thuật CURE 48

Hình 2.3 Các cụm dữ liệu được khám phá bởi CURE 49

Hình 2.4 Lân cận của P với ngưỡng Eps 50

Hình 2.5: Mật độ - đến được trực tiếp 51

Hình 2.6: Mật độ đến được 51

Hình 2.7: Mật độ liên thông 51

Hình 2.8: Cụm và nhiễu 52

Hình 2.9: Hình dạng các cụm được khám phá bởi giải thuật DBSCAN 53

Hình 3.1 Cơ sở dữ liệu học sinh sinh viên 71

Hình 3.2 Giao diện chương trình 71

Hình 3.3 Màn hình khởi động 73

Hình 3.4 Màn hình phân cụm dữ liệu 73

Trang 7

7

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Trang 8

GA Giải thuật di truyền Genetic Algorithm

DE Giải thuật tiến hóa vi phân Differential Evolution NST Nhiễm sắc thể

CDL Cụm dữ liệu

CNTT Công nghệ thông tin

Trang 9

Trong ngành khoa học máy tính, tìm kiếm lời giải tối ưu cho các bài toán là vấn đề được các nhà khoa học máy tính đặc biệt rất quan tâm Mục đích chính của các thuật toán là tìm kiếm thuật giải chất lượng cao và sử dụng kỹ thuật trí tuệ nhân tạo đặc biệt rất cần thiết khi giải quyết các bài toán có không gian tìm kiếm lớn

Giải thuật di truyền (Genetic Algorithm GA) là một trong những kỹ thuật tìm kiếm lời giải tối ưu đã đáp ứng được yêu cầu của nhiều bài toán và ứng dụng Hiện nay, thuật toán di truyền được ứng dụng rất rộng rãi trong các lĩnh vực phức tạp Thuật toán di truyền chứng tỏ được hiệu quả của nó trong các vấn đề khó có thể giải quyết bằng các phương pháp thông thường hay các phương pháp cổ điển, nhất là trong các bài toán cần có sự lượng giá, đánh giá sự tối ưu của kết quả thu được

Chính vì vậy, trong phạm vi đề tài này, tôi chọn hướng phân cụm dữ liệu dựa trên giải thuật di truyền

Luận văn gồm có 3 chương:

Chương I: Tổng quan về khai phá dữ liệu và phân cụm dữ liệu

Phần này giới thiệu một cách tổng quát về quá trình khám phá tri thức nói chung và khai phá dữ liệu nói riêng Các phương pháp khai phá dữ liệu và phân cụm

dữ liệu

Trang 10

10

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Chương II: Thuật toán phân cụm dữ liệu dựa trên giải thuật di truyền

Trong chương này trình bày giải thuật di truyền, thuật toán phân cụm sử dụng giải thuật di truyền và so sánh hiệu quả của thuật toán Kmeans và thuật toán Kmeans

sử dụng giải thuật di truyền

Chương III: Thực nghiệm phân cụm dữ liệu về sinh viên của trường Cao đẳng Y tế Yên Bái

Phần này mô tả bài toán, xây dựng chương trình Cài đặt chương trình thử nghiệm ứng dụng kỹ thuật phân cụm trong công tác học sinh sinh viên của Trường Cao đẳng Y tế Yên Bái và một kết quả thu được

Trang 11

11

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

CHƯƠNG 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ PHÂN CỤM DỮ LIỆU 1.1 Tổng quan về khám phá tri thức và khai phá dữ liệu

1.1.1 Giới thiệu chung về khám phá tri thức và khai phá dữ liệu

Nếu cho rằng, điện tử và truyền thông chính là bản chất của khoa học điện tử, thì dữ liệu, thông tin, và tri thức hiện đang là tiêu điểm của một lĩnh vực mới để nghiên cứu và ứng dụng, đó là khám phá tri thức và khai phá dữ liệu [8]

Thông thường, chúng ta coi dữ liệu như là một chuỗi các bits, hoặc các số và các ký hiệu hay là các “đối tượng” với một ý nghĩa nào đó khi được gửi cho một chương trình dưới một dạng nhất định Các bits thường được sử dụng để đo thông tin,

và xem nó như là dữ liệu đã được loại bỏ phần tử thừa, lặp lại, và rút gọn tới mức tối thiểu để đặc trưng một cách cơ bản cho dữ liệu Tri thức được xem như là các thông tin tích hợp, bao gồm các sự kiện và mối quan hệ giữa chúng, đã được nhận thức, khám phá, hoặc nghiên cứu Nói cách khác, tri thức có thể được coi là dữ liệu ở mức

độ cao của sự trừu tượng và tổng quát

Khám phá tri thức hay phát hiện tri thức trong CSDL là một quy trình nhận biết các mẫu hoặc các mô hình trong dữ liệu với các tính năng: Phân tích, tổng hợp, hợp thức, khả ích và có thể hiểu được

Khai phá dữ liệu là một bước trong quá trình khám phá tri thức, gồm các giải thuật khai thác dữ liệu chuyên dùng dưới một số qui định về hiệu quả tính toán chấp nhận được để tìm ra các mẫu hoặc các mô hình trong dữ liệu

Nói cách khác, mục tiêu của Khai phá dữ liệu là tìm kiếm các mẫu hoặc mô hình tồn tại trong CSDL nhưng ẩn trong khối lượng lớn dữ liệu

1.1.2 Quá trình khám phá tri thức

Quy trình khám phá tri thức tiến hành qua 6 giai đoạn, xem hình 1.1 [8]:

1 Gom dữ liệu: Tập hợp dữ liệu là bước đầu tiên trong quá trình khai phá dữ liệu Đây là bước được khai thác trong một cơ sở dữ liệu, một kho dữ liệu và thậm chí các dữ liệu từ các nguồn ứng dụng Web

2 Trích lọc dữ liệu: Ở giai đọan này dữ liệu được lựa chọn hoặc phân chia theo một số tiêu chuẩn nào đó phục vụ mục đích khai thác, ví dụ chọn tất cả những

em học sinh có điểm Trung bình học kỳ lớn hơn 8.0 và có giới tính nữ

3 Làm sạch, tiền xử lý và chuẩn bị trước dữ liệu: Giai đoạn thứ ba này là giai đoạn hay bị sao lãng, nhưng thực tế nó là một bước rất quan trọng trong quá trình khai phá dữ liệu Một số lỗi thường mắc phải trong khi gom dữ liệu là tính không đủ

Trang 12

12

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

chặt chẽ, logíc Vì vậy, dữ liệu thường chứa các giá trị vô nghĩa và không có khả năng kết nối dữ liệu Ví dụ : Điểm Trung bình = 12.4 Giai đoạn này sẽ tiến hành xử lý những dạng dữ liệu không chặt chẻ nói trên Những dữ liệu dạng này được xem như thông tin dư thừa, không có giá trị Bởi vậy, đây là một quá trình rất quan trọng vì dữ liệu này nếu không được “làm sạch – tiền xử lý – chuẩn bị trước” thì sẽ gây nên những kết quả sai lệch nghiêm trọng

4 Chuyển đổi dữ liệu: Tiếp theo là giai đoạn chuyển đổi dữ liệu, dữ liệu đưa

ra có thể sử dụng và điều khiển được bởi việc tổ chức lại nó, tức là dữ liệu sẽ được chuyển đổi về dạng phù hợp cho việc khai phá bằng cách thực hiện các thao tác nhóm hoặc tập hợp

5 Khai phá dữ liệu: Đây là bước mang tính tư duy trong khai phá dữ liệu Ở giai đoạn này nhiều thuật toán khác nhau đã được sử dụng để trích ra các mẫu từ dữ liệu Thuật toán thường dùng là nguyên tắc phân loại, nguyên tắc kết, v.v

6 Đánh giá các luật và biểu diễn tri thức: Ở giai đoạn này, các mẫu dữ liệu được chiết xuất ra bởi phần mềm khai phá dữ liệu Không phải bất cứ mẫu dữ liệu nào cũng đều hữu ích, đôi khi nó còn bị sai lệch Vì vậy, cần phải ưu tiên những tiêu chuẩn đánh giá để chiết xuất ra các tri thức (Knowlege) cần chiết xuất ra Đánh giá

sự hữu ích của các mẫu biểu diễn tri thức dựa trên một số phép đo Sau đó sử dụng các kỹ thuật trình diễn và trực quan hoá dữ liệu để biểu diễn tri thức khai phá được cho người sử dụng

Hi ̀nh 1.1: Quá trình khám phá tri thức

Trang 13

13

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

1.1.3 Quá trình khai phá dữ liệu

Khai phá dữ liệu là một giai đoạn quan trọng trong quá trình khám phá tri thức

Về bản chất là giai đoạn duy nhất tìm ra được thông tin mới, thông tin tiềm ẩn có trong cơ sở dữ liệu chủ yếu phục vụ cho mô tả và dự đoán [8]

Mô tả dữ liệu là tổng kết hoặc diễn tả những đặc điểm chung của những thuộc tính dữ liệu trong kho dữ liệu mà con người có thể hiểu được

Dự đoán là dựa trên những dữ liệu hiện thời để dự đoán những quy luật được phát hiện từ các mối liên hệ giữa các thuộc tính của dữ liệu trên cơ sở đó chiết xuất

ra các mẫu, dự đoán được những giá trị chưa biết hoặc những giá trị tương lai của các biến quan tâm

Hi ̀nh 1.2: Quá trình khai phá dữ liệu

- Xác định nhiệm vụ: Xác định chính xác các vấn đề cần giải quyết

- Xác định các dữ liệu liên quan: Dùng để xây dựng giải pháp

- Thu thập và tiền xử lý dữ liệu: Thu thập các dữ liệu liên quan và tiền xử lý chúng sao cho thuật toán khai phá dữ liệu có thể hiểu được Đây là một quá trình rất khó khăn, có thể gặp phải rất nhiều các vướng mắc như: dữ liệu phải được sao ra nhiều bản (nếu được chiết xuất vào các tệp), quản lý tập các dữ liệu, phải lặp đi lặp lại nhiều lần toàn bộ quá trình (nếu mô hình dữ liệu thay đổi), v.v

- Thuật toán khai phá dữ liệu: Lựa chọn thuật toán khai phá dữ liệu và thực hiện việc khai phá dữ liệu để tìm được các mẫu có ý nghĩa, các mẫu này được biểu diễn dưới dạng luật kết hợp, cây quyết định tương ứng với ý nghĩa của nó

1.2 Các phương pháp khai phá dữ liệu

Các kỹ thuật KPDL được có thể chia làm 2 nhóm chính [8]:

- Kỹ thuật KPDL mô tả: có nhiệm vụ mô tả về các tính chất hoặc các đặc tính chung của dữ liệu trong CSDL hiện có Nhóm kỹ thuật này gồm các phương pháp: phân nhóm (Clustering), tổng hợp hóa (Summerization), phát hiện sự biến đổi và độ lệch (Change and deviation detection), phân tích luật kết hợp (Association Rules),

Trang 14

14

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

- Kỹ thuật KPDL dự đoán: có nhiệm vụ đưa ra các dự đoán dựa vào các suy diễn trên dữ liệu hiện thời Nhóm kỹ thuật này gồm các phương pháp: phân lớp (Classification), hồi quy (Regression),

1.2.1 Phân lớp và dự đoán (Classification & Prediction)

Là đặt các mẫu vào các lớp được xác định trước Nhiệm vụ chính là tìm các hàm ánh xạ các mẫu dữ liệu một cách chính xác vào trong các lớp.Ví dụ một ngân hàng muốn phân loại các khách hành của họ vào trong hai nhóm có nợ hay không nợ,

từ đó giúp họ ra quyết định cho vay hay không cho vay Quá trình phân lớp dữ liệu thường gồm 2 bước: xây dựng mô hình và sử dụng mô hình để phân lớp dữ liệu

- Bước 1: một mô hình sẽ được xây dựng dựa trên việc phân tích các mẫu dữ liệu sẵn có Mỗi mẫu tương ứng với một lớp, được quyết định bởi một thuộc tính gọi

là thuộc tính lớp Các mẫu dữ liệu này còn được gọi là tập dữ liệu huấn luyện (training data set) Các nhãn lớp của tập dữ liệu huấn luyện đều phải được xác định trước khi xây dựng mô hình, vì vậy phương pháp này còn được gọi là học có giám sát (supervised learning) khác với phân nhóm dữ liệu là học không có giám sát (unsupervised learning)

- Bước 2: sử dụng mô hình để phân lớp dữ liệu Trước hết chúng ta phải tính

độ chính xác của mô hình Nếu độ chính xác là chấp nhận được, mô hình sẽ được sử dụng để dự đoán nhãn lớp cho các mẫu dữ liệu khác trong tương lai

Trong kỹ thuật phân lớp chúng ta có thể sử dụng các phương pháp như: Cây quyết định (Decision Tree), K-Láng giềng gần nhất (k-Nearest Neighbor), Mạng Nơron (Neural networks), Giải thuật di truyền (Genetic algorithms), Mạng Bayesian (Bayesian networks), Tập mờ và tập thô (Rough and Fuzzy Sets)

1.2.2 Luật kết hợp (Association Rules)

Luật kết hợp là dạng luật biểu diễn tri thức ở dạng tương đối đơn giản Mục tiêu của phương pháp này là phát hiện và đưa ra các mối liên hệ giữa các giá trị dữ liệu trong CSDL Mẫu đầu ra của giải thuật KPDL là tập luật kết hợp tìm được

Tuy luật kết hợp là một dạng luật khá đơn giản nhưng lại mang rất nhiều ý nghĩa Thông tin mà dạng luật này đem lại rất có lợi trong các hệ hỗ trợ ra quyết định Tìm kiếm được những luật kết hợp đặc trưng và mang nhiều thông tin từ CSDL tác nghiệp là một trong những hướng tiếp cận chính của lĩnh vực khai phá dữ liệu

1.2.3 Khai thác mẫu tuần tự (Sequential / Temporal patterns)

Tương tự như khai thác luật kết hợp nhưng có thêm tính thứ tự và tính thời gian Một luật mô tả mẫu tuần tự có dạng tiêu biểu X  Y phản ánh sự xuất hiện của

Trang 15

15

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

biến cố X sẽ dẫn đến việc xuất hiện kế tiếp biến cố Y Hướng tiếp cận này có tính dự báo cao

1.2.4 Phân nhóm- đoạn (Clustering / Segmentation)

Mục tiêu chính của việc phân nhóm dữ liệu là nhóm các đối tượng tương tự nhau trong tập dữ liệu vào các nhóm sao cho mức độ tương tự giữa các đối tượng trong cùng một nhóm là lớn nhất và mức độ tương tự giữa các đối tượng nằm trong các nhóm khác nhau là nhỏ nhất Các nhóm có thể tách nhau hoặc phân cấp gối lên nhau và số lượng các nhóm là chưa biết trước Một đối tượng có thể vừa thuộc nhóm này, nhưng cũng có thể vừa thuộc nhóm khác Không giống như phân lớp dữ liệu, phân nhóm dữ liệu không đòi hỏi phải định nghĩa trước các mẫu dữ liệu huấn luyện

Vì thế, có thể coi phân nhóm dữ liệu là một cách học bằng quan sát (learning by observation), trong khi phân lớp dữ liệu là học bằng ví dụ (learning by example) Trong phương pháp này bạn sẽ không thể biết kết quả các nhóm thu được sẽ như thế nào khi bắt đầu quá trình Vì vậy, thông thường cần có một chuyên gia về lĩnh vực

đó để đánh giá các nhóm thu được Phân nhóm còn được gọi là học không có giám sát (unsupervised learning) Phân nhóm dữ liệu được sử dụng nhiều trong các ứng dụng về phân đoạn thị trường, phân đoạn khách hàng, nhận dạng mẫu, phân loại trang Web, … Ngoài ra phân nhóm dữ liệu còn có thể được sử dụng như một bước tiền xử

lý cho các thuật toán KPDL khác

1.2.5 Hồi quy (Regression)

Hồi quy là việc học một hàm ánh xạ từ một mẫu dữ liệu thành một biến dự đoán có giá trị thực Nhiệm vụ của hồi quy tương tự như phân lớp, điểm khác nhau chính là ở chỗ thuộc tính để dự báo là liên tục chứ không rời rạc Việc dự báo các giá trị số thường được làm bởi các phương pháp thống kê cổ điển chẳng hạn như hồi quy tuyến tính Tuy nhiên phương pháp mô hình hóa cũng có thể được sử dụng như cây quyết định

dạng sau: “Nếu một mục thuộc về lớp đã chỉ trong tiền đề thì mục đó có tất cả các

thuộc tính đã nêu trong kết luận”

Trang 16

16

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

1.2.7 Mô hình hóa sự phụ thuộc (dependency modeling)

Là việc tìm kiếm một mô hình mô tả sự phụ thuộc giữa các biến, thuộc tính theo hai mức Mức cấu trúc của mô hình mô tả (thường dưới dạng đồ thị), trong đó, các biến phụ thuộc bộ phận vào các biến khác Và mức định lượng mô hình mô tả mức độ phụ thuộc Những phụ thuộc này thường được biểu thị dưới dạng theo luật

“nếu - thì” - nếu tiền đề đúng thì kết luận đúng Về nguyên tắc, cả tiền đề và kết luận đều có thể là sự kết hợp logic của các giá trị thuộc tính Trên thực tế, tiền đề thường

là nhóm các giá trị thuộc tính và kết luận chỉ là một thuộc tính Hơn nữa, hệ thống có thể phát hiện các luật phân lớp trong đó tất cả các luật cần phải có cùng một thuộc tính do người dùng chỉ ra trong kết luận

Quan hệ phụ thuộc cũng có thể biểu diễn dưới dạng mạng tin cậy Bayes Đó

là đồ thị có hướng, không chu trình Các nút biểu diễn thuộc tính và trọng số của liên kết phụ thuộc giữa các nút đó

1.2.8 Phát hiện sự biến đổi và độ lệch (Change and deviation detection)

Tập trung vào khám phá hầu hết sự thay đổi có nghĩa dưới dạng độ đo đã biết trước hoặc giá trị chuẩn, phát hiện độ lệch đáng kể giữa nội dung của tập con dữ liệu thực và nội dung mong đợi Hai mô hình độ lệch hay dùng là lệch theo thời gian và lệch theo nhóm Độ lệch theo thời gian là sự thay đổi có ý nghĩa của dữ liệu thời gian

Độ lệch theo nhóm là sự khác nhau của dữ liệu trong hai tập con dữ liệu, ở đây xét cả trường hợp tập con dữ liệu này thuộc tập con kia Nghĩa xác định dữ liệu trong một nhóm con của đối tượng có khác đáng kể so với toàn bộ đối tượng không? Theo cách này, sai sót dữ liệu hay sai lệch so với giá trị thông thường sẽ được phát hiện

1.3 Phân cụm dữ liệu

1.3.1 Phân cụm dữ liệu là gì

Phân cụm dữ liệu là một kỹ thuật trong Data mining 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 [20]

Phân cụm dữ liệu là sự phân chia một cơ sở dữ liệu lớn thành các nhóm

dữ liệu với trong đó các đối tượng tương tự như nhau Trong mỗi nhóm, một số chi tiết có thể không quan tâm đến để đổi lấy dữ liệu đơn giản hóa Hay ta có thể hiểu “Phân cụm dữ liệu là quá trình tổ chức các đối tượng thành từng nhóm mà các đối tượng ở mỗi nhóm đều tương tự nhau theo một tính chất nào đó, những đối tượng không tương tự tính chất sẽ ở nhóm khác”

Trang 17

17

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Phân cụm dữ liệu là quá trình nhóm một tập các đối tượng tương tự nhau trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một cụm là tương đồng còn các đối tượng thuộc các cụm khác nhau sẽ không tương đồng Phân cụm dữ liệu là một ví dụ của phương pháp học không có thầy Không giống như phân lớp dữ liệu, phân cụm dữ liệu không đòi hỏi phải định nghĩa trước các mẫu

dữ liệu huấn luyện Vì thế, có thể coi phân cụm dữ liệu là một cách học bằng quan sát, trong khi phân lớp dữ liệu là học bằng ví dụ Ngoài ra phân cụm dữ liệu còn

có thể được sử dụng như một bước tiền xử lí cho các thuật toán khai phá dữ liệu khác như là phân loại và mô tả đặc điểm, có tác dụng trong việc phát hiện ra các cụm

Như vậy, phân cụm dữ liệu là quá trình phân chia một tập dữ liệu ban đầu thành các cụm dữ liệu sao cho các đối tượng trong một cụm “tương tự” (Similar) với nhau và các đối tượng trong các cụm khác nhau sẽ “không tương tự” (Dissimilar) với nhau Số các cụm dữ liệu được phân ở đây có thể được xác định trước theo kinh nghiệm hoặc có thể được tự động xác định

Chúng ta có thể thấy điều này với một ví dụ đơn giản như sau:

Hi ̀nh 1.3: Ví dụ về phân cụm dữ liệu

Trong trường hợp này, chúng ta dễ dàng xác định được 4 cụm dựa vào các

dữ liệu đã cho; các tiêu chí “tương tự” để phân cụm trong trường hợp này là khoảng cách : hai hoặc nhiều đối tượng thuộc nhóm của chúng được “đóng gói” theo một khoảng cách nhất định Điều này được gọi là phân cụm dựa trên khoảng cách

Một kiểu khác của phân cụm dữ liệu là phân cụm dữ liệu dựa vào khái niệm: hai hay nhiều đối tượng thuộc cùng nhóm nếu có một định nghĩa khái niệm chung cho tất cả các đối tượng trong đó Nói cách khác, đối tượng của nhóm phải phù hợp với nhau theo miêu tả các khái niệm đã được định nghĩa, không phải theo những biện pháp đơn giản tương tự

Trang 18

18

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

1.3.2 Các mục tiêu của phân cụm dữ liệu

Mục tiêu của phân cụm dữ liệu là để xác định các nhóm nội tại bên trong một

bộ dữ liệu không có nhãn Nhưng để có thể quyết định được cái gì tạo thành một cụm tốt Nhưng làm thế nào để quyết định cái gì đã tạo nên một phân cụm dữ liệu tốt ? Nó

có thể được hiển thị rằng không có tiêu chuẩn tuyệt đối “tốt nhất” mà sẽ là độc lập với mục đích cuối cùng của phân cụm dữ liệu Do đó, mà 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 dữ liệu sẽ phù hợp với nhu cầu của họ cần

Ví dụ, chúng ta có thể quan tâm đến việc tìm kiếm đối tượng đại diện cho các nhóm đồng nhất trong “các cụm tự nhiên” và mô tả thuộc tính không biết của chúng trong việc tìm kiếm các nhóm hữu ích và phù hợp hoặc trong việc tìm kiếm các đối tượng bất thường trong dữ liệu (cá biệt, ngoại lệ, nhiễu)

Hi ̀nh 1.4: Ví dụ phân cụm các ngôi nhà dựa trên khoảng cách

Một vấn đề thường gặp trong phân cụm là hầu hết các dữ liệu cần cho phân cụm đều có chứa dữ liệu nhiễu do quá trình thu thập thiếu chính xác hoặc thiếu đầy đủ, vì vậy cần phải xây dựng chiến lược cho bước tiền xử lí dữ liệu nhằm khắc phục hoặc loại bỏ nhiễu trước khi chuyển sang giai đoạn phân tích cụm dữ liệu Nhiễu ở đây được hiểu là các đối tượng dữ liệu không chính xác, không tường minh hoặc là các đối tượng dữ liệu khuyết thiếu thông tin về một số thuộc tính Một trong các kỹ thuật xử lí nhiễu phổ biến là việc thay thế giá trị các thuộc tính của đối tượng nhiễu bằng giá trị thuộc tính tương ứng Ngoài ra, dò tìm đối tượng ngoại lai cũng là một trong những hướng nghiên cứu quan trọng trong phân cụm, chức năng của nó là xác định một nhóm nhỏ các đối tượng dữ liệu khác thường

so với các dữ liệu trong cơ sở dữ liệu, tức là các đối tượng dữ liệu không tuân theo các hành vi hoặc mô hình dữ liệu nhằm tránh sự ảnh hưởng của chúng tới quá trình

và kết quả của phân cụm

Trang 19

19

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Hi ̀nh 1.5: Ví dụ phân cụm các ngôi nhà dựa trên kích cở

Theo các nghiên cứu đến thời điểm hiện nay thì chưa có một phương pháp phân cụm tổng quát nào có thể giải quyết trọn vẹn cho tất cả các dạng cấu trúc cơ

sở dữ liệu Hơn nữa, đối với các phương pháp phân cụm cần có cách thức biểu diễn cấu trúc của cơ sở dữ liệu, với mỗi cách thức biểu diễn khác nhau sẽ có tương ứng một thuật toán phân cụm phù hợp Vì vậy phân cụm dữ liệu vẫn đang là một vấn

đề khó và mở, vì phải giải quyết nhiều vấn đề cơ bản một cách trọn vẹn và phù hợp với nhiều dạng dữ liệu khác nhau, đặc biệt là đối với dữ liệu hỗn hợp đang ngày càng tăng trong các hệ quản trị dữ liệu và đây cũng là một trong những thách thức lớn trong lĩnh vực khai phá dữ liệu

1.3.4 Các phương pháp phân cụm dữ liệu

Các kỹ thuật phân cụm có rất nhiều cách tiếp cận và các ứng dụng trong thực

tế, nó đều hướng tới hai mục tiêu chung đó là chất lượng của các cụm khám phá được

và tốc độ thực hiện của thuật toán Hiện nay, các kỹ thuật phân cụm có thể phân loại theo các phương pháp tiếp cận chính như sau: phân cụm phân họach (Partitioning Methods); phân cụm phân cấp (Hierarchical Methods); phân cụm dựa trên mật độ (Density-Based Methods); phân cụm dựa trên lưới (Grid-Based Methods); phân cụm dựa trên mô hình phân cụm (Model-Based Clustering Methods) và phân cụm có dữ liệu ràng buộc (Binding data Clustering Methods)

1.3.4.1 Phương pháp phân cụm phân cấp

Phương pháp này xây dựng một phân cấp trên cơ sở các đối tượng dữ liệu đang xem xét Nghĩa là sắp xếp một tập dữ liệu đã cho thành một cấu trúc có dạng hình cây, cây phân cấp này được xây dựng theo kỹ thuật đệ quy Có hai cách tiếp cận phổ biến của kỹ thuật này đó là: hòa nhập nhóm, thường được gọi là tiếp cận (Bottom-Up); phân chia nhóm, thường được gọi là tiếp cận (Top-Down)

- Phương pháp “dưới lên” (Bottom up) : Phương pháp này bắt đầu với mỗi

đối tượng được khởi tạo tương ứng với các cụm riêng biệt, sau đó tiến hành nhóm các đối tượng theo một độ đo tương tự (như khoảng cách giữa hai trung tâm của hai

Trang 20

20

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

nhóm), quá trình này được thực hiện cho đến khi tất cả các nhóm được hòa nhập vào một nhóm (mức cao nhất của cây phân cấp) hoặc cho đến khi các điều kiện kết thúc thỏa mãn Như vậy, cách tiếp cận này sử dụng chiến lược ăn tham trong quá trình phân cụm

Hi ̀nh 1.6 Các chiến lược phân cụm phân cấp

- Phương pháp “trên xuống” (Top Down) : Bắt đầu với trạng thái là tất cả các

đối tượng được xếp trong cùng một cụm Mỗi vòng lặp thành công, một cụm được tách thành các cụm nhỏ hơn theo giá trị của một phép đo độ tương tự nào đó cho đến khi mỗi đối tượng là một cụm, hoặc cho đến khi điều kiện dừng thỏa mãn Cách tiếp cận này sử dụng chiến lược chia để trị trong quá trình phân cụm

1.3.4.2 Phương pháp phân cụm dựa trên mật độ

Kỹ thuật này nhóm các đối tượng dữ liệu dựa trên hàm mật độ xác định, mật

độ là số các đối tượng lân cận của một đối tượng dữ liệu theo một nghĩa nào đó Trong cách tiếp cận này, khi một dữ liệu đã xác định thì nó tiếp tục được phát triển thêm các đối tượng dữ liệu mới miễn là số các đối tượng lân cận này phải lớn hơn một ngưỡng

đã được xác định trước Phương pháp phân cụm dựa trên mật độ của các đối tượng

để xác định các cụm dữ liệu có thể phát hiện ra các cụm dữ liệu với hình thù bất kỳ

Kỹ thuật này có thể khắc phục được các phần tử ngoại lai hoặc giá trị nhiễu rất tốt, tuy nhiên việc xác định các tham số mật độ của thuật toán là rất khó khăn, trong khi các tham số này lại có tác động rất lớn đến kết quả phân cụm

Trang 21

1.3.4.3 Phương pháp phân cụm phân hoạch

Kỹ thuật này phân hoạch một tập hợp dữ liệu có n phần tử thành k nhóm cho đến khi xác định số các cụm được thiết lập Số các cụm được thiết lập là các đặc trưng được lựa chọn trước Phương pháp này là tốt cho việc tìm các cụm hình cầu trong không gian Euclidean Ngoài ra, phương pháp này cũng phụ thuộc vào khoảng cách

cơ bản giữa các điểm để lựa chọn các điểm dữ liệu nào có quan hệ là gần nhau với mỗi điểm khác và các điểm dữ liệu nào không có quan hệ hoặc có quan hệ là xa nhau

so với mỗi điểm khác Tuy nhiên, phương pháp này không thể xử lí các cụm có hình dạng kỳ quặc hoặc các cụm có mật độ các điểm dầy đặc Các thuật toán phân hoạch

Trang 22

22

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

dữ liệu có độ phức tạp rất lớn khi xác định nghiệm tối ưu toàn cục cho vấn đề phân cụm dữ liệu, do nó phải tìm kiếm tất cả các cách phân hoạch có thể được Chính vì vậy, trên thực tế thường đi tìm giải pháp tối ưu cục bộ cho vấn đề này bằng cách sử dụng một hàm tiêu chuẩn để đánh giá chất lượng của cụm cũng như để hướng dẫn cho quá trình tìm kiếm phân hoạch dữ liệu Như vậy, ý tưởng chính của thuật toán phân cụm phân hoạch tối ưu cục bộ là sử dụng chiến lược ăn tham (Greedy) để tìm kiếm nghiệm

Điển hình trong phương pháp tiếp cận theo phân cụm phân họach là các thuật toán như: K_means, K-medoids, CLARA (Clustering Large Applications), CLARANS (Clustering Large Applications based on RAndomized Search)

1.3.4.4 Phương pháp phân cụm dựa trên lưới

Kỹ thuật phân cụm dựa trên lưới thích hợp với dữ liệu nhiều chiều, dựa trên cấu trúc dữ liệu lưới để phân cụm, phương pháp này chủ yếu tập trung áp dụng cho lớp dữ liệu không gian Mục tiêu của phương pháp này là lượng hóa dữ liệu thành các ô tạo thành cấu trúc dữ liệu lưới Sau đó, các thao tác phân cụm chỉ cần làm việc với các đối tượng trong từng ô trên lưới chứ không phải các đối tượng dữ liệu Cách tiếp cận dựa trên lưới này không di chuyển các đối tượng trong các ô mà xây dựng nhiều mức phân cấp của nhóm các đối tượng trong một ô Phương pháp này gần giống với phương pháp phân cụm phân cấp nhưng chúng không trộn các ô, đồng thời giải quyết khắc phục yêu cầu đối với dữ liệu nhiều chiều mà phương pháp phân phân cụm dựa trên mật độ không giải quyết được ưu điểm của phương pháp phân cụm dựa trên lưới là thời gian xử lí nhanh và độc lập với số đối tượng dữ liệu trong tập dữ liệu ban đầu, thay vào đó là chúng phụ thuộc vào số ô trong mỗi chiều của không gian lưới

Hi ̀nh 1.9: Cấu trúc phân cụm dựa trên lưới

Điển hình trong phương pháp tiếp cận theo phân cụm dựa trên lưới là các thuật toán như : STING (a STatistical INformation Grid approach) bởi Wang, Yang và

Trang 23

23

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Muntz (1997), WAVECLUSTER bởi Sheikholeslami, Chatterjee và Zhang (1998), CLIQUE (Clustering In QUEst) bởi Agrawal, Gehrke, Gunopulos, Raghavan (1998)

1.3.4.5 Phương pháp phân cụm dựa trên mô hình

Phương này cố gắng khám phá các phép xấp xỉ tốt của các tham số mô hình sao cho khớp với dữ liệu một cách tốt nhất Chúng có thể sử dụng chiến lược phân cụm phân hoạch hoặc phân cụm phân cấp, dựa trên cấu trúc hoặc mô hình mà chúng giả định về tập dữ liệu và cách chúng hiệu chỉnh các mô hình này để nhận dạng ra các phân hoạch

Hi ̀nh 1.10: Ví dụ về phân cụm dựa trên mô hình

Phương pháp phân cụm dựa trên mô hình cố gắng khớp giữa các dữ liệu với

mô hình toán học, nó dựa trên giả định rằng dữ liệu được tạo ra bằng hỗn hợp phân phối xác suất cơ bản Các thuật toán phân cụm dựa trên mô hình có hai cách tiếp cận chính: mô hình thống kê và mạng nơron Phương pháp này gần giống với phương pháp phân cụm dựa trên mật độ, vì chúng phát triển các cụm riêng biệt nhằm cải tiến các mô hình đã được xác định trước đó, nhưng đôi khi nó không bắt đầu với một số cụm cố định và không sử dụng cùng một khái niệm mật độ cho các cụm

Điển hình trong phương pháp tiếp cận theo phân cụm dựa trên mô hình là các thuật toán như : EM, COBWEB, CLASSIT, AutoClass (Cheeseman and Stutz, 1996)

1.3.4.6 Phương pháp phân cụm có dữ liệu ràng buộc

Sự phát triển của phân cụm dữ liệu không gian trên cơ sở dữ liệu lớn đã cung cấp nhiều công cụ tiện lợi cho việc phân tích thông tin địa lí, tuy nhiên hầu hết các thuật toán này cung cấp rất ít cách thức cho người dùng để xác định các ràng buộc

Trang 24

24

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

trong thế giới thực cần phải được thỏa mãn trong quá trình phân cụm Để phân cụm

dữ liệu không gian hiệu quả hơn, các nghiên cứu bổ sung cần được thực hiện để cung cấp cho người dùng khả năng kết hợp các ràng buộc trong thuật toán phân cụm

Hiện nay, các phương pháp phân cụm trên đã và đang được phát triển và áp dụng nhiều trong các lĩnh vực khác nhau và đã có một số nhánh nghiên cứu được phát triển trên cơ sở của các phương pháp đó như:

 Phân cụm thống kê: Dựa trên các khái niệm phân tích hệ thống, nhánh nghiên cứu này sử dụng các độ đo tương tự để phân hoạch các đối tượng, nhưng chúng chỉ

áp dụng cho các dữ liệu có thuộc tính số

 Phân cụm khái niệm: Kỹ thuật này được phát triển áp dụng cho dữ liệu hạng mục, chúng phân cụm các đối tượng theo các khái niệm mà chúng xử lí

 Phân cụm mờ: Sử đụng kỹ thuật mờ để phân cụm dữ liệu Cácthuật toán thuộc loại này chỉ ra lược đồ phân cụm thích hợp với tất cả các hoạt động đời sống hàng ngày, chúng chỉ xử lí các dữ liệu thực không chắc chắn

 Phân cụm mạng Kohonen: Loại phân cụm này dựa trên khái niệm của các mạng nơron Mạng Kohonen có tầng nơron vào và các tầng nơron ra Mỗi nơron 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

Hi ̀nh 1.11: Các cách mà các cụm có thể đưa ra

Trang 25

25

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

CHƯƠNG 2 THUẬT TOÁN PHÂN CỤM DỮ LIỆU DỰA TRÊN GIẢI THUẬT DI TRUYỀN

2.1 Giải thuật di truyền

2.1.1 Lịch sử của giải thuật di truyền

Trước tiên ý niệm về thuật giải di truyền đã được một số nhà sinh vật học đưa

ra từ những năm 50-60, thế kỷ XX Alex Fraser là người tiên phong nêu lên sự tương đồng giữa sự tiến hóa của sinh vật và chương trình tin học giả tưởng về genetic algorithm Tuy nhiên, John Henry Holland mới là người triển khai ý tưởng và phương thức giải quyết vấn đề dựa theo sự tiến hóa của con người Từ những bài giảng, bài báo của mình, ông đã đúc kết các ý tưởng vào trong cuốn sách đầu tay Adaptation in Natural and Artifical systems (mô phỏng theo tự nhiên và hệ thống nhân tạo ), xuất bản năm 1975 Dựa trên lý thuyết cơ bản về GA của Holland, Keneth De Jong đã triển khai, chứng minh và những thành quả do ông thực hiện đã góp phần quan trọng trong việc tạo ra nền tảng toán học cho lý thuyết thuật giải di truyền Và sau này là John koza đã tiếp nối, phát triển giải thuật di truyền

Lần đầu tiên Holland nghiên cứu các thuật giải này, chúng hoàn toàn không

có tên Do nguồn gốc của phương pháp này là từ các gen di truyền, Holland đã đặt tên cho nó là “thuật giải di truyền” [1][7]

2.1.2 Tóm tắt giải thuật di truyền

Thuật giải di truyền (GA) là kỹ thuật chung giúp giải quyết vấn đề bài toán bằng cách mô phỏng sự tiến hóa của con người hay của sinh vật nói chung (dựa trên thuyết tiến hóa muôn loài của Darwin) trong điều kiện qui định sẵn của môi trường

GA là một thuật giải, nghĩa là mục tiêu của GA không nhằm đưa ra lời giải chính xác tối ưu mà là đưa ra lời giải tương đối tối ưu [1][7]

Theo đề xuất ban đầu của giáo sư John Holland, một vấn đề-bài toán đặt ra sẽ được mã hóa thành các chuỗi bit với chiều dài cố định Nói một cách chính xác là các thông số của bài toán sẽ được chuyển đổi và biểu diễn lại dưới dạng các chuỗi nhị phân Các thông số này có thể là các biến của một hàm hoặc hệ số của một biểu thức toán học Người ta gọi các chuỗi bit này là mã genome ứng với mỗi cá thể, các genome đều có cùng chiều dài Nói ngắn gọn, một lời giải sẽ được biểu diễn bằng một chuỗi bit, cũng giống như mỗi cá thể đều được quy định bằng gen của cá thể đó vậy Như vậy, đối với thuật giải di truyền, một cá thể chỉ có một gen duy nhất và một gen cũng chỉ phục vụ cho một cá thể duy nhất

Trang 26

26

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Ban đầu, ta sẽ phát sinh một số lượng lớn, giới hạn các cá thể có gen ngẫu nhiên Nghĩa là phát sinh một tập hợp các chuỗi bit ngẫu nhiên Tập các cá thể này được gọi là quần thể ban đầu (initial population) Sau đó, dựa trên một hàm nào đó,

ta sẽ xác định được một giá trị gọi là độ thích nghi - Fitness Giá trị này, có thể hiểu chính là độ "tốt" của lời giải Vì phát sinh ngẫu nhiên nên độ "tốt" của lời giải hay tính thích nghi của các cá thể trong quần thể ban đầu là không xác định

Để cải thiện tính thích nghi của quần thể, người ta tìm cách tạo ra quần thể mới Có hai thao tác thực hiện trên thế hệ hiện tại để tạo ra một thế hệ khác với độ thích nghi tốt hơn Thao tác đầu tiên là sao chép nguyên mẫu một nhóm các cá thể tốt

từ thế hệ trước rồi đưa sang thế hệ sau (selection) Thao tác này đảm bảo độ thích nghi của thế hệ sau luôn được giữ ở một mức độ hợp lý Các cá thể được chọn thông thường là các cá thể có độ thích nghi cao nhất

Thao tác thứ hai là tạo các cá thể mới bằng cách thực hiện các thao tác sinh sản trên một số cá thể được chọn từ thế hệ trước – thông thường cũng là những cá thể

có độ thích nghi cao Có hai loại thao tác sinh sản : một là lai tạo (crossover), hai là đột biến (mutation) Trong thao tác lai tạo, từ gen của hai cá thể được chọn trong thế

hệ trước sẽ được phối hợp với nhau (theo một số quy tắc nào đó) để tạo thành hai gen mới

Thao tác chọn lọc và lai tạo giúp tạo ra thế hệ sau Tuy nhiên, nhiều khi do thế

hệ khởi tạo ban đầu có đặc tính chưa phong phú và chưa phù hợp nên các cá thể không rải đều được hết không gian của bài toán Từ đó, khó có thể tìm ra lời giải tối ưu cho bài toán Thao tác đột biến sẽ giúp giải quyết được vấn đề này Đó là sự biến đổi ngẫu nhiên một hoặc nhiều thành phần gen của một cá thể ở thế hệ trước tạo ra một cá thể hoàn toàn mới ở thế thệ sau Nhưng thao tác này chỉ được phép xảy ra với tần suất rất thấp (thường dưới 0.01), vì thao tác này có thể gây xáo trộn và làm mất đi những cá thể đã chọn lọc và lai tạo có tính thích nghi cao, dẫn đến thuật toán không còn hiệu quả

Thế hệ mới được tạo ra lại được xử lý như thế hệ trước (xác định độ thích nghi

và tạo thế hệ mới) cho đến khi có một cá thể đạt được giải pháp mong muốn hoặc đạt đến thời gian giới hạn

Tóm lại: Một thuật giải di truyền (hay một chương trình tiến hóa bất kỳ) giải

một bài toán cụ thể phải gồm năm thành phần sau đây:

- Cách biểu diễn nhiễm sắc thể cho lời giải bài toán

- Cách khởi tạo quần thể ban đầu

Trang 27

27

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

- Hàm lượng giá đóng vai trò môi trường, đánh giá các lời giải theo mức độ thích nghi của chúng

- Các phép toán di truyền

- Các tham số khác(kích thước quần thể,Pc , Pm …)

- Lược đồ GA:

- Input: một bài toán tối ưu max f(x) trong không gian x € X

- Output: một nghiệm tốt của f, x0 € X f(x0) đạt lân cận max

Method

1 Khởi tạo một quần thể ban đầu với n cá thể

2 Lặp m buớc, mỗi bước phát sinh một quần thể mới theo quy trình sau

2.1 Lai ghép:

- Chọn ngẫu nhiên một cặp hai cá thể cha mẹ B và M theo xác xuất Pl

- Sinh hai cá thể mới C1 và C2 từ B và M

- Tính lại độ thích nghi của các cá thể

- Chọn các cá thể có độ thích nghi tốt đưa vào quá trình mới

3 Lấy nghiệm

End

Trang 28

28

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Hi ̀nh 2.1:Sơ đồ tổng quát của giải thuật di truyền

Quần thể đủ tốt

Kết thúc

Đ

S

Trang 29

29

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

2.1.3 Cách biểu diễn bài toán trong giải thuật di truyền (hay chọn cách biểu diễn cấu trúc dữ liệu cho bài toán)

Để áp dụng giải một bài toán bằng giải thuật di truyền, thao tác quan trọng nhất – là phải biết chọn cấu trúc dữ liệu phù hợp Để giải bài toán trong giải thuật di truyền, ta thường chọn sử dụng một trong 3 loại cấu trúc dữ liệu sau: Chuỗi nhị phân, chuỗi số thực và cấu trúc cây Trong đó chuỗi nhị phân và chuỗi số thực thường được

sủ dụng nhiều hơn

2.1.3.1 Biểu diễn Gen bằng chuỗi nhị phân

Quy tắc biểu diễn gen qua chuỗi nhị phân: Chọn chuỗi nhị phân ngắn nhất nhưng đủ thể hiện được tất cả kiểu gen Để biểu diễn chuỗi nhị phân, ta thường dùng các cách sau: Mảng byte, mảng bit biểu diễn bằng mảng byte, mảng bit biểu diễn bằng mảng INTEGER Mảng byte và mảng bit bây giờ ít sử dụng Đối với máy tính ngày nay, người ta thường dùng mảng integer để tối ưu truy xuất Vì vậy ở đây em chỉ giới thiệu về mảng integer

VD: Nhiễm sắc thể x ta biểu diễn bằng 1 chuỗi 15 bit

X=(010100110010101)

Mảng integer nén để tối ưu truy xuất

Trong các máy tính ngày nay, thông thường thì đơn vị truy xuất hiệu quả nhất không còn là byte nữa mà là một bội số của byte Đơn vị truy xuất hiệu quả nhất được gọi là độ dài từ (word length) Hiện nay, các máy Pentium đều có độ dài từ là 4 byte

Do đó, nếu ta tổ chức chuỗi nhị phân dưới dạng byte sẽ làm chậm phần nào tốc độ truy xuất Để hiệu quả hơn nữa, ta sử dụng mảng kiểu INTEGER Lưu ý kiểu INTEGER có độ dài phụ thuộc vào độ dài từ của máy tính mà trình biên dịch có thể nhận biết được Chẳng hạn với các version PASCAL,C trên hệ điều hành DOS, kích thước của kiểu INTEGER là 2 byte Trong khi đó, với các version PASCAL, C trên Windows 9x như Delphi, Visual C++ thì độ dài của kiểu INTEGER là 4 byte Do đó,

để chương trình của chúng ta chạy tốt trên nhiều máy tính khác nhau, ta dùng hàm sizeof(<tên kiểu>) Hàm này sẽ trả ra độ dài của kiểu dữ liệu ta đưa vào

Biểu diễn số thực bằng chuỗi nhị phân

Tuy có nhiều chọn lựa nhưng thông thường, để biểu diễn một số thực x, người

ta chỉ dùng công thức đơn giản, tổng quát sau :

Giả sử ta muốn biểu diễn số thực x nằm trong khoảng [min, max] bằng một chuỗi nhị phân A dài L bit Lúc đó, ta sẽ chia miền [min, max] (lượng hóa) thành 2L-

1 vùng Trong đó, kích thước một vùng là :

Trang 30

30

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

𝑔 = max − 𝑚𝑖𝑛

2𝐿 − 1Người ta gọi g là độ chính xác của số thực được biểu diễn bằng cách này (vì g quy định giá trị thập phân nhỏ nhất của số thực mà chuỗi nhị phân dài L bit có thể biểu diễn được) Giá trị của số thực x được biểu diễn qua chuỗi nhị phân sẽ được tính như sau:

VD: Bài toán tối ưu số

Tìm giá trị lớn nhất của hàm f(x) = x*sin(10*pi*x) + 1 với x € [-1,2]

Sử dụng vectơ bit làm nhiễm sắc thể để biểu diễn giá trị thực của biến x Chiều dài vectơ phụ thuộc vào độ chính xác cần có, trong thí dụ này, ta tính chính xác đến

6 số lẻ

Miền giá trị của x có chiều dài 2 - (-1) = 3; với yêu cầu về độ chính xác 6 số

lẻ như thế phải chia khoảng [-1, 2] thành ít nhất 3*106 khoảng có kích thước bằng nhau Điều này có nghĩa là cần có 22 bit cho vevtơ nhị phân (nhiễm sắc thể):

2097152 = 221 < 3 000000 < 222 = 4194304 Ánh xạ chuỗi nhị phân (b21b20…b0) từ cơ số 2 sang cơ số 10:

(<b21b20…b0>)2 = ( i

i i

3

22 với -1 là lân cận dưới của miền giá trị và 3 là chiều dài của miền

Thí dụ, nhiễm sắc thể (1000101110110101000111) biểu diễn số 0.637197 vì x’ = (1000101110110101000111)2 = 228896710 và x = -1.0 + 2288967* 3/4194303

= 0.637197

Trang 31

31

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Ta cần cực đại hóa hàm sau đây:

f(x1, x2) = 21.5 + x1* sin(4*pi*x1) + x2 * sin(10*pi*x2) Với -3.0 ≤ x1 ≤ 12.1 và 4.1 ≤ x2 ≤ 5.8

Giả sử ta cần độ chính xác đến 4 số lẻ đối với mỗi biến Miền của biến x1 có chiều dài 12.1 – (-3) = 15.1; điều kiện chính xác đòi hỏi đoạn [-3, 12.1] cần được chia thành các khoảng có kích thước bằng nhau, ít nhất là 15.1 * 10000 khoảng Điều này

có nghĩa là cần 18 bit làm phần đầu tiên của nhiễm sắc thể:

18 bit đầu tiên mã hóa x1, và 15 bit còn lại (từ 19 ðến 33) mã hóa x2

) 0 3 ( 1 12

15 = -3.0 + 4.052426

15 bit kế tiếp 111110010100010, biểu diễn

x2 = 4.1 + decimal(1111100101000102)*

1 2

1 4 8 5

1 = 4.1 + 1.655330 = 5.755330

Như vậy, nhiễm sắc thể (010001001011010000111110010100010) Tương ứng với <x1, x2> = <1.052426, 5.755330>

Độ thich nghi của nhiễm sắc thể này là: f(1.052426, 5.755330) = 20.252640

2.1.3.2 Biểu diễn gen bằng chuỗi số thực

Đối với những vấn đề bài toán có nhiều tham số, việc biểu diễn gen bằng chuỗi

số nhị phân đôi lúc sẽ làm cho kiểu gen của cá thể trở nên quá phức tạp Dẫn đến việc thi hành các thao tác trên gen trở nên kém hiệu quả Khi đó, người ta sẽ chọn biểu diễn kiểu gen dưới dạng một chuỗi số thực Tuy nhiên, chọn biểu diễn kiểu gen bằng

chuỗi số thực, bạn cần lưu ý quy tắc sau: Quy tắc biểu diễn kiểu gen bằng chuỗi số

Trang 32

32

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

thực: Biểu diễn kiểu gen bằng số thực phải đảm bảo tiết kiệm không gian đối với từng thành phần gen

Quy tắc này lưu ý chúng ta phải tiết kiệm về mặt không gian bộ nhớ đối với các từng thành phần gen Giả sử nghiệm của bài toán được cấu thành từ 3 thành phần, thành phần X thực có giá trị trong khoảng [1.0, 2.0], thành phần Y nguyên trong khoảng [0,15] và thành phần Z trong khoảng [5,8] Thì chúng ta rất không nên chọn biểu diễn kiểu gen bằng một chuỗi 3 thành phần số thực Vì như chúng ta đã biết, ít nhất mỗi số thực được phải được biểu diễn bằng 6 byte Chỉ với 3 số thực, ta đã tốn hết 18 byte Như vậy với trường hợp cụ thể này, ta nên chọn biểu diễn bằng chuỗi nhị phân, trong đó dùng khoảng 10(bit) cho thành phần X (độ chính xác khoảng 0.001),

4 bit cho thành phần Y và 2 bit cho thành phần Z Tổng cộng chỉ chiếm có 16 bit = 2 byte Chúng ta đã tiết kiệm được rất nhiều bộ nhớ!

2.1.3.3 Biểu diễn gen bằng cấu trúc cây

Một loại cây thường được sử dụng trong thuật giải di truyền là dạng cây hai nhánh (ở đây chúng tôi dùng chữ hai nhánh để phân biệt với loại cây nhị phân – thường dùng trong sắp xếp và tìm kiếm)

3.1.3.4 Nguyên lý về xác định tính thích nghi

“Tính tốt của một cá thể (lời giải) trong một quần thể chỉ là một cơ sở để xác định tính thích nghi của cá thể (lời giải) đó” Nguyên lý này ban đầu có vẻ hơi bất ngờ một khi chúng ta đã hiểu những ý tưởng chung của thuật giải di truyền Thật đơn giản, người leo lên ngọn đồi cao nhất trong thế hệ hiện tại vẫn có khả năng bị”kẹt” trong các thế hệ sau cũng như một lời giải chưa tốt ở thế hệ hiện tại vẫn còn khả năng tiềm tàng dẫn đến lời giải tối ưu Tuy vậy, thường thì lời giải tốt ở thế hệ hiện tại sẽ

có xác suất dẫn đến lời giải tối ưu cao hơn những lời giải xấu hơn Do đó, người ta vẫn xem độ tốt của lời giải là một yếu tố căn bản để xác định tính thích nghi của lời giải Thông thường, độ thích nghi của lời giải cũng chính là xác suất để cá thể đó được chọn lọc hoặc lai ghép khi tiến hành sinh ra thế hệ kế tiếp Ta sẽ lần lượt tìm hiểu 3 phương pháp để xác định tính thích nghi của một cá thể

3.1.3.5 Độ thích nghi tiêu chuẩn

Hàm mục tiêu là hàm dùng để đánh giá độ tốt của một lời giải hoặc cá thể Hàm mục tiêu nhận vào một tham số là gen của một cá thể và trả ra một số thực Tùy theo giá trị của số thực này mà ta biết độ tốt của cá thể đó (chẳng hạn với bài toán tìm cực đại thì giá trị trả ra càng lớn thì cá thể càng tốt, và ngược lại, với bài toán tìm cực tiểu thì giá trị trả ra càng nhỏ thì cá thể càng tốt)

Trang 33

33

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Giả sử trong một thế hệ có N cá thể, cá thể thứ i được ký hiệu là ai Hàm mục tiêu là hàm G Vậy độ thích nghi của một cá thể ai tính theo độ thích nghi tiêu chuẩn

( )( )

Theo công thức trên, tổng tất cả G của 6 phần tử là : 17.5

Như vậy, độ thích nghi của phần tử a1: F(a1) = 5.3 / 17.5 » 0.303

Độ thích nghi của phần tử a2: F(a2) = 2.1 / 17.5 = 0.12

Ta có bảng kết quả cuối cùng như sau :

Nhận xét: độ thích nghi luôn có giá trị biến thiên trong khoảng [0,1] Hơn

nữa, vì độ thích nghi sẽ ứng với khả năng được chọn lọc trong việc sinh ra thế hệ sau nên người ta thường chọn cách tính sao cho độ thích nghi cuối cùng là một xác suất, nghĩa là tổng độ thích nghi của các cá thể phải nhỏ hơn hoặc bằng 1

2.1.3.6 Độ thích nghi xếp hạng (rank method)

Cách tính độ thích nghi tiêu chuẩn như trên chỉ thực sự hiệu quả đối với những quần thể có độ tốt tương đối đồng đều giữa các cá thể Nếu, vì một lý do nào đó – có thể do chọn hàm mục tiêu không tốt - có một cá thể có độ tốt quá cao, tách biệt hẳn các cá thể còn lại thì các cá thể của thế hệ sau sẽ bị “hút” về phía cá thể đặc biệt đó

Do đó, sẽ làm giảm khả năng di truyền đến thế sau của các cá thể xấu, tạo nên hiện

Trang 34

34

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

tượng di truyền cục bộ, từ đó có thể làm giảm khả năng dẫn đến lời giải tốt nhất (vì

cá thể đặc biệt đó chưa chắc đã dẫn đến lời giải tốt nhất)

Phương pháp xác định độ thích nghi xếp hạng sẽ loại bỏ hiện tượng di truyền cục bộ này Phương pháp này không làm việc trên giá trị độ lớn của hàm mục tiêu G

mà chỉ làm việc dựa trên thứ tự của các cá thể trên quần thể sau khi đã sắp xếp các cá thể theo giá trị hàm mục tiêu G Chính vì vậy mà ta gọi là độ thích nghi xếp hạng Phương pháp này sẽ cho ta linh động đặt một trọng số để xác định sự tập trung của

độ thích nghi lên các cá thể có độ tốt cao, mà vẫn luôn đảm bảo được quy luật: cá thể

có độ thích nghi càng cao thì xác suất được tồn tại và di truyền càng cao

Một cách ngắn gọn, ta có độ thích nghi (hay xác suất được chọn) của cá thể thứ i được tính theo công thức sau:

F(i) = p*(1-p)i-1với p là một hằng số trong khoảng [0,1]

Công thức trên được xây dựng dựa trên quy tắc được trình bày ngay sau đây

và chúng ta sẽ xem phần giải thích quy tắc này như một tư liệu tham khảo

3) Mỗi lượt chọn chỉ chọn một cá thể Trong một lượt chọn, lần lượt xét các

cá thể theo thứ tự đã sắp Nếu xét đến cá thể thứ i mà cá thể đó được chọn thì lượt chọn kết thúc, ta thực hiện lượt chọn kế tiếp Ngược lại, nếu cá thể thứ i không được chọn, ta xét đến cá thể thứ i+1 Ta quy ước rằng, khi đã xét đến một cá thể, thì xác suất để chọn cá thể đó (trong thao tác chọn lọc hoặc lai tạo) luôn là p Rất hiển nhiên, khi đã xét đến một cá thể thì xác suất (XS) để KHÔNG chọn cá thể đó sẽ là 1-p

Ta ký hiệu a[i] là cá thể thứ i Từ quy tắc trên, suy ra để a[i] được xét đến thì: + a[i-1] đã phải được xét đến

+ nhưng a[i-1] phải KHÔNG được chọn

Do đó, XS a[i] được xét đến (chứ không phải XS để được chọn!)

= XS a[i-1] được xét * XS a[i-1] KHÔNG được chọn

= XS a[i-1] được xét * (1-p)

Trong đó, XS a[1] được xét =1 vì cá thể đầu tiên luôn được xét đến

Trang 35

35

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Bây giờ ta sẽ xây dựng công thức tổng quát để tính XS a[i] được xét đến dựa theo p

XS a[1] được xét = 1 = (1-p)0

XS a[2] được xét = XS a[1] được xét * (1-p) = 1*(1-p) = (1-p)1

XS a[3] được xét = XS a[2] được xét * (1-p) = (1-p)1 * (1-p) = (1-p)2

XS a[4] được xét = XS a[3] được xét * (1-p) = (1-p)2 * (1-p) = (1-p)3

Nói tóm lại:

XS a[i] được xét = XS a[i-1] được xét * (1-p) = (1-p)i-2 * (1-p) = (1-p)i-1

Như vậy XS a[i] được chọn = XS a[i] được xét * p = (1-p)i-1*p

Để thấy được tính linh động của phương pháp này, bạn hãy quan sát giá trị thích nghi ứng với mỗi giá trị p khác nhau trong bảng sau:

Giá trị p càng nhỏ thì độ giảm của tính thích nghi càng nhỏ Dựa vào đặc tính này, ta có thể dễ dàng kiểm soát được tính “hút” của các cá thể tốt trong quần thể bằng cách tăng hoặc giảm trị p tương ứng

2.1.4 Mã hóa (encoding)

2.1.4.1 Giới thiệu (Introduction)

Mã hóa nhiễm sắc thể là bước đầu tiên để giẩi quyết vấn đề bằng giải thuật di truyền Mã hóa là vấn đề quan trọng nhất

2.1.4.2 Mã hóa bằng số nhị phân (Binary Encoding)

Mã hóa bằng số nhị phân là phương pháp chính Bởi vì là phương pháp đầu tiên GA dung để mã hóa và nó đơn giản

Mỗi nhiễm sắc thể được biểu diễn bằng chuỗi bit 0 hoặc 1

Nhiễm sắc thể A 101100101100101011100101 Nhiễm sắc thể B 111111100000110000011111

Ví dụ mã hóa nhiễm sắc thể bằng chuỗi nhị phân

Trang 36

36

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Mã hóa số thực biểu diễn cho nhiễm sắc thể với số lượng gen nhỏ Còn với lượng gen lớn, phương pháp này thường không giải quyết được nhiều vấn đề tự nhiên

và các phép sửa chữa sau lai ghép và đột biến

2.1.4.3 Mã hóa vị trí (Permutation Encoding)

Những vấn đề dựa trên thứ tự có thể dùng mã hóa vị trí, ví dụ như bài toán người du lịch hoặc thao tác thứ tự vấn đề

Trong mã hóa vị trí mỗi nhiễm sắc thể được biểu diễn bằng chuỗi số nguyên theo một vị trí trình tự nhất định

Nhiễm sắc thể A 1 5 3 2 6 4 7 9 8 Nhiễm sắc thể B 8 5 6 7 2 3 1 4 9

Ví dụ mã hóa nhiễm sắc thể theo vị trí

Mã hóa vị trí có thể được dùng trong nhiều vấn đề có tính trình tự Một vài phép lai ghép và đột biến đòi hỏi sự nhất quán, cho một vài vấn đề

2.1.4.4 Mã hóa theo giá trị (Value Encoding)

Mã hóa theo giá trị có thể dùng trong nhiều vấn đề, ở một vài giá trị phức tạp(ví dụ: giá trị thực) Dùng mã hóa nhị phân để giải quyết vấn đề này rất khó

Trong mã hóa theo giá trị, mỗi nhiễm sắc thể được biểu diễn theo trình tự dựa trên giá trị Phương pháp này dùng giải quyết nhiều vấn đề, ví dụ: Số thực, ký tự hoặc đối tượng không xác định

Nhiễm sắc thể A 1.2324 5.3243 0.4556 2.3293 2.4545

Nhiễm sắc thể B ABDJEIFJDHDIERJFDLDFLFEGT

Nhiễm sắc thể C (back), (back), (right), (forward), (left)

Ví dụ mã hóa nhiễm sắc thể theo giá trị

Mã hóa theo giá trị giải quyết tốt cho nhiều vấn đề đặc biệt Tuy nhiên phương pháp này thường cần để phát triển một vài vấn đề lai ghép mới và đột biến cụ thể

2.1.4.5 Cây mã hóa (Tree Encoding)

Cây mã hóa dùng trong chương trình tiến hóa hoặc biểu thức cho lập trình tiến hóa Trong cây mã hóa mỗi nhiễm sắc thể là một cây , ví dụ hàm và lệnh trong ngôn ngữ lập trình

Trang 37

2.1.5 Các phương pháp chọn(Selection)

Chọn lọc cá thể thông qua kết quả, hay mục đích của vấn đề dựa trên mức độ thích nghi của cá thể Vì vậy, đánh giá độ thích nghi của cá thể để tìm ra cá thể tốt nhất Thông thường, đặt mỗi vấn đề nhỏ tương ứng với một giá trị điểm thích nghi , kết quả đánh giá gồm tổng các số điểm đó Cá thể tốt nhất sẽ có điểm thấp nhất hoặc lớn nhất

Theo thuyết Darwin, cá thể tốt nhất sẽ tồn tại và tạo ra các cá thể con mới Có nhiều phương pháp để chọn các nhiễm sắc thể tốt nhất Sau đây là vài phương pháp trong số đó

2.1.6 Chọn lọc Roulette (Roulette Wheel Selection)

Các cá thể được chọn theo độ thích nghi của chúng Nhiễm sắc thể tốt hơn có

cơ hội cao hơn để tham dự vào thế hệ tiếp theo

Thuật giải chọn lọc roulette (Davis, [1991,8]) như sau:

Tính tổng độ thích nghi của mọi thành viên trong quần thể; gọi kết quả là độ thích nghi tổng cộng (total fitness)

Phát sinh n, một số ngẫu nhiên giữa 0 và độ thích nghi tổng cộng (total fitness) Trở về thành viên đầu tiên của quần thể có độ thích nghi lớn hơn hay bằng n,

bổ sung vào độ thích nghi của các thành viên đứng trước trong quần thể

Trang 38

2.1.6.2 Chọn lọc cạnh tranh( Tournament Selection)

* Chọn lọc cạnh tranh 2 (2- Tournament Selection)

Hai nhiễm sắc thể khác nhau được chọn ngẫu nhiên và được so sánh với nhiễm sắc thể tồn tại Nếu nhiễm sắc thể I1 không tốt hơn nhiễm sắc thể I2 nghĩa là: f(I1)≤ f(I2), thì nhiễm sắc thể I1 chết đi và bị loại ra khỏi quần thể(liên kết được phá vỡ 1 cách tùy ý) Quá trình này lặp lại đến hết N nhiễm sắc thể còn lại

* Chọn lọc cạnh tranh 3 (3- Tournament Selection)

Ba nhiễm sắc thể khác nhau được chọn ngẫu nhiên và được so sánh với nhiễm sắc thể tồn tại Nếu chúng ta có: f(I1) ≤ f(I2) và f(I1) ≤ f(I3), thì nhiễm sắc thể I1 chết

đi và bị loại ra khỏi quần thể (liên kết được phá vỡ 1 cách tùy ý) Quá trình này lặp lại đến hết N nhiễm sắc thể còn lại

2.1.6.3 Các phương pháp lai tạo (crossover) và đột biến (mutation)

Lai ghép và đột biến là hai phép cơ bản được thực hiện trong giải thuật di truyền trên nhiều vấn đề Kiểu và thực thi của phép thực hiện trên mã hóa và ngoài

ra trên vấn đề Có nhiều phuơng pháp lai ghép và đột biến Ở đây chúng ta chỉ miêu

Trang 39

39

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

11001011 + 11011111 = 11011111 Lai ghép đồng dạng(Uniform crossover) – Những bit được copy ngẫu nhiên

từ nhiễm sắc thể cha thứ nhất sang nhiễm sắc thể cha thứ hai và ngược lại

11001011 + 11011101 = 11011111 Lai ghép số học (Arithmetic crossover) – Một vài phép tính số học được thực hiện khi lai ghép để tạo ra nhiễm sắc thể con (AND,OR,NOT…)

2.1.6.5 Permutation Encoding (Mã hóa vị trí)

Crossover

Single point crossover (Lai ghép một vị trí) – Chọn một vị trí lai ghép, sau đó sao ghép hai nhiễm sắc thể cha mẹ ở vị trí đã chọn, ta hãy tự điều chỉnh cho phù hợp Chú ý: ở đây có nhiều đường tạo ra nhiễm sắc thể con sau phép lai ghép này

(1 2 3 4 5 6 7 8 9) + (4 5 3 6 8 9 7 2 1) = (1 2 3 4 5 6 8 9 7)

Mutation

Thay đổi thứ tự (Order changing )- Chọn hai vị trí sau đó đổi vị trí cho nhau

(1 2 3 4 5 6 8 9 7) => (1 8 3 4 5 6 2 9 7)

Trang 40

40

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

2.1.6.6 Value Encoding (mã hóa theo giá trị)

Thay đổi toán tử, số (Changing operator, number )- chọn note sau đó thay đổi

nó Một số toán tử lai ghép trong GA mã hóa số thực Xét bài toán tối ưu max f(x1,x2,…,xn) trên miền D thuộc không gian Rm

Trong bài toán dạng này, một cách tự nhiên thường sử dụng GA mã hóa số thực, mỗi cá thể được biểu thị bởi một vectơ Rn (tất nhiên phải thuộc miền xác định D) Mỗi quần thể kích cỡ m (có m cá thể) có thể biểu diễn như một ma trận thực cấp m×n Với GA mã hóa số thực, có nhiều dạng toán tử lai ghép khác nhau Sau đây là một số phương pháp lai ghép thường dùng

Ngày đăng: 23/06/2017, 17:24

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiế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 Sách, tạp chí
Tiêu đề: Trí tuệ nhân tạo - Lập trình tiến hóa
Tác giả: Nguyễn Đình Thúc
Nhà XB: NXB Giáo dục
Năm: 2000
[2] Nguyễn Đình Thúc (2000). “Mạng Nơ ron phương pháp và ứng dụng”. Nhà XB Giáo dục Sách, tạp chí
Tiêu đề: Mạng Nơ ron phương pháp và ứng dụng”
Tác giả: Nguyễn Đình Thúc
Năm: 2000
[3] An Hồng Sơn, (2008). “Nghiên cứu một số phương pháp phân cụm mờ và ứng dụng”, Luận văn thạc sĩ, Trường Đại học Thái Nguyên Sách, tạp chí
Tiêu đề: Nghiên cứu một số phương pháp phân cụm mờ và ứng dụng”
Tác giả: An Hồng Sơn
Năm: 2008
[4] PGS.TS Đỗ Phúc (2006). “Giáo trình Khai thác Dữ liệu, Trường Đại học Công nghệ thông tin TP. Hồ Chí Minh”. Đại học Quốc gia TP. Hồ Chí Minh Sách, tạp chí
Tiêu đề: Giáo trình Khai thác Dữ liệu, Trường Đại học Công nghệ thông tin TP. Hồ Chí Minh”
Tác giả: PGS.TS Đỗ Phúc
Năm: 2006
[5] Nguyễn Nhật Quang (2011). “Khai Phá Dữ Liệu, Trường Đại học Bách khoa Hà Nội”.II. TÀI LIỆU TIẾNG ANH Sách, tạp chí
Tiêu đề: Khai Phá Dữ Liệu, Trường Đại học Bách khoa Hà Nội
Tác giả: Nguyễn Nhật Quang
Năm: 2011
[7] David A.Coley, “an introduction to genetic algorithms for scientists and enginer”, Copyright Q 1999 by World Scientific Publishing Co. Pte. Ltd Sách, tạp chí
Tiêu đề: an introduction to genetic algorithms for scientists and enginer”
[8] Han J, M. Kamber, J. Pei, (2012). “Data Mining: Concepts and Techniques”. Third Edition, Morgan Kaufmann Publishers is an imprint of Elsevier, USA Sách, tạp chí
Tiêu đề: Data Mining: Concepts and Techniques”. "Third Edition, Morgan Kaufmann Publishers is an imprint of Elsevier
Tác giả: Han J, M. Kamber, J. Pei
Năm: 2012
[9] Goldberg D. E., (1989). “Genetic algorithm in search, optimization and machine learning”. Addison-Wesley, Reading, Massachusets Sách, tạp chí
Tiêu đề: Genetic algorithm in search, optimization and machine learning”
Tác giả: Goldberg D. E
Năm: 1989
[10] Qin Ding and Jim Gasvoda (2005). “A Genetic Algorithm for Clustering image data” Sách, tạp chí
Tiêu đề: A Genetic Algorithm for Clustering image data
Tác giả: Qin Ding and Jim Gasvoda
Năm: 2005
[11] Luiz Antonio Nogueira Lorena Luiz Antonio Nogueira Lorena. “Using Genetic Algorithms in Clustering Problems” Sách, tạp chí
Tiêu đề: Using Genetic Algorithms in Clustering Problems
[12] Jay N Bhuyan, Vijay V. Raghavan, Venkatesh K. Elayavalli. “Genetic Algorithm for Clustering with an Ordered Representation” Sách, tạp chí
Tiêu đề: Genetic Algorithm for Clustering with an Ordered Representation
[13] Miki AOYAGI and Kumiko Tsuji (2004), “ A modified genetic algorithm for image segmentation based on feature clustering” Sách, tạp chí
Tiêu đề: A modified genetic algorithm for image segmentation based on feature clustering
Tác giả: Miki AOYAGI and Kumiko Tsuji
Năm: 2004
[14] Dr. (Mrs.) R.Sukanesh, R. Harikumar Member, IAENG (2007). “A Comparison of Genetic Algorithm &amp; Neural Network (MLP) In Patient Specific Classification of Epilepsy Risk Levels from EEGSignals” Sách, tạp chí
Tiêu đề: A Comparison of Genetic Algorithm & Neural Network (MLP) In Patient Specific Classification of Epilepsy Risk Levels from EEGSignals
Tác giả: Dr. (Mrs.) R.Sukanesh, R. Harikumar Member, IAENG
Năm: 2007
[15] S. Rajasekaran, G. A. Vijayalakshmi Pai (2004). “ Neural Networks, Fuzzy Logic and Genetic Algorithms” Sách, tạp chí
Tiêu đề: “ Neural Networks, Fuzzy Logic and Genetic Algorithms
Tác giả: S. Rajasekaran, G. A. Vijayalakshmi Pai
Năm: 2004
[17] Richard S. Segall , Qingyu Zhang (2006), “Applications of Neural Network and Genetic Algorithm Data Mining Techniques in Bioinformatics Knowledge Discovery - A Preliminary Study” Sách, tạp chí
Tiêu đề: Applications of Neural Network and Genetic Algorithm Data Mining Techniques in Bioinformatics Knowledge Discovery - A Preliminary Study
Tác giả: Richard S. Segall , Qingyu Zhang
Năm: 2006
[18] Shoa-Yei Yeong, Al-Salihy (2009). “Combination of neural network based clustering and genetic algorithm for multi-objective 802.11n planning” Sách, tạp chí
Tiêu đề: Combination of neural network based clustering and genetic algorithm for multi-objective 802.11n planning
Tác giả: Shoa-Yei Yeong, Al-Salihy
Năm: 2009
[19] Zhan-hong Xin, Hai-jun Zhang (2002). “Neural Network and Genetic Algorithms for Topology Optimization of the CCS7 Network” Sách, tạp chí
Tiêu đề: Neural Network and Genetic Algorithms for Topology Optimization of the CCS7 Network
Tác giả: Zhan-hong Xin, Hai-jun Zhang
Năm: 2002
[20] Guojun Gan, Chaoqun Ma, Jianhong Wu (2007). “Data Clustering Theory, Algorithms, and Applications”. ASA-SIAM Series on Statistics and Applied Probability, SIAM, Philadelphia, ASA, Alexandria, VA Sách, tạp chí
Tiêu đề: Data Clustering Theory, Algorithms, and Applications”
Tác giả: Guojun Gan, Chaoqun Ma, Jianhong Wu
Năm: 2007
[16] Schaffer, J.D. Whitley, D. Eshelman, L.J.Philips Labs., Briarcliff Manor Khác

HÌNH ẢNH LIÊN QUAN

Hình 2.2. Minh họa trường hợp tách dữ liệu thành 3 cụm - Khai phá dữ liệu sử dụng giải thuật di truyền và ứng dụng
Hình 2.2. Minh họa trường hợp tách dữ liệu thành 3 cụm (Trang 45)
Hình 2.3. Khái quát giải thuật CURE - Khai phá dữ liệu sử dụng giải thuật di truyền và ứng dụng
Hình 2.3. Khái quát giải thuật CURE (Trang 48)
Hình 2.6: Mật độ đến được - Khai phá dữ liệu sử dụng giải thuật di truyền và ứng dụng
Hình 2.6 Mật độ đến được (Trang 51)
Hình 2.8: Cụm và nhiễu. - Khai phá dữ liệu sử dụng giải thuật di truyền và ứng dụng
Hình 2.8 Cụm và nhiễu (Trang 52)
Hình 2.9: Hình dạng các cụm được khám phá bởi giải thuật DBSCAN - Khai phá dữ liệu sử dụng giải thuật di truyền và ứng dụng
Hình 2.9 Hình dạng các cụm được khám phá bởi giải thuật DBSCAN (Trang 53)
Bảng dưới đây sẽ đưa ra so sánh về hai giải thuật trên: - Khai phá dữ liệu sử dụng giải thuật di truyền và ứng dụng
Bảng d ưới đây sẽ đưa ra so sánh về hai giải thuật trên: (Trang 69)
Hình 3.1. Cơ sở dữ liệu học sinh sinh viên - Khai phá dữ liệu sử dụng giải thuật di truyền và ứng dụng
Hình 3.1. Cơ sở dữ liệu học sinh sinh viên (Trang 71)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w