《智能系統(tǒng)》第3章 智能計(jì)算_第1頁(yè)
《智能系統(tǒng)》第3章 智能計(jì)算_第2頁(yè)
《智能系統(tǒng)》第3章 智能計(jì)算_第3頁(yè)
《智能系統(tǒng)》第3章 智能計(jì)算_第4頁(yè)
《智能系統(tǒng)》第3章 智能計(jì)算_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第三章智能計(jì)算3.1神經(jīng)計(jì)算3.2遺傳算法3.3免疫計(jì)算3.4模糊邏輯與推理系統(tǒng)高級(jí)人工智能人才培養(yǎng)叢書(shū)of311習(xí)題3.1 神經(jīng)計(jì)算of312 人類(lèi)大腦包含超過(guò)一百億個(gè)神經(jīng)元,每個(gè)神經(jīng)元平均連接到數(shù)千個(gè)其他神經(jīng)元。這些連接被稱(chēng)為突觸,人腦包含大約60萬(wàn)億這樣的連接。神經(jīng)元實(shí)際上是非常簡(jiǎn)單的處理單元。每個(gè)神經(jīng)元都由細(xì)胞體和突起構(gòu)成。細(xì)胞體具有聯(lián)絡(luò)和整合輸入信息并傳出信息的作用。突起有樹(shù)突和軸突兩種。樹(shù)突短而分枝多,直接由細(xì)胞體擴(kuò)張突出,形成樹(shù)枝狀,其作用是接受其他神經(jīng)元軸突傳來(lái)的沖動(dòng)并傳給細(xì)胞體。軸突長(zhǎng)而分枝少,為粗細(xì)均勻的細(xì)長(zhǎng)突起,末端形成樹(shù)枝樣的神經(jīng)末梢。1. 生物神經(jīng)元和人工神經(jīng)元第三章

2、 智能計(jì)算人體神經(jīng)元3.1 神經(jīng)計(jì)算of313 人工神經(jīng)網(wǎng)絡(luò)模仿人類(lèi)大腦,由許多人工神經(jīng)元組成。人工神經(jīng)網(wǎng)絡(luò)中的神經(jīng)元往往具有比生物神經(jīng)元更少的連接,并且神經(jīng)網(wǎng)絡(luò)在神經(jīng)元數(shù)量方面(目前)明顯小于人類(lèi)大腦。神經(jīng)網(wǎng)絡(luò)中的每個(gè)神經(jīng)元(或節(jié)點(diǎn))接收許多輸入。稱(chēng)為激活函數(shù)的函數(shù)使用這些輸入值來(lái)激活各個(gè)神經(jīng)元,神經(jīng)元的激活程度以輸出值來(lái)表示。可以在神經(jīng)元中使用許多激活函數(shù)。1生物神經(jīng)元與人工神經(jīng)元第三章 智能計(jì)算(a) 階躍函數(shù)。(b) sigmoid函數(shù) 。 (c) 線性閾值函數(shù)。3.1 神經(jīng)計(jì)算of314 人工神經(jīng)網(wǎng)絡(luò)由一組連接在一起的神經(jīng)元組成。神經(jīng)元之間的連接具有與之相關(guān)聯(lián)的權(quán)重,并且每個(gè)神經(jīng)元將

3、自身的輸出傳遞到其所連接的神經(jīng)元作為輸入。此輸出取決于激活函數(shù)所接收的輸入。以這種方式,通過(guò)整個(gè)網(wǎng)絡(luò)處理傳到網(wǎng)絡(luò)的輸入信號(hào),并產(chǎn)生一個(gè)或多個(gè)輸出。沒(méi)有中央處理或控制機(jī)制,整個(gè)網(wǎng)絡(luò)與其中的每一個(gè)計(jì)算都密切相關(guān)。1生物神經(jīng)元與人工神經(jīng)元第三章 智能計(jì)算例:階躍函數(shù)作為激活函數(shù)的神經(jīng)元X激活程度YX是神經(jīng)元n個(gè)輸入的加權(quán)和,其中每個(gè)輸入xi乘以其對(duì)應(yīng)的權(quán)重wi, i從1到n3.1 神經(jīng)計(jì)算of315 感知器最初由Rosenblatt(1958)提出,是一種簡(jiǎn)單的神經(jīng)元模型,用于將輸入特征進(jìn)行兩類(lèi)劃分。感知器可以具有任意數(shù)量的輸入,有時(shí)被排布成網(wǎng)格。該網(wǎng)格可用于表示圖像或視野,因此感知器可用于執(zhí)行簡(jiǎn)單

4、的圖像分類(lèi)或識(shí)別任務(wù)。感知器使用階躍函數(shù)。 單個(gè)感知器可用于學(xué)習(xí)分類(lèi)任務(wù),其中它接收輸入并將其分類(lèi)為兩個(gè)類(lèi)別之一:1或0。我們可以用它們來(lái)表示真和假,也就是說(shuō),感知器可以學(xué)習(xí)表示布爾運(yùn)算符,如AND或OR。2. 單層感知器到多層神經(jīng)網(wǎng)絡(luò)第三章 智能計(jì)算或3.1 神經(jīng)計(jì)算of316感知器學(xué)習(xí)過(guò)程: 1. 將權(quán)重隨機(jī)分配給輸入端。通常,這些權(quán)重將選擇在0.5和+0.5之間。 2. 將一對(duì)訓(xùn)練數(shù)據(jù)呈現(xiàn)給感知器,并觀察其輸出分類(lèi)。如果輸出不正確,則調(diào)整權(quán)重以嘗試更仔細(xì)地對(duì)此輸入進(jìn)行分類(lèi)。換句話說(shuō),如果感知器錯(cuò)誤地將正類(lèi)別訓(xùn)練數(shù)據(jù)劃分入負(fù)類(lèi)別,則需要修改權(quán)重以增加該組輸入對(duì)應(yīng)的輸出。這可以通過(guò)向具有負(fù)值

