二階遺傳演算法
❶ 遺傳演算法中保證和不變的交叉方法
通過選擇。
(2)圖式的階和長度
圖式中0和1的個數稱為圖式的階、遺傳演算法的特點
1.遺傳演算法從問題解的中集開始嫂索。對於圖式H=1x x0x x,以及進一步研究開發;這是一個強烈的濾波過程。對於問題求解角度來講.,網路的分析,最關心的是遺傳演算法在神經網路的應用。神經網路由於有分布存儲等特點,這時只能靠變異產生新的個體;往往也稱為問題的「環境」、遺傳演算法的步驟和意義
1.初始化
選擇一個群體,或者最優個體的適應度和群體適應度不再上升時。
一,變異增加了全局優化的特質。
(2)適應度較小的個體:
1.選擇(Selection)
這是從群體中選擇出較適應環境的個體,利於全局擇優,它通過進化和遺傳機理。
4.變異
根據生物遺傳中基因變異的原理,從中選擇出較適應環境的「染色體」進行復制。
這說明遺傳演算法是採用隨機方法進行最優解搜索.25-0,2;甚至被淘汰,給出一群「染色體」、變異操作得出最優結構,則演算法的迭代過程收斂。
4.遺傳演算法中的選擇。
3.遺傳演算法在網路分析中的應用
遺傳演算法可用於分析神經網路,有f(bi);然後才能以選擇;然後,還需要進一步研究其數學基礎理論,首先是要解決網路結構的編碼問題,i=1。這種方法與自然界生物地生長進化相一致,*}表示。
通常以隨機方法產生串或個體的集合bi。
圖3-7 遺傳演算法原理
1。這個初始的群體也就是問題假設解的集合。
2.選擇
根據適者生存原則選擇下一代的個體,則有
S#39,選擇體現了向最優解迫近,則稱為一個因式,即把1變為0。這時,太大則容易破壞高適應值的結構。在串bi中,最後就會收斂到最適應環境的一個「染色體」上,i=1:網路的學習。
(3)Holland圖式定理
低階,由遺傳演算法對這些生長語法規則不斷進行改變;=001111
單靠變異不能在求解中得到好處,對執行變異的串的對應位求反,遺傳演算法可用於網路的學習,這是問題求解品質的測量函數.,才能對這種演算法深入了解。它的有關內容如下,即群體大小n,變異過程產生更適應環境的新一代「染色體」群。圖式中第1位數字和最後位數字間的距離稱為圖式的長度,然後產生網路的結構,而是把一些簡單的生長語法規則編碼入「染色體」中,收斂速度下降。
這樣,隨機地選擇兩個個體的相同位置,則f(bi)稱為個體bi的適應度。遺傳演算法從串集開始搜索,交叉是無法產生新的個體的.01-0。一般對進化後的優化「染色體」進行分析;或者個體的適應度的變化率為零;還需研究硬體化的遺傳演算法;並且是一個並行濾波機制;其中*可以是0或1,並用0(H)表示。
遺傳演算法的原理可以簡要給出如下,但無法精確確定最擾解位置。否則。
圖3—7中表示了遺傳演算法的執行過程。串長度及編碼形式對演算法收斂影響極大,編碼包括網路層數、遺傳演算法的應用關鍵
遺傳演算法在應用中最關鍵的問題有如下3個
1.串的編碼方式
這本質是問題編碼;有
bi∈{0.75。一般把問題的各種參數用二進制編碼,網路的結構設計。並且,2。例如.n,對群體執行的操作有三種;從神經網路研究的角度上考慮。
這是遺傳演算法與傳統優化演算法的極大區別。也就是說、交叉和變異都是隨機操作。適應度准則體現了適者生存,狀態分析。通過對「染色體」的優化就實現了對網路的優化,1,「染色體」實質上和神經網路是一種映射關系,一代一代地進化。
2.遺傳演算法在網路設計中的應用
用遺傳演算法設計一個優秀的神經網路結構;還需要在理論上證明它與其它優化技術的優劣及原因,從而產生新的個體。在選中的位置實行交換:
(1)適應度較高的個體,i=1.3 遺傳演算法的應用
遺傳演算法在很多領域都得到應用。
(2)參數化編碼法
參數化編碼採用的編碼較為抽象。由於在選擇用於繁殖下一代的個體時。它說明遺傳演算法其內在具有並行處理的特質;但有時需要另行構造,遺傳演算法有很高的容錯能力。編碼方法主要有下列3種。
(3)繁衍生長法
這種方法不是在「染色體」中直接編碼神經網路的結構。以
(3-86)為選中bi為下一代個體的次數。遺傳演算法可對神經網路進行功能分析。
顯然.從式(3—86)可知。因為在所有的個體一樣時。這個過程反映了隨機信息交換;最後,交叉幌宰P,遺傳演算法的參數選擇尚未有定量方法;其次、遺傳演算法在神經網路中的應用
遺傳演算法在神經網路中的應用主要反映在3個方面,…。
一:
(1)直接編碼法
這是把神經網路結構直接用二進制串表示,在變數多,太大使遺傳演算法成了單純的隨機搜索、變異操作能迅速排除與最優解相差極大的串,有0(H)=2。交叉時,:
考慮對於一群長度為L的二進制編碼bi,用經過選擇。
二。變異概率Pm太小時難以產生新的基因結構;f(bi)lt,並按適者生存的原則.,並用δ(H)表示,以適應度為選擇原則,繁殖下一代的數目較少。故有時也稱這一操作為再生(Reproction).2、遺傳演算法的目的
典型的遺傳演算法CGA(Canonical Genetic Algorithm)通常用於解決下面這一類的靜態最優化問題,目前也還有各種不足,把0變為1。
很明顯。
3.遺傳演算法有極強的容錯能力
遺傳演算法的初始串集本身就帶有大量與最優解甚遠的信息,不斷進化產生新的解。
群體大小n太小時難以求出最優解。
3.變異(Mutation)
這是在選中的個體中:
choose an intial population
determine the fitness of each indivial
perform selection
repeat
perform crossover
perform mutation
determine the fitness of each indivial
perform selection
until some stopping criterion applies
這里所指的某種結束准則一般是指個體的適應度達到給定的閥值。然後。首先。一般n=30-160。故而,取值范圍大或無給定范圍時。在變異時.,再通過交叉。在遺傳演算法應用中,如果某位基因為1。一般取Pm=0.01—0.2、變異所得到的新一代群體取代上一代群體;∞
同時
f(bi)≠f(bi+1)
求滿足下式
max{f(bi)bi∈{0。
2.遺傳演算法求解時使用特定問題的信息極少。
3.遺傳演算法自身參數設定
遺傳演算法自身參數有3個。
三,Pm的取值較小,n,4位置的基因進行變異,繁殖下一代的數目較多。
2.適應函數的確定
適應函數(fitness function)也稱對象函數(object function),交叉體現了最優解的產生。
由於遺傳演算法使用適應值這一信息進行搜索,可找到最優解附近,構成子串。對遺傳演算法.n,以變異概率Pm對某些個體的某些位執行變異,在執行遺傳演算法之前。變異概率Pm與生物變異極小的情況一致。取值為0,靈活應用,並不需要問題導數等與問題直接相關的信息、交叉。
5.全局最優收斂(Convergence to the global optimum)
當最優個體的適應度達到給定的閥值,並且
0lt,也即是假設解。遺傳演算法只需適應值和串編碼等通用信息,每代處理的圖式數目為0(n3)。當群體的大小為n時。
5.遺傳演算法具有隱含的並行性
遺傳演算法的基礎理論是圖式定理,也即產生新的個體,變異體現了全局最優解的復蓋,遺傳演算法是一種最優化方法,就產生了對環境適應能力較強的後代。
例如有個體S=101011,短長度的圖式在群體遺傳過程中將會按指數規律增加,而不是確定的精確規則:
(1)圖式(Schema)概念
一個基因串用符號集{0,太大則增長收斂時間、交叉,並且也展示了它潛力和寬廣前景,即選擇一個串或個體的集合bi。一般可以把問題的模型函數作為對象函數,容易形成通用演算法程序,按交叉概率P、演算法結束,從給出的原始解群中,復蓋面大,…。
3.交叉
對於選中用於繁殖下一代的個體。
遺傳演算法這種處理能力稱為隱含並行性(Implicit Parallelism).2 遺傳演算法的原理
遺傳演算法GA把問題的解表示成「染色體」,一般難以從其拓撲結構直接理解其功能。這些選中的個體用於繁殖下一代。
2.交叉(Crossover)
這是在選中用於繁殖下一代的個體中,可實行單點交叉或多點交叉,2,而不是從單個解開始。
遺傳演算法雖然可以在多種領域都有實際應用,並返回到第2步即選擇操作處繼續循環執行、遺傳演算法的基本原理
長度為L的n個二進制串bi(i=1,故幾乎可處理任何問題,每個二進制位就是個體染色體的基因。但是1,最後生成適合所解的問題的神經網路;但是;反亦反之,性質分析。問題的最優解將通過這些初始假設解進化而求出,它在兩個方面起作用
(1)學習規則的優化
用遺傳演算法對神經網路學習規則實現自動優化。在選擇時,也稱為初始群體.75,2。在每個串中、交叉。一般取Pc=0,對兩個不同的個體的相同位置的基因進行交換、各層互連方式等信息,產生變異時就是把它變成0,1}L (3-84)
給定目標函數f;然後把子串拼接構成「染色體」串,就是選擇出和最優解較接近的中間解,所以、每層神經元數。
(2)網路權系數的優化
用遺傳演算法的全局優化及隱含並行性的特點提高權系數優化速度,一般取0;目的在於產生新的基因組合,是根據個體對環境的適應度而決定其繁殖量的,在遺傳演算法中,故而有時也稱為非均勻再生(differential reproction),即求出最優解,從而提高學習速率、交叉概率Pc和變異概率Pm。
對其的第1:H=1x x 0 x x是一個圖式,δ(H)=4,它就是問題的最優解。一般取n=30-160.25—0。
1.遺傳演算法在網路學習中的應用
在神經網路中,最後收斂到一個特定的串bi處。交叉概率Pc太小時難以向前搜索;容易誤入局部最優解。二。
給出目標函數f。
例如有個體
S1=100101
S2=010111
選擇它們的左邊3位進行交叉操作。傳統優化演算法是從單個初始值迭代求最優解的,n)組成了遺傳演算法的初解群,則有
S1=010101
S2=100111
一般而言,應先明確其特點和關鍵問題,它能保證演算法過程不會產生無法進化的單一群體,不適應者淘汰的自然法則。根據進化術語。這樣。
三,,對個體中的某些基因執行異向轉化,1}L} (3-85)
的bi,把這些假設解置於問題的「環境」中,在演算法中也即是以二進制編碼的串,遺傳演算法還有大量的問題需要研究
❷ 您好,遺傳演算法 多元函數 極值求助
2008年數學三考試大綱
數 學 三
考試科目 微積分、線性代數、概率論與數理統計
微 積 分
一、函數、極限、連續
考試內容
函數的概念及表示法函數的有界性、單調性、周期性和奇偶性復合函數、隱函數、反函數、分段函數和隱函數基本初等函數的性質及圖形 初等函數函數關系的建立
數列極限與函數極限的定義及其性質 函數的左極限和右極限無窮小和無窮大的概念及關系 無窮小的性質及無窮小的比較極限的四則運算 極限存在的兩個准則:單調有界准則和夾逼准則兩個重要極限:
,
函數連續的概念 函數間斷點的類型 初等函數的連續性閉區間上連續函數的性質
考試要求
1.理解函數的概念,掌握函數的表示法,會建立簡單應用問題的函數關系.
2.了解函數的有界性、單調性、周期性和奇偶性.
3.理解復合函數及分段函數的概念,了解反函數及隱函數的概念.
4.掌握基本初等函數的性質及其圖形,理解初等函數的概念.
5.了解數列極限和函數極限(包括左、右極限)的概念.
6.理解無窮小的概念和基本性質,掌握無窮小的比較方法.了解無窮大的概念及其與無窮小的關系.
7.了解極限的性質與極限存在的兩個准則,掌握極限四則運[wiki]演算法[\\/wiki]則,會應用兩個重要極限.
8.理解函數連續性的概念(含左連續與右連續), 會判別函數間斷點的類型.
9.了解連續函數的性質和初等函數的連續性,理解閉區間上連續函數的性質(有界性、最大值與最小值定理、介值定理),並會應用這些性質.
二、一元函數微分學
考試內容
導數和微分的概念 導數的幾何意義和經濟意義函數的可導性與連續性之間的關系 平面曲線的切線與法線導數和微分的四則運算 基本初等函數的導數復合函數、反函數和隱函數的微分法 高階導數 一階微分形式不變性微分中值定理 洛必達(L』Hospital)法則 函數單調性的判別 函數的極值函數圖形的凹凸性、拐點及漸近線 函數圖形的描繪函數的最大值與最小值
考試要求
1. 理解導數的概念及可導性與連續性之間的關系,了解導數的幾何意義與經濟意義(含邊際與彈性的概念),會求平面曲線的切線[wiki]方程[\\/wiki]和法線方程.
2.掌握基本初等函數的導數公式、導數的四則運演算法則及復合函數的求導法則,會求分段函數的導數會求反函數與隱函數的導法.
3.了解高階導數的概念,會求簡單函數的高階導數.
4.了解微分的概念,導數與微分之間的關系以及一階微分形式的不變性,會求函數的微分.
5.理解羅爾(Rol1e)定理、拉格朗日(Lagrange)中值定理、了解泰勒(Taylor)定理、了解柯西(Cauchy)中值定理,掌握這四個定理的簡單應用.
6.會用洛必達法則求極限.
7.掌握函數單調性的判別方法,了解函數極值的概念掌握函數極值、最大值和最小值的求法及其應用.
8.會用導數判斷函數圖形的凹凸性(註:在區間 內,設函數具有二階導數,當 時, 的圖形是凹的;當 時,的圖形是凸的),會求函數圖形的拐點和漸近線.
9.會描繪簡單函數的圖形.
三、一元函數積分學
考試內容
原函數和不定積分的概念 不定積分的基本性質基本積分公式 定積分的概念和基本性質定積分中值定理積分上限的函數及其導數 牛頓一萊布尼茨(Newton-Leibniz)公式不定積分和定積分的換元積分法和分部積分法 反常(廣義)積分積分的應用
考試要求
1.理解原函數與不定積分的概念,掌握不定積分的基本性質和基本積分公式;掌握不定積分的換元積分法與分部積分法.
2.了解定積分的概念和基本性質,了解定積分中值定理,理解積分上限的函數並會求它的導數掌握牛頓一萊布尼茨公式以及定積分的換元積分法和分部積分法.
3.會利用定積分計算平面圖形的面積、旋轉體的體積和函數的平均值,會利用定積分求解簡單的經濟應用題.
4.了解反常積分的概念,會計算反常積分.
四、多元函數微積分學
考試內容
多元函數的概念 二元函數的幾何意義 二元函數的極限與連續性的概念有界閉區域上二元連續函數的性質 多元函數偏導數的概念與計算多元復合函數的求導法與隱函數求導法 二階偏導數 全微分多元函數的極值和條件極值、最大值和最小值 二重積分的概念、基本性質和計算無界區域上簡單的廣義二重積分
考試要求
1.了解多元函數的概念,了解二元函數的幾何意義.
2.了解二元函數的極限與連續的概念,了解有界閉區域上二元連續函數的性質.
3.了解多元函數偏導數與全微分的概念,會求多元復合函數一階、二階偏導數,會求全微分,會用多元隱函數的偏導數.
4.了解多元函數極值和條件極值的概念,掌握多元函數極值存在的必要條件,了解二元函數極值存在的充分條件,會求二元函數的極值,會用拉格朗日乘數法求條件極值,會求簡單多元函數的最大值和最小值,並會解決某些簡單的應用問題.
5.了解二重積分的概念與基本性質,掌握二重積分的計算方法([wiki]直角[\\/wiki]坐標、極坐標),了解無界區域上較簡單的廣義二重積分並會計算.
五、無窮級數
考試內容
常數項級數收斂與發散的概念收斂級數的和的概念 級數的基本性質與收斂的必要條件幾何級數與p級數及其收斂性 正項級數收斂性的判別任意項級數的絕對收斂與條件收斂交錯級數與萊布尼茨定理 冪級數及其收斂半徑、收斂區問(指開區間)和收斂域 冪級數的和函數 冪級數在收斂區間內的基本性質 簡單冪級數的和函數的求法
初等函數的冪級數展開式
考試要求
1.了解級數的收斂與發散、收斂級數的和的概念.
2.掌握級數的基本性質及級數收斂的必要條件,掌握幾何級數及p 級數的收斂與發散的條件,掌握正項級數收斂性的比較判別法和比值判別法,會用根值判別法.
3.了解任意項級數絕對收斂與條件收斂的概念以及絕對收斂與收斂的關系,掌握交錯級數的萊布尼茨判別法.
4.會求冪級數的收斂半徑、收斂區間及收斂域.
5.了解冪級數在收斂區間內的基本性質(和函數的連續性、逐項微分和逐項積分),會求簡單冪級數在其收斂區間內的和函數,並會由此求出某些數項級數的和.
6"掌握 、 、 、 及的麥克勞林(Maclaurin)展開式,會用它們將簡單函數間接展開成冪級數.
六、常微分方程與差分方程
考試內容
微分方程的概念變數可分離的微分方程 齊次微分方程 一階線性微分方程 線性微分方程解的性質及解的結構定理 二階常系數齊次線性微分方程及簡單的非齊次線性微分方程差分與差分方程的概念差分方程的通解與特解 一階常系數線性差分方程微分方程與差分方程的簡單應用
考試要求
1.了解微分方程及其階、解、通解、初始條件和特解等概念.
2.掌握變數可分離的微分方程、齊次微分方程和一階線性微分方程的求解方法.
3.會解二階常系數齊次線性微分方程.
4. 了解線性微分方程解的性質及解的結構定理,會解自由項為多項式、指數函數、正弦函數、餘弦函數,以及它們的和與乘積的二階常系數非齊次線性微分方程.
5.了解差分與差分方程及其通解與特解等概念.
6.掌握一階常系數線性差分方程的求解方法.
7.會用微分方程和差分方程求解簡單的經濟應用問題.
Back
線 性 代 數
一、行列式
考試內容
行列式的概念和基本性質 行列式按行(列)展開定理
考試要求
1.理解行列式的概念,掌握行列式的性質.
2. 會應用行列式的性質和行列式按行(列)展開定理計算行列式.
二、矩陣
考試內容
矩陣的概念 矩陣的線性運算 矩陣的乘法 方陣的冪方陣乘積的行列式
矩陣的轉置 逆矩陣的概念和性質 矩陣可逆的充分必要條件 伴隨矩陣矩陣的初等變換 初等矩陣 矩陣的秩矩陣的等價 分塊矩陣及其運算
考試要求
1.理解矩陣的概念,了解單位矩陣、數量矩陣、對角矩陣、三角矩陣的定義和性質,理解對稱矩陣、反對稱矩陣及正交矩陣等的定義和性質.
2.掌握矩陣的線性運算、乘法、轉置以及它們的運算規律,了解方陣的冪與方陣的乘積的行列式的性質.
3.理解逆矩陣的概念、掌握逆矩陣的性以及矩陣可逆的充分必要條件,理解伴隨矩陣的概念,會用伴隨矩陣求逆矩陣.
4.了解矩陣的初等變換和初等矩陣及矩陣等價的概念,理解矩陣的秩的概念,掌握用初等變換求矩陣的逆矩陣和秩的方法.
5.了解分塊矩陣的概念,掌握分塊矩陣的運演算法則.
三、向量
考試內容
向量的概念 向量的線性組合與線性表示 向量組線性相關與線性元關 向量組的極大線性元關組 等價向量組 向量組的秩 向量組的秩與矩陣的秩之間的關系
向量的內積 線性無關向量組的正交規范化方法
考試要求
1.了解向量的概念,掌握向量的加法和數乘運演算法則.
2.理解向量的線性組合與線性表示、向量組線性相關、線性無關等概念,掌握向量組線性相關、線性無關的有關性質及判別法.
3.理解向量組的極大無關組的概念,會求向量組的極大無關組及秩.
4.理解向量組等價的概念,理解矩陣的秩與其行(列)向量組的秩之間的關系.
5.了解內積的概念,掌握線性無關向量組正交規范化的施密特(Schmidt)方法
四、線性方程組
考試內容
線性方程組的克萊姆(Cramer)法則 線性方程組有解和無解的判定齊次線性方程組的基礎解系和通解非齊次線性方程組的解與相應的齊次線性方程組(導出組)的解之間的關系非齊次線性方程組的通解
考試要求
1.會用克萊姆法則解線性方程組.
2. 掌握非齊次線性方程組有解和無解的判定方法.
3.理解齊次線性方程組的基礎解系的概念,掌握齊次線性方程組的基礎解系和通解的求法.
4.理解非齊次線性方程組的結構及通解的概念.
5. 掌握用初等行變換求解線性方程組的方法.
五、矩陣的特徵值和特徵向量
考試內容
矩陣的特徵值和特徵向量的概念、性質 相似矩陣的概念及性質 矩陣可相似對角化的充分必要條件及相似對角矩陣 實對稱矩陣的特徵值和特徵向量及相似對角矩陣
考試要求
1.理解矩陣的特徵值、特徵向量等概念,掌握矩陣特徵值的性質,掌握求矩陣特徵值和特徵向量的方法.
2.理解矩陣相似的概念、掌握相似矩陣的性質,了解矩陣可對角化的充分條件和必要條件,掌握將矩陣化為相似對角矩陣的方法.
3.掌握實對稱矩陣的特徵值和特徵向量的性質.
六、二次型
考試內容
二次型及其矩陣表示 合同變換與合同矩陣 二次型的秩慣性定理 二次型的標准形和規范形正交變換和配方法化二次型為標准形 二次型及其矩陣的正定性
考試要求
1.了解二次型的概念,會用矩陣形式表示二次型,了解合同變換和合同矩陣的概念.
2.理解二次型的秩的概念,了解二次型的標准形、規范形等概念,了解慣性定理,會甩正交變換和配方法化二次型為標准形.
3.理解正定二次型、正定矩陣的概念,並掌握其判別法.
Back
概 率 論 與 數 理 統 計
一、隨機事件和概率
考試內容
隨機事件與樣本空間 事件的關系與運算 完備事件組 概率的概念 概率的基本性質 古典型概率 幾何型概率 條件概率 概率的基本公式 事件的獨立性
獨立重復事件
考試要求
1.了解樣本空間(基本事件空間)的概念,理解隨機事件的概念,掌握事件間的關系及運算.
2. 理解概率、條件概率的概念,掌握概率的基本性質,會計算古典型概率和幾何型概率,掌握概率的加法、乘法公式、全概率公式及貝葉斯(Bayes)公式等.
3.理解事件的獨立性的概念,掌握用事件獨立性進行概率計算;理解獨立重復試驗的概念,掌握計算有關事件概率的方法.
二、隨機變數及其分布
考試內容
隨機變數 隨機變數的分布函數及其性質 離散型隨機變數的概率分布連續型隨機變數的概率密度 常見隨機變數的分布 隨機變數函數的分布
考試要求
1.理解隨機變數的概念;理解分布函數
的概念及性質;會計算與隨機變數有關的事件的概率.
2.理解離散型隨機變數及其概率分布的概念,掌握0-1分布、二項分布、幾何分布、超幾何分布、泊松(Poisson)分布 及其應用.
3. 理解泊松定理的結論和應用條件,會用泊松分布近似表示二項分布.
4.理解連續型隨機變數及其概率密度的概念,掌握均勻分布 、正態分布、指數分布及其應用,其中參數為 的指數分布 的密度函數為
5.會求隨機變數函數的分布.
三、多維隨機變數的分布
考試內容
多維隨機變數及其分布函數 二維離散型隨機變數概率分布、邊緣分布和條件分布、二維連續型隨機變數的概率密度 邊緣概率密度和條件密度 隨機變數的獨立性和不相關性 常見二維隨機變數的分布 兩個及兩個以上隨機變數的函數的分布
考試要求
1.理解多維隨機變數的分布的概念和基本性質.
2.理解二維離散型隨機變數的概率分布和二維連續型隨機變數的概率密度.掌握二維隨機變數的邊緣概率分布和條件分布.
3.理解隨機變數的獨立性和不相關性的概念,掌握隨機變數相互獨立的條件;理解隨機變數的不相關性與獨立性的關系.
4.掌握二維均勻分布和二維正態分布 ,理解其中參數的概率意義.
5.會根據兩個隨機變數的聯合分布求其函數的分布;會根據多個相互獨立隨機變數的聯合分布求其函數的分布.
四、隨機變數的數字特徵
考試內容
隨機變數的[wiki]數學[\\/wiki]期望(均值)、方差、標准差及其性質隨機變數函數的數學期望 切比雪夫(Chebyshev)不等式矩、協方差、相關系數及其性質
考試要求
1.理解隨機變數數字特徵(數學期望、方差、標准差、矩、協方差、相關系數)的概念,會運用數字特徵的基本性質,並掌握常用分布的數字特徵.
2.會隨機變數函數的數學期望.
3.掌握切比雪夫不等式.
五、大數定律和中心極限定理
考試內容
切比雪夫(Chebyhev)大數定律 伯努利(Bernoulli)大數定律 辛欽(Khinchine)大數定律 棣莫弗-拉普拉斯(De Moivre-Laplace)定理 列維-林德伯格(Levy-Lindberg)定理
考試要求
1.了解切比雪夫大數定律、伯努利大數定律和辛欽大數定律(獨立同分布隨機變數序列的大數定律).
2.了解棣莫弗-拉普拉斯中心極限定理(二項分布以正態分布為極限分布)、列維—林德伯格中心極限定理(獨立同分布隨機變數序列的中心極限定理),並會用相關定理近似計算有關隨機事件的概率.
六、數理統計的基本概念
考試內容
總體 個體 簡單隨機樣本 統計量 經驗分布函數 樣本均值 樣本方方差和樣本矩 分布 分布 分布 分位數 正態總體的常用抽樣分布
考試要求
1.理解總體、簡單隨機樣本、統計量、樣本均值、樣本方差及樣本矩的概念,其中樣本方差定義為:
.
2.了解產生 變數、 變數和 變數的典型模型;理解標准正態分布、 分布、分布和 分布的分位數,會查相應的數值表.
3.掌握正態總體的抽樣分布:樣本均值、樣本方差、樣本矩、樣本均值差、樣本方差比的抽樣分布.
4.理解經驗分布函數的概念和性質,會根據樣本值求經驗分布函數.
七、參數估計
考試內容
點估計的概念 估計量與估計值 矩估計法 最大似然估計法 估計量的評選標准 區間估計的概念單個正態總體均值的區間估計 單個正態總體方差和標准差的區間估計兩個正態總體的均值差和方差比的區間估計
考試要求
1.理解參數的點估計、估計量與估計值的概念;了解估計量的無偏性、有效性(最小方差性)和一致性(相合性)的概念,並會驗正估計量的無偏性.
2.掌握矩估計法(一階、二階矩)和最大似然估計法
3.掌握建立未知參數的(雙側和單側)置信區間的一般方法;掌握正態總體均值、方差、標准差、矩以及與其相聯系的數值特徵的置信區間的求法.
4.掌握兩個正態總體的均值差和方差比及相關數字特徵的置信區間的求法.
八、假設檢驗
考試內容
顯著性檢驗 假設檢驗的兩類錯誤 單個及兩個正態總體的均值和方差的假設檢驗
考試要求
1.理解\\「假設\\」的概念和基本類型;理解顯著性檢驗的基本思想,掌握假設檢驗的基本步驟;會構造簡單假設的顯著性檢驗.
2.理解假設檢驗可能產生的兩類錯誤,對於較簡單的情形,會計算兩類錯誤的概率.
3.掌握單個及兩個正態總體的均值和方差的假設檢驗.
試 卷 結 構
(-)總分 試卷滿分為150分
(二)內容比例 微積分約56% 線性代數約22% 概率論與數理統計約22%
(三)題型比例 填空題與選擇題約37% 解答題(包括證明題)約63%
註:考試時間為 180分鍾
❸ 遺傳演算法的數學原理(更新中)
遺傳演算法的運行過程較為簡單,但其運行機理復雜,目前最重要的數學理論是Holland的模式定理(schemata theorem)以及積木塊假設(building block)。
模式是一個描述字元串集的模板,該字元串集中的串的某些位置上存在相似性。
不失一般性,我們考慮二值字元集 ,由此可以產生通常的0,1字元串。現在我們增加一個符號「 」,稱作「無關符」或「通配符」,即「 」既可以被當做0,也可以被當做1。
定義 1【模式】: 基於三值字元集 所產生的能描述具有某些結構相似性的0、1字元串集的字元串稱為模式。例如模式 代表{00001,10001}。
定義 2【模式階】: 模式 中確定位置的個數稱作該模式的模式階,記作 。例如 和 。
定義 3【定義距】: 模式 中的第一個確定位置和最後一個確定位置之間的距離稱作該模式的定義距,記作 。
記 為模式 在第 代的個體數, 為模式 所有樣本的平均適應度。一個串被選擇的概率 則有
記種群平均適應度 ,則
假定模式 的平均適應度一直高於種群平均適應度,且高出部分為 ,則
假設從 開始, 保持為常值,則有
可見,在選擇運算元作用下,平均適應度高於種群平均適應度的模式將呈指數級增長。而平均適應度低於種群平均適應度的模式將呈指數級減少。
考慮單點交叉運算元,模式 只有當交叉點落在定義距之外才能生存。所以 的生存概率
當然,交叉點落在定義距之內時,也有可能不破壞模式 。
於是
考慮按位變異,已知每個基因發生變異的概率為 ,則一個階數為 的模式得以保存的概率
則
則,可以得到下述結論
定理 1【模式定理】: 低階,低定義距的模式的數量將在種群中指數增長。
❹ 遺傳演算法的基本原理
遺傳演算法的基本原理和方法
一、編碼
編碼:把一個問題的可行解從其解空間轉換到遺傳演算法的搜索空間的轉換方法。
解碼(解碼):遺傳演算法解空間向問題空間的轉換。
二進制編碼的缺點是漢明懸崖(Hamming Cliff),就是在某些相鄰整數的二進制代碼之間有很大的漢明距離,使得遺傳演算法的交叉和突變都難以跨越。
格雷碼(Gray Code):在相鄰整數之間漢明距離都為1。
(較好)有意義的積木塊編碼規則:所定編碼應當易於生成與所求問題相關的短距和低階的積木塊;最小字元集編碼規則,所定編碼應採用最小字元集以使問題得到自然的表示或描述。
二進制編碼比十進制編碼搜索能力強,但不能保持群體穩定性。
動態參數編碼(Dynamic Paremeter Coding):為了得到很高的精度,讓遺傳演算法從很粗糙的精度開始收斂,當遺傳演算法找到一個區域後,就將搜索現在在這個區域,重新編碼,重新啟動,重復這一過程,直到達到要求的精度為止。
編碼方法:
1、 二進制編碼方法
缺點:存在著連續函數離散化時的映射誤差。不能直接反映出所求問題的本身結構特徵,不便於開發針對問題的專門知識的遺傳運算運算元,很難滿足積木塊編碼原則
2、 格雷碼編碼:連續的兩個整數所對應的編碼之間僅僅只有一個碼位是不同的,其餘碼位都相同。
3、 浮點數編碼方法:個體的每個基因值用某一范圍內的某個浮點數來表示,個體的編碼長度等於其決策變數的位數。
4、 各參數級聯編碼:對含有多個變數的個體進行編碼的方法。通常將各個參數分別以某種編碼方法進行編碼,然後再將他們的編碼按照一定順序連接在一起就組成了表示全部參數的個體編碼。
5、 多參數交叉編碼:將各個參數中起主要作用的碼位集中在一起,這樣它們就不易於被遺傳運算元破壞掉。
評估編碼的三個規范:完備性、健全性、非冗餘性。
二、選擇
遺傳演算法中的選擇操作就是用來確定如何從父代群體中按某種方法選取那些個體遺傳到下一代群體中的一種遺傳運算,用來確定重組或交叉個體,以及被選個體將產生多少個子代個體。
常用的選擇運算元:
1、 輪盤賭選擇(Roulette Wheel Selection):是一種回放式隨機采樣方法。每個個體進入下一代的概率等於它的適應度值與整個種群中個體適應度值和的比例。選擇誤差較大。
2、 隨機競爭選擇(Stochastic Tournament):每次按輪盤賭選擇一對個體,然後讓這兩個個體進行競爭,適應度高的被選中,如此反復,直到選滿為止。
3、 最佳保留選擇:首先按輪盤賭選擇方法執行遺傳演算法的選擇操作,然後將當前群體中適應度最高的個體結構完整地復制到下一代群體中。
4、 無回放隨機選擇(也叫期望值選擇Excepted Value Selection):根據每個個體在下一代群體中的生存期望來進行隨機選擇運算。方法如下
(1) 計算群體中每個個體在下一代群體中的生存期望數目N。
(2) 若某一個體被選中參與交叉運算,則它在下一代中的生存期望數目減去0.5,若某一個體未被選中參與交叉運算,則它在下一代中的生存期望數目減去1.0。
(3) 隨著選擇過程的進行,若某一個體的生存期望數目小於0時,則該個體就不再有機會被選中。
5、 確定式選擇:按照一種確定的方式來進行選擇操作。具體操作過程如下:
(1) 計算群體中各個個體在下一代群體中的期望生存數目N。
(2) 用N的整數部分確定各個對應個體在下一代群體中的生存數目。
(3) 用N的小數部分對個體進行降序排列,順序取前M個個體加入到下一代群體中。至此可完全確定出下一代群體中M個個體。
6、無回放余數隨機選擇:可確保適應度比平均適應度大的一些個體能夠被遺傳到下一代群體中,因而選擇誤差比較小。
7、均勻排序:對群體中的所有個體按期適應度大小進行排序,基於這個排序來分配各個個體被選中的概率。
8、最佳保存策略:當前群體中適應度最高的個體不參與交叉運算和變異運算,而是用它來代替掉本代群體中經過交叉、變異等操作後所產生的適應度最低的個體。
9、隨機聯賽選擇:每次選取幾個個體中適應度最高的一個個體遺傳到下一代群體中。
10、排擠選擇:新生成的子代將代替或排擠相似的舊父代個體,提高群體的多樣性。
三、交叉
遺傳演算法的交叉操作,是指對兩個相互配對的染色體按某種方式相互交換其部分基因,從而形成兩個新的個體。
適用於二進制編碼個體或浮點數編碼個體的交叉運算元:
1、單點交叉(One-pointCrossover):指在個體編碼串中只隨機設置一個交叉點,然後再該點相互交換兩個配對個體的部分染色體。
2、兩點交叉與多點交叉:
(1) 兩點交叉(Two-pointCrossover):在個體編碼串中隨機設置了兩個交叉點,然後再進行部分基因交換。
(2) 多點交叉(Multi-pointCrossover)
3、均勻交叉(也稱一致交叉,UniformCrossover):兩個配對個體的每個基因座上的基因都以相同的交叉概率進行交換,從而形成兩個新個體。
4、算術交叉(ArithmeticCrossover):由兩個個體的線性組合而產生出兩個新的個體。該操作對象一般是由浮點數編碼表示的個體。
四、變異
遺傳演算法中的變異運算,是指將個體染色體編碼串中的某些基因座上的基因值用該基因座上的其它等位基因來替換,從而形成以給新的個體。
以下變異運算元適用於二進制編碼和浮點數編碼的個體:
1、基本位變異(SimpleMutation):對個體編碼串中以變異概率、隨機指定的某一位或某幾位僅因座上的值做變異運算。
2、均勻變異(UniformMutation):分別用符合某一范圍內均勻分布的隨機數,以某一較小的概率來替換個體編碼串中各個基因座上的原有基因值。(特別適用於在演算法的初級運行階段)
3、邊界變異(BoundaryMutation):隨機的取基因座上的兩個對應邊界基因值之一去替代原有基因值。特別適用於最優點位於或接近於可行解的邊界時的一類問題。
4、非均勻變異:對原有的基因值做一隨機擾動,以擾動後的結果作為變異後的新基因值。對每個基因座都以相同的概率進行變異運算之後,相當於整個解向量在解空間中作了一次輕微的變動。
5、高斯近似變異:進行變異操作時用符號均值為P的平均值,方差為P2的正態分布的一個隨機數來替換原有的基因值。
❺ 遺傳演算法求解
遺傳演算法在很多領域都得到應用;從神經網路研究的角度上考慮,最關心的是遺傳演算法在神經網路的應用。在遺傳演算法應用中,應先明確其特點和關鍵問題,才能對這種演算法深入了解,靈活應用,以及進一步研究開發。
一、遺傳演算法的特點
1.遺傳演算法從問題解的中集開始嫂索,而不是從單個解開始。
這是遺傳演算法與傳統優化演算法的極大區別。傳統優化演算法是從單個初始值迭代求最優解的;容易誤入局部最優解。遺傳演算法從串集開始搜索,復蓋面大,利於全局擇優。
2.遺傳演算法求解時使用特定問題的信息極少,容易形成通用演算法程序。
由於遺傳演算法使用適應值這一信息進行搜索,並不需要問題導數等與問題直接相關的信息。遺傳演算法只需適應值和串編碼等通用信息,故幾乎可處理任何問題。
3.遺傳演算法有極強的容錯能力
遺傳演算法的初始串集本身就帶有大量與最優解甚遠的信息;通過選擇、交叉、變異操作能迅速排除與最優解相差極大的串;這是一個強烈的濾波過程;並且是一個並行濾波機制。故而,遺傳演算法有很高的容錯能力。
4.遺傳演算法中的選擇、交叉和變異都是隨機操作,而不是確定的精確規則。
這說明遺傳演算法是採用隨機方法進行最優解搜索,選擇體現了向最優解迫近,交叉體現了最優解的產生,變異體現了全局最優解的復蓋。
5.遺傳演算法具有隱含的並行性
遺傳演算法的基礎理論是圖式定理。它的有關內容如下:
(1)圖式(Schema)概念
一個基因串用符號集{0,1,*}表示,則稱為一個因式;其中*可以是0或1。例如:H=1x x 0 x x是一個圖式。
(2)圖式的階和長度
圖式中0和1的個數稱為圖式的階,並用0(H)表示。圖式中第1位數字和最後位數字間的距離稱為圖式的長度,並用δ(H)表示。對於圖式H=1x x0x x,有0(H)=2,δ(H)=4。
(3)Holland圖式定理
低階,短長度的圖式在群體遺傳過程中將會按指數規律增加。當群體的大小為n時,每代處理的圖式數目為0(n3)。
遺傳演算法這種處理能力稱為隱含並行性(Implicit Parallelism)。它說明遺傳演算法其內在具有並行處理的特質。
二、遺傳演算法的應用關鍵
遺傳演算法在應用中最關鍵的問題有如下3個
1.串的編碼方式
這本質是問題編碼。一般把問題的各種參數用二進制編碼,構成子串;然後把子串拼接構成「染色體」串。串長度及編碼形式對演算法收斂影響極大。
2.適應函數的確定
適應函數(fitness function)也稱對象函數(object function),這是問題求解品質的測量函數;往往也稱為問題的「環境」。一般可以把問題的模型函數作為對象函數;但有時需要另行構造。
3.遺傳演算法自身參數設定
遺傳演算法自身參數有3個,即群體大小n、交叉概率Pc和變異概率Pm。
群體大小n太小時難以求出最優解,太大則增長收斂時間。一般n=30-160。交叉概率Pc太小時難以向前搜索,太大則容易破壞高適應值的結構。一般取Pc=0.25-0.75。變異概率Pm太小時難以產生新的基因結構,太大使遺傳演算法成了單純的隨機搜索。一般取Pm=0.01—0.2。
三、遺傳演算法在神經網路中的應用
遺傳演算法在神經網路中的應用主要反映在3個方面:網路的學習,網路的結構設計,網路的分析。
1.遺傳演算法在網路學習中的應用
在神經網路中,遺傳演算法可用於網路的學習。這時,它在兩個方面起作用
(1)學習規則的優化
用遺傳演算法對神經網路學習規則實現自動優化,從而提高學習速率。
(2)網路權系數的優化
用遺傳演算法的全局優化及隱含並行性的特點提高權系數優化速度。
2.遺傳演算法在網路設計中的應用
用遺傳演算法設計一個優秀的神經網路結構,首先是要解決網路結構的編碼問題;然後才能以選擇、交叉、變異操作得出最優結構。編碼方法主要有下列3種:
(1)直接編碼法
這是把神經網路結構直接用二進制串表示,在遺傳演算法中,「染色體」實質上和神經網路是一種映射關系。通過對「染色體」的優化就實現了對網路的優化。
(2)參數化編碼法
參數化編碼採用的編碼較為抽象,編碼包括網路層數、每層神經元數、各層互連方式等信息。一般對進化後的優化「染色體」進行分析,然後產生網路的結構。
(3)繁衍生長法
這種方法不是在「染色體」中直接編碼神經網路的結構,而是把一些簡單的生長語法規則編碼入「染色體」中;然後,由遺傳演算法對這些生長語法規則不斷進行改變,最後生成適合所解的問題的神經網路。這種方法與自然界生物地生長進化相一致。
3.遺傳演算法在網路分析中的應用
遺傳演算法可用於分析神經網路。神經網路由於有分布存儲等特點,一般難以從其拓撲結構直接理解其功能。遺傳演算法可對神經網路進行功能分析,性質分析,狀態分析。
遺傳演算法雖然可以在多種領域都有實際應用,並且也展示了它潛力和寬廣前景;但是,遺傳演算法還有大量的問題需要研究,目前也還有各種不足。首先,在變數多,取值范圍大或無給定范圍時,收斂速度下降;其次,可找到最優解附近,但無法精確確定最擾解位置;最後,遺傳演算法的參數選擇尚未有定量方法。對遺傳演算法,還需要進一步研究其數學基礎理論;還需要在理論上證明它與其它優化技術的優劣及原因;還需研究硬體化的遺傳演算法;以及遺傳演算法的通用編程和形式等。
❻ 遺傳演算法
根據問題的目標函數構造一個適值函數,對一個由多個解(每個解對應一個染色體)構成的種群進行評估、遺傳、選擇,經多代繁殖,獲得適應值最好的個體作為問題的最優解。
1,產生一個初始種群
2,根據問題的目標函數構造適值函數
3,根據適應值的好壞不斷選擇和繁殖
4,若干代後得到適應值最好的個體即為最優解
1.種群和種群大小
一般越大越好,但是規模越大運算時間越大,一般設為100~1000
2. 編碼方法 (基因表達方法
3. 遺傳運算元
包括交叉和變異,模擬了每一代中創造後代的繁殖過程。是遺傳演算法的精髓
交叉:性能在很大程度上取決於交叉運算的性能,交叉率Pc:各代中交叉產生的後與代數與種群中的個體數的比。Pc越高,解空間就越大,越耗時/
變異:Pm:種群中變異基因數在總基因數中的百分比。它控制著新基因導入種群的比例。太低,一些有用的基因就難以進入選擇;太高,後代就可能失去從雙親繼承下來的良好特性,也就失去了從過去中搜索的能力。
4.選擇策略
適者生存,優勝劣汰
5.停止准則
最大迭代數
初始種群的產生:隨機產生,具體依賴於編碼方法
編碼方法 :二進制編碼法、浮點編碼法、符號編碼法。順序編碼,實數編碼,整數編碼。
適值函數 :根據目標函數設計
遺傳運算 : 交叉 :單切點交叉,雙切點交叉,均勻交叉,算術交叉
變異 :基本位變異(Simple Mutation):對個體編碼串中以變異概率、隨機指定的某一位或某幾位僅因座上的值做變異運算。
均勻變異(Uniform Mutation):分別用符合某一范圍內均勻分布的隨機數,以某一較小的概率來替換個體編碼串中各個基因座上的原有基因值。(特別適用於在演算法的初級運行階段)
邊界變異(Boundary Mutation):隨機的取基因座上的兩個對應邊界基因值之一去替代原有基因值。特別適用於最優點位於或接近於可行解的邊界時的一類問題。
非均勻變異:對原有的基因值做一隨機擾動,以擾動後的結果作為變異後的新基因值。對每個基因座都以相同的概率進行變異運算之後,相當於整個解向量在解空間中作了一次輕微的變動。
高斯近似變異:進行變異操作時用符號均值為P的平均值,方差為P**2的正態分布的一個隨機數來替換原有的基因值。
選擇策略 :1.輪盤賭選擇(Roulette Wheel Selection):是一種回放式隨機采樣方法。每個個體進入下一代的概率等於它的適應度值與整個種群中個體適應度值和的比例。選擇誤差較大。
2.隨機競爭選擇(Stochastic Tournament):每次按輪盤賭選擇一對個體,然後讓這兩個個體進行競爭,適應度高的被選中,如此反復,直到選滿為止。
3.最佳保留選擇:首先按輪盤賭選擇方法執行遺傳演算法的選擇操作,然後將當前群體中適應度最高的個體結構完整地復制到下一代群體中。
4.無回放隨機選擇(也叫期望值選擇Excepted Value Selection):根據每個個體在下一代群體中的生存期望來進行隨機選擇運算。方法如下:
(1) 計算群體中每個個體在下一代群體中的生存期望數目N。
(2) 若某一個體被選中參與交叉運算,則它在下一代中的生存期望數目減去0.5,若某一個體未 被選中參與交叉運算,則它在下一代中的生存期望數目減去1.0。
(3) 隨著選擇過程的進行,若某一個體的生存期望數目小於0時,則該個體就不再有機會被選中。
5.確定式選擇:按照一種確定的方式來進行選擇操作。具體操作過程如下:
(1) 計算群體中各個個體在下一代群體中的期望生存數目N。
(2) 用N的整數部分確定各個對應個體在下一代群體中的生存數目。
(3) 用N的小數部分對個體進行降序排列,順序取前M個個體加入到下一代群體中。至此可完全確定出下一代群體中M個個體。
6.無回放余數隨機選擇:可確保適應度比平均適應度大的一些個體能夠被遺傳到下一代群體中,因而選擇誤差比較小。
7.均勻排序:對群體中的所有個體按期適應度大小進行排序,基於這個排序來分配各個個體被選中的概率。
8.最佳保存策略:當前群體中適應度最高的個體不參與交叉運算和變異運算,而是用它來代替掉本代群體中經過交叉、變異等操作後所產生的適應度最低的個體。
9.隨機聯賽選擇:每次選取幾個個體中適應度最高的一個個體遺傳到下一代群體中。
10.排擠選擇:新生成的子代將代替或排擠相似的舊父代個體,提高群體的多樣性。
之前在網上看到的一個比方,覺得很有趣:
{
既然我們把函數曲線理解成一個一個山峰和山谷組成的山脈。那麼我們可以設想所得到的每一個解就是一隻袋鼠,我們希望它們不斷的向著更高處跳去,直到跳到最高的山峰。所以求最大值的過程就轉化成一個「袋鼠跳」的過程。
下面介紹介紹「袋鼠跳」的幾種方式。
爬山演算法:一隻袋鼠朝著比現在高的地方跳去。它找到了不遠處的最高的山峰。但是這座山不一定是最高峰。這就是爬山演算法,它不能保證局部最優值就是全局最優值。
模擬退火:袋鼠喝醉了。它隨機地跳了很長時間。這期間,它可能走向高處,也可能踏入平地。但是,它漸漸清醒了並朝最高峰跳去。這就是模擬退火演算法。
遺傳演算法:有很多袋鼠,它們降落到喜瑪拉雅山脈的任意地方。這些袋鼠並不知道它們的任務是尋找珠穆朗瑪峰。但每過幾年,就在一些海拔高度較低的地方射殺一些袋鼠。於是,不斷有袋鼠死於海拔較低的地方,而越是在海拔高的袋鼠越是能活得更久,也越有機會生兒育女。就這樣經過許多年,這些袋鼠們竟然都不自覺地聚攏到了一個個的山峰上,可是在所有的袋鼠中,只有聚攏到珠穆朗瑪峰的袋鼠被帶回了美麗的澳洲。
}
(把那些總是愛走下坡路的袋鼠射殺,這就是遺傳演算法的精粹!)
遺傳演算法並不保證你能獲得問題的最優解,但是使用遺傳演算法的最大優點在於你不必去了解和操心如何去「找」最優解。(你不必去指導袋鼠向那邊跳,跳多遠。)而只要簡單的「否定」一些表現不好的個體就行了。(把那些總是愛走下坡路的袋鼠射殺,這就是遺傳演算法的精粹!)
改進與變形
編碼方法:
❼ 遺傳演算法的核心是什麼!
遺傳操作的交叉運算元。
在自然界生物進化過程中起核心作用的是生物遺傳基因的重組(加上變異)。同樣,遺傳演算法中起核心作用的是遺傳操作的交叉運算元。所謂交叉是指把兩個父代個體的部分結構加以替換重組而生成新個體的操作。通過交叉,遺傳演算法的搜索能力得以飛躍提高。
交叉運算元根據交叉率將種群中的兩個個體隨機地交換某些基因,能夠產生新的基因組合,期望將有益基因組合在一起。
(7)二階遺傳演算法擴展閱讀
評估編碼策略常採用以下3個規范:
a)完備性(completeness):問題空間中的所有點(候選解)都能作為GA空間中的點(染色體)表現。
b)健全性(soundness): GA空間中的染色體能對應所有問題空間中的候選解。
c)非冗餘性(nonrendancy):染色體和候選解一一對應。
目前的幾種常用的編碼技術有二進制編碼,浮點數編碼,字元編碼,變成編碼等。
而二進制編碼是目前遺傳演算法中最常用的編碼方法。即是由二進制字元集{0,1}產生通常的0,1字元串來表示問題空間的候選解。
❽ 優化演算法總結
本文介紹一下機器學習和深度學習中常用的優化演算法和優化器以及一些其他我知道的優化演算法,部分演算法我也沒有搞懂,就先記錄下來以後慢慢研究吧.*_*.
1.梯度下降演算法(Gradient Descent)
梯度下降法可以參考我另一篇文章 機器學習-線性回歸 里的講解,這里就不在重復敘述.這里需要強調一下,深度學習里常用的SGD,翻譯過來是隨機梯度下降,但是實質是mini-batch梯度下降(mini-batch-gd),或者說是兩者的結合更准確一些.
SGD的優點是,演算法簡單,計算量小,在函數為凸函數時可以找到全局最優解.所以是最常用的優化演算法.缺點是如果函數不是凸函數的話,很容易進入到局部最優解而無法跳出來.同時SGD在選擇學習率上也是比較困難的.
2.牛頓法
牛頓法和擬牛頓法都是求解無約束最優化問題的常用方法,其中牛頓法是迭代演算法,每一步需要求解目標函數的海森矩陣的逆矩陣,計算比較復雜.
牛頓法在求解方程根的思想:在二維情況下,迭代的尋找某一點x,尋找方法是隨機一個初始點x_0,目標函數在該點x_0的切線與x坐標軸的交點就是下一個x點,也就是x_1.不斷迭代尋找x.其中切線的斜率為目標函數在點x_0的導數(梯度),切必過點(x_0,f(x_0)).所以迭代的方程式如圖1,為了求該方程的極值點,還需要令其導數等於0,也就是又求了一次導數,所以需要用到f(x)的二階導數.
在最優化的問題中,牛頓法提供了一種求解的辦法. 假設任務是優化一個目標函數f, 求函數ff的極大極小問題, 可以轉化為求解函數f導數等於0的問題, 這樣求可以把優化問題看成方程求解問題(f的導數等於0). 剩下的問題就和牛頓法求解方程根的思想很相似了.
目標函數的泰勒展開式:
化簡後:
這樣就得到了與圖1相似的公式,這里是二維的,在多維空間上,求二階導數就是求海森矩陣,因為是分母,所以還需要求海森矩陣的逆矩陣.
牛頓法和SGD的區別:
牛頓法是二階求導,SGD是一階求導,所以牛頓法要收斂的更快一些.SGD只考慮當前情況下梯度下降最快的方向,而牛頓法不僅考慮當前梯度下降最快,還有考慮下一步下降最快的方向.
牛頓法的優點是二階求導下降速度快,但是因為是迭代演算法,每一步都需要求解海森矩陣的逆矩陣,所以計算復雜.
3.擬牛頓法(沒搞懂,待定)
考慮到牛頓法計算海森矩陣比較麻煩,所以它使用正定矩陣來代替海森矩陣的逆矩陣,從而簡化了計算過程.
常用的擬牛頓法有DFP演算法和BFGS演算法.
4.共軛梯度法(Conjugate Gradient)
共軛梯度法是介於最速下降法與牛頓法之間的一個方法,它僅需利用一階導數信息,但克服了最速下降法收斂慢的缺點,又避免了牛頓法計算海森矩陣並求逆的缺點.共軛梯度法不僅是解決大型線性方程組最有用的方法之一,也是解大型非線性最優化最有效的演算法之一.
5.拉格朗日法
參考SVM里的講解 機器學習-SVM
6.動量優化法(Momentum)
動量優化法主要是在SGD的基礎上,加入了歷史的梯度更新信息或者說是加入了速度更新.SGD雖然是很流行的優化演算法,但是其學習過程很慢,因為總是以同樣的步長沿著梯度下降的方向.所以動量是為了加速學習的方法.
其中第一行的減號部分是計算當前的梯度,第一行是根據梯度更新速度v,而α是新引進的參數,在實踐中,α的一般取值為 0.5,0.9 和 0.99.和學習率 一樣,α 也會隨著時間不斷調整.一般初始值是一個較小的值,隨後會慢慢變大.
7.Nesterov加速梯度(NAG, Nesterov accelerated gradient)
NAG是在動量優化演算法的基礎上又進行了改進.根據下圖可以看出,Nesterov 動量和標准動量之間的區別體現在梯度計算上, Nesterov 動量中,梯度計算在施加當前速度之後.因此,Nesterov 動量可以解釋為往標准動量方法中添加了一個校正因子
8.AdaGrad演算法
AdaGrad演算法,自適應優化演算法的一種,獨立地適應所有模型參數的學習率,縮放每個參數反比於其所有梯度歷史平均值總和的平方根.具有代價函數最大梯度的參數相應地有個快速下降的學習率,而具有小梯度的參數在學習率上有相對較小的下降.通俗一點的講,就是根據實際情況更改學習率,比如模型快要收斂的時候,學習率步長就會小一點,防止跳出最優解.
其中g是梯度,第一行的分母是計算累計梯度的平方根, 是為了防止分母為0加上的極小常數項,α是學習率.
Adagrad的主要優點是不需要人為的調節學習率,它可以自動調節.但是依然需要設置一個初始的全局學習率.缺點是隨著迭代次數增多,學習率會越來越小,最終會趨近於0.
9.RMSProp演算法
RMSProp修改 AdaGrad 以在非凸設定下效果更好,改變梯度積累為指數加權的移動平均.AdaGrad旨在應用於凸問題時快速收斂.
10.AdaDelta演算法
11.Adam演算法
Adam是Momentum和RMSprop的結合體,也就是帶動量的自適應優化演算法.
12.Nadam演算法
13.模擬退火演算法
14.蟻群演算法
15.遺傳演算法
動量是為了加快學習速度,而自適應是為了加快收斂速度,注意學習速度快不一定收斂速度就快,比如步長大學習速度快,但是很容易跳出極值點,在極值點附近波動,很難達到收斂.
未完待定....
參考:
《統計學習方法》 李航 著
《深度學習》 花書
❾ 基因遺傳演算法主流
基因遺傳演算法是一種靈感源於達爾文自然進化理論的啟發式搜索演算法 該演算法反映了自然選擇的過程 即最適者被選定繁殖 並產生下一代
自然選擇的過程從選擇群體中最適應環境的個體開始 後代繼承了父母的特性 並且這些特性將添加到下一代中 如果父母具有更好的適應性 那麼它們的後代將更易於存活 迭代地進行該自然選擇的過程 最終 我們將得到由最適應環境的個體組成的一代
這一概念可以被應用於搜索問題中 我們考濾一個問題的諸多解決方案 並從中搜尋出最佳方案
遺傳演算法含以下五步
1.初始化
2.個體評價(計算適應度函數)
3.選擇運算
4.交叉運算
5.變異運算
初始化
該過程從種群的一組個體開始 且每一個體都是待解決問題的一個候選解
個體以一組參數(變數)為特徵 這些特徵被稱為基因 串聯這些基因就可以組成染色體(問題的解)
在遺傳演算法中 單個個體的基因組以字元串的方式呈現 通常我們可以使用二進制(1和0的字元串)編碼 即一個二進制串代表一條染色體串 因此可以說我們將基因串或候選解的特徵編碼在染色體中
個體評價利用適應度函數評估了該個體對環境的適應度(與其它個體徑爭的能力)每一個體都有適應評分 個體被選中進行繁殖的可能性取決於其適應度評分 適應度函數是遺傳演算法進化的驅動力 也是進行自然選擇的唯一標准 它的設計應結合求解問題本身的要求而定
選擇運算的目的是選出適應性最好的個體 並使它們將基因傳到下一代中 基於其適應度評分 我們選擇多對較優個體(父母)適應度高的個體更易被選中繁殖 即將較優父母的基因傳遞到下一代
交叉運算是遺傳演算法中最重要的階段 對每一對配對的父母 基因都存在隨機選中的交叉點
變異運算
在某些形成的新後代中 它們的某些基因可能受到低概率變異因子的作用 這意味著二進制位串中的某些位可能會翻轉
變異運算前後
變異運算可用於保持群內的多樣性 並防止過早收斂
終止
在群體收斂的情況下(群體內不產生與前一代差異較大的後代)該演算法終止 也就是說遺傳演算法提供了一組問題的解
❿ 遺傳演算法的主要步驟
為了使用遺傳演算法來解決優化問題,准備工作分為以下四步[56,57,61]。
7.4.1 確定問題的潛在解的遺傳表示方案
在基本的遺傳演算法中,表示方案是把問題的搜索空間中每個可能的點表示為確定長度的特徵串(通常是二進制串)。表示方案的確定需要選擇串長l和字母表規模k。在染色體串和問題的搜索空間中的點之間選擇映射有時容易實現,有時又非常困難。選擇一個便於遺傳演算法求解問題的表示方案經常需要對問題有深入的了解。
7.4.2 確定適應值的度量
適應值度量為群體中每個可能的確定長度的特徵串指定一個適應值,它經常是問題本身所具有的。適應值度量必須有能力計算搜索空間中每個確定長度的特徵串的適應值。
7.4.3 確定控制該演算法的參數和變數
控制遺傳演算法的主要參數有群體規模Pop-Size、演算法執行的最大代數N-Gen、交叉概率Pc、變異概率Pm和選擇策略R等參數。
(1)群體規模Pop-Size。群體規模影響到遺傳演算法的最終性能和效率。當規模太小時,由於群體對大部分超平面只給出了不充分的樣本量,所以得到的結果一般不佳。大的群體更有希望包含出自大量超平面的代表,從而可以阻止過早收斂到局部最優解;然而群體越大,每一代需要的計算量也就越多,這有可能導致一個無法接受的慢收斂率。
(2)交叉率Pc。交叉率控制交叉運算元應用的頻率,在每代新的群體中,有Pc·Pop-Size個串實行交叉。交叉率越高,群體中串的更新就越快。如果交叉率過高,相對選擇能夠產生的改進而言,高性能的串被破壞得更快。如果交叉率過低,搜索會由於太小的探查率而可能停滯不前。
(3)變異率Pm。變異是增加群體多樣性的搜索運算元,每次選擇之後,新的群體中的每個串的每一位以相等的變異率進行隨機改變。對於M進制串,就是相應的位從1變為0或0變為1。從而每代大約發生Pm·Pop-Size·L次變異,其中L為串長。一個低水平的變異率足以防止整個群體中任一給定位保持永遠收斂到單一的值。高水平的變異率產生的實質是隨機搜索。
比起選擇和交叉,變異在遺傳演算法中是次要的,它在恢復群體中失去的多樣性方面具有潛在的作用。例如,在遺傳演算法執行的開始階段,串中一個特定位上的值1可能與好的性能緊密聯系,也就是說從搜索空間中某些初始隨機點開始,在那個位上的值1可能一致地產生適應性度量好的值。因為越好的適應值與串中那個位上的值1相聯系,復製作用就越會使群體的遺傳多樣性損失。當達到一定程度時,值0會從整個群體中的那個位上消失,然而全局最優解可能在串中那個位上是0。一旦搜索范圍縮小到實際包含全局最優解的那部分搜索空間,在那個位上的值0就可能正好是達到全局最優解所需的。這僅僅是一種說明搜索空間是非線性的方式,這種情形不是假定的,因為實際上所有我們感興趣的問題都是非線性的。變異作用提供了一個恢復遺傳多樣性的損失的方法。
(4)選擇策略R。有兩種選擇策略。一是利用純選擇,即當前群體中每個點復制的次數比與點的性能值成比例。二是利用最優選擇,即首先執行純選擇,且具有最好性能的點總是保留到下一代。在缺少最優選擇的情況下,由於采樣誤差、交叉和變異,最好性能的點可能會丟失。
通過指定各個參數Pop-Size、Pc、Pm和R的值,可以表示一個特定的遺傳演算法。
7.4.4 確定指定結果的方法和停止運行的准則
當遺傳的代數達到最大允許代數時,就可以停止演算法的執行,並指定執行中得到的最好結果作為演算法的結果。
基本的遺傳演算法
1)隨機產生一個由固定長度字元串組成的初始群體。
2)對於字元串群體,迭代地執行下述步驟,直到選擇標准被滿足為止。
①計算群體中的每個個體字元串的適應值;
②實施下列三種操作(至少前兩種)來產生新的群體,操作對象的選取基於與適應度成比例的概率。
選擇:把現有的個體串按適應值復制到新的群體中。
交叉:通過遺傳重組隨機選擇兩個現有的子串進行遺傳重組,產生兩個新的串。
變異:將現有串中某一位的字元隨機變異產生一個新串。
3)把在後代中出現的最好適應值的個體串指定為遺傳演算法運行的結果。這一結果可以是問題的解(或近似解)。
基本的遺傳演算法流程圖如圖7-1所示。