.1 Các chuỗi của bài toán mẫu và các giá trị thích nghi

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu ứng dụng các phương pháp học máy tiên tiến trong công tác dự báo vận hành hồ hòa bình luận văn ths công nghệ thông tin 60 48 05 (Trang 37)

STT Chuỗi Độ thích nghi Tỉ lệ (%) 1 01101 169 14.4 2 11000 576 49.2 3 01000 64 5.5 4 10001 361 30.9 Tổng cộng 1170 100.0

Bánh xe rollete được đánh trọng số phù hợp cho sự tái tạo của thế hệ này được thể hiện trên hình sau:

Hình 2.1 Sự sinh sản đơn giản phân bố các chuỗi con cháu nhờ sử dụng bánh xe roulette với các khe hở tỷ lệ với độ thích nghi

Với bài toán hộp đen, để sinh sản chúng ta chỉ cần quay bánh xe roulette 4 lần đối với bài toán này, chuỗi 1 có giá trị thích nghi là 169, đại diện cho 14.4% bánh xe roulette, và cứ mỗi lần quay xác suất chọn chuỗi 1 là 0.144. Tương tự với các chuỗi còn lại. Mỗi khi chúng ta yêu cầu một thế hệ khác, một vòng quay đơn giản của bánh xe đánh trọng số sẽ chọn ra được ứng cử viên để sinh sản. Bằng cách này, những chuỗi thích nghi hơn sẽ có một số lượng con cháu lớn hơn trong thế hệ kế tiếp.

Lai ghép:

Mỗi khi một chuỗi được chọn để sinh sản, một bản sao chính xác của chuỗi đó sẽ được tạo ra. Các bản sao này được đưa vào bể ghép đôi (matingpool). Toán tử lai ghép đơn giản có thể được tiến hành theo hai bước:

Bước 1: Các thành viên của các chuỗi đơn giản mới ở trong bể ghép được ghép đôi với nhau một cách ngẫu nhiên.

Bước 2: Mỗi cặp chuỗi sẽ trải qua việc ghép chéo như sau: Một số nguyên chỉ vị trí k dọc theo chuỗi sẽ được lựa chọn qua giá trị ngẫu nhiên nằm trong khoảng từ 1 đến chiều dài chuỗi L-1 ([1, L-1]). Hai chuỗi mới sẽ được tạo ra bằng cách hoán đổi tương ứng các chuỗi ký tự từ vị trí 1 đến k và từ k+1 đến L của hai chuỗi cha-mẹ cho nhau. Ví dụ: xét 2 chuỗi A1 và A2 từ quần thể ban đầu:

A1 = 0110|1

A2 = 1100|0

Giả sử trong khi chọn một số ngẫu nhiên nằm trong khoảng từ 1 đến 4, chúng ta được k = 4 (như được chỉ ra bằng dấu ngăn cách “|”). Kết quả của việc ghép chéo làm sinh ra hai chuỗi mới A‟1 và A‟2, trong đó dấu ‟ có nghĩa là các chuỗi này là phần tử của thế hệ mới.

A‟1 = 01100 A‟2 = 11001

Cơ chế sinh sản và ghép chéo đơn giản, bao gồm việc sinh số ngẫu nhiên, sao chép chuỗi và trao đổi các chuỗi thành phần. Tuy nhiên, điểm cần nhấn mạnh là việc sinh sản và trao đổi thông tin có cấu trúc (dù là một cách ngẫu nhiên) của cả quá trình ghép chéo làm cho các giải thuật di truyền tăng thêm sức mạnh.

Đột biến:

Nếu sự sinh sản theo độ thích nghi kết hợp với sự ghép chéo cho giải thuật di truyền có năng lực xử lý tốt hơn, thì sự đột biến đóng một vai trò quyết định thứ hai trong hoạt động của giải thuật di truyền. Sự đột biến là cần thiết bởi vì: cho dù sự sinh sản và ghép chéo đã tìm kiếm hiệu quả và tái kết hợp lại các gen với nhau, nhưng thỉnh thoảng chúng có thể làm mất một vài gen hữu ích nào đó (bít 1 hay bít 0 tại những vị trí đặc biệt nào đó). Trong các hệ thống gen nhân tạo, toán tử đột biến sẽ chống lại sự mất mát không được khôi phục đó. Trong giải thuật di truyền đơn giản, đột biến là sự thay đổi ngẫu nhiên và không thường xuyên (với xác xuất nhỏ) trị số vị trí của một chuỗi. Trong việc mã hóa nhị phân của bài toán hộp đen có nghĩa là chỉ cần đổi 1 thành 0 và ngược lại. Sự đột biến là một hoạt động ngẫu nhiên trong

không gian chuỗi, khi được dùng cùng với sự sinh sản và ghép chéo nó sẽ là một chính sách bảo hiểm chống lại nguy cơ mất mát những gen quan trọng.

Ba toán tử tái tạo, lai ghép, đột biến được áp dụng lặp đi lặp lại để tạo ra nhiễm sắc thể mới. Coi như một thế hệ mới tương ứng với một quá trình sinh sản đã được tạo xong bao gồm một quần thể các chuỗi nhiễm sắc thể, trong giải thuật di truyền có thể sinh ra nhiều thế hệ.

b. Sơ đồ giải thuật di truyền đơn giản

Giải thuật di truyền bao gồm các bước sau:

1. Khởi tạo quần thể ban đầu của các chuỗi nhiễm sắc thể.

2. Xác định giá trị hàm mục tiêu cho mỗi một chuỗi nhiễm sắc thể.

3. Tạo các chuỗi nhiễm sắc thể mới bằng sinh sản từ các chuỗi nhiễm sắc thể hiện tại, có tính đến ghép chéo và đột biến xảy ra (nếu có).

4. Xác định hàm mục tiêu cho các chuỗi nhiễm sắc thể mới và đưa nó vào trong một quần thể mới.

5. Nếu điều kiện dừng đã thỏa mãn thì dừng lại và trả về chuỗi nhiễm sắc thể tốt nhất cùng với giá trị hàm mục tiêu của nó, nếu không thì quay về bước 3.

Lưu đồ thuật toán:

Hình 2.2 Lưu đồ thuật toán của giải thuật di truyền đơn giản

Tạo quần thể ban đầu của các chuỗi nhiễm sắc thể

Xác định giá trị hàm mục tiêu của các chuỗi nhiễm sắc thể

Tạo các chuỗi nhiễm sắc thể bằng cách sinh sản từ các chuỗi nhiễm sắc thể hiện tại. (Có xét đến ghép chéo và đột biến xảy ra)

Tính toán các giá trị mục tiêu của các chuỗi nhiễm sắc thể mới và đưa nó vào một quần thể mới

Kiểm tra xem điều kiện dừng đã thoả mãn chưa?

Kết thúc

Y N

2.2 Ứng dụng giải thuật di truyền vào bài toán tối ưu hoá trọng số của mạng nơ-ron nhân tạo trọng số của mạng nơ-ron nhân tạo

Như chúng ta đã biết sử dụng giải thuật lan truyền ngược sai số để tối ưu hoá trọng số của mạng nơ-ron nhân tạo đang được sử dụng rộng rãi hiện nay. Tuy nhiên, giải thuật này hoạt động theo cơ chế giảm gradient nên nó khó có thể tìm ra được cực trị toàn cục. Trong nghiên cứu của mình tôi sử dụng giải thuật di truyền để tối ưu hoá trọng số của mạng giúp quá trình học của mạng được tốt hơn.

Để có thể sử dụng được giải thuật di truyền vào việc học của mạng nơ-ron cần phải thực hiện một số bước như sau:

- Xây dựng hàm giá - Mã hoá nhiễm sắc thể

- Thực hiện giải thuật di truyền

2.2.1 Xây dựng hàm giá

Hàm giá này sẽ được sử dụng để tạo nên độ phù hợp của các cá thể và của cả quần thể trong GA. Trong nghiên cứu này tôi sử dụng hàm sai số căn quân phương RMSE của tập mẫu học.

 2 1 1 1 p n ij ij i j RMSE y d pn      (2.1) Trong đó:

- yij, dij là đầu ra của mạng và đầu ra mong muốn của đầu ra thứ j tại mẫu học thứ i

- n là số đầu ra của mạng - p là số mẫu học

Trong quá trình tiến hoá của toàn bộ quần thể, hàm giá này sẽ dần dần đạt tới cực tiểu toàn cục.

2.2.2 Mã hoá nhiễm sắc thể

Mỗi cá thể trong GA sẽ thay mặt cho một bộ trọng số của mạng nơ-ron. Ở đây ta không cần phải phân biệt trọng số nào ở lớp nào mà ta chỉ cần trải tất cả các trọng số lên sơ đồ gen của nhiễm sắc thể.

a. Mã hoá nhị phân

Một phương pháp mã hoá nhiễm sắc thể khá nổi tiếng do Whitley cùng các đồng tác giả [21] đề xuất gọi là GENITOR. Có một số phiên bản của GENITOR, về cơ bản mỗi trọng số của mạng được mã hoá thành một chuỗi bit như trên hình dưới. Index-bit để chỉ ra rằng kết nối có tồn tại hay không (bằng 1 - có kết nối, bằng 0 – không có kết nối). Chuỗi bit nhị phân còn lại sẽ biểu diễn giá trị của trọng số. Whitley sử dụng 8-bit để mã hoá dải giá trị từ -127 đến +127 số 0 được mã hoá 2 lần. Với cách mã hoá này các toán tử đột biến, lai ghép thực hiện khá đơn giản. Tuy nhiên, muốn tăng độ chính xác của việc mã hoá cần phải tăng số bit mã hoá trên một trọng số. Do đó, chiều dài của nhiễm sắc thể sẽ tăng theo dẫn đến việc thực thi thuật toán sẽ chậm.

Hình 2.3 Mã hoá nhị phân trọng số theo phương pháp GENITOR

b. Mã hoá số thực

Montana D. và Davis L. [16] mã hoá trực tiếp các trọng số bằng các số thực là các giá trị của các trọng số. Điều này làm tăng độ chính xác của phép mã hoá cũng như giảm được kích thước của nhiễm sắc thể. Trong nghiên cứu của mình chúng tôi cũng sử dụng phương pháp này để thực hiện việc mã hoá trọng số của mạng. Các gen (trọng số) được khởi tạo ngẫu nhiên trong khoảng (-3, +3). Tuy nhiên với kỹ thuật mã hoá này ta cần thay đổi các toán tử lai ghép, đột biến cho phù hợp.

Hình 2.4 Ví dụ về phương pháp mã hoá trọng số bằng số thực

2.2.3 Lai ghép

Có một số cách tiếp cận trong lai ghép giữa các nhiễm sắc thể [16].

a. Lai ghép trọng số (crossover-weights)

Toán tử lai ghép này sẽ đưa một giá trị vào mỗi vị trí của nhiễm sắc thể con bằng cách lấy ngẫu nhiên một giá trị tại cùng vị trí của nhiễm sắc thể cha hoặc mẹ.

b. Lai ghép nút (crossover-nodes)

Việc lai ghép được thực hiện giữa các nút cùng vị trí của cha và mẹ. Mỗi khi hai nút tại một lớp nào đó được lai ghép các trọng số của tất cả các liên kết tới các nút đó sẽ được hoán vị cho nhau (hình 2.5).

Hình 2.5 Lai ghép nút (crossover-nodes)