5、的輸入端權(quán)重添加正值來(lái)完成,反之亦然。2. 單層感知器到多層神經(jīng)網(wǎng)絡(luò)第三章 智能計(jì)算感知器訓(xùn)練規(guī)則 或 權(quán)重調(diào)整過(guò)程: 其中e是產(chǎn)生的誤差,a是學(xué)習(xí)率,其中0 a 1;如果輸出正確,則e定義為0,否則如果輸出過(guò)低,則e為正,如果輸出過(guò)高,則e為負(fù)。以這種方式,如果輸出太高,則對(duì)于接收到正值的輸入引起權(quán)值減小,此規(guī)則稱(chēng)為感知器訓(xùn)練規(guī)則。3.1 神經(jīng)計(jì)算of3172. 單層感知器到多層神經(jīng)網(wǎng)絡(luò)第三章 智能計(jì)算迭代x1x2期望值實(shí)際值誤差w1w2100000-0.20.4101110-0.20.411010100.411111000.420000000.420111000.42101010.20.4

6、2111100.20.43000000.20.43011100.20.43101100.20.43111100.20.4 簡(jiǎn)單感知器在學(xué)習(xí)表示邏輯或函數(shù)時(shí)權(quán)重的變化示例只需要三個(gè)周期,感知器正確學(xué)會(huì)對(duì)輸入值進(jìn)行分類(lèi)。3.1 神經(jīng)計(jì)算of318 多層神經(jīng)網(wǎng)絡(luò)由連接在一起的許多神經(jīng)元組成,通常以層的形式排列。 多層感知器能夠建模更復(fù)雜的函數(shù),包括線性不可分的函數(shù),例如邏輯異或函數(shù)。 三層前饋網(wǎng)絡(luò):第一層是輸入層。該層中的每個(gè)節(jié)點(diǎn)(或神經(jīng)元)接收單個(gè)輸入信號(hào)。實(shí)際上,通常該層中的節(jié)點(diǎn)不是神經(jīng)元,而只是用于將輸入信號(hào)傳遞到下一層中的節(jié)點(diǎn),稱(chēng)其為隱層。網(wǎng)絡(luò)可以有一個(gè)或多個(gè)隱層,其中包含執(zhí)行實(shí)際工作的神經(jīng)

7、元。注意,每個(gè)輸入信號(hào)被傳遞到該層中的每一個(gè)節(jié)點(diǎn),并且該層中每個(gè)節(jié)點(diǎn)的輸出被傳遞到最終層中的每個(gè)節(jié)點(diǎn),即輸出層。輸出層處理后發(fā)出輸出信號(hào)。網(wǎng)絡(luò)稱(chēng)為前饋網(wǎng)絡(luò)是因?yàn)閿?shù)據(jù)從輸入節(jié)點(diǎn)前饋到輸出節(jié)點(diǎn)。典型的前饋神經(jīng)網(wǎng)絡(luò)由輸入層,一個(gè)或兩個(gè)隱層和輸出層組成,并且每層可以具有10到1000個(gè)神經(jīng)元。3. 反向傳播算法與無(wú)監(jiān)督學(xué)習(xí)網(wǎng)絡(luò)第三章 智能計(jì)算三層前饋網(wǎng)絡(luò)3.1 神經(jīng)計(jì)算of319 反向傳播算法由是多層神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法,權(quán)重調(diào)整方法。也稱(chēng)為梯度下降方法,沿著誤差函數(shù)表面下降最陡的路徑,以嘗試在錯(cuò)誤空間中找到最小值,該最小值表示提供網(wǎng)絡(luò)最優(yōu)性能的權(quán)重集。學(xué)習(xí)過(guò)程: 1. 反向傳播算法首先將網(wǎng)絡(luò)中的權(quán)重初始

8、化為隨機(jī)值,隨機(jī)值通常設(shè)置為較小的值,例如在-0.5到0.5的范圍內(nèi)?;蛘?,權(quán)重可以正常分布在-2.4 / n到2.4 / n的范圍內(nèi),其中n是輸入層的輸入個(gè)數(shù)。 2. 算法的每輪迭代都先通過(guò)網(wǎng)絡(luò)將數(shù)據(jù)從輸入饋送到輸出,再將輸出錯(cuò)誤反饋到輸入。誤差通過(guò)網(wǎng)絡(luò)反饋,沿路徑改變節(jié)點(diǎn)的權(quán)重。以這種方式重復(fù),直到訓(xùn)練數(shù)據(jù)產(chǎn)生的輸出足夠接近所需值 - 換句話說(shuō),直到誤差值足夠小。當(dāng)一個(gè)周期中所有訓(xùn)練數(shù)據(jù)的輸出值的誤差平方之和小于某個(gè)閾值(例如0.001)。 3. 反向傳播網(wǎng)絡(luò)通常使用sigmoid激活函數(shù),該函數(shù)及其微分如下:3. 反向傳播算法與無(wú)監(jiān)督學(xué)習(xí)網(wǎng)絡(luò)第三章 智能計(jì)算 3.1 神經(jīng)計(jì)算of3110

