本發(fā)明屬于辨識技術(shù)領(lǐng)域。
背景技術(shù):
目前對于KP模型密度函數(shù)的辨識,主要包含以下幾種方法:
最小二乘法是一種應(yīng)用最廣泛的模型辨識方法,它通過極小化廣義誤差的平方和函數(shù)來確定系統(tǒng)模型的參數(shù)。最小二乘法由于原理簡明、收斂較快、易于理解、易于編程實現(xiàn)等特點,在參數(shù)估計和模型辨識中應(yīng)用十分廣泛,但是最小二乘法是非一致的、有偏差的,因此為了克服其缺點進行了一系列的改進方法:最小二乘的批處理法、最小二乘的遞推法、最小二乘的遺忘因子遞推法和遞推增廣法。改進的最小二乘法一般適用于KP模型密度函數(shù)的辨識,但是最小二乘法對參數(shù)初值的依賴很大,占用內(nèi)存大,運算耗費大,辨識的精度十分有限。
極大似然參數(shù)估計法是依據(jù)極大似然原理,通過極大化似然函數(shù)來確定KP模型的密度函數(shù)參數(shù)。該方法需要構(gòu)造一個以觀測數(shù)據(jù)和未知參數(shù)為自變量的似然函數(shù),使這個函數(shù)達到極大的參數(shù)值,就是KP模型的密度函數(shù)參數(shù)估計值。在實際應(yīng)用中,通常選取噪聲的概率密度函數(shù)作為似然函數(shù),所以極大似然法需要已知噪聲的分布,為簡單起見,一般采用的噪聲具有正態(tài)分布。極大似然參數(shù)估計法因為具有良好的漸進性質(zhì)的優(yōu)點被廣泛應(yīng)用,但是其具有的計算量大,辨識精確度有限是其不可避免的缺點。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是把自適應(yīng)思想引入蝙蝠搜索算法中,使蝙蝠搜索算法在飛行搜索過程中選擇的密度函數(shù)可以自適應(yīng)的根據(jù)算法進行改變,增強了全局收斂性的基于自適應(yīng)蝙蝠搜索算法的KP模型密度函數(shù)辨識方法。
本發(fā)明的步驟是:
A、首先設(shè)定目標函數(shù),從而KP模型的密度函數(shù)辨識過程就是得到目標函數(shù)最小值時,蝙蝠個體所在的位置值;
B、由自適應(yīng)蝙蝠搜索算法隨機產(chǎn)生待辨識參數(shù)對應(yīng)的蝙蝠個體位置;
C、利用位置和速度更新公式進行更新產(chǎn)生新的蝙蝠位置;
D、判斷是否滿足隨機數(shù),若滿足條件從最優(yōu)解集中選一個解,并在最優(yōu)解周圍產(chǎn)生一個局部解;如果不滿足條件便轉(zhuǎn)至下一步;
E、計算每個蝙蝠個體的適應(yīng)度函數(shù)值,并隨機生成一個隨機數(shù)小于脈沖音量,并滿足蝙蝠的位置優(yōu)于蝙蝠群體當前最優(yōu)值,則更新最優(yōu)解,同時減小蝙蝠的脈沖音量,增大蝙蝠的脈沖發(fā)生率;
F、根據(jù)計算的適應(yīng)度值的大小對群體進行排序,同時依據(jù)自適應(yīng)調(diào)節(jié)規(guī)律調(diào)整權(quán)值,從中找出蝙蝠群體中當前最優(yōu)位置;
G、判斷是否滿足最大迭代次數(shù);滿足條件則保存數(shù)據(jù),不滿足執(zhí)行步驟C。
本發(fā)明詳細步驟是:
步驟一:確定KP模型密度函數(shù)辨識的目標函數(shù) :
目標函數(shù)選取為,其中,是壓電陶瓷執(zhí)行器的輸出位移,是KP模型的輸出位移,是采用的數(shù)據(jù)對的個數(shù);
步驟二:利用自適應(yīng)蝙蝠搜索算法進行目標函數(shù)的最小值求取:
a、初始化蝙蝠種群規(guī)模、尋優(yōu)參數(shù)個數(shù)為;每個蝙蝠的初始位置采用隨機均勻分布的方式產(chǎn)生;
b、利用公式(1)、公式(2)及公式(3)對蝙蝠個體的飛行搜索速度和位置進行更新:
(1)
(2)
(3)
其中,蝙蝠的發(fā)射頻率,是一個服從均勻分布的隨機向量;是蝙蝠個體的速度更新慣性權(quán)重系數(shù),表示所有只蝙蝠搜索到的解的全局最優(yōu)位置解;是t時刻蝙蝠的搜索速度;是t時刻蝙蝠所在的位置;
c、判斷是否滿足隨機變量,若滿足條件從最優(yōu)解集中選一個解,并利用公式(4)在選取的最優(yōu)解周圍產(chǎn)生一個局部解;否則轉(zhuǎn)至d步驟,
(4)
其中,是原始選取的最優(yōu)解;是最新產(chǎn)生的局部最優(yōu)解;是一個隨機數(shù);是所有蝙蝠在該步驟中的音量的平均值;
d、計算每個蝙蝠個體的適應(yīng)度函數(shù)值,并隨機生成一個隨機數(shù)小于脈沖音量,并滿足蝙蝠的位置優(yōu)于蝙蝠群體當前最優(yōu)值,則更新最優(yōu)解,同時利用公式(5)減小蝙蝠的脈沖音量,公式(6)增大蝙蝠的脈沖發(fā)生率:
(5)
(6)
其中,和分別是蝙蝠在t+1時刻和t時刻的脈沖音量;和分別是蝙蝠在t+1時刻和初始時刻的脈沖發(fā)生率;和是一個常量;
e、根據(jù)計算的適應(yīng)度值的大小對群體進行排序,同時依據(jù)公式(7)、公式(8)以及公式(9)組成的自適應(yīng)調(diào)節(jié)規(guī)律讓慣性權(quán)重系數(shù)隨著算法的目標函數(shù)的大小進行改變,
(7)
其中,表示所有蝙蝠個體當前適應(yīng)度值的平均值;表示蝙蝠個體的總個數(shù);是蝙蝠個體當前迭代次數(shù)時的適應(yīng)值,
(8)
其中,是最優(yōu)蝙蝠個體的適應(yīng)值,是蝙蝠個體的適應(yīng)度值優(yōu)于的適應(yīng)度值的平均值,是蝙蝠群的早熟收斂程度的評價值,
(9)
其中,是的最小值,是的最大值,是迭代所進行的次數(shù),是最大迭代次數(shù),和是常數(shù);
f、當運行次數(shù)大于時,此時的蝙蝠個體位置便是最佳密度函數(shù)組合,進行保存和可視化。
本發(fā)明將自適應(yīng)思想引入蝙蝠搜索算法,使蝙蝠搜索算法在飛行搜索過程中選擇的密度函數(shù)可以自適應(yīng)的根據(jù)算法進行改變,在算法現(xiàn)有優(yōu)點的基礎(chǔ)上,增強了全局收斂性,強大的自適應(yīng)性能也有效的避免了算法易陷入局部最優(yōu)的不足,從而提高了KP模型的辨識精度。本發(fā)明的本質(zhì)是:將待辨識KP模型的輸出與采用的數(shù)據(jù)輸出的均方差作為目標函數(shù),通過蝙蝠個體的自適應(yīng)搜索飛行,獲取一組最佳的KP模型密度函數(shù)??朔F(xiàn)有的技術(shù)存在的缺陷而采用自適應(yīng)蝙蝠搜索算法辨識出最佳的KP模型的密度函數(shù)組合。
附圖說明
圖1是采用的壓電陶瓷執(zhí)行器的輸入-輸出曲線;
圖2是辨識的密度函數(shù)參數(shù)立體圖;
圖3是KP模型的輸入-輸出遲滯曲線;
圖4是壓電陶瓷執(zhí)行器輸出與KP模型輸出的誤差曲線。
具體實施方式
本發(fā)明的步驟是:
A、首先設(shè)定目標函數(shù) ,從而KP模型的密度函數(shù)辨識過程就是得到目標函數(shù)最小值時,蝙蝠個體所在的位置值;
B、由自適應(yīng)蝙蝠搜索算法隨機產(chǎn)生待辨識參數(shù)對應(yīng)的蝙蝠個體位置;
C、利用位置和速度更新公式進行更新產(chǎn)生新的蝙蝠位置;
D、判斷是否滿足隨機數(shù),若滿足條件從最優(yōu)解集中選一個解,并在最優(yōu)解周圍產(chǎn)生一個局部解;如果不滿足條件便轉(zhuǎn)至下一步;
E、計算每個蝙蝠個體的適應(yīng)度函數(shù)值,并隨機生成一個隨機數(shù)小于脈沖音量,并滿足蝙蝠的位置優(yōu)于蝙蝠群體當前最優(yōu)值,則更新最優(yōu)解,同時減小蝙蝠的脈沖音量,增大蝙蝠的脈沖發(fā)生率;
F、根據(jù)計算的適應(yīng)度值的大小對群體進行排序,同時依據(jù)自適應(yīng)調(diào)節(jié)規(guī)律調(diào)整權(quán)值,從中找出蝙蝠群體中當前最優(yōu)位置;
G、判斷是否滿足最大迭代次數(shù);滿足條件則保存數(shù)據(jù),不滿足執(zhí)行步驟C。
本發(fā)明詳細步驟是:
步驟一:確定KP模型密度函數(shù)辨識的目標函數(shù) :
目標函數(shù)選取為,其中,是壓電陶瓷執(zhí)行器的輸出位移,是KP模型的輸出位移,是采用的數(shù)據(jù)對的個數(shù);目標函數(shù)代表在建立模型的過程中模型輸出位移與實際平臺輸出位移的誤差,其起到評價模型精度的作用。利用自適應(yīng)蝙蝠搜索算法對KP模型的密度函數(shù)辨識實際就是求解最小值的過程。
步驟二:利用自適應(yīng)蝙蝠搜索算法進行目標函數(shù)的最小值求?。簭亩孀R出最佳的密度函數(shù)組合,參照附圖1,算法運行過程詳細如下:
a、初始化蝙蝠種群規(guī)模、尋優(yōu)參數(shù)個數(shù)為;每個蝙蝠的初始位置采用隨機均勻分布的方式產(chǎn)生。
b、利用公式(1)、公式(2)及公式(3)對蝙蝠個體的飛行搜索速度和位置進行更新:
(1)
(2)
(3)
其中,蝙蝠的發(fā)射頻率,用來調(diào)節(jié)蝙蝠飛行搜索速度;是一個服從均勻分布的隨機向量;是蝙蝠個體的速度更新慣性權(quán)重系數(shù),慣性權(quán)重系數(shù)能夠讓蝙蝠保持運動慣性,使其有擴展搜索空間的趨勢,有能力探索新的區(qū)域。當慣性權(quán)重系數(shù)較大時,蝙蝠能夠擴展搜索空間,搜索以前沒有到達的區(qū)域,從而提高蝙蝠搜索算法的全局搜索能力。當慣性權(quán)重系數(shù)較小時,蝙蝠主要是在當前解附近搜索,局部搜索能力較強,收斂速度快;表示所有只蝙蝠搜索到的解的全局最優(yōu)位置解;是t時刻蝙蝠的搜索速度;是t時刻蝙蝠所在的位置。
c、判斷是否滿足隨機變量,若滿足條件從最優(yōu)解集中選一個解,并利用公式(4)在選取的最優(yōu)解周圍產(chǎn)生一個局部解;否則轉(zhuǎn)至d步驟,
(4)
其中,是原始選取的最優(yōu)解;是最新產(chǎn)生的局部最優(yōu)解;是一個隨機數(shù);是所有蝙蝠在該步驟中的音量的平均值;該步驟的目的是為了避免蝙蝠搜索算法陷入局部最優(yōu)。
d、計算每個蝙蝠個體的適應(yīng)度函數(shù)值,并隨機生成一個隨機數(shù)小于脈沖音量,并滿足蝙蝠的位置優(yōu)于蝙蝠群體當前最優(yōu)值,則更新最優(yōu)解,同時利用公式(5)減小蝙蝠的脈沖音量,公式(6)增大蝙蝠的脈沖發(fā)生率:
(5)
(6)
其中,和分別是蝙蝠在t+1時刻和t時刻的脈沖音量;和分別是蝙蝠在t+1時刻和初始時刻的脈沖發(fā)生率;和是一個常量。
e、根據(jù)計算的適應(yīng)度值的大小對群體進行排序,同時依據(jù)公式(7)、公式(8)以及公式(9)組成的自適應(yīng)調(diào)節(jié)規(guī)律讓慣性權(quán)重系數(shù)隨著算法的目標函數(shù)的大小進行改變,從而改善算法的收斂能力,迅速找出蝙蝠群體中當前最優(yōu)位置,
(7)
其中,表示所有蝙蝠個體當前適應(yīng)度值的平均值;表示蝙蝠個體的總個數(shù);是蝙蝠個體當前迭代次數(shù)時的適應(yīng)值,
(8)
其中,是最優(yōu)蝙蝠個體的適應(yīng)值,是蝙蝠個體的適應(yīng)度值優(yōu)于的適應(yīng)度值的平均值,是蝙蝠群的早熟收斂程度的評價值,且值越小代表蝙蝠種群群越趨于早熟收斂,
(9)
其中,是的最小值,是的最大值,是迭代所進行的次數(shù),是最大迭代次數(shù),和是常數(shù)。
f、當運行次數(shù)大于時,此時的蝙蝠個體位置便是最佳密度函數(shù)組合,進行保存和可視化。
實例:
步驟一:首先采用如圖1所示的壓電陶瓷執(zhí)行器的輸入輸出數(shù)據(jù),然后由自適應(yīng)蝙蝠搜索算法隨機的產(chǎn)生待辨識參數(shù)對應(yīng)的蝙蝠個體的初始位置,并確定蝙蝠群體的種群個數(shù)為,待辨識密度函數(shù)個數(shù),脈沖發(fā)射速率,脈沖音量。根據(jù)目標函數(shù),其中,是采用的數(shù)據(jù)個數(shù),求取初始時刻的最佳適應(yīng)度值(即此時目標函數(shù)的最小值)和當前最佳位置。
步驟二:利用公式(1)、公式(2)及公式(3)對蝙蝠個體的飛行搜索速度和位置進行更新,其中蝙蝠的發(fā)射頻率,用來調(diào)節(jié)蝙蝠飛行搜索速度,;是一個服從均勻分布的隨機向量;是蝙蝠個體的速度更新慣性權(quán)重系數(shù),慣性權(quán)重系數(shù)能夠讓蝙蝠保持運動慣性,使其有擴展搜索空間的趨勢,有能力探索新的區(qū)域。當慣性權(quán)重系數(shù)較大時,蝙蝠能夠擴展搜索空間,搜索以前沒有到達的區(qū)域,從而提高蝙蝠搜索算法的全局搜索能力。當慣性權(quán)重系數(shù)較小時,蝙蝠主要是在當前解附近搜索,局部搜索能力較強,收斂速度快;表示所有只蝙蝠搜索到的解的全局最優(yōu)位置解;是t時刻蝙蝠的搜索速度;是t時刻蝙蝠所在的位置。
步驟三:判斷是否滿足隨機變量,若滿足條件從最優(yōu)解集中選一個解,并利用公式(4)在選取的最優(yōu)解周圍產(chǎn)生一個局部解;否則轉(zhuǎn)至步驟四,其中,是之前選取的最優(yōu)解;是最新產(chǎn)生的局部最優(yōu)解;是一個隨機數(shù);是所有蝙蝠在該步驟中的音量的平均值。該步驟的目的是為了避免蝙蝠搜索算法陷入局部最優(yōu)。
步驟四:重新計算每個蝙蝠個體的適應(yīng)度函數(shù)值,并隨機生成一個隨機數(shù)小于脈沖音量,并滿足蝙蝠的位置優(yōu)于蝙蝠群體當前最優(yōu)值,則更新最優(yōu)解,同時利用公式(5)減小蝙蝠的脈沖音量,公式(6)增大蝙蝠的脈沖發(fā)生率。其中,和分別是蝙蝠在t+1時刻和t時刻的脈沖音量;是蝙蝠在t+1時刻的脈沖發(fā)生率;和是一個常量,分別取0.95和0.05。
步驟五:根據(jù)計算的適應(yīng)度值的大小對群體進行排序,同時依據(jù)公式(7)、公式(8)以及公式(9)組成的自適應(yīng)調(diào)節(jié)規(guī)律讓慣性權(quán)重系數(shù)隨著算法的目標函數(shù)的大小進行改變,從而改善算法的收斂能力,迅速找出蝙蝠群體中當前最優(yōu)位置。其中,,,是當前迭代所進行的次數(shù),是最大迭代次數(shù),和分別取0.8和1.1。
步驟六:當運行次數(shù)大于時,此時的目標函數(shù)最小值所對應(yīng)的蝙蝠個體位置便是最佳密度函數(shù)組合,進行數(shù)據(jù)保存。
將辨識出的密度函數(shù)值保存并將其繪制成三維立體圖如圖2所示;將辨識出的密度函數(shù)帶入KP模型中結(jié)果如圖3所示,KP模型的輸出基本與采用的輸出數(shù)據(jù)保持一致。壓電陶瓷執(zhí)行器輸出與KP模型輸出的誤差曲線如圖3所示,由此可以得出辨識的最大誤差為0.3649μm;相對誤差率為0.53%。