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

Một phần của tài liệu (LUẬN văn THẠC sĩ) ứng dụng kỹ thuật đa mục tiêu vào phân cụm dữ liệu (Trang 32 - 39)

2.2 .Một số giải thuật tối ƣu hóa cụm

2.2.1. Giải thuật di truyền (Genetic Algorithm)

2.2.1.1. Giới thiệu

Thuật giải di truyền cung cấp một cách tiếp cận cho việc học dựa vào mô phỏng sự tiến hóa. Các giả thuyết thường được mô tả bằng các chuỗi bit, việc hiểu các chuỗi bit này tùy thuộc vào ứng dụng, ý tưởng các giả thuyết cũng có thể được mô tả bằng các biểu thức kí hiệu hoặc ngay cả các chương trình máy tính. Tìm kiếm giả thuyết thích hợp bắt

đầu với một quần thể, hay một tập hợp có chọn lọc ban đầu của các giả thuyết. Các cá thể của quần thể hiện tại khởi nguồn cho quần thể thế hệ kế tiếp bằng các hoạt động lai ghép và đột biến ngẫu nhiên – được lấy mẫu sau các quá trình tiến hóa sinh học. Ở mỗi bước, các giả thuyết trong quần thể hiện tại được ước lượng liên hệ với đại lượng thích nghi được cho, với các giả thuyết phù hợp nhất được chọn theo xác suất là các hạt giống cho việc sản sinh thế hệ kế tiếp. Thuật giải di truyền đã được ứng dụng một cách thành công cho những tác vụ học khác nhau và cho các vấn đề tối ưu hóa khác. Ví dụ, chúng đã được dùng để học tập luật điều khiển robot và để tối ưu hóa các thông số học và tôpô cho mạng nơron nhân tạo.

2.2.1.2. Các quy luật cơ bản

2.2.1.2.1. Qúa trình lai ghép

Quá trình này diễn ra bằng cách ghép một hay nhiều đoạn gen từ hai nhiễm sắc thể cha-mẹ để hình thành nhiễm sắc thể mới mang đặc tính của cả cha lẫn mẹ. Phép lai này có thể mô tả như sau:

Chọn ngẫu nhiên hai hay nhiều cá thể trong quần thể. Giả sử chuỗi nhiễm sắc thể của cha và mẹ đều có chiều dài là m. Tìm điểm lai bằng cách tạo ngẫu nhiên một con số từ 1 đến m-1. Như vậy, điểm lai này sẽ chia hai chuỗi nhiễm sắc thể cha-mẹ thành hai nhóm nhiễm sắc thể con là m1 và m2. Hai chuỗi nhiễm sắc thể con lúc này sẽ là m11+m22 và m21+m12. Đưa hai chuỗi nhiễm sắc thể con vào quần thể để tiếp tục tham gia quá trình tiến hóa.

Ví dụ: có hai nhiễm sắc thể bố và mẹ

Chromosome1 11011 | 00100 | 110110

Chromosome 2 10101 | 11000 | 011110

Thực hiện lai ghép ở các đoạn như sau sẽ tạo ra hai con:

Offspring 1 10101 | 00100 | 011110

Offspring 2 11011 | 11000 | 110110

Có thể thấy rằng, hai cá thể bố mẹ với các đặc tính tốt chưa chắc đã cho hai con có đặc tính tốt hơn nó. Tuy nhiên, khả năng tạo ra các cá thể con tốt là rất cao. Nếu hai cá thể con không phải là một lời giải tốt, nó có thể sẽ bị đào thải ở thế hệ tiếp theo.

đột biến là sự thay đổi một vài gen của một nhiễm sắc thể. Toán tử biến dị làm tăng nhanh quá trình hội tụ, nhưng cũng có thể sự tăng đột ngột không có tác dụng hoặc làm hội tụ sớm dẫn đến một lời giải kém tối ưu.

Trong GA cổ điển, mỗi cá thể biểu diễn bởi một chuỗi nhị phân. Phép đột biến tại một chỗ nào đó là việc đảo bít tương ứng tại vị trí đó.

Ví dụ:

Offspring 11011 00100 110110

Mutated Offspring 11010 00100 100110

2.2.1.2.3. Quá trình chọn lọc

Các cá thể được chọn lọc theo độ thích nghi của chúng để tham gia vào quá trình tiến hóa tiếp theo. Cá thể có độ thích nghi cao hơn sẽ có cơ hội sống sót nhiều hơn và có nhiều con trong trong thế hệ tiếp theo.

Phép chọn lọc các cá thể trong môi quần thể được thựchiện bởi bánh xe sổ số.

Quá trình chọn lọc:Chúng ta quay bánh xe sổ số với n lần ( n là số nghiệm của bài toán). Mỗi lần bánh xe dừng lại, một cá thể tương ứng sẽ bị rơi xuống rãnh và nó được chọn. Cá thể đó được chọn có cơ hội sóng sót và di truyền lại cho thế hệ sau. Với cách thực hiện này, có thể một số cá thể tốt sẽ được chọn nhiều lần, và các cá thể xấu sẽ bị loại bỏ dần.

