本發(fā)明涉及遺傳和計算機技術領域,尤其涉及一種提高遺傳算法的時間效率的方法及裝置、用戶設備。
背景技術:
目前,一般的遺傳算法是一個迭代搜索的過程,通過多次迭代將初始的種群進化至一個接近用戶設定的優(yōu)化目標的種群。在迭代的過程中,算法會不斷產(chǎn)生新的種群然后進行個體評估,評估后經(jīng)過遺傳算法的個體選擇,雜交和變異的操作淘汰掉弱勢個體產(chǎn)生新的個體,新的個體會再次評估。這樣的迭代優(yōu)化過程并沒有預先分析和估計產(chǎn)生的新的個體的適應度,而是直接通過用戶的適應度函數(shù)進行計算,如果用戶提供的適應度函數(shù)計算適應度的過程非常耗時,那么這種沒有預先分析和估計產(chǎn)生新的個體適應度好壞程度的做法將耗費特別長的時間,特別是用戶設定的種群數(shù)量非常大的情況,更會加劇這一搜索過程的時間代價。
技術實現(xiàn)要素:
本發(fā)明實施例公開了一種提高遺傳算法的時間效率的方法及裝置、用戶設備,有利于提高遺傳算法的時間效率。
本發(fā)明實施例第一方面公開一種提高遺傳算法的時間效率的方法,包括:
獲取第一種群和第一種群的適應度矩陣及適應度平均值,并進入遺傳算法的迭代搜索過程;
將第一種群通過遺傳算法計算產(chǎn)生第二種群;
將第二種群通過機器學習回歸模型進行適應度預測及遺傳算法進行計算,直至產(chǎn)生第三種群,其中,第三種群中所有個體的適應度都大于所述適應度平均值;所述機器學習回歸模型是根據(jù)初始種群的適應度矩陣選取的機器學習算法構建的,用于對種群的適應度預測;
判斷第三種群是否為最優(yōu)解,如果不是最優(yōu)解,則視第三種群為新的第一種群獲取其適應度矩陣及適應度平均值進入下一個遺傳算法的迭代搜索過程,直至得到最優(yōu)解。
作為一種可選的實施方式,在本發(fā)明實施例第一方面中,所述方法在獲取第一種群和第一種群的適應度矩陣及適應度平均值的步驟包括:
隨機產(chǎn)生初始種群作為第一種群;
根據(jù)預設的適應度評估函數(shù)對第一種群進行適應度評估,并計算得到第一種群適應度矩陣及適應度平均值。
作為一種可選的實施方式,在本發(fā)明實施例第一方面中,在根據(jù)預設的適應度評估函數(shù)對所述初始種群進行適應度評估,并計算得到初始種群適應度矩陣及種群適應度平均值的步驟之后,所述方法還包括:
根據(jù)初始種群的適應度矩陣構建關于適應度預測的機器學習回歸模型,所述機器學習回歸模型用于對種群的適應度預測。
作為一種可選的實施方式,在本發(fā)明實施例第一方面中,所述方法中根據(jù)初始種群的適應度矩陣構建關于適應度預測的機器學習回歸模型的步驟包括:
通過五折的交叉驗證的方法進行機器學習算法的驗證手段,從機器學習算法中選擇精度最高的機器學習算法作為構建關于適應度值的模型的算法,構建出關于適應度預測的機器學習回歸模型。
作為一種可選的實施方式,在本發(fā)明實施例第一方面中,所述方法中將第二種群通過機器學習回歸模型進行適應度預測及遺傳算法進行計算,直至產(chǎn)生第三種群的步驟包括:
將第二種群通過機器學習回歸模型進行適應度預測,并將適應度低于所述適應度平均值的個體通過遺傳算法產(chǎn)生新的個體,再將新的個體通過所述機器學習回歸模型進行適應度預測,直至產(chǎn)生第三種群,其中,第三種群中所有個體的適應度都大于所述適應度平均值。
本發(fā)明實施例第二方面公開一種提高遺傳算法的時間效率的裝置,包括:
獲取模塊,用于獲取第一種群和第一種群的適應度矩陣及適應度平均值,并進入遺傳算法的迭代搜索過程;以及獲取第三種群的適應度矩陣及適應度平均值,并進入下一個遺傳算法的迭代搜索過程;
第二種群產(chǎn)生模塊,用于將第一種群通過遺傳算法計算產(chǎn)生第二種群;
第三種群產(chǎn)生模塊,用于將第二種群通過機器學習回歸模型進行適應度預測及遺傳算法進行計算,直至產(chǎn)生第三種群,其中,第三種群中所有個體的適應度都大于所述適應度平均值;所述機器學習回歸模型是根據(jù)初始種群選取的機器學習算法構建的,用于對種群的適應度預測;
判斷模塊,用于第三種群是否為最優(yōu)解。
作為一種可選的實施方式,在本發(fā)明實施例第二方面中,所述獲取模塊包括:
初始種群產(chǎn)生單元,用于隨機產(chǎn)生初始種群作為第一種群;
適應度評估單元,用于根據(jù)預設的適應度評估函數(shù)對第一種群進行適應度評估,并計算得到第一種群適應度矩陣及適應度平均值。
作為一種可選的實施方式,在本發(fā)明實施例第二方面中,所述裝置還包括:
機器學習回歸模型構建模塊,用于根據(jù)初始種群的適應度矩陣構建關于適應度預測的機器學習回歸模型,所述機器學習回歸模型用于對種群的適應度預測。
作為一種可選的實施方式,在本發(fā)明實施例第二方面中,所述第三種群產(chǎn)生模塊包括:
適應度預測單元,用于將第二種群通過機器學習回歸模型進行適應度預測;
新個體產(chǎn)生單元,用于將適應度低于所述適應度平均值的個體通過遺傳算法產(chǎn)生新的個體;
其中,所述適應度預測單元還用于將新個體產(chǎn)生單元產(chǎn)生的新的個體通過所述機器學習回歸模型進行適應度預測。
本發(fā)明實施例第三方面公開一種用戶設備,包括本發(fā)明實施例第二方面公開的所述提高遺傳算法的時間效率的裝置。
與現(xiàn)有技術相比,本發(fā)明實施例具備以下有益效果:
本發(fā)明實施例中,通過獲取第一種群的適應度矩陣及適應度平均值,再將第一種群進入遺傳算法迭代搜索過程,具體先將第一種群通過遺傳算法計算產(chǎn)生第二種群,再將第二種群通過機器學習回歸模型進行適應度預測及遺傳算法進行計算,直至產(chǎn)生第三種群,其中,第三種群中所有個體的適應度都大于所述適應度平均值,再判斷第三種群是否為最優(yōu)解,如果不是最優(yōu)解,則視第三種群為新的第一種群獲取其適應度矩陣及適應度平均值進入下一個遺傳算法的迭代搜索過程,直至得到最優(yōu)解。本發(fā)明實施例能夠通過預先分析和預測產(chǎn)生的新的個體的適應度,進而淘汰大量的適應度差的個體,在用戶的適應度函數(shù)計算時間代價太大、種群多的情況下,本發(fā)明實施例所描述的方法能有效的節(jié)約時間成本,提高搜索算法的時間效率。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例公開的一種提高遺傳算法的時間效率的方法的流程示意圖;
圖2是本發(fā)明實施例公開的另一種提高遺傳算法的時間效率的方法的流程示意圖;
圖3是本發(fā)明實施例公開的一種提高遺傳算法的時間效率的裝置的結構示意圖;
圖4是本發(fā)明實施例公開的另一種提高遺傳算法的時間效率的裝置的結構示意圖;
圖5是本發(fā)明實施例公開的一種用戶設備的結構示意圖。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
需要說明的是,本發(fā)明實施例的術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產(chǎn)品或設備固有的其它步驟或單元。
本發(fā)明實施例公開了一種提高遺傳算法的時間效率的方法及裝置、用戶設備,有利于提高遺傳算法的時間效率,節(jié)約時間成本。以下進行結合附圖進行詳細描述。
實施例一
請參閱圖1,圖1是本發(fā)明實施例公開的一種提高遺傳算法的時間效率的方法的流程示意圖。如圖1所示,該提高遺傳算法的時間效率的方法可以包括以下步驟:
101、獲取第一種群和第一種群的適應度矩陣及適應度平均值,并進入遺傳算法的迭代搜索過程;
獲取第一種群,如果是遺傳算法的第一次迭代搜索過程,則第一種群為初始種群,初始種群可以由用戶提供,也可以是隨機產(chǎn)生的,此處不做限制。如果不是遺傳算法的第一次迭代搜索過程,那么,第一種群為上一次迭代搜索過程中產(chǎn)生的新的種群。
獲取第一種群的適應度矩陣,即先對第一種群的適應度進行評估,再根據(jù)評估結果計算出第一種群的適應度平均值。然后第一種群進入遺傳算法的迭代搜索過程。
102、將第一種群通過遺傳算法計算產(chǎn)生第二種群;
第一種群通過遺傳算法計算,即通過個體的選擇,雜交和變異的操作產(chǎn)生新的種群。
103、將第二種群通過機器學習回歸模型進行適應度預測及遺傳算法進行計算,直至產(chǎn)生第三種群;
新產(chǎn)生的第二種群,通過機器學習回歸模型進行適應度預測,并將適應度低于所述適應度平均值的個體通過遺傳算法產(chǎn)生新的個體,再將新的個體通過機器學習回歸模型進行適應度預測,直至產(chǎn)生第三種群,其中,第三種群中所有個體的適應度都大于在步驟101中獲取的第一種群的適應度平均值。并且,機器學習回歸模型是根據(jù)初始種群的適應度矩陣選取的機器學習算法構建的,用于對種群的適應度預測。
104、判斷第三種群是否為最優(yōu)解;
判斷遺傳算法迭代搜索過程結束后產(chǎn)生的新的種群,即步驟103中產(chǎn)生的種群是不是本遺傳算法的最優(yōu)解,如果為最優(yōu)解,則流程結束;如果不是最優(yōu)解,則視第三種群為新的第一種群獲取其適應度矩陣及適應度平均值進入下一個遺傳算法的迭代搜索過程,即返回步驟102,直至得到最優(yōu)解。
在圖1所描述的方法,通過獲取第一種群的適應度矩陣及適應度平均值,再將第一種群進入遺傳算法迭代搜索過程,具體先將第一種群通過遺傳算法計算產(chǎn)生第二種群,再將第二種群通過機器學習回歸模型進行適應度預測及遺傳算法進行計算,直至產(chǎn)生第三種群,其中,第三種群中所有個體的適應度都大于所述適應度平均值,再判斷第三種群是否為最優(yōu)解,如果不是最優(yōu)解,則視第三種群為新的第一種群獲取其適應度矩陣及適應度平均值進入下一個遺傳算法的迭代搜索過程,直至得到最優(yōu)解??梢姡瑘D1描述的方法通過預先分析和預測產(chǎn)生的新的個體的適應度,進而淘汰大量的適應度差的個體,在用戶的適應度函數(shù)計算時間代價太大、種群多的情況下,圖1描述的方法能有效的節(jié)約時間成本,提高搜索算法的時間效率。
實施例二
請參閱圖2,圖2是本發(fā)明實施例公開的另一種提高遺傳算法的時間效率的方法的流程示意圖。如圖2所示,該提高遺傳算法的時間效率的方法可以包括以下步驟:
201、隨機產(chǎn)生初始種群作為第一種群;
如果是遺傳算法的第一次迭代搜索過程,首先隨機產(chǎn)生初始種群作為第一種群;例如,第一種群為:
202、根據(jù)預設的適應度評估函數(shù)對第一種群進行適應度評估,并計算得到第一種群適應度矩陣及適應度平均值;
適應度評估的函數(shù)一般由用戶提供,適應度評估函數(shù)的功能是計算輸入的每一個個體的適應度值,通過適應度評估函數(shù)計算輸入的每個個體的適應度值S,最終得到一個適應度矩陣:
同時可以計算得到種群的適應度平均值=(S1+S2+…Sm)/m。
203、根據(jù)第一種群的適應度矩陣構建關于適應度預測的機器學習回歸模型;
當初始種群評估完后,會得到一個適應度矩陣,利用這個矩陣構建一個合適的關于適應度的機器學習回歸模型,在構建模型之前,本發(fā)明實施例增加了一個模型選擇的過程,通過該過程可以在通用的機器學習算法中選擇一個合適的算法構建關于適應度的模型,該模型能夠實現(xiàn)較高的預測精度,能準確地預測產(chǎn)生的新個體的適應度值。本實施例中通過五折的交叉驗證的方法進行機器學習算法的驗證手段,從比較流行的機器學習算法,例如:支持向量機、回歸樹、隨機森林以及人工神經(jīng)網(wǎng)絡等等算法中選擇精度最高的機器學習算法作為構建關于適應度值的模型的算法。當選擇了合適的算法后,就利用該算法構建關于適應度的機器學習回歸模型。
204、將第一種群通過遺傳算法計算產(chǎn)生第二種群;
第一種群通過遺傳算法計算,即通過個體的選擇,雜交和變異的操作產(chǎn)生新的種群。
205、通過機器學習回歸模型進行適應度預測;
將當前的種群通過機器學習回歸模型進行適應度預測。
206、判斷第二種群中個體的適應度是否高于適應度平均值;
通過機器學習回歸模型進行適應度預測后,再判斷當前種群中個體的適應度是否高于適應度平均值,如果是,則執(zhí)行步驟208,如果否,則執(zhí)行步驟207。
207、將適應度低于適應度平均值的個體通過遺傳算法產(chǎn)生新的個體;
對于適應度值低于適應度平均值的個體將被提前淘汰,被淘汰的個體將通過遺傳算法的選擇,雜交和變異過程產(chǎn)生新的個體。再返回步驟205通過機器學習回歸模型進行適應度預測,直到適應度是否高于適應度平均值。
208、生成第三種群;
如果當前種群中個體的適應度高于適應度平均值,則當前種群為第三種群。
209、判斷第三種群是否為最優(yōu)解,如果是,則執(zhí)行步驟211結束流程,如果否,則執(zhí)行步驟210。
210、視第三種群為新的第一種群獲取其適應度矩陣及適應度平均值進入下一個遺傳算法的迭代搜索過程;
如果第三種群中個體的適應度高于適應度平均值,但還不是本遺傳算法的最優(yōu)解,則獲取第三種群的適應度矩陣及適應度平均值,并進入到下一個遺傳算法的迭代搜索過程。返回步驟204,直至得到最優(yōu)解。
其中,實施圖2所描述的方法能夠通過預先分析和預測產(chǎn)生的新的個體的適應度,進而淘汰大量的適應度差的個體,在用戶的適應度函數(shù)計算時間代價太大、種群多的情況下,圖2描述的方法能有效的節(jié)約時間成本,提高搜索算法的時間效率。
實施例三
請參閱圖3,圖3是本發(fā)明實施例公開的一種提高遺傳算法的時間效率的裝置的結構示意圖。如圖3所示,該提高遺傳算法的時間效率的裝置可以包括:
獲取模塊301,用于獲取第一種群和第一種群的適應度矩陣及適應度平均值,并進入遺傳算法的迭代搜索過程。獲取第一種群,如果是遺傳算法的第一次迭代搜索過程,則第一種群為初始種群,初始種群可以由用戶提供,也可以是隨機產(chǎn)生的,此處不做限制。如果不是遺傳算法的第一次迭代搜索過程,那么,第一種群為上一次迭代搜索過程中產(chǎn)生的新的種群。獲取第一種群的適應度矩陣,即先對第一種群的適應度進行評估,再根據(jù)評估結果計算出第一種群的適應度平均值。然后第一種群進入遺傳算法的迭代搜索過程。
第二種群產(chǎn)生模塊302,用于將第一種群通過遺傳算法計算產(chǎn)生第二種群,即通過個體的選擇,雜交和變異的操作產(chǎn)生新的種群。
第三種群產(chǎn)生模塊303,用于將第二種群通過機器學習回歸模型進行適應度預測及遺傳算法進行計算,直至產(chǎn)生第三種群。新產(chǎn)生的第二種群,通過機器學習回歸模型進行適應度預測,并將適應度低于所述適應度平均值的個體通過遺傳算法產(chǎn)生新的個體,再將新的個體通過機器學習回歸模型進行適應度預測,直至產(chǎn)生第三種群,其中,第三種群中所有個體的適應度都大于在獲取模塊301獲取的第一種群的適應度平均值。并且,機器學習回歸模型是根據(jù)初始種群的適應度矩陣選取的機器學習算法構建的,用于對種群的適應度預測。其中,第三種群中所有個體的適應度都大于適應度平均值;并且機器學習回歸模型是根據(jù)初始種群選取的機器學習算法構建的,用于對種群的適應度預測。
判斷模塊304,用于第三種群是否為最優(yōu)解。
獲取模塊301,還用于獲取第三種群的適應度矩陣及適應度平均值,并進入下一個遺傳算法的迭代搜索過程。如果判斷模塊304判斷出第三種群不是當前遺傳算法的最優(yōu)解,則視第三種群為新的第一種群獲取其適應度矩陣及適應度平均值進入下一個遺傳算法的迭代搜索過程。
在圖3所描述的裝置,獲取模塊301獲取第一種群的適應度矩陣及適應度平均值,再將第一種群進入遺傳算法迭代搜索過程,具體第二種群產(chǎn)生模塊302先將第一種群通過遺傳算法計算產(chǎn)生第二種群,第三種群產(chǎn)生模塊303再將第二種群通過機器學習回歸模型進行適應度預測及遺傳算法進行計算,直至產(chǎn)生第三種群,其中,第三種群中所有個體的適應度都大于適應度平均值,再由判斷模塊304判斷第三種群是否為最優(yōu)解,如果不是最優(yōu)解,則視第三種群為新的第一種群由獲取模塊301獲取其適應度矩陣及適應度平均值進入下一個遺傳算法的迭代搜索過程,直至得到最優(yōu)解??梢姡瑘D3所示裝置通過預先分析和預測產(chǎn)生的新的個體的適應度,進而淘汰大量的適應度差的個體,在用戶的適應度函數(shù)計算時間代價太大、種群多的情況下,圖3所示的裝置能有效的節(jié)約時間成本,提高搜索算法的時間效率。
實施例四
請參閱圖4,圖4是本發(fā)明實施例公開的另一種提高遺傳算法的時間效率的裝置的結構示意圖。其中,圖4所示的提高遺傳算法的時間效率的裝置是由于圖3所示的提高遺傳算法的時間效率的裝置進行優(yōu)化得到的。與圖3所示的提高遺傳算法的時間效率的裝置相比,圖4所示的提高遺傳算法的時間效率的裝置還可以包括:
機器學習回歸模型構建模塊302,用于根據(jù)初始種群的適應度矩陣構建關于適應度預測的機器學習回歸模型,其中,機器學習回歸模型用于對種群的適應度預測。具體的,利用這個適應度矩陣構建一個合適的關于適應度的機器學習回歸模型,在構建模型之前,本發(fā)明實施例增加了一個模型選擇的過程,通過該過程可以在通用的機器學習算法中選擇一個合適的算法構建關于適應度的模型,該模型能夠實現(xiàn)較高的預測精度,能準確地預測產(chǎn)生的新個體的適應度值。本實施例中通過五折的交叉驗證的方法進行機器學習算法的驗證手段,從比較流行的機器學習算法,例如:支持向量機、回歸樹、隨機森林以及人工神經(jīng)網(wǎng)絡等等算法中選擇精度最高的機器學習算法作為構建關于適應度值的模型的算法。當選擇了合適的算法后,就利用該算法構建關于適應度的機器學習回歸模型。
進一步的,獲取模塊301包括:
初始種群產(chǎn)生單元3011,用于隨機產(chǎn)生初始種群作為第一種群。
適應度評估單元3012,用于根據(jù)預設的適應度評估函數(shù)對第一種群進行適應度評估,并計算得到第一種群適應度矩陣及適應度平均值。
進一步的,第三種群產(chǎn)生模塊304包括:
適應度預測單元3041,用于將第二種群通過機器學習回歸模型進行適應度預測。
新個體產(chǎn)生單元3042,用于將適應度低于適應度平均值的個體通過遺傳算法產(chǎn)生新的個體。
其中,適應度預測單元3041還用于將新個體產(chǎn)生單元產(chǎn)生的新的個體通過機器學習回歸模型進行適應度預測。
其中,本實施例中描述的裝置,通過初始種群適應度矩陣構建一個合適的關于適應度的機器學習回歸模型,能夠通過預先分析和預測產(chǎn)生的新的個體的適應度,進而淘汰大量的適應度差的個體,在用戶的適應度函數(shù)計算時間代價太大、種群多的情況下,圖4所示的裝置能有效的節(jié)約時間成本,提高搜索算法的時間效率。
實施例五
請參閱圖5,圖5是本發(fā)明實施例公開的一種用戶設備的結構示意圖。其中,圖5所示的用戶設備包括圖3~圖4任意一種提高遺傳算法的時間效率的裝置。實施圖5所示的用戶設備,能夠通過預先分析和預測產(chǎn)生的新的個體的適應度,進而淘汰大量的適應度差的個體,在用戶的適應度函數(shù)計算時間代價太大、種群多的情況下,圖5所示的用戶設備能有效的節(jié)約時間成本,提高搜索算法的時間效率。
本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,該程序可以存儲于一計算機可讀存儲介質中,存儲介質包括只讀存儲器(Read-Only Memory,ROM)、隨機存儲器(Random Access Memory,RAM)、可編程只讀存儲器(Programmable Read-only Memory,PROM)、可擦除可編程只讀存儲器(Erasable Programmable Read Only Memory,EPROM)、一次可編程只讀存儲器(One-time Programmable Read-Only Memory,OTPROM)、電子抹除式可復寫只讀存儲器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只讀光盤(Compact Disc Read-Only Memory,CD-ROM)或其他光盤存儲器、磁盤存儲器、磁帶存儲器、或者能夠用于攜帶或存儲數(shù)據(jù)的計算機可讀的任何其他介質。
以上對本發(fā)明實施例公開的一種提高遺傳算法的時間效率的方法及裝置、用戶設備進行了詳細介紹,本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的一般技術人員,依據(jù)本發(fā)明的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應理解為對本發(fā)明的限制。