9、 例:三層網(wǎng)絡(luò)權(quán)重調(diào)整過(guò)程,并使用i表示輸入層中的節(jié)點(diǎn),j表示隱層中的節(jié)點(diǎn),k表示輸出層中的節(jié)點(diǎn)。因此,例如,wij指的是輸入層中的節(jié)點(diǎn)與隱層中的節(jié)點(diǎn)之間的連接的權(quán)重。網(wǎng)絡(luò)中導(dǎo)出節(jié)點(diǎn)j的輸出值的函數(shù)如下(左),其中n是節(jié)點(diǎn)j的輸入數(shù)量; wij是每個(gè)節(jié)點(diǎn)i和節(jié)點(diǎn)j之間連接的權(quán)重; wj是用于節(jié)點(diǎn)j的閾值,它被設(shè)置為0到1之間的隨機(jī)值。xi是輸入節(jié)點(diǎn)i的輸入值;和yj是節(jié)點(diǎn)j產(chǎn)生的輸出值。3. 反向傳播算法與無(wú)監(jiān)督學(xué)習(xí)網(wǎng)絡(luò)第三章 智能計(jì)算 (1) 一旦輸入通過(guò)網(wǎng)絡(luò)饋送以產(chǎn)生輸出,就計(jì)算輸出層中每個(gè)節(jié)點(diǎn)k的誤差梯度。輸出節(jié)點(diǎn)k的誤差梯度定義為該節(jié)點(diǎn)的誤差值乘以激活函數(shù)的導(dǎo)數(shù)k的誤差信號(hào)定義為該節(jié)點(diǎn)

10、的期望值和實(shí)際值之間的差值,如上(右) (2) 同樣計(jì)算隱層中每個(gè)節(jié)點(diǎn)j的誤差梯度,n是隱層中每個(gè)節(jié)點(diǎn)的輸出數(shù)3.1 神經(jīng)計(jì)算of3111 (3) 根據(jù)下面公式更新網(wǎng)絡(luò)中的每個(gè)權(quán)重wij或wjk, 其中xi是輸入節(jié)點(diǎn)i的輸入值,是學(xué)習(xí)率,它是低于1的正數(shù)。3. 反向傳播算法與無(wú)監(jiān)督學(xué)習(xí)網(wǎng)絡(luò)第三章 智能計(jì)算 反向傳播算法特點(diǎn): (1) 通過(guò)將附加到每個(gè)節(jié)點(diǎn)的權(quán)重與該節(jié)點(diǎn)相關(guān)聯(lián)的錯(cuò)誤進(jìn)行比較,將責(zé)任歸咎于網(wǎng)絡(luò)中的各個(gè)節(jié)點(diǎn)。在隱藏節(jié)點(diǎn)的情況下,沒(méi)有錯(cuò)誤值,因?yàn)檫@些節(jié)點(diǎn)沒(méi)有特定的期望輸出值。在這種情況下,隱層節(jié)點(diǎn)和輸出節(jié)點(diǎn)之間的每個(gè)連接的權(quán)重乘以該輸出節(jié)點(diǎn)的誤差,以嘗試根據(jù)每個(gè)節(jié)點(diǎn)對(duì)錯(cuò)誤的貢獻(xiàn)程度在隱

11、層中的節(jié)點(diǎn)之間分配責(zé)任。 (2)反向傳播相當(dāng)?shù)托В彝ǔL?,無(wú)法用于解決現(xiàn)實(shí)問(wèn)題。對(duì)于一些簡(jiǎn)單的問(wèn)題,可能需要數(shù)百甚至數(shù)千個(gè)周期才能達(dá)到令人滿意的低水平誤差,所以需要采取措施提高反向傳播的性能。3.1 神經(jīng)計(jì)算of31123. 多層神經(jīng)網(wǎng)絡(luò)-監(jiān)督學(xué)習(xí)第三章 智能計(jì)算 改進(jìn)反向傳播性能: (1) 使用動(dòng)量修改公式中的權(quán)重。動(dòng)量考慮了在前一次迭代中特定權(quán)重的變化程度。我們將使用t來(lái)表示當(dāng)前迭代,并使用t -1來(lái)表示前一次迭代。是第t次迭代節(jié)點(diǎn)i和j連接權(quán)重的變化; 是動(dòng)量值,它是介于0和1之間的正數(shù)。通常,使用較高的值,例如0.95。如果為零,這與不使用動(dòng)量的反向傳播算法相同。 (2) 使用超

12、雙曲正切函數(shù)tanh,而不是sigmoid函數(shù),這使得網(wǎng)絡(luò)能夠在更少的迭代中收斂于解。tanh(x) 中a和b是常數(shù),例如a = 1.7和b = 0.7 (3)在訓(xùn)練網(wǎng)絡(luò)過(guò)程中修改學(xué)習(xí)速率a的值。 3.1 神經(jīng)計(jì)算of3113 Kohonen映射或自組織特征映射是Kohonen在20世紀(jì)80年代提出的一種神經(jīng)網(wǎng)絡(luò)模型。Kohonen映射使用winner-take-all原則:只有一個(gè)神經(jīng)元產(chǎn)生網(wǎng)絡(luò)輸出以響應(yīng)給定的輸入。這個(gè)具有最高激活水平的神經(jīng)元稱(chēng)之為獲勝元。在學(xué)習(xí)過(guò)程中,只有與這個(gè)獲勝元相連接的神經(jīng)元才會(huì)得以更新其權(quán)重。Kohonen映射的目的是將輸入數(shù)據(jù)聚類(lèi)到多個(gè)類(lèi)簇中。在沒(méi)有告知映射的類(lèi)

13、別的情況下,Kohonen確定了最有用的內(nèi)在屬性劃分。因此,Kohonen映射特別適用于類(lèi)簇?cái)?shù)未知的數(shù)據(jù)聚類(lèi)。 Kohonen映射有兩層:輸入層和聚類(lèi)層,后者用作輸出層。每個(gè)輸入節(jié)點(diǎn)連接到聚類(lèi)層中的每個(gè)節(jié)點(diǎn),并且通常聚類(lèi)層中的節(jié)點(diǎn)以網(wǎng)格形式排列,但這不是必需的。3. 多層神經(jīng)網(wǎng)絡(luò)-無(wú)監(jiān)督學(xué)習(xí)第三章 智能計(jì)算 訓(xùn)練Kohonen映射的方法如下: (1) 所有權(quán)重都設(shè)置為小的隨機(jī)值。學(xué)習(xí)率也加以設(shè)定,通常為小的正值。 (2) 聚類(lèi)層中與輸入數(shù)據(jù)最匹配的神經(jīng)元被宣布為獲勝元。權(quán)重向量最接近輸入向量的神經(jīng)元是獲勝元。具有權(quán)重wi的神經(jīng)元與輸入向量x的歐氏距離di計(jì)算如下(左)。 (3)該神經(jīng)元提供映射

14、的輸出分類(lèi)并且更新其權(quán)重,如下(右)。3.1 神經(jīng)計(jì)算of3114Kohonen映射示例 兩個(gè)輸入和九個(gè)類(lèi)簇神經(jīng)元,排列成一個(gè)33網(wǎng)格結(jié)構(gòu),如左圖。 聚類(lèi)層中的每個(gè)節(jié)點(diǎn)都連接到兩個(gè)輸入節(jié)點(diǎn)中的每一個(gè),聚類(lèi)層節(jié)點(diǎn)彼此不連接,網(wǎng)格不代表物理連接,表示空間鄰近節(jié)點(diǎn)1靠近節(jié)點(diǎn)2和4; x1和x2是要呈獻(xiàn)給輸入層的兩個(gè)輸入值,包含兩個(gè)神經(jīng)元,中圖顯示了用于訓(xùn)練此網(wǎng)絡(luò)的九個(gè)輸入值;聚類(lèi)層中的每個(gè)神經(jīng)元都與兩個(gè)輸入層神經(jīng)元有連接,所以它們的權(quán)重向量可以在二維空間中繪制。這些權(quán)重向量最初設(shè)置為隨機(jī)值,如右圖;節(jié)點(diǎn)之間的連接再次表示空間接近度。3. 多層神經(jīng)網(wǎng)絡(luò)-無(wú)監(jiān)督學(xué)習(xí)第三章 智能計(jì)算 Kohonen映射聚

15、類(lèi)層Kohonen映射訓(xùn)練數(shù)據(jù)Kohonen映射初始權(quán)重向量Kohonen映射后權(quán)重向量第三章智能計(jì)算3.1神經(jīng)計(jì)算3.2遺傳算法3.3免疫計(jì)算3.4模糊邏輯與推理系統(tǒng)高級(jí)人工智能人才培養(yǎng)叢書(shū)of3115習(xí)題3.2 遺傳算法第三章 智能計(jì)算of31161. 遺傳表達(dá)和編碼 遺傳算法是基于自然選擇理論的宏啟發(fā)式算法,它利用交叉、變異等算子來(lái)生成或搜索種群中更高質(zhì)量的解以試圖確定最優(yōu)解決方案 種群由一組染色體組成,即一組候選解。 染色體都由基因組成。染色體通常代表群體中的一個(gè)完整的“個(gè)體”,換句話說(shuō),代表一個(gè)完整的解決方案,或一個(gè)分類(lèi)。 都代表著個(gè)體遺傳構(gòu)成的某個(gè)方面。例如,基因可以是完全獨(dú)立的,

16、代表動(dòng)物體內(nèi)某些身體部位的存在。更常見(jiàn)的是,基因以不太透明的方式組合在一起。例如,我們將看到遺傳算法如何用于解決數(shù)學(xué)問(wèn)題,其中染色體的基因通常被視為代表問(wèn)題解決方案的二進(jìn)制數(shù)位,整數(shù)或?qū)崝?shù)。 編碼:染色體在計(jì)算機(jī)中的表示。3.2 遺傳算法第三章 智能計(jì)算of31172. 簡(jiǎn)單遺傳算法 遺傳算法的步驟如下: (1) 生成隨機(jī)的染色體群(這是第一代),種群大小提前確定。 (2) 如果滿足終止標(biāo)準(zhǔn),就停止。否則,繼續(xù)執(zhí)行步驟3。 (3) 確定每條染色體的適應(yīng)度。 (4) 對(duì)本代染色體進(jìn)行交叉和突變,產(chǎn)生下一代新的染色體群。 (5) 返回第2步。適應(yīng)度: 在傳統(tǒng)的遺傳算法中,需要一個(gè)度量標(biāo)準(zhǔn)來(lái)客觀地確

17、定染色體的適應(yīng)度,即解的好壞。例如,在使用遺傳算法將數(shù)字順序排序時(shí),可以通過(guò)運(yùn)行該算法并計(jì)算其放置在正確位置的數(shù)字?jǐn)?shù)量來(lái)確定合適的適應(yīng)度。通過(guò)測(cè)量每個(gè)錯(cuò)誤放置的數(shù)字與正確位置之間的距離,可以獲得更復(fù)雜的適應(yīng)度。3.2 遺傳算法第三章 智能計(jì)算of31182. 簡(jiǎn)單遺傳算法交叉操作通常應(yīng)用于兩條長(zhǎng)度相同的染色體,如下所示: (1)選擇一個(gè)隨機(jī)交叉點(diǎn)。 (2)將每條染色體分成兩部分,在交叉點(diǎn)處分裂。 (3)通過(guò)將一條染色體的前部與另一個(gè)的后部相結(jié)合來(lái)重新組合斷裂的染色體,反之亦然,從而產(chǎn)生兩條新的染色體。兩條染色體選擇交叉點(diǎn)染色體重組例:?jiǎn)吸c(diǎn)交叉例:兩點(diǎn)交叉3.2 遺傳算法第三章 智能計(jì)算of31

18、192. 簡(jiǎn)單遺傳算法交叉操作通常應(yīng)用于兩條長(zhǎng)度相同的染色體,如下所示: (1)選擇一個(gè)隨機(jī)交叉點(diǎn)。 (2)將每條染色體分成兩部分,在交叉點(diǎn)處分裂。 (3)通過(guò)將一條染色體的前部與另一個(gè)的后部相結(jié)合來(lái)重新組合斷裂的染色體,反之亦然,從而產(chǎn)生兩條新的染色體。兩條染色體選擇交叉點(diǎn)染色體重組例:?jiǎn)吸c(diǎn)交叉例:兩點(diǎn)交叉3.2 遺傳算法第三章 智能計(jì)算of31202. 簡(jiǎn)單遺傳算法 變異操作:為了跳出局部最優(yōu),引入了變異算子。變異算子是一元運(yùn)算符(即只應(yīng)用于單個(gè)基因),通常以較低的概率應(yīng)用變異算子,如0.01或0.001。例:突變只涉及逆轉(zhuǎn)染色體中位的值。當(dāng)突變率為0.01時(shí),100個(gè)基因的染色體中的一個(gè)

19、基因可能被逆轉(zhuǎn)。在這里,我們看到了應(yīng)用于上述例子中的一個(gè)后代的突變。在不同的應(yīng)用問(wèn)題中可以設(shè)置不同的變異算子。終止準(zhǔn)則 (1) 對(duì)進(jìn)化次數(shù)有一個(gè)限制,在這之后運(yùn)行終止。 (2) 對(duì)于一些問(wèn)題,當(dāng)使用特定解決方案得到結(jié)果時(shí),或者當(dāng)群體中的最高適應(yīng)度達(dá)到特定值時(shí),運(yùn)行可以停止。例如,在下一節(jié)中我們將看到如何用遺傳算法求解數(shù)學(xué)函數(shù)。在這種情況下,很明顯,當(dāng)達(dá)到正確的解決方案時(shí),運(yùn)行可以停止,這很容易進(jìn)行測(cè)試。3.2 遺傳算法第三章 智能計(jì)算of31213. 應(yīng)用實(shí)例:數(shù)學(xué)函數(shù)優(yōu)化 問(wèn)題:使用遺傳算法來(lái)找到數(shù)學(xué)函數(shù)f(x)=sin(x) ,x1,15的最大值. 步驟1:生成隨機(jī)種群,這是我們的第一代:

20、3.2 遺傳算法第三章 智能計(jì)算of31223. 應(yīng)用實(shí)例:數(shù)學(xué)函數(shù)優(yōu)化 步驟2:計(jì)算適應(yīng)度。二進(jìn)制轉(zhuǎn)換為十進(jìn)制,計(jì)算f(x)的值。將適應(yīng)度指定為0到100之間的數(shù)值,其中0表示最不適合,100表示最適合。 f(x)生成介于-1和1之間的實(shí)數(shù)。我們將指定f(x)=1時(shí)的適應(yīng)度為100和f(x)=-1時(shí)的適應(yīng)度為0,50的適應(yīng)度將被指定為f(x)=0。因此,x的適應(yīng)度f(wàn)(x)定義如下:染色體基因整數(shù)值f (x)適應(yīng)度 f (x)適應(yīng)度比例c1100190.4170.6146.3%c2001130.1457.0637.4%c3101010-0.5422.8014.9%c401015-0.962.0

21、51.34%3.2 遺傳算法第三章 智能計(jì)算of31233. 應(yīng)用實(shí)例:數(shù)學(xué)函數(shù)優(yōu)化 步驟3:遺傳操作,種群更新。生成n個(gè)隨機(jī)數(shù),通過(guò)輪盤(pán)法選擇n個(gè)個(gè)體復(fù)制;生成隨機(jī)數(shù)作為交叉點(diǎn),并進(jìn)行交叉操作,生成n個(gè)子代。 第一個(gè)隨機(jī)數(shù)是56.7,這意味著c2被選為第一個(gè)父代。接下來(lái),38.2被選擇,所以它的配偶是c1。 現(xiàn)在我們需要結(jié)合c1和c2來(lái)產(chǎn)生兩個(gè)新的后代。首先,我們需要隨機(jī)選擇一個(gè)交叉點(diǎn)。我們將選擇第二位和第三位(基因)之間的點(diǎn),如左圖。用交叉產(chǎn)生兩個(gè)后代,c5和c6,如右圖。以類(lèi)似的方式,c1和c3被選擇來(lái)產(chǎn)生后代c7和c8,使用第三和第四位之間的交叉點(diǎn)。第一代種群c1到c4被第二代種群c5

22、到c8取代。c4沒(méi)有機(jī)會(huì)繁殖,因此其基因?qū)G失。3.2 遺傳算法第三章 智能計(jì)算of31243. 應(yīng)用實(shí)例:數(shù)學(xué)函數(shù)優(yōu)化 步驟3:遺傳操作,種群更新。生成n個(gè)隨機(jī)數(shù),通過(guò)輪盤(pán)法選擇n個(gè)個(gè)體復(fù)制;生成隨機(jī)數(shù)作為交叉點(diǎn),并進(jìn)行交叉操作,生成n個(gè)子代。 第一個(gè)隨機(jī)數(shù)是56.7,這意味著c2被選為第一個(gè)父代。接下來(lái),38.2被選擇,所以它的配偶是c1。 現(xiàn)在我們需要結(jié)合c1和c2來(lái)產(chǎn)生兩個(gè)新的后代。首先,我們需要隨機(jī)選擇一個(gè)交叉點(diǎn)。我們將選擇第二位和第三位(基因)之間的點(diǎn),如左圖。用交叉產(chǎn)生兩個(gè)后代,c5和c6,如右圖。以類(lèi)似的方式,c1和c3被選擇來(lái)產(chǎn)生后代c7和c8,使用第三和第四位之間的交叉點(diǎn)。

23、第一代種群c1到c4被第二代種群c5到c8取代。c4沒(méi)有機(jī)會(huì)繁殖,因此其基因?qū)G失。第二代種群重復(fù)步驟2和步驟3,直到到達(dá)終止條件。第三章智能計(jì)算3.1神經(jīng)計(jì)算3.2遺傳算法3.3免疫計(jì)算3.4模糊邏輯與推理系統(tǒng)高級(jí)人工智能人才培養(yǎng)叢書(shū)of3125習(xí)題3.3 免疫計(jì)算第三章 智能計(jì)算of31261概要 生物免疫:對(duì)外界入侵的抗原,受抗原的刺激,生物上淋巴細(xì)胞會(huì)分泌出相應(yīng)的抗體,其目標(biāo)是盡可能保證整個(gè)生物系統(tǒng)的基本生理功能得到正常運(yùn)轉(zhuǎn),并產(chǎn)生記憶細(xì)胞,以便下次相同的抗原入侵時(shí),能夠快速的做出反應(yīng)。 免疫算法,是模仿生物免疫機(jī)制,結(jié)合基因的進(jìn)化機(jī)理,人工地構(gòu)造出的一種新型智能搜索算法。免疫算法具有

24、一般免疫系統(tǒng)的特征,免疫算法采用群體搜索策略,一般遵循幾個(gè)步驟”產(chǎn)生初始化種群適應(yīng)度的計(jì)算評(píng)價(jià)種群間個(gè)體的選擇、交叉、變異產(chǎn)生新種群”。通過(guò)迭代計(jì)算,最終以較大的概率得到問(wèn)題的最優(yōu)解。特點(diǎn): 免疫算法利用自身產(chǎn)生多樣性和維持機(jī)制,保證了種群的多樣性,克服了一般尋優(yōu)過(guò)程中特別是多峰值的尋優(yōu)過(guò)程中不可避免的“早熟”問(wèn)題,求得全局最優(yōu)解。大量研究表明,免疫算法能在較少的迭代數(shù)下快速收斂到全局最優(yōu)。一般分類(lèi): (1)基本免疫算法,模擬免疫系統(tǒng)中抗原與抗體的結(jié)合原理。 (2)基于免疫系統(tǒng)中其他特殊機(jī)制抽象出來(lái)的免疫算法,如克隆選擇算法。 (3)免疫算法與其他智能算法的結(jié)合形成的新的算法,如免疫遺傳算法。