Mỗi quần thể P(t-1) gồm n nhiễm sắc thể P(t-1) = {v1,v2,…vn}. Có thể xây dựng bánh xe sổ số như sau:

Để đánh giá độ thích nghi của quần thể, gọi là tổng độ thích nghi của quần thể ) ( 1    n i i v Eval F

Tính xác xuất chọn lọc của mỗi cá thể vi:

F v Eval pi  ( i)

Tính xác suất tích lũy qi cho mỗi cá thể vi:

n i p q n i j i , 1,2,... 1   

Thực hiện quá trình chọn lọc bằng các thực hiện chọn quần thể Q(t) từ quần thể p(t-1) dựa vào bánh xe sổ số:

- Với mỗi số tự nhiên k = 1,2…n. Ta sinh một số thực ngẫu nhiên rk trong đoạn [0,1]

- Nếu rk< q1 thì chọn cá thể v1, ngược lại, chọn cá thể vi sao cho qi-1 

rk qi , 2  i n

Cá thể 1 có xác suất chọn lọc là 31%, có nghĩa là khi bánh xe sổ số quay, nó có khả năng được chọn là 0.31. Tương tự như vậy với các cá thể 2,3,4,5.

Hình 2.1: Minh họa cho bánh xe sổ số với quần thể có 5 cá thể

2.2.1.2.4. Quá trình tái tạo

Quá trình tái tạo chính là để giữ lại các cá thể tốt hơn và loại bỏ các cá thể xấu hơn trong quần thể, trong khi vẫn giữ được số lượng của quần thể.

Quá trình tái tạo hay chính là tái sản sinh dùng để:

 Nhận ra các đặc cá thể tốt trong quần thể

 Tạo ra các bản sao của các cá thể tốt nhất

 Loại trừ các cá thể xấu từ quần thể trong khi các cá thể tốt đựoc sao chép vẫn có được duy trì trong quần thể

Công việc này có thể thực hiện được như sau: Điểm chọn

Cá thể có xắc suất

chọn nhiều nhất Cá thể có xắc

 Với mỗi cá thể vi thuộc Q(t), i = 1,..,n; gán cho nó một giá trị được sinh ngẫu nhiên tương ứng là u  [0,1]. Nếu u < pc thì vi đuợc đưa vào tập lai.

 Trong tập lai được chia thành các cặp và tiến hành lai ghép để tạo thành thế hệ sau cho chúng.

 Sau khi lai ghép, với mỗi gen của một cá thể cũng được gán cho một giá trị sinh ngẫu nhiên u  [0,1], nếu u < Project Manager thì gen đó được đột biến.

 Quá trình trên sẽ tạo ra một quần thể mới P(t) sau đó tiến hành đánh giá để chọn các cá thể thích nghi nhất.

2.2.1.3. Thủ tục GA

GA cổ điển do Holand đề xuất với mục đích giải quyết bài toán tối ưu sau:

f(x) {x  D  Rn} -> max (min). Trong đó D là hình hộp trong không gian số thực n- chiều Rn, f(x) > 0 với x  D.

Mỗi x trong D được mã hóa bằng một chuỗi nhị phân (x1,x2,….xm) với m là độ dài của chuỗi. Một chuỗi là biểu diễn của nhiễm sắc thể, và mỗi xi là một gen. Để đánh giá khả năng thích nghi của mỗi cá thể, ta xây dựng hàm

Eval(x1,x2,…xm) = f(x), với x là một vectơ tương ứng với (x1,x2,….xm) Thủ tục GA được xây dựng qua các bước sau:

Bước 1. Thế hệ T = 0; Khởi tạo ngẫu nhiên quần thể ban đầu P(0) gồm n cá thể

Bước 2: Đánh giá độ thích nghi của quần thể

Bước 3: Lặp quá trình tiến hóa cho thế hệ T = T+1

Bước 4: Chọn các cá thể tốt để sinh sản cho thế hệ ( bởi bánh xe sổ số)

Bước 5: Tái tạo quần thể với các cá thể đã chọn bằng các toán tử di truyền

Bước 6: Đánh giá quần thể vừa được tái tạo

Trong đó: P(t) là quần thể thế hệ thứ t;

E là điều kiện dừng thuật toán - được xây dựng bởi người dùng cho từng ứng dụng. Thuật toán di truyền có thể mô tả vắn tắt qua hình sau :

Procedure GA Begin t = 0; Khởi tạo P(t); Đánh giá (P(t)); While ( not E) do Begin t = t+1; Chọn Q(t) từ P(t-1) {bằng bánh xe sổ số}

Tái tạo P(t) từ Q(t) {bằng các toán tử di truyền} Đánh giá P(t)

End; End;

Hình 2.2: Sơ đồ cấu trúc thuật toán di truyền

2.2.1.4. Biểu diễn dữ liệu trong GA bằng vector số thực

GA cổ điển biểu diễn một lời giải tiềm năng (một nhiễm sắc thể) bằng một chuỗi mã hóa nhị phân. Nó sử dụng rất hiệu quả trong thuật ngữ của tính toán. Tuy nhiên, đối với bài toán lớn, thì độ dài của các nhiễm sắc thể biểu diễn theo GA cổ điển sẽ rất lớn và việc áp dụng nó là một vấn đề. Do đó sự cân bằng giữa hiệu quả tính toán và tính ứng dụng là nhiệm vụ cần thiết được đưa ra. Hiện nay một số phương pháp để mã hóa thông tin các nhiễm sắc thể được sử dụng là: cây mã hóa, chuỗi số thực,…

Trong phương pháp biểu diễn bằng số thực, ta sử dụng các vector thực trong miền giá trị xác đinh ( thuộc tập D) làm nhiễm sắc thể và xây dựng các toán tử di truyền thích hợp với phương pháp biểu diễn này mà vẫn giữ được đặc thù đã có của GA.

Các toán tử lai:

 Lai đơn giản: thực hiện tráo đổi hai nhóm gen tương tự như GAc cổ điển: x = (x1,x2, …..,xn) và y = (y1,y2,… ..yn)

Chọn điểm lai k  [1, n-1] (cho trước hoặc ngẫu nhiên), sẽ sinh ra hai cs thể mới:

o1 = (x1,x2, …..,xk, yk+1,…..yn) ; và o2 = (y1,y2,…..yk, xk+1, …xn)

 Phép lai số học đơn: lai hai vec tor

x = (x1,x2, …..,xn) và y = (y1,y2,…..yn) với điểm chọn tại k, ta được x' = (x1,x2, …..,xk',…..xn) ; và y' = (y1,y2,…..yk', …yn)

