?? 3_2 遺傳算法.htm
字號:
<P>根據(jù)適者生存原則選擇下一代的個體。在選擇時,以適應(yīng)度為選擇原則。適應(yīng)度準(zhǔn)則體現(xiàn)了適者生存,不適應(yīng)者淘汰的自然法則。</P>
<P>給出目標(biāo)函數(shù)f,則f(bi)稱為個體bi的適應(yīng)度。以</P>
<TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0>
<TBODY>
<TR>
<TD width="77%"><IMG height=71 src="3_2 遺傳算法-Dateien/6.2.ht40.gif"
width=210 border=0></TD>
<TD width="23%">(3-86)</TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD width="100%" height=18>
<P>為選中bi為下一代個體的次數(shù)。 </P>
<P>顯然.從式(3—86)可知:</P>
<P>(1)適應(yīng)度較高的個體,繁殖下一代的數(shù)目較多。</P>
<P>(2)適應(yīng)度較小的個體,繁殖下一代的數(shù)目較少;甚至被淘汰。</P>
<P>這樣,就產(chǎn)生了對環(huán)境適應(yīng)能力較強(qiáng)的后代。對于問題求解角度來講,就是選擇出和最優(yōu)解較接近的中間解。</P>
<P>3.交叉<BR>對于選中用于繁殖下一代的個體,隨機(jī)地選擇兩個個體的相同位置,按交叉概率P。在選中的位置實(shí)行交換。這個過程反映了隨機(jī)信息交換;目的在于產(chǎn)生新的基因組合,也即產(chǎn)生新的個體。交叉時,可實(shí)行單點(diǎn)交叉或多點(diǎn)交叉。</P>
<P>例如有個體</P>
<P>S1=100101</P>
<P>S2=010111</P>
<P>選擇它們的左邊3位進(jìn)行交叉操作,則有</P>
<P>S1=010101</P>
<P>S2=100111</P>
<P>一般而言,交叉幌宰P。取值為0.25—0.75。</P>
<P>4.變異</P>
<P>根據(jù)生物遺傳中基因變異的原理,以變異概率Pm對某些個體的某些位執(zhí)行變異。在變異時,對執(zhí)行變異的串的對應(yīng)位求反,即把1變?yōu)?,把0變?yōu)?。變異概率Pm與生物變異極小的情況一致,所以,Pm的取值較小,一般取0.01-0.2。</P>
<P>例如有個體S=101011。</P>
<P>對其的第1,4位置的基因進(jìn)行變異,則有</P>
<P>S'=001111</P>
<P>單靠變異不能在求解中得到好處。但是,它能保證算法過程不會產(chǎn)生無法進(jìn)化的單一群體。因?yàn)樵谒械膫€體一樣時,交叉是無法產(chǎn)生新的個體的,這時只能靠變異產(chǎn)生新的個體。也就是說,變異增加了全局優(yōu)化的特質(zhì)。</P>
<P>5.全局最優(yōu)收斂(Convergence to the global optimum)</P>
<P>當(dāng)最優(yōu)個體的適應(yīng)度達(dá)到給定的閥值,或者最優(yōu)個體的適應(yīng)度和群體適應(yīng)度不再上升時,則算法的迭代過程收斂、算法結(jié)束。否則,用經(jīng)過選擇、交叉、變異所得到的新一代群體取代上一代群體,并返回到第2步即選擇操作處繼續(xù)循環(huán)執(zhí)行。</P>
<P>圖3—7中表示了遺傳算法的執(zhí)行過程。</P>
<P align=center><IMG height=312 src="3_2 遺傳算法-Dateien/6.2.ht41.gif"
width=558 border=0></P>
<P align=center>圖3-7 遺傳算法原理</P></TD></TR>
<TR>
<TD width="100%" height=1104>
<P>3.2.3遺傳算法的應(yīng)用 </P>
<P>遺傳算法在很多領(lǐng)域都得到應(yīng)用;從神經(jīng)網(wǎng)絡(luò)研究的角度上考慮,最關(guān)心的是遺傳算法在神經(jīng)網(wǎng)絡(luò)的應(yīng)用。在遺傳算法應(yīng)用中,應(yīng)先明確其特點(diǎn)和關(guān)鍵問題,才能對這種算法深入了解,靈活應(yīng)用,以及進(jìn)一步研究開發(fā)。</P>
<P>一、遺傳算法的特點(diǎn)</P>
<P>1.遺傳算法從問題解的中集開始嫂索,而不是從單個解開始。</P>
<P>這是遺傳算法與傳統(tǒng)優(yōu)化算法的極大區(qū)別。傳統(tǒng)優(yōu)化算法是從單個初始值迭代求最優(yōu)解的;容易誤入局部最優(yōu)解。遺傳算法從串集開始搜索,復(fù)蓋面大,利于全局擇優(yōu)。</P>
<P>2.遺傳算法求解時使用特定問題的信息極少,容易形成通用算法程序。</P>
<P>由于遺傳算法使用適應(yīng)值這一信息進(jìn)行搜索,并不需要問題導(dǎo)數(shù)等與問題直接相關(guān)的信息。遺傳算法只需適應(yīng)值和串編碼等通用信息,故幾乎可處理任何問題。</P>
<P>3.遺傳算法有極強(qiáng)的容錯能力</P>
<P>遺傳算法的初始串集本身就帶有大量與最優(yōu)解甚遠(yuǎn)的信息;通過選擇、交叉、變異操作能迅速排除與最優(yōu)解相差極大的串;這是一個強(qiáng)烈的濾波過程;并且是一個并行濾波機(jī)制。故而,遺傳算法有很高的容錯能力。</P>
<P>4.遺傳算法中的選擇、交叉和變異都是隨機(jī)操作,而不是確定的精確規(guī)則。</P>
<P>這說明遺傳算法是采用隨機(jī)方法進(jìn)行最優(yōu)解搜索,選擇體現(xiàn)了向最優(yōu)解迫近,交叉體現(xiàn)了最優(yōu)解的產(chǎn)生,變異體現(xiàn)了全局最優(yōu)解的復(fù)蓋。</P>
<P>5.遺傳算法具有隱含的并行性</P>
<P>遺傳算法的基礎(chǔ)理論是圖式定理。它的有關(guān)內(nèi)容如下:</P>
<P>(1)圖式(Schema)概念</P>
<P>一個基因串用符號集{0,1,*}表示,則稱為一個因式;其中*可以是0或1。例如:H=1x x 0 x x是一個圖式。</P>
<P>(2)圖式的階和長度</P>
<P>圖式中0和1的個數(shù)稱為圖式的階,并用0(H)表示。圖式中第1位數(shù)字和最后位數(shù)字間的距離稱為圖式的長度,并用<SPAN
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋體; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">δ</SPAN>(H)表示。對于圖式H=1x
x0x x,有0(H)=2,<SPAN
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋體; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">δ</SPAN>(H)=4。</P>
<P>(3)Holland圖式定理</P>
<P>低階,短長度的圖式在群體遺傳過程中將會按指數(shù)規(guī)律增加。當(dāng)群體的大小為n時,每代處理的圖式數(shù)目為0(n<SUP>3</SUP>)。</P>
<P>遺傳算法這種處理能力稱為隱含并行性(Implicit Parallelism)。它說明遺傳算法其內(nèi)在具有并行處理的特質(zhì)。</P>
<P>二、遺傳算法的應(yīng)用關(guān)鍵</P>
<P>遺傳算法在應(yīng)用中最關(guān)鍵的問題有如下3個</P>
<P>1.串的編碼方式</P>
<P>這本質(zhì)是問題編碼。一般把問題的各種參數(shù)用二進(jìn)制編碼,構(gòu)成子串;然后把子串拼接構(gòu)成“染色體”串。串長度及編碼形式對算法收斂影響極大。</P>
<P>2.適應(yīng)函數(shù)的確定</P>
<P>適應(yīng)函數(shù)(fitness function)也稱對象函數(shù)(object
function),這是問題求解品質(zhì)的測量函數(shù);往往也稱為問題的“環(huán)境”。一般可以把問題的模型函數(shù)作為對象函數(shù);但有時需要另行構(gòu)造。</P>
<P>3.遺傳算法自身參數(shù)設(shè)定</P>
<P>遺傳算法自身參數(shù)有3個,即群體大小n、交叉概率P<SUB>c</SUB>和變異概率P<SUB>m</SUB>。</P>
<P>群體大小n太小時難以求出最優(yōu)解,太大則增長收斂時間。一般n=30-160。交叉概率P<SUB>c</SUB>太小時難以向前搜索,太大則容易破壞高適應(yīng)值的結(jié)構(gòu)。一般取Pc=0.25-0.75。變異概率P<SUB>m</SUB>太小時難以產(chǎn)生新的基因結(jié)構(gòu),太大使遺傳算法成了單純的隨機(jī)搜索。一般取P<SUB>m</SUB>=0.01—0.2。</P>
<P>三、遺傳算法在神經(jīng)網(wǎng)絡(luò)中的應(yīng)用</P>
<P>遺傳算法在神經(jīng)網(wǎng)絡(luò)中的應(yīng)用主要反映在3個方面:網(wǎng)絡(luò)的學(xué)習(xí),網(wǎng)絡(luò)的結(jié)構(gòu)設(shè)計,網(wǎng)絡(luò)的分析。
<P>1.遺傳算法在網(wǎng)絡(luò)學(xué)習(xí)中的應(yīng)用
<P>在神經(jīng)網(wǎng)絡(luò)中,遺傳算法可用于網(wǎng)絡(luò)的學(xué)習(xí)。這時,它在兩個方面起作用
<P>(1)學(xué)習(xí)規(guī)則的優(yōu)化
<P>用遺傳算法對神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)規(guī)則實(shí)現(xiàn)自動優(yōu)化,從而提高學(xué)習(xí)速率。
<P>(2)網(wǎng)絡(luò)權(quán)系數(shù)的優(yōu)化
<P>用遺傳算法的全局優(yōu)化及隱含并行性的特點(diǎn)提高權(quán)系數(shù)優(yōu)化速度。
<P>2.遺傳算法在網(wǎng)絡(luò)設(shè)計中的應(yīng)用
<P>用遺傳算法設(shè)計一個優(yōu)秀的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),首先是要解決網(wǎng)絡(luò)結(jié)構(gòu)的編碼問題;然后才能以選擇、交叉、變異操作得出最優(yōu)結(jié)構(gòu)。編碼方法主要有下列3種:
<P>(1)直接編碼法
<P>這是把神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)直接用二進(jìn)制串表示,在遺傳算法中,“染色體”實(shí)質(zhì)上和神經(jīng)網(wǎng)絡(luò)是一種映射關(guān)系。通過對“染色體”的優(yōu)化就實(shí)現(xiàn)了對網(wǎng)絡(luò)的優(yōu)化。
<P>(2)參數(shù)化編碼法
<P>參數(shù)化編碼采用的編碼較為抽象,編碼包括網(wǎng)絡(luò)層數(shù)、每層神經(jīng)元數(shù)、各層互連方式等信息。一般對進(jìn)化后的優(yōu)化“染色體”進(jìn)行分析,然后產(chǎn)生網(wǎng)絡(luò)的結(jié)構(gòu)。
<P>(3)繁衍生長法
<P>這種方法不是在“染色體”中直接編碼神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),而是把一些簡單的生長語法規(guī)則編碼入“染色體”中;然后,由遺傳算法對這些生長語法規(guī)則不斷進(jìn)行改變,最后生成適合所解的問題的神經(jīng)網(wǎng)絡(luò)。這種方法與自然界生物地生長進(jìn)化相一致。
<P>3.遺傳算法在網(wǎng)絡(luò)分析中的應(yīng)用
<P>遺傳算法可用于分析神經(jīng)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)由于有分布存儲等特點(diǎn),一般難以從其拓?fù)浣Y(jié)構(gòu)直接理解其功能。遺傳算法可對神經(jīng)網(wǎng)絡(luò)進(jìn)行功能分析,性質(zhì)分析,狀態(tài)分析。
<P>遺傳算法雖然可以在多種領(lǐng)域都有實(shí)際應(yīng)用,并且也展示了它潛力和寬廣前景;但是,遺傳算法還有大量的問題需要研究,目前也還有各種不足。首先,在變量多,取值范圍大或無給定范圍時,收斂速度下降;其次,可找到最優(yōu)解附近,但無法精確確定最擾解位置;最后,遺傳算法的參數(shù)選擇尚未有定量方法。對遺傳算法,還需要進(jìn)一步研究其數(shù)學(xué)基礎(chǔ)理論;還需要在理論上證明它與其它優(yōu)化技術(shù)的優(yōu)劣及原因;還需研究硬件化的遺傳算法;以及遺傳算法的通用編程和形式等。</P></TD></TR>
<TR>
<TD width="100%" height=20>
<P align=right><A
href="http://www.jgchina.com/ednns/ednnsbk/6.htm">上一頁</A>
<A
href="http://www.jgchina.com/ednns/ednnsbk/6.3.htm">下一頁</A></P></TD></TR></TBODY></TABLE></BODY></HTML>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -