MỤC LỤC
I: MẠNG NƠRON 2
I.1 Giới Thiệu Mạng Nơron 2
I.1.1 Lịch sử phát triển 2
I.1.2 Căn nguyên sinh học 3
I.1.3 Đơn vị xử lý 5
I.1.4 Hàm xử lý 6
I.1.5 Ứng dụng 11
I.2 Mạng Norn Một Lớp 11
I.3 Mạng Noron Nhiều Lớp (Multi-layer Neural Network) 12
II: MẠNG NƠRON MỜ: 12
III: GIẢI THUẬT DI TRUYỀN 15
1: Các toán tử của giải thật di truyền 16
1.1 Chọn lọc 16
1.2 Lai ghép 17
1.3 Đột biến 19
1.4 Hàm thích nghi 20
2: Xét trong mối quan hệ giữa mạng nơron và giải thuật di truyền 21
2.1 Cross-over (Lai ghép) 22
2.2 Mutation (Đột biến) 23
2.3 Fitness function (Hàm thích nghi) 23
2.4 Selection (chọn lọc) 25
3: Chiến lược điều chỉnh mờ tự động 25
IV: KẾT LUẬN 26
27 trang |
Chia sẻ: maiphuongdc | Lượt xem: 2400 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Đề tài Tối ưu hoá cấu trúc của mạng nơron mờ bằng giải thuật di truyền, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ay logic nào.
* Tiếp theo đó là Donald Hebb, ông đã phát biểu rằng việc thuyết lập luận cổ điển (classical conditioning) (như Pavlov đưa ra) là hiện thực bởi do các thuộc tính của từng nơron riêng biệt. Ông cũng nêu ra một phương pháp học của các nơron nhân tạo.
* Ứng dụng thực nghiệm đầu tiên của các nơron nhân tạo có được vào cuối những năm 50 cùng với phát minh của mạng nhận thức (perceptron network) và luật học tương ứng bởi Frank Rosenblatt. Mạng này có khả năng nhận dạng các mẫu. Điều này mở ra rất nhiều hy vọng cho việc nghiên cứu mạng nơron. Tuy nhiên nó có hạn chế là chỉ có thể giải quyết một số lớp hữu hạn các bài toán.
* Cùng thời gian đó, Bernard Widrow và Ted Hoff đã đưa ra một thuật toán học mới và sử dụng nó để huấn luyện cho các mạng nơron tuyến tính thích nghi, mạng có cấu trúc và chức năng tương tự như mạng của Rosenblatt. Luật học Widrow-Hoff vẫn còn được sử dụng cho đến nay.
* Tuy nhiên cả Rosenblatt và Widrow-Hoff đều cùng vấp phải một vấn đề do Marvin Minsky và Seymour Papert phát hiện ra, đó là các mạng nhận thức chỉ có khả năng giải quyết các bài toán khả phân tuyến tính. Họ cố gắng cải tiến luật học và mạng để có thể vượt qua được hạn chế này nhưng họ đã không thành công trong việc cải tiến luật học để có thể huấn luyện được các mạng có cấu trúc phức tạp hơn.
* Do những kết quả của Minsky-Papert nên việc nghiên cứu về mạng nơron gần như bị đình lại trong suốt một thập kỷ do nguyên nhân là không có được các máy tính đủ mạnh để có thể thực nghiệm.
* Mặc dù vậy, cũng có vài phát kiến quan trọng vào những năm 70. Năm 1972 Teuvo Kohonen và James Anderson độc lập nhau phát triển một loại mạng mới có thể hoạt động như một bộ nhớ. Stephen Grossberg cũng rất tích cực trong việc khảo sát các mạng tự tổ chức (Self organizing network).
* Vào những năm 80, việc nghiên cứu mạng nơron phát triển rất mạnh mẽ cùng với sự ra đời của PC. Có hai khái niệm mới liên quan tới sự hồi sinh này, đó là:
+ Việc sử dụng các phương pháp thống kê để giải thích hoạt động của một lớp các mạng hồi quy (recurrent network) có thể được dùng như bộ nhớ liên hợp (associative memory) trong công trình của nhà vật lý học Johh Hopfield.
+ Sự ra đời của thuật toán lan truyền ngược (back-propagation) để luyện các mạng nhiều lớp được một vài nhà nghiên cứu độc lập tìm ra như: David Rumelhart, James McCelland,…Đó cũng là câu trả lời cho Minsky-Papert.
I.1.2 Căn nguyên sinh học
Bộ não con người chứa khoảng 1011 các phần tử liên kết chặt chẽ với nhau (khoảng 104 liên kết đối với mỗi phần tử) gọi là các nơron. Dưới con mắt của những người làm tin học, một nơron được cấu tạo bởi các thành phần: tế bào hình cây (dendrite), tế bào thân (cell body) và sợi trục thần kinh (axon). Tế bào hình cây có nhiệm vụ mang các tín hiệu điện tới tế bào thân, tế bào thân sẽ thực hiện gộp (sum) và phân ngưỡng (threshold) các tín hiệu đến. Sợi trục thần kinh làm nhiệm vụ đưa tín hiệu từ tế bào thân ra ngoài.
Điểm tiếp xúc giữa một sợi trục thần kinh của nơron này và tế bào hình cây của một nơron khác được gọi là khớp thần kinh (synapse). sự sắp xếp của các nơron và mức độ mạnh yếu của các khớp thần kinh được quyết định bởi các quá trình hoá học phức tạp, sẽ thiết lập chức năng của mạng nơron.
Một vài nơron có sẵn từ khi sinh ra, các phần khác được phát triển thông qua việc học, ở đó có sự thiết lập các liên kết mới và loại bỏ các liên kết cũ.
Cấu trúc của mạng nơron luôn luôn phát triển và thay đổi. Các thay đổi sau này có khuynh hướng bao gồm chủ yếu là việc làm tăng hay giảm độ mạnh của các mối liên kết thông qua các khớp thần kinh.
Mạng nơron nhân tạo không tiếp cận đến sự phức tạp của bộ não. Mặc dù vậy có hai sự tương quan cơ bản giữa mạng nơron nhân tạo và sinh học. Thứ nhất, cấu trúc khối tạo thành chúng đều là các thiết bị tính toán đơn giản (mạng nơron nhân tạo đơn giản hơn nhiều) được liên kết chặt chẽ với nhau. Thứ hai, các liên kết giữa các nơron quyết định chức năng của mạng.
Cần chú ý rằng mặc dù mạng nơron sinh học hoạt động rất chậm so với các linh kiện điện tử (10-3 so với 10-9 giây) nhưng bộ não có khả năng thực hiện nhiều công việc nhanh hơn nhiều so với các máy tính thông thường. Đó một phần là do cấu trúc song song của mạng nơron sinh học: toàn bộ các nơron hoạt động một cách đồng thời tại một thời điểm. Mạng nơron nhân tạo cũng chia sẻ đặc điểm này. Mặc dù hiện nay, các mạng nơron chủ yếu được thực nghiệm trên các máy tính số, nhưng cấu trúc song song của chúng khiến chúng ta có thể thấy cấu trúc phù hợp nhất là thực nghiệm chúng trên các vi mạch tích hợp lớn (VLSI: very large scale integrated circuit), các thiết bị quang và các bộ xử lý song song.
Mạng nơron đôi khi được xem như là các mô hình liên kết (connectionist models), là các mô hình phân bố song song (parallel-distributed models) có các đặc trưng phân biệt sau:
* Tập các đơn vị xử lý;
* Trạng thái kích hoạt hay là đầu ra của đơn vị xử lý;
* Liên kết giữa các đơn vị. Xét tổng quát, mỗi liên kết được định nghĩa bởi một trọng số wjk cho ta biết hiệu ứng mà tín hiệu của đơn vị j có trên đơn vị k;
* Một luật lan truyền quyết định cách tính tín hiệu ra của
từng đơn vị đầu vào của nó;
* Một hàm kích hoạt, hay hàm chuyển (activation function, transfer function), xác định mức độ kích hoạt khác dựa trên mức độ kích hoạt hiện tại;
* Một đơn vị điều chỉnh (độ lệch) (bias, offset) của mỗi đơn vị;
* Phương pháp thu thập thông tin (luật học- learning rule);
* Môi trường hệ thống có thể hoạt động
I.1.3 Đơn vị xử lý
Một đơn vị xử lí (Hình 1) cũng được gọi là một nơron hay một nút (node), thực hiện một công việc rất đơn giản: nó nhận tín hiệu vào từ các đơn vị phía trước hay một nguồn bên ngoài và sử dụng chúng để tính tín hiệu ra sẽ được lan truyền sang các đơn vị khác
Trong đó:
xi : các đầu vào
wji : các trọng số tương ứng với các đầu vào
θj : độ lệch (bias)
aj : đầu vào mạng (net-input)
zj : đầu ra của nơron
g(x) : hàm chuyển (hàm kích hoạt).
Trong một mạng nơron có ba kiểu đơn vị:
* Các đơn vị đầu vào (input units), nhận tín hiệu từ bên ngoài;
* Cá đơn vị đầu ra (output units), gửi dữ liệu ra bên ngoài;
* Các đơn vị ẩn (hidden units), tín hiệu vào (input) và ra (output) của nó nằm trong mạng.
Mỗi đơn vị j có thể có một hoặc nhiều đầu vào: x0, x1, x2,…xn, nhưng chỉ có một đầu ra zj. Một đầu vào tới một đơn vị có thể là dữ liệu từ bên ngoài mạng, hoặc đầu ra của một đơn vị khác, hoặc là đầu ra của chính nó.
I.1.4 Hàm xử lý
Hàm kết hợp
Mỗi một đơn vị trong một mạng kết hợp các giá trị đưa vào nó thông qua các liên kết với các đơn vị khác, sinh ra một giá trị gọi là net-input. Hàm thực hiện nhiệm vụ này gọi là hàm kết hợp (combination function), được định nghĩa bởi một luật lan truyền cụ thể. Trong phần lớn các mạng nơron, chúng ta giả sử rằng mỗi một đơn vị cung cấp một bộ cộng như là đầu vào cho đơn vị mà nó có liên kết. Tổng đầu vào đơn vị j đơn giản chỉ là tổng trọng số của các đầu ra riêng lẻ từ các đơn vị kết nối cộng thêm ngưỡng hay độ lệch θj
aj =
Trường hợp wji > 0, nơron được coi là đang ở trong trạng thái kích thích. Tương tự, nếu như wji < 0, nơron ở trạng thái kiềm chế. Chúng ta gọi các đơn vị với luật lan truyền như trên là các sigma units. Trong một vài trường hợp người ta cũng có thể sử dụng các luật lan truyền phức tạp hơn. Một trong số đó là luật sigma-pi, có dạng như sau:
aj =
Rất nhiều hàm kết hợp sử dụng một “độ lệch” hay “ngưỡng” để tính net-input tới đơn vị. Đối với một đơn vị đầu ra tuyến tính, thông thường θj được chọn là hằng số và trong bài toán xấp xỉ đa thức θj =1
Hàm kích hoạt (hàm chuyển)
Phần lớn các đơn vị trong mạng nơron chuyển net-input bằng cách sử dụng một hàm vô hướng (scalar-to-scalar function) gọi là hàm kích hoạt, kết quả của hàm này là một giá trị gọi là mức độ kích hoạt của đơn vị (unit’s activation). Loại trừ khả năng đơn vị đó thuộc lớp ra, giá trị kích hoạt được đưa vào một hay nhiều đơn vị khác. Các hàm kích hoạt thường bị ép vào một khoảng giá trị xác định, do đó thường được gọi là các hàm bẹp (squashing). Các hàm kích hoạt hay được sử dụng là:
+ Hàm đồng nhất (Linear function, Identity function)
g(x) = x
Nếu coi các đầu vào là một đơn vị thì chúng sẽ sử dụng hàm này. Đôi khi một hằng số được nhân với net-input để tạo ra một hàm đồng nhất
+ Hàm bước nhị phân (binary step function, hard limit function)
Hàm này cũng được biết đến với tên “hàm ngưỡng”. Đầu ra của hàm này được giới hạn vào một trong hai giá trị:
1 nếu (x ≥ 0)
g(x) =
0 nếu (x ≤ 0)
Dạng hàm này được sử dụng trong các mạng chỉ có một lớp. Trong hình vẽ sau, θ được chọn bằng 1.
+ Hàm sigmoid (Sigmoid function (logsig))
Hàm này đặc biệt thuận lợi khi sử dụng cho các mạng được huấn luyện (trained) bởi thuật toán lan truyền ngược (back-propagation) bởi vì nó dễ lấy đạo hàm, do đó có thể giảm đáng kể tính toán trong quá trình huấn luyện. Hàm này được ứng dụng trong các chương trình ứng dụng mà các đầu ra mong muốn rơi vào khoảng [0,1].
+ Hàm sigmoid lưỡng cực (Bipolar sigmoid function (tansig))
Hàm này có các thuộc tính tương tự hàm sigmoid. Nó làm việc tốt đối với các ứng dụng có đầu ra yêu cầu trong khoảng [-1,1].
Các hàm chuyển của các đơn vị ẩn (hidden units) là cần thiết để biểu diễn sự phi tuyến vào trong mạng. Lý do là hợp thành của các hàm đồng nhất là một hàm đồng nhất. Mặc dù vậy nhưng nó mang tính chất phi tuyến (nghĩa là khả năng biểu diễn các hàm phi tuyến) làm cho các mạng nhiều tầng có khả năng rất tốt trong biểu diễn các ánh xạ phi tuyến. Tuy nhiên đối với luật học lan truyền ngược, hàm phải khả vi và sẽ có ích nếu như hàm được gắn trong một khoảng nào đó. Do vậy hàm sigmoid là lựa chọn thông dụng nhất.
Đối với các đơn vị đầu ra (output units), các hàm chuyển cần được chọn sao cho phù hợp với sự phân phối của các giá trị đích mong muốn. Chúng ta đã thấy rằng đối với các giá trị ra trong khoảng [0,1], hàm sigmoid là có ích; đối với các giá trị đích mong muốn là liên tục trong khoảng đó thì hàm này cũng vẫn có ích, nó có thể cho ta các giá trị ra hay giá trị đích được căn trong một khoảng của hàm kích hoạt đầu ra. Nhưng nếu các giá trị đích không được biết trước khoảng xác định thì hàm hay được sử dụng nhất là hàm đồng nhất. Nếu giá trị mong muốn là dương nhưng không biết cận trên thì nên sử dụng một hàm kích hoạt dạng mũ (exponential output activation function).
I.1.5 Ứng dụng
Trong quá trình phát triển, mạng nơron đã được ứng dụng thành công trong rất nhiều lĩnh vực. Dưới đây là một số lĩnh vực ứng dụng chính của mạng nơron:
Aerospace: Phi công tự động, giả lập đường bay, các hệ thống điều khiển lái máy bay, bộ phát hiện lỗi.
Automotive: Các hệ thống dẫn đường tự động cho ô tô, các bộ phân tích hoạt động của xe.
Banking: Bộ đọc séc và các tài liệu, tính tiền của thẻ tín dụng.
Defense: Định vị- phát hiện vũ khí, dò mục tiêu, phát hiện đối tượng, nhận dạng nét mặt, các bộ cảm biến thế hệ mới, xử lí ảnh radar,…
Electronics: Dự đoán mã tuần tự, sơ đồ chip IC, điều khiển tiến trình, phân tích nguyên nhân hỏng chip, nhận dạng tiếng nói, mô hình phi tuyến.
Entertaiment: Hoạt hình, các hiệu ứng đặc biệt, dự báo thị trường.
Financial: Định giá bất động sản, cho vay, kiểm tra tài sản cầm cố, đánh giá mức độ hợp tác, phân tích đường tín dụng, chương trình thương mại qua giấy tờ, phân tích tài chính liên doanh, dự báo tỉ lệ tiền tệ.
Insurance: Đánh giá việc áp dụng chính sách, tối ưu hoá sản phẩm.
…
I.2 Mạng Norn Một Lớp
Mạng Perceptron
Mạng Hopfield
Mạng Kiểu Bộ Nhớ Hai Chiều Kết Hợp Thích Nghi (Adaptive Bidirectional Associative)
Mạng Kohonen
…
I.3 Mạng Noron Nhiều Lớp (Multi-layer Neural Network)
Mạng nơron có từ 2 lớp trở lên được gọi là mạng nơron nhiều lớp. Mạng nơron nhiều lớp bao gồm một lớp vào, một lớp ra, một hoặc nhiều lớp ẩn
Mạng noron nhiều lớp lan truyền ngược sai số(Back- propagation Neural Network)
Mạng noron nhiều lớp ngược hướng (Counter – propagation Neural Network)
…
II: MẠNG NƠRON MỜ:
Việc tích hợp kỹ thuật mạng nơron và logic mờ cho phép kết hợp ưu điểm của cả hai. Một mặt, mạng nơron cung cấp cấu trúc tính toán dựa trên liên kết (dung thứ lỗi và các tính chất biểu diễn phân tán) và khả năng học cho các hệ logic mờ. Mặt khác, các hệ logic mờ sẽ đưa vào mạng nơron cơ chế suy diễn dựa trên các luật “if…then”, chính sự kết hợp phong phú này cho phép xây dựng các hệ thống tích hợp: Hệ mờ nơron, mạng nơron mờ và các hệ lai.
Trong mạng nơron mờ có thể là tín hiệu vào, tín hiệu ra hay trọng số là những số mờ... Cũng có trường hợp mạng nơron mờ với tất cả các yếu tố.
* Mạng nơron như một công cụ suy diễn
Nói mạng nơron như một công cụ suy diễn vì: mạng nơron có khả năng suy diễn. Với mỗi tín hiệu vào thì mạng nơron sẽ cho một đầu ra tương ứng
* Suy diễn mờ dựa trên mạng nơron:
Biểu diễn luật mờ:
Keller (1992) đề xuất mô hình mạng nơron truyền thẳng nhiều lớp biểu diễn các luật suy diễn cơ sở:
If X1 = A1 then Y = B
a11' a1m1' an1' anmn'
w11 w1m1 wn1 wnm
d1 dn
1-t
u1 uk
b1' bk'
Lớp vào
Lớp kiểm tra từng mệnh đề
Kết hợp các mệnh đề
Lớp ra
Mạng noron biểu diễn một luật mờ
Giả sử véc tơ độ thuộc của Ai là {ai1,…, aimi}, I = 1… n. Có hai cách xác định trọng số:
Cách 1: = 1 - . Khi đó lớp ẩn đầu tiên đo sự bất cập giữa thông tin vào với Ai.
Ta xác định di như là di = max{(1-)}
Hoặc di = max{min(1-), }
Ở đây Ai’ = {ai1’,…,aimi’}là véc tơ vào tương ứng với mệnh đề X= Ai’
Cách 2 : . Khi đó, dj = max{|= |}
Các hệ số ai xác định trọng số của mệnh đề X = Ai trong luật (ai có thể được người thiết kế cung cấp hoặc đọc từ dữ liệu)
Ta thấy t = max {aidi}.
Giả sử B tương ứng với tập mờ có độ thuộc {b1,…, bk}. Khi đó trọng số ui được xác định bởi ui = 1- bi.
Cuối cùng với bộ đầu vào (A1’,…, An’) ta có kết quả:
(*)
Từ (*) dễ dàng thấy t=0 (tức là bộ đầu vào (A1’,…, An’) trùng với (A1, …, An) thì bi’= bi) với mọi i nghĩa là Y=B.
Ngược lại, khi tổng bất cập giữa thông tin vào với các mệnh đề bằng 1 thì bi’ = 1 đối với mọi i, nghĩa là hệ đưa ra kết luận:
Y = “không biết”.
Suy diễn mờ:
Mô hình suy diễn mờ dựa trên mạng nơron do Takagi và Hayaki đề nghị là một biến thể của cơ chế suy diễn mờ của Takagi-Sugeno-Kang bao gồm các bước như sau:
+ Lựa chọn biến vào ra trong tệp mẫu học.
+ Chia tập mẫu học thành hai phần: phần huấn luyện và phần kiểm tra.
+ Xây dựng mạng NNmemb để biểu thị hàm phụ thuộc cho phần IF của các luật. Huấn luyện mạng NNmemb tương ứng với phần IF của luật mờ.
+ Đơn giản phần THEN của các luật theo phương pháp loại bỏ ngược.
+ Xác định kết quả ra và diễn giải mờ.
III: GIẢI THUẬT DI TRUYỀN
Giải thuật di truyền (Genetic Algorithsm- GA) là kĩ thuật giúp giải quyết bài toán bằng cách mô phỏng theo sự tiến hoá của con người hay của sinh vật nói chung (Dựa trên thuyết tiến hoá con người của Darwin) trong điều kiện môi trường sống luôn thay đổi. Thuật giải di truyền là một hướng tiếp cận tính toán gần đúng, nghĩa là mục tiêu của thuật giải di truyền 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. Lý thuyết này do Johm Henry Holland (Giáo sư của trường đại học Michigan- Mỹ) đề xướng vào giữa thập niên 70, thế kỉ XX.
Thuật giải di truyền về bản chất là thuật toán tìm kiếm dựa theo quy luật của quá trình tiến hoá tự nhiên. Giải thuật kết hợp sự sống sót của cấu trúc khoẻ nhất trong số các cấu trúc biểu diễn các nhiễm sắc thể với một sự trao đổi thông tin được lựa chọn ngẫu nhiên để tạo thành một thuật toán tìm kiếm. Giải thuật di truyền nằm trong lĩnh vực tính toán tiến hoá, sử dụng các biểu diễn nhị phân và các sơ đồ để mô hình hoá sự chọn lọc, lai ghép và đột biến.
Giải thuật di truyền giải quyết được vấn đề trên máy tính nhờ vào chương trình tin học để thực hiện những ý tưởng nêu trên. Không giống như phương pháp giải tích dựa trên các công thức toán học hay phương pháp suy luận dựa trên kinh nghiệm của các chuyên gia chỉ để ý tới một số có giới hạn các lời giải. Giải thuật di truyền xét đến toàn bộ các lời giải, bằng cách xét trước nhất một số lời giải, sau đó loại bỏ một số thành phần không thích hợp và chọn những thành phần thích nghi hơn để chọn lọc và biến hoá nhằm mục đích tạo ra nhiều lời giải mới có hệ số thích nghi ngày càng cao
1: Các toán tử của giải thật di truyền
Giải thuật di truyền sử dụng ba toán tử sau đây:
Chọn lọc
Lai ghép
Đột biến
1.1 Chọn lọc
Chọn lọc là quá trình trong đó các cá thể được sao chép trên cơ sở độ thích nghi của nó. Độ thích nghi là một hàm gán một giá trị thực cho các cá thể trong quần thể. Quá trình này được mô tả như sau:
* Tính độ thích nghi của từng cá thể trong quần thể hiện hành, lập bảng cộng dồn các giá trị thích nghi (theo số thứ tự gán cho từng cá thể). Giả sử quần thể có n cá thể, gọi độ thích nghi của cá thể thứ I là Fi, tổng dồn thứ i là Fti, tổng độ thích nghi của toàn quần thể là Fm.
* Tạo một số ngẫu nhiên F trong đoạn từ 0 đến Fm
* Chọn cá thể k đầu tiên thoả mãn Ftk-1 ≤ F ≤ Ftk đưa vào quần thể của thế hệ mới.
Ví dụ: Giả sử quần thể ban đầu là 6 chuỗi nhiễm sắc thể. Tổng giá trị của hàm mục tiêu là 50 như bảng sau:
STT
Chuỗi nhiễm sắc thể
Hàm mục tiêu
% của total
total
1
01110
8
16
8
2
11000
15
30
23
3
00100
2
4
25
4
10010
5
10
30
5
01100
12
24
42
6
00010
8
16
50
Sau đó ta sẽ tạo các số ngẫu nhiên trong khoảng (0, 50), với mỗi số, việc chọn lọc một nhiếm sắc thể đầu tiên với giá trị hàm mục tiêu lớn hơn hay bằng số ngẫu nhiên. Bảy số ngẫu nhiên được tạo cùng các chuỗi được chọn thể hiện như bảng sau:
Số ngẫu nhiên
26
2
49
15
40
36
9
Chuỗi nhiễm sắc thể
4
1
6
2
5
5
2
Ví dụ trên chứng tỏ rằng chuỗi nào có giá trị hàm mục tiêu cao sẽ có nhiều con cháu hơn trong thế hệ sau. Khi một chuỗi đã được chọn cho quá trình tái tạo thì sẽ được đưa vào để lai ghép nhằm tạo ra những chuỗi mới.
1.2 Lai ghép
Toán tử chọn lọc nhằm tìm ra những cá thể tồn tại tốt nhất nhưng nó không tạo ra những cá thể mới. Tuy vậy, trong tự nhiên, các con sẽ thừa hưởng những đặc tính tốt từ cả cha lẫn mẹ chúng. Toán tử tác động trên các cá thể cha mẹ để tạo ra những con lai tốt được gọi là lai ghép. Chúng được áp dụng lên cặp cha mẹ được chọn lựa với xác suất lai ghép pcross. Xác suất này cho ta số lượng pcross* popsize (popsize kích thước của quần thể được lai tạo) nhiễm sắc thể được lai ghép.
Với mỗi nhiễm sắc thể trong quần thể:
Phát sinh một số ngẫu nhiên r trong miền [0;1]
Nếu r < pcross, chọn nhiễm sắc thể đó để lai ghép
Sau đó, ta kết hợp các nhiễm sắc thể được chọn một cách ngẫu nhiên lại. Mỗi cặp nhiễm sắc thể, chúng ta có thể phát sinh một số ngẫu nhiên pos từ miền [1;L] (L là tổng số bít trong nhiễm sắc thể). Số pos này sẽ cho ta vị trí của điểm lai ghép.
Ví dụ ta có 2 nhiễm sắc thể:
(a1 a2 …aposapos+1…aL) và
(b1 b2 …bposbpos+1…bL)
Sau khi được lai ghép, nó sẽ được thay thế bởi cặp con cháu
(a1 a2 …apos bpos+1…bL) và
(b1 b2 …bpos apos+1…aL)
Như vậy toán tử này sau khi được thực hiện sẽ cho ra hai chuỗi mới, mỗi chuỗi đều được thừa hưởng những đặc tính lấy ra từ cha và mẹ của chúng. Chọn lọc cá thể và lai ghép cho phép giải thuật di truyền sử dụng những thông tin đã có để tìm kiếm trực tiếp trên những vùng tốt hơn.
Các ví dụ dưới đây thể hiện các hình thức của lai ghép:
Ví dụ 1
Trước khi lai ghép
1001101
0000110
Sau khi lai ghép tại vị trí giữa số thứ tự 4 và 5, chúng ta sẽ có:
100| 1101 000| 1101 (B’)
000| 0110 100| 0110 (A’)
Ví dụ 2
Trước khi lai ghép
1001101
0000110
Sau khi lai ghép tại vị trí giữa số thứ tự 3 và 4, chúng ta sẽ có:
(A) 1001| 101 0000| 101 (B’’)
(B) 0000| 110 1001| 110 (A’’)
1.3 Đột biến
Là việc thay đổi trị số của một số trong dãy số, thí dụ 0 thành 1 hoặc 1 thành 0, cho trường hợp dùng dãy số theo hệ nhị phân. So với lai ghép, toán tử này rất ít xảy ra. Theo kết quả nghiên cứu của Kenneth De Jong thì tỉ lệ lai ghép trung bình là 0.6 trong khi tỉ lệ đột biến là 0.001, phần còn lại 0.399 là chọn lọc
Lai ghép dùng lại những tin tức có sẵn trong các thành phần của thế hệ trước và truyền lại cho thế hệ sau, trong khi đó đột biến tạo ra những tin tức hoàn toàn mới.
Các toán tử đột biến nhằm tạo ra những thông tin mới trong quần thể đem lai tạo tại các vị trí bít (gen) nào đó (quần thể mà ta xem xét ở đây có popsize cá thể, mỗi cá thể được biểu thị qua L bít/gen). Đột biến được áp dụng với xác suất pmu. Số lượng bít đột biến là pmu*L*popsize bít. Mỗi bít có cơ hội đột biến là như nhau. Toán tử này có thể được xử lý như sau:
Với mỗi nhiễm sắc thể trong quần thể và mỗi bít trong nhiễm sắc thể :
Phát sinh một số ngẫu nhiên r trong miền [0;1].
Nếu r < pmu, tiến hành đột biến tại bít đó.
Các thao tác xử lý này được áp dụng lặp lại cho tới khi các cá thể con, cháu của chúng tăng trưởng tới kích cỡ mong muốn của quần thể.
Ví dụ 1:
100111 sẽ được đột biến thành 100110, trong đó số 1 ở hàng cuối (tính từ trái) đã được đổi thành 0.
Ví dụ 2:
110110 sẽ được biến đổi thành 111110, trong đó số 0 ở vị trí thứ 3 (tính từ trái) đã được đổi thành 1.
1.4 Hàm thích nghi
I.4.1 Ánh xạ giá trị hàm mục tiêu sang giá trị thích nghi
Vì hàm thích nghi phải nhận giá trị không âm, do đó cần phải xây dựng ánh xạ hàm mục tiêu đang xét trong bài toán sang hàm thích nghi thông qua một hoặc nhiều lần ánh xạ.
Nếu bài toán tối ưu là cực tiểu một hàm đánh giá g(x), việc chuyển từ hàm đánh giá sang hàm thích nghi để sử dụng với giải thuật di truyền như sau:
Cmax – g(x) khi g(x) < Cmax
f(x) =
0 trong các trường hợp khác
Ở đây, Cmax là một tham số đầu vào. Ví dụ, có thể lấy Cmax là giá trị lớn nhất của g(x) trong quần thể hiện tại hoặc có thể là giá trị lớn nhất sau k vòng lặp. Nói chung Cmax khác nhau tuỳ thuộc vào giá trị các biến của quần thể
Nếu hàm mục tiêu gốc tăng hoặc đang xét bài toán cực đại hoá một hàm u(x) nào đó, ta có thể chuyển sang hàm thích nghi như sau:
Cmin + u(x) khi u(x) < Cmin
f(x) =
trong các trường hợp khác
Ở đây, Cmin là tham số đầu vào, có thể là trị tuyệt đối của u(x) bé nhất trong quần thể hiện tại hoặc trong k vòng lặp cuối cùng hoặc là một hàm của biến quần thể.
I.4.2 Điều chỉnh độ thích nghi
Một vấn quan trọng là điều chỉnh số con cháu. Điều này đặc biệt quan trọng cho một vài vòng lặp đầu tiên, khi một vài cá thể “siêu” có tiềm năng chiếm lĩnh phần lớn quần thể và làm cho hội tụ sớm. Điều chỉnh độ thích nghi có thể giúp giải quyết vấn đề này.
Có nhiều kiểu điều chỉnh khác nhau, tuy nhiên điều chỉnh tuyến tính là hay gặp nhất. Gọi f là độ thích nghi gốc, f’ là độ thích nghi đã được biến đổi. Độ thích nghi theo điều chỉnh tuyến tính được xác định theo quy tắc:
f’ = a*f + b
Trong đó, hệ số a, b được xác định sao cho:
f’avg = favg
Và f’max = Cmult*favg
Ở đây, Cmult là số các bản sao cần thiết đối với một thành viên tốt nhất. Với lượng biến tương đối nhỏ (n = 50 đến 100)
2: Xét trong mối quan hệ giữa mạng nơron và giải thuật di truyền
Các toán tử lai ghép, đột biến, chọn lọc và hàm thích nghi được áp dụng một cách cụ thể
Một cá thể bao gồm các thông tin: các hàm thuộc hình tam giác và các giá trị thực.
2.1 Cross-over (Lai ghép)
Toán tử lai ghép nghĩa là thay đổi vị trí đỉnh của hàm thành viên thô. Cách thức làm việc của toán tử này thể hiện trong hình 4. Có hai chuỗi (cha, mẹ) trong một mẫu được lựa chọn bất kỳ. Sử dụng các chuỗi lựa chọn này, điểm lai ghép cũng được lựa chọn giữa các giá trị để xây dựng nên vị trí đỉnh của hàm thành viên. Cấu trúc được thay đổi giữa mỗi chuỗi dựa trên điểm lai, các kết quả, chúng phải trải qua toán tử lai tạo ra 4 kiểu.
các giá trị ở bên phải của chuỗi được kế thừa từ một chuỗi (A) và các giá trị bên cạnh được kế thừa từ một chuỗi khác (B), trong đó mỗi giá trị là bản sao bởi tổng các giá trị của một chuỗi.
Các giá trị ở bên phải của chuỗi được kế thừa từ chuỗi (B) và các giá trị bên cạnh được kế thừa từ chuỗi (A), trong đó mỗi giá trị là bản sao của tổng các giá trị của chuỗi.
Cũng giống như cách thức trên, các giá trị bên trái của chuỗi được kế thừa từ chuỗi (A).
các giá trị bên trái của chuỗi được kế thừa từ chuỗi (B).
Như đã thể hiện ở hình 4, đỉnh của hàm thành viên được thay đổi đối với mỗi kết quả. Kết quả có thể kế thừa thông tin di truyền ở mức cao hơn từ hai cha mẹ bởi toán tử lai ghép. Các giá trị thứ hai và thứ ba trong thao tác mã hoá được thừa kế mà không thay đổi.
2.2 Mutation (Đột biến)
Toán tử đột biến xuất hiện đối với các chuỗi, chúng trải qua toán tử đột biến, với xác suất Pm. Toán tử đột biến trong này có nghĩa là hàm thành viên lựa chọn được cắt bớt, được thể hiện trong hình 5. Chúng ta có thể mong rằng để làm giảm bớt số luật mờ và thu được cấu trúc nhỏ nhất của mô hình mờ bởi thao tác này.
Theo cách này, một chuỗi mới được sinh ra bằng các thao tác lai ghép và đột biến. Các thao tác này nhằn đưa ra một cấu trúc thích hợp của mô hình mờ, tương ứng với quá trình điều chỉnh thô.
2.3 Fitness function (Hàm thích nghi)
Chúng ta đặt hàm thích nghi để đánh giá mỗi chuỗi liệu có mong muốn được hay không. Hàm thích nghi này bao gồm số các hàm thành viên và tổng bình phương lỗi giữa giá trị ra của mô hình mờ và giá trị mong muốn. Chúng ta xác định hàm F này như sau:
F(s
Các file đính kèm theo tài liệu này:
- toi uu hoa ctruc cua mang noron mo giai thuat di truyen.doc