với xk' = a.xk +(1-a).yk và yk' = a.yk + (1-a).xk với a [0,1] là một số cho trước hoặc được chọn ngẫu nhiên.

 Lai số học toàn cục

Lai hai vector x = (x1,x2, …..,xn) và y = (y1,y2,…..yn)

sử dụng: x' = a.x +(1-a).y và y' = a.y + (1-a).x với a [0,1] là một số cho trước hoặc được chọn ngẫu nhiên.

Các toán tử biến dị:

- Biến dị đều:

Gen xkbiến dị thành xk' thì xk' là một số ngẫu nhiên phân bố đều trên miền xác định chấp nhận được [ak, bk] của nó.

Gen xkbiến dị thành xk' thì xk' thì xk' = xk+(t,xk) với (t,xk) là một số ngẫu nhiên phân bố không đều trên đoạn [ak-xk, bk - xk]

2.2.1.5. Ứng dụng của GA trong các thuật toán phân cụm

Trong các thuật toán phân cụm dữ liệu, GAs thường đươc sử dụng để tìm đặc trưng của các cụm theo chiến lược Heuictic với mục đích tăng nhanh độ hội tụ của thuật toán

Sử dụng phương pháp biểu diễn gen bằng số thực với một nhiễm sắc thể là một dãy các chữ số đặc trưng của một tâm cụm.

Thuật toán áp dụng cho họ các thuật toán phân cụm phân hoạch được áp dụng như sau:

Bước 1: Khởi tạo một quần thể ban đầu là một tập nhiễm sắc thể tương ứng với k đặc trưng của cụm ban đầu.

Bước 2: Lặp

Bước 3: Phân các đối tượng dữ liệu vào k cụm tương ứng theo thuật toán

Bước 4: Thay vì tính lại tâm cụm, ta sử dụng các toán tử trong GA để tìm các đặc trưng mới cho các cụm.

C1: Sử dụng toán tử lai để tạo ra các cụm đặc trưng mới từ k cum đặc trưng ban đầu, bằng việc chọn lọc các cặp nhiễm sắc thể để lai bằng bánh xe sổ số. Chọn ngẫu nhiên m cặp gen trong nhiễm sắc thể để tiến hành lai tạo, kết quả tạo ra hai nhiễm sắc thể con mới

C2: Sử dụng toán tử đột biến để đột biến một số các gen được chọn ngẫu nhiên trong nhiễm sắc thể đặc trưng cho một tâm cụm đang xét. Việc giả sử một gen an được đột biến sẽ tạo ra một giá trị tương ứng là an' bằng cách chọn một giá trị ngẫu nhiên trong tập các khả năng lựa chọn của an được xác định bởi dữ liệu của bài toán.

Kết quả phép đột biến cũng tạo ra một nhiễm sắc thể mới. Sau khi tìm được các thế hệ mới của k cụm, ta sử dụng một hàm đánh giá để quyết định chọn ra k đại diện mới trong bước phân hoạch tiếp theo.

Bước5: Quá trình sẽ kết thúc khi thỏa mãn điều kiện dừng

Một phần của tài liệu (LUẬN văn THẠC sĩ) ứng dụng kỹ thuật đa mục tiêu vào phân cụm dữ liệu (Trang 32 - 39)

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

(68 trang)