Cơ sở lý thuyết của GA và GP

Một phần của tài liệu Luận văn thạc sĩ Khoa học máy tính: Bài toán phân lớp không cân đối cho dữ liệu giáo dục (Trang 33 - 37)

Chương 2. CƠ SỞ LÝ THUYẾT

2.2 Giải thuật tiến hóa trong phân lớp

2.2.1 Cơ sở lý thuyết của GA và GP

GA và GP dựa trên sự di truyền (hay tiến hóa) trong quá trình sinh sản của các sinh vật trong tự nhiên. Nền tảng sinh học của sự di truyền được tóm tắt như sau:

Nhiễm sắc thể (chromosome): Tất cả các cơ thể sống đều bao gồm nhiều tế bào.

Trong mỗi tế bào, có một số nhiễm sắc thể giống nhau. Mỗi nhiễm sắc thể là một chuỗi DNA (DesoxyriboNucleic Acid) và đóng vai trò như một mô hình cho toàn bộ cơ thể sống có nhiễm sắc thể đó. Mỗi nhiễm sắc thể bao gồm nhiều gien

(gene), tức các khối DNA; mỗi gien mã hóa một nét riêng (trait) của cơ thể sống, ví dụ màu mắt, màu tóc, v.v... Các giá trị khả dĩ cho một nét riêng nào đó (ví dụ:

xanh lơ, nâu, v.v…) được gọi là các allele của gien ứng với nét riêng ấy. Mỗi

gien có vị trí riêng trong nhiễm sắc thể, vị trí này được gọi là locus của gien đó.

Tập đầy đủ các vật liệu di truyền (tức tất cả các nhiễm sắc thể) của một cơ thể sống được gọi là bộ gien (genome) của cơ thể sống đó. Tập hợp cụ thể các gien trong một bộ gien được gọi là kiểu gien (genotype) của cơ thể sống có bộ gien đó.

Kiểu gien lúc mới sinh quyết định kiểu hình (phenotype), tức tập hợp các nét đặc trưng hay nét riêng về thể chất và trí tuệ (chẳng hạn như màu mắt, trí thông minh, v.v..), của cơ thể sống có bộ gien đó lúc trưởng thành.

Sự sinh sản: Trong quá trình sinh sản (tức tạo ra các cá thể con từ các cá thể cha

mẹ) của một quần thể các sinh vật, sẽ xảy ra sự lai giống hoặc lai ghép

(recombination hoặc crossover). Các gien từ các cá thể cha mẹ sẽ hình thành nên

một bộ nhiễm sắc thể mới trong cá thể con theo một cách nào đó. Cá thể con mới được tạo ra có thể bị biến dị (mutated), nghĩa là các phần tử của cá thể bị thay đổi một chút. Những thay đổi này chủ yếu là do lỗi phát sinh trong việc sao chép các gien từ cha mẹ.

Độ khỏe mạnh hay độ phù hợp (fitness) của một cơ thể sống được đo đạc bằng

sự thành công của cơ thể sống đó trong cuộc đời của nó.

2.2.1.2 Các đặc điểm cơ bản của GA và GP

Giải thuật bắt đầu bằng một tập các cá thể (còn được gọi là “các lời giải dự tuyển” hoặc nhiễm sắc thể) gọi là quần thể (population). Trong mỗi bước lặp, còn được

gọi là một “thế hệ” (generation), một số cá thể lời giải (gọi là các lời giải cha mẹ

parents) từ quần thể hiện tại được đánh giá và được phân cho một giá trị độ khỏe mạnh hay độ phù hợp (fitness) nhất định. Để tạo thành một quần thể mới, trước hết một số cá

thể được chọn rồi sinh ra các lời giải dự tuyển mới (lời giải con cái – offspring). Làm như thế vì hy vọng rằng quần thể mới ấy sẽ tốt hơn quần thể cũ. Cách chọn các lời giải trong quần thể để sinh sản thường là theo tỷ lệ thuận với độ khỏe mạnh hay độ phù hợp

của chúng – chúng càng khỏe mạnh thì chúng càng có nhiều khả năng được chọn, chúng càng phù hợp với môi trường tự nhiên thì càng có khả năng sống sót và sinh sản ra thế hệ kế tiếp. Các cá thể (lời giải dự tuyển) con cái, đến lượt chúng, lại tạo thành quần thể các lời giải dự tuyển cha mẹ mới để sinh sản ra thế hệ kế tiếp mới (nếu cần).

Để sinh ra các lời giải dự tuyển mới, các GA hoặc GP sử dụng một vài phép toán

di truyền (genetic operator), thường là các loại sau:

Lai ghép (crossover hoặc recombination): là phép toán di truyền chính. Nó

lấy hai cá thể, gọi là các cá thể cha mẹ (parents), rồi sinh ra một hoặc hai cá

thể mới, gọi là cá thể con cái (offspring), bằng cách kết hợp những phần nào đó của các cá thể cha mẹ.

Biến dị (mutation): thực chất là một sự sửa đổi tùy ý một cá thể thuộc thế hệ

trước nào đó thành một cá thể cho thế hệ sau; mục đích của phép toán này là ngăn ngừa sự hội tụ sớm bằng cách lấy mẫu ngẫu nhiên những điểm mới trong không gian tìm kiếm.

Sao chép (reproduction): chỉ đơn giản là chọn ngẫu nhiên một cá thể nào đó

trong quần thể cũ rồi sao chép, không thay đổi, sang quần thể mới.

Các GA hoặc GP là những giải thuật lặp theo xác suất ngẫu nhiên, vốn không thể

bảo đảm là sẽ hội tụ ra lời giải tối ưu; việc kết thúc nó thường được kiểm soát bởi việc đạt đến một số lượng thế hệ tối đa nào đó, hay việc tìm thấy một lời giải chấp nhận được hoặc một tiêu chí kết thúc phức tạp hơn nào đó biểu thị sự hội tụ sớm.

2.2.1.3 Giải thuật Di truyền Chuẩn

Giải thuật được gọi là giải thuật di truyền chuẩn (standard genetic algorithm – SGA) [28], vốn là giải thuật cơ bản cho hầu hết các biến thể của các GA (bao gồm cả GP), được cho trong Giải thuật 2.1 trong Hình 2.3 bên dưới. Để dễ hình dung hơn, ta có thể quan sát lưu đồ của quy trình GA cơ bản được trình bày trong Hình 2.4.

Giải thuật 2.1: Quy trình cơ bản của một giải thuật di truyền.

Sinh ra một quần thể ban đầu các cá thể (nhiễm sắc thể) Đánh giá fitness của tất cả các cá thể

while điều kiện kết thúc chưa được thỏa do

Chọn các cá thể khỏe mạnh hơn (hoặc phù hợp hơn) để sinh sản và sinh ra những cá thể mới bằng các phép toán di truyền (ví dụ như lai ghép và biến dị)

Đánh giá fitness của các cá thể mới

Sinh ra một quần thể mới bằng cách đưa một số cá thể mới “tốt” vào quần thể cũ và xóa đi một số cá thể cũ “xấu” khỏi quần thể cũ

end while

Hình 2.3: Quy trình cơ bản của một giải thuật di truyền [30].

Hình 2.4: Các bước cơ bản của một giải thuật GA (hoặc GP) [29].

2.2.1.4 Nhận xét về quy trình GA cơ bản

Quy trình cơ bản của giải thuật GA rất khái quát, không cụ thể. Giải thuật GA có thể được hiện thực một cách khác biệt trong những bài toán khác nhau.

Câu hỏi đầu tiên là, làm thế nào để tạo ra các cá thể nhiễm sắc thể, và nên chọn

cách mã hóa hay kiểu gien (genotype) của nhiễm sắc thể (tức cách biểu diễn bên trong

của các tham số của bài toán) như thế nào. Nói cách khác, phải tạo ra song ánh giữa

kiểu gien và kiểu hình (phenotype, tức các tham số đó thực sự có ý nghĩa gì đối với bài toán) như thế nào. Cách mã hóa này sẽ được kết nối với các phép toán di truyền của GA, thường là lai ghép và biến dị. Việc chọn cách mã hóa và cách hiện thực các phép toán di truyền phù hợp nhất tùy thuộc vào bài toán cụ thể.

Câu hỏi kế tiếp là, làm cách nào để chọn các cha mẹ để lai ghép. Điều này có thể được thực hiện bằng nhiều cách, nhưng ý tưởng chính là chọn các cha mẹ tốt hơn (với hy vọng rằng các cha mẹ tốt hơn sẽ sinh ra những con cái tốt hơn). Ta cũng có thể nghi ngờ rằng liệu việc tạo ra quần thể mới chỉ bằng con cái mới thôi có thể khiến ta bỏ sót những nhiễm sắc thể tốt nhất bên ngoài quần thể cuối cùng hay không. Điều này đúng, cho nên nhiều lúc người ta dùng cái gọi là elitism (tạm dịch: cơ chế ưu tú) để khắc

phục, tức là ít nhất một cá thể lời giải (nhiễm sắc thể) tốt nhất từ quần thể cũ sẽ được sao chép mà không thay đổi vào một quần thể mới, cho nên lời giải tốt nhất mà giải thuật tìm được có khả năng sống sót cho đến cuối đợt chạy giải thuật.

Có nhiều công trình nghiên cứu đã ứng dụng thành công GA và GP để giải nhiều bài toán khai phá dữ liệu, trong đó có bài toán phân lớp – dự đoán.

Một phần của tài liệu Luận văn thạc sĩ Khoa học máy tính: Bài toán phân lớp không cân đối cho dữ liệu giáo dục (Trang 33 - 37)

Tải bản đầy đủ (PDF)

(131 trang)