2.2.4 Đột biến

a. Đột biến trọng số (mutate weights)

Một gen (trọng số) được lựa chọn ngẫu nhiên với một xác suất pmutation để tiến hành đột biến. Có hai phương pháp đột biến trọng số [16] là:

UNBIASED: với mỗi gen được chọn đột biến nó sẽ được thay thế bằng một giá trị ngẫu nhiên xung quanh 0.

BIASED: với mỗi gen được chọn đột biến nó sẽ được cộng thêm một giá trị ngẫu nhiên. Montana [16] đã thử nghiệm hai phương pháp đột biến trọng số này. Kết quả phương pháp BIASED chạy tốt hơn. Điều này có thể được giải thích là do khi chạy bộ giá trị các trọng số có xu hướng tốt hơn. Do đó, việc đột biến thay thế giá trị gốc bằng các giá trị ngẫu nhiên xung quanh giá trị gốc (BIASED) sẽ cho kết quả tốt hơn là thay thế bằng các giá trị ngẫu nhiên xung quanh 0 (UNBIASED).

b. Đột biến nút (mutate nodes)

Toán tử đột biến nút sẽ chọn ra n nút không phải là các nút đầu vào. Tất cả các liên kết tới các nút này sẽ lần lượt được cộng thêm một giá trị ngẫu nhiên (theo kiểu BIASED).

2.2.5 Thử nghiệm

a. Thử nghiệm giải thuật di truyền với các phương pháp đột biến khác nhau

So sánh hai phương pháp đột biến „đột biến trọng số BIASED‟ và „đột biến nút‟, cả hai phương pháp này đều sử dụng phương pháp „lai ghép trọng số‟. Thử nghiệm

với mẫu học dạng hình sin gồm 30 mẫu, chi tiết trong phụ lục B. Các tham số giống nhau với cả hai phương án:

- Số lượng quần thể: 100 - Xác suất lai: 0.3

- Xác suất đột biến: 0.1 - Ngưỡng dừng lặp: 0.05

Việc thử nghiệm được tiến hành với 100 lần chạy mỗi phương án. Dưới đây là bảng thống kê các lần chạy và số thế hệ cần thiết để đạt được yêu cầu về sai số.

(1)– phương án „đột biến trọng số BIASED‟ (2) – phương án „đột biến nút‟ Bảng 2.2 So sánh các phương pháp đột biến STT (1) (2) STT (1) (2) STT (1) (2) 1 61 100 36 134 50 71 59 151 2 227 21 37 143 35 72 133 157 3 152 33 38 59 151 73 40 43 4 97 15 39 35 231 74 66 85 5 27 33 40 188 37 75 112 20 6 60 170 41 522 97 76 87 85 7 164 593 42 38 48 77 163 32 8 181 152 43 39 514 78 794 55 9 31 104 44 487 76 79 55 167 10 57 116 45 205 163 80 260 139 11 167 101 46 99 37 81 141 101 12 146 91 47 75 72 82 674 63 13 780 647 48 153 44 83 67 91 14 342 56 49 26 40 84 102 108 15 100 377 50 62 58 85 52 43 16 235 515 51 146 59 86 235 155 17 138 42 52 152 105 87 85 58 18 44 54 53 80 18 88 100 29 19 71 118 54 63 67 89 27 80 20 316 161 55 905 43 90 49 58 21 37 153 56 66 298 91 48 22 22 70 96 57 71 369 92 276 48 23 80 45 58 134 158 93 443 565 24 68 100 59 36 163 94 32 144 25 249 20 60 523 28 95 56 130 26 123 82 61 22 56 96 246 67 27 55 41 62 39 69 97 66 146 28 89 33 63 82 58 98 341 105

29 39 24 64 8 129 99 215 44 30 77 43 65 219 60 100 72 329 31 247 150 66 128 37 32 159 60 67 35 15 Trung bình 152.67 112.65 33 73 11 68 84 35 34 130 40 69 55 22 35 67 5 70 99 101