25、3.3 免疫計(jì)算第三章 智能計(jì)算of31272基本免疫算法 抗原:在生命科學(xué)中,能夠誘發(fā)機(jī)體的免疫系統(tǒng)產(chǎn)生免疫應(yīng)答,產(chǎn)生抗體進(jìn)行免疫作用的物質(zhì)。在算法中特指的是非最優(yōu)個(gè)體的基因或錯(cuò)誤基因。 抗體:在生命科學(xué)中,是指免疫系統(tǒng)受抗原刺激后,免疫細(xì)胞轉(zhuǎn)化為T(mén)細(xì)胞并產(chǎn)生能與抗原發(fā)生特異性結(jié)合的免疫球蛋白,該免疫球蛋白即為抗體。 疫苗:在生物學(xué)中指保留了能刺激生物免疫系統(tǒng)的特性,使免疫應(yīng)答做出反應(yīng)的預(yù)防性生物制品。在免疫算法中指根據(jù)待已有求問(wèn)題的先知經(jīng)驗(yàn)中得到的對(duì)最優(yōu)個(gè)體基因的估計(jì)。 免疫算子:和生命科學(xué)中的免疫理論相對(duì)應(yīng),免疫算子分為全免疫和目標(biāo)免疫,前者對(duì)應(yīng)著生命科學(xué)中的非特異性免疫,后者則對(duì)應(yīng)的是

26、特異性免疫。 免疫調(diào)節(jié):在免疫反應(yīng)過(guò)程中,抗原對(duì)免疫細(xì)胞的刺激會(huì)增強(qiáng)抗體的分化和繁殖。但大量的抗體的產(chǎn)生會(huì)降低這一刺激,從而控制抗體的濃度。同時(shí)產(chǎn)生的抗體之間也存在著相互刺激和抑制的作用,這種抗原與抗體親和力、抗體與抗體之間的排斥力使抗體免疫反應(yīng)維持在一定的強(qiáng)度,保證機(jī)體的動(dòng)態(tài)平衡。 免疫記憶:能與抗原發(fā)生反應(yīng)的抗體會(huì)成功的作為記憶細(xì)胞保存記憶下來(lái),當(dāng)相似的抗原再次侵入時(shí),這類(lèi)記憶細(xì)胞會(huì)被當(dāng)成功的經(jīng)驗(yàn),受刺激并產(chǎn)生大量的抗體,從而大量縮短免疫反應(yīng)時(shí)間。3.3 免疫計(jì)算第三章 智能計(jì)算of31282基本免疫算法生物免疫系統(tǒng)人工免疫系統(tǒng)抗原待求問(wèn)題的目標(biāo)函數(shù)抗體待求問(wèn)題的解抗原識(shí)別問(wèn)題的識(shí)別從記憶

27、細(xì)胞產(chǎn)生抗體從先知的成功經(jīng)驗(yàn)中產(chǎn)生解淋巴細(xì)胞分化保持優(yōu)良的解抗體的抑制消除剩余候選解抗體的促進(jìn)利用遺傳算子產(chǎn)生新抗體生物免疫系統(tǒng)與人工免疫系統(tǒng)3.3 免疫計(jì)算第三章 智能計(jì)算of31293基于免疫算法的TSP問(wèn)題求解(1)識(shí)別抗原:對(duì)問(wèn)題進(jìn)行可行性分析,構(gòu)造出合適的目標(biāo)函數(shù)和制定各種約束條件,作為抗原。(2)產(chǎn)生初始抗體群產(chǎn)生:免疫算法不能直接解決問(wèn)題空間中的參數(shù),因此必須通過(guò)編碼把問(wèn)題的可行解表示成解空間中的抗體,一般在解的空間內(nèi)隨機(jī)產(chǎn)生的解中作為初始抗體。采用簡(jiǎn)單的編碼可以方便計(jì)算,實(shí)數(shù)編碼不需要進(jìn)行數(shù)值的轉(zhuǎn)換,因此是比較理想的編碼方法,每個(gè)抗體為一個(gè)實(shí)數(shù)向量。(3)對(duì)群體中的抗體進(jìn)行多樣

28、性評(píng)價(jià):計(jì)算親和力和排斥力,免疫算法對(duì)抗體的評(píng)價(jià)是以期望繁殖概率為標(biāo)準(zhǔn)的,其中包括親和力的計(jì)算和抗體濃度的計(jì)算。(4)形成父代群體:更新記憶細(xì)胞,保留與抗原親和力高的抗體并將它存入記憶細(xì)胞中,利用抗體間排斥力的計(jì)算,淘汰掉與之親和力最高的抗體。(5)判斷是否滿足結(jié)束條件:如果產(chǎn)生的抗體中有與抗原相匹配的抗體,或滿足結(jié)束條件,則停機(jī)。(6)利用免疫算子產(chǎn)生新種群:免疫算子包括選擇、交叉和變異等操作。按照“優(yōu)勝劣汰”的自然法則選擇。親和力大的抗體有較大的機(jī)會(huì)被選中。交叉和變異操作以下會(huì)介紹到。(7)轉(zhuǎn)至(3)。3.3 免疫計(jì)算第三章 智能計(jì)算of31303基于免疫算法的TSP問(wèn)題求解 TSP問(wèn)題:

29、尋找一條最短的遍歷n個(gè)城市的路徑,或者說(shuō)搜索整數(shù)子集X=1,2,.n ( X的元素表示對(duì)n個(gè)城市的編號(hào) ) 的一個(gè)排列 V1,V2,.,Vn,使總路徑最短,即Td(i) = i=1.n-1 d(Vi,Vi+1)+d(Vi,Vi+1) 取最小值,式中的 d(Vi,Vi+1)表示城市Vi到城市Vi+1的距離。TSP問(wèn)題是一個(gè)既有理論價(jià)值又有廣泛的工程應(yīng)用價(jià)值的組合優(yōu)化問(wèn)題。 抗體編碼:采用以遍歷城市的次序排列進(jìn)行編碼,每一抗體碼串形如: V1,V2,.Vn其中,Vi從表示遍歷城市的序號(hào)。程序中抗體定義為一維數(shù)組A(N),N表示為T(mén)SP問(wèn)題中的城市數(shù)目,數(shù)組中的各個(gè)元素A(i) l,2,.,N的取值

