1 2 Giải thuật di truyền

Một phần của tài liệu Khai thác dữ liệu và xử lý phân tích trực tuyến (Trang 39)

Trong phần này chúng tôi sẽ giới thiệu giải thuật di truyền đơn giản còn giải thuật di truyền cải tiến xin xem tài liệu [1 0], [16].

Việc sử dụng các giải thuật di truyền trong khai thác dữ liệu có rất nhiều dạng, nhưng nói chung nó được sử (lụng trên nền của các kỹ thuật khai thác dữ liệu khác ví dụ như mạng neuron hay kỹ thuật phân lớp láng giềng gẩn nhất. Sở dĩ giải thuật này cần thiết trong khai thác dữ liệu là vì hầu hết các kỹ thuật khai thác dữ liệu tóm lại đều là vấn đề tối ưu hoá. Đối với mạng neuron, dó là vấn đề tìm kiếm các trọng số cho một cấu trúc mạng tối ưu. Đối với láng giềng gần nhất, đó là vấn đề tìm các trọng số quan trọng tối ưu để áp dụng cho mỗi yếu tỏ dự đoán. Đối với cây quyết định, dó là bài toán tìm kiếm yếu lố dự đoán tôì nhất và các giá trị để phân tách trong việc lối ưu hoá cAy. Giải iliuật di truyền được (lánh giá bằng hàm llúch nghi để xác định các mô hình dự đoán tối ưu cho việc khai thác dữ liệu.

Các giải thuật di truyền (GAs - Genetic Algorithms) dược phát triển dựa trên các quá trình quan sát được trong tiến hóa tự nhiên. Nguyên lý cơ bản của giải thuật dược Holland công bố lần đầu tiên vào năm 1962, nhưng nền tảng loán học của nó hơn một chục năm sau mới ra dời (1975).

Thực chất các giải thuật di truyền là các giải thuật tìm kiếm dựa trên các cơ chế chọn lọc tự nhiên, di truyền học và tiến hóa. Chúng kết hợp sự tồn tại của các cấu

Irúc chuỗi (gen) khỏe nhất và sự trao đổi thông tin về cáu trúc giữa cúc chuỗi đó một cách ngẫu nhiên để tạo ra một giải thuật có khả nãng tìm kiếm tương tự như sự lựa chọn có chọn lọc tự nhiên. Trong mỗi thế hệ, một lập mới các sinh vật (chuỗi gen) được tạo ra từ việc tráo đổi và đột biến ngẫu nhiên các hit của các cá thể thích nghi từ tập các cá thể đã tổn tại.

Phần tử cơ bản được xử lý bởi GAs là những chuỗi bil dược tạo ra bởi việc cắt dán các chuỗi bit con. Mỗi chuỗi bit đại diện cho một lập thông số trong không gian tìm kiếm. Do đó mỗi chuỗi bit có thể là một lời giải của bài toán tối ưu hóa. Mỗi chuỗi bit sau đó sẽ dược giải mã để lính lại tập thông số. Qua đó tính được giá trị của hàm mục liêu tại từng điểm riêng hiệt trong không gian lìm kiếm. Giá liị của hàm mục tiêu này, tùy vào từng bài toán có thể là cực tiểu hay cực đại, sau dó sẽ được biến đổi thành giá trị đo độ thích nghi của lừng chuỗi. Quần i h ể chuỗi ban đầu được khởi lạo ngẫu nhiên, sau đó được tiến hóa lừ thế hệ này sang thế hệ khác, song tổng số chuỗi trong mỗi quần thể là không dổi. Giải thuật di truyền đơn giản chỉ sứ dụng 3 toán tử: tái tạo (reproduction), tạp lai (crossover) và đột biên (imitation).

3 . 1 . 2 . 1 Tái tạ o

Tái tạo là quá trình trong đó các chuỗi được sao chép lại theo giá trị của hàm mục tiêu f, hay còn gọi là hàm thích nghi. Chúng ta có thổ coi hàm này như là độ đo mức độ tới m à chúng ta cần cực đại hóa. Việc sao chép các chuỗi theo giá trị độ đo thích nghi của chuỗi nghĩa là những chuỗi với giá trị hàm thích nghi lớn sẽ có xác suất lớn trong việc đóng góp một hay nhiều COI1 cháu trong thế hệ tiếp theo. Toán tử này chính là mô phỏng của hoạt dộng chọn lọc tự nhiên theo học thuyết tiến hóa của ĐácUyn. Trong các quần thể tự nhiên, độ thích nghi được xác định bởi khả năng sống sót của cá thể chống lại nluìiig khó khăn trong quá trình trưởng thành. Trong giải thuật di truyền, giá trị của hàm thích nghi là trọng tài quyết định sự tổn tại hay diệt vong của chuỗi. Giả sử ta có báng sau:

STT Chuỗi Đ ô thích nghi Tỳ lệ % T ổng tích lũy

1 01101 169 14.4 169

2 11000 57 6 49.2 745

3 0 1 0 0 0 64 5.5 8 09

4 10011 361 30.9 1170

k ... 1170 100.0

Hì nh 3-3. Ví dụ áp d ụng toán tử tái tạo

Toán lử tái tạo có thể dược hiểu theo nhiều cách. Cách đơn giản và hiệu quả nhấl là bằng vòng tròn định hướng Rulet (Biased roulelte

w h e el). Ớ đây m ỗi chuỗi trong quẩn thể chiếm một giải

quạt có độ rộng tỷ lệ với độ thích nghi của chuỗi. Độ rộng của khe đưực tính theo tỷ lệ phần trăm dộ thích nghi của chuỗi với lổng mức Illicit nghi cùa toàn quàn thể là 1 0 0%. Ví dụ với quần thể của 4 cá thể cho theo bảng 3.3, chúng ta có vòng tròn Rulel như hình 3.4. Mồi hill quay vòng tròn Rulet, chúng ta có một ứng cử viên cho việc tái lạo.

Việc quay vòng tròn để chọn ứng cứ viên cho việc tái tạo được tlụrc hiện theo các bước sau:

- Đ ánh số các cá thổ trong quẩn lliể. Tính tổng mức ihích nghi của loàn quần thể. Ung với mỗi cá thể ta tính một tổng tích lũy (running total) bằng tổng mức thích nghi của cá thể đó với mức thích nghi của các cá thể dứng trước nó.

- Sinh một số ngẫu nhiên n trong khoảng từ 0 dến tổng mức t h í c h nghi.

- Cá thể đẩu tiên trong quần thể có lổng chạy lớn hưu hay bằng n sẽ đưực chọn. Ví dụ với số ngẫu nhiên n = 654 llìì chuỗi thứ 2 Irong bảng 3.3 sẽ được chọn. Môi khi được chọn, một bán sao cua ứng cử viên sẽ dược sao chép vào một quẩn thể lạm thời để thực hiện toán lử lạp lai tiếp theo. Bàng cách này, những chuỗi có mức thích nghi càng lớn sẽ có xác suất dược sao chép càng lớn và do đó đóng góp càng nhiều cho thế hệ con cháu tiếp theo.

3 . 1 . 2 . 2 T ap lai

Toán tử tái tạo hướng sự tìm kiếm về các cá thể lốt nhất (thích nghi nhất) nhưng không tạo ra các cá thể mới. Trong tự nhiên, mỗi cá thể con đều có cha m ẹ và thừa hưởng gen của cả hai. Toán tử hoạt dộng trên gen của cha mẹ chính là loán lử lạp lai và xảy ra với xác suất pc. Quá (lình tạp lai diễn ru theo hai giai đoạn:

- Hai chuỗi trong quần thể tạm thòi dược chọn ghép đôi môi cách ngãu nhiên. - Sinh một số ngẫu nhiên k trong khoảng [ 1, 1- 1] (1 là độ dài của chuỗi). Hai chuỗi mới được tạo ra bằng việc sao chép các ký tự lừ 1 đến k và tráo đổi các ký lự từ k+1 đến 1.

Ví dụ: Ta có hai chuỗi bố mẹ là: A l = ( ) 1 1 0 1

A2 = 1 1 0 0 0 Vị trí tạp lai

t - ____ _ _ l ' Hai chuỗi mới dược sinh ra là: A 1’ = 0 1 1 0 0

A 2 ’ = 1 1 0 0 1

3 . 1 . 2 . 3 Đ ô t biến

Mặc dù toán tử tái tạo và tạp lai tạo ra các chuỗi mới song chúng không đưa vào quần thể những thông tin mới ở mức bit (gen). Toán tử đột biến được đưa vào áp dụng cho các bit với một xác suất nhỏ pm. Toán tử dột biến biến đổi một cách ngẫu nhiên những bit được chọn trong chuỗi. Xác suất đột biến nói chung là rất nhỏ vì thực tế toán lử đột biến là toán tử tìm kiếm ngẫu nhiên.

Ba toán tử này (tái tạo, tạp lai, đột biến) dược liến hành trong một vòng lặp cho đến khi các chuỗi con chiếm toàn bộ quần thể mới. Do đó, quần thể mới bao gồm các cá thể của ba loại: bị đột biến sau tạp lai,; tạp lai nhưng không đột biến; không tạp lai cũng không đột biến mà chỉ đơn giản là sao chép lại.

Như vậy trong giải thuật di truyền dơn giản chúng ta cđn xác định 4 thông số như sau: - n : kích thước của quần thể hay số cá thể trong q u ầ n thể

- pc : xác suất tạp lai

Một phần của tài liệu Khai thác dữ liệu và xử lý phân tích trực tuyến (Trang 39)