Nhận xét: Kết quả trung bình sau 112.65 thế hệ phương pháp „đột biến nút‟ đã

đạt yêu cầu, nhỏ hơn nhiều so với phương pháp „đột biến trọng số BIASED‟ là 152.67 thế hệ.

b. Thử nghiệm giải thuật di truyền với các phương pháp lai ghép khác nhau

So sánh hai phương pháp lai ghép là „lai ghép trọng số‟ và „lai ghép nút‟ cả hai phương pháp này đều sử dụng phương pháp „đột biến nút‟. Các tham số giống nhau với cả hai phương án:

- Số lượng quần thể: 100 - Xác suất lai: 0.3

- Xác suất đột biến: 0.1 - Ngưỡng dừng lặp: 0.05

Việc thử nghiệm được tiến hành với 100 lần chạy mỗi phương án. Dưới đây là bảng thống kê số thế hệ cần thiết trong từng lần chạy để đạt được yêu cầu về sai số là 0.05. (1)– phương án „lai ghép nút‟ (2)– phương án „lai ghép trọng số‟ Bảng 2.3 So sánh các phương pháp lai ghép STT (1) (2) STT (1) (2) STT (1) (2) 1 294 100 36 176 50 71 183 151 2 202 21 37 32 35 72 113 157 3 21 33 38 50 151 73 120 43 4 42 15 39 114 231 74 42 85 5 50 33 40 29 37 75 42 20 6 43 170 41 18 97 76 57 85 7 73 593 42 179 48 77 155 32 8 108 152 43 46 514 78 69 55 9 127 104 44 114 76 79 488 167 10 31 116 45 21 163 80 203 139 11 46 101 46 139 37 81 39 101 12 54 91 47 79 72 82 25 63 13 48 647 48 82 44 83 182 91

14 68 56 49 74 40 84 55 108 15 59 377 50 55 58 85 32 43 16 130 515 51 35 59 86 35 155 17 61 42 52 186 105 87 56 58 18 135 54 53 88 18 88 145 29 19 70 118 54 32 67 89 172 80 20 77 161 55 147 43 90 36 58 21 83 153 56 59 298 91 32 22 22 12 96 57 131 369 92 50 48 23 66 45 58 1268 158 93 277 565 24 44 100 59 122 163 94 23 144 25 24 20 60 65 28 95 44 130 26 150 82 61 211 56 96 20 67 27 187 41 62 25 69 97 56 146 28 60 33 63 26 58 98 25 105 29 30 24 64 50 129 99 184 44 30 67 43 65 66 60 100 26 329 31 28 150 66 124 37 Trung bình 99.13 112.65 32 47 60 67 10 15 33 178 11 68 44 35 34 39 40 69 8 22 35 159 5 70 109 101

Nhận xét: Kết quả trung bình sau 99.13 thế hệ phương pháp „lai ghép nút‟ đã đạt

yêu cầu thấp hơn một chút so với phương pháp „lai ghép trọng số‟ là 112.65 thế hệ.

c. Thử nghiệm so sánh giải thuật di truyền và giải thuật lan truyền ngược sai số

Thử nghiệm hai phương pháp với bài toán nổi tiếng XOR. Có 4 mẫu học như sau: X1 X2 Y 0 0 0 0 1 1 1 0 1 1 1 0

Tham số chung cho cả hai phương pháp:

- Mạng nơ-ron sử dụng là mạng có một lớp ẩn - Số nơ-ron trong lớp ẩn: 2

- Ngưỡng sai số dừng lặp: 0.05 hoặc quá 10000 vòng lặp

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu ứng dụng các phương pháp học máy tiên tiến trong công tác dự báo vận hành hồ hòa bình luận văn ths công nghệ thông tin 60 48 05 (Trang 37)

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

(94 trang)