30、為1至N間的整數(shù),分別表示城市的序號(hào),根據(jù)問(wèn)題的約束條件,每一數(shù)組內(nèi)的各元素值互不相同。 適應(yīng)度函數(shù):取路徑長(zhǎng)度Td的倒數(shù),即Fitness(i)=1/Td(i),表示第i個(gè)抗體所表示的遍歷城市路徑長(zhǎng)度。 初始化抗體群: 在解空間中用隨機(jī)的方法產(chǎn)生I個(gè)初始抗體,形成初始抗體群。若待求解問(wèn)題與記憶細(xì)胞中抗體相匹配時(shí),則由匹配的記憶細(xì)胞組成初始抗體群,不足部分的抗體隨機(jī)產(chǎn)生。3.3 免疫計(jì)算第三章 智能計(jì)算of31313基于免疫算法的TSP問(wèn)題求解新抗體的產(chǎn)生: 字符換位操作:?jiǎn)螌?duì)字符換位操作是對(duì)抗體A(N)=(V1,V2,.,Vn) ,隨機(jī)取兩個(gè)正整數(shù)i,j (1 i,jn,i j),以一定的概

31、率P (0 P 1)交換抗體A中一對(duì)字符Vi,Vj的位置;多對(duì)字符換位操作是預(yù)先確定一個(gè)正整數(shù)u,隨機(jī)取一個(gè)正整數(shù)r (1ru ),在抗體A(N)中隨機(jī)取r對(duì)字符作字符換位操作。 (a) 字符串移位操作: 單個(gè)字符串移位操作是對(duì)抗體隨機(jī)取兩個(gè)正整數(shù)i,j (1 i,jn,i j),從A中取出一個(gè)字符子串A1,A(1)=(Vi,Vi+1,.,Vj),以一定的概率P (0 P 1)依次往左(或往右)移動(dòng)字符串 A1中的各個(gè)字符,最左(或最右)邊的一個(gè)字符則移動(dòng)到最右(或最左)邊的位置;多個(gè)字符串換位操作是預(yù)先確定一個(gè)正整數(shù)u ,隨機(jī)取一個(gè)正整數(shù)r (1ru ),再在抗體A中隨機(jī)取r個(gè)字符子串作字符

32、串移位操作。 (b) 字符串逆轉(zhuǎn)操作:?jiǎn)蝹€(gè)字符串逆轉(zhuǎn)操作是對(duì)抗體隨機(jī)取兩個(gè)正整數(shù)i,j (1 i,jn,i j),從A中取出一個(gè)字符子串A1,以一定的概率P (0 P 1)使字符串A1中的各個(gè)字符首尾倒置;多個(gè)字符串逆轉(zhuǎn)操作是預(yù)先確定一個(gè)正整數(shù)u,隨機(jī)取一個(gè)正整數(shù)r (1ru ),再在抗體A中隨機(jī)取r個(gè)字符子串作字符串逆轉(zhuǎn)操作。 (c) 字符重組操作:字符重組操作是在抗體中,隨機(jī)取一個(gè)字符子串A1,以一定的概率P (0 P 0,1稱(chēng)為U上的一個(gè)模糊集,或U的一個(gè)模糊子集。模糊集可以記為A。 映射(函數(shù))A() 或簡(jiǎn)記為A() 叫做模糊集A的隸屬函數(shù) 或特征函數(shù)。 對(duì)于每個(gè)xU,A(x) 叫做元

33、素x對(duì)模糊集A的隸屬度。 模糊集的常用表示法: (1)解析法,也即給出隸屬函數(shù)的具體表達(dá)式。 (2)Zadeh 記法,例如 。分母是論域中的元素,分子是該元素對(duì)應(yīng)的隸屬度。有時(shí)候,若隸屬度為0,該項(xiàng)可以忽略不寫(xiě)。A=1/x1+0.5/x2+0.72/x3+0/x4 (3)序偶法,序偶對(duì)的前者是論域中的元素,后者是該元素對(duì)應(yīng)的隸屬度。 A=(x1,1),(x2,0.5),(x3,0.72),(x4,0) (4)向量法,在有限論域的場(chǎng)合,給論域中元素規(guī)定一個(gè)表達(dá)的順序,那么可以將上述序偶法簡(jiǎn)寫(xiě)為隸屬度的向量式,如A= (1,0.5,0.72,0) 。 3.4 模糊邏輯與推理系統(tǒng)第三章 智能計(jì)算of31351. 模糊集和清晰集清晰集的隸屬函數(shù)模糊集的隸屬函數(shù)A表示在SAR圖像中較低的干涉相干性3.4 模糊邏輯與推理系統(tǒng)第三章 智能計(jì)算of31362. 模糊集運(yùn)算模糊集A模糊集B模糊交(AND)模糊補(bǔ)(NEGATION)模糊并(OR)3.4 模糊邏輯與推理系統(tǒng)第三章 智能計(jì)算of31373. 模糊分類(lèi) 模糊邏輯提供一種不同的方法處理控制和分類(lèi)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論