本發(fā)明屬于醫(yī)用傳感器領(lǐng)域,涉及醫(yī)用壓力導(dǎo)絲的超微型壓力傳感器溫度補(bǔ)償技術(shù),尤其涉及一種利用粒子群優(yōu)化神經(jīng)網(wǎng)絡(luò)的壓力導(dǎo)絲溫度補(bǔ)償方法。
背景技術(shù):
近年來,血流儲備分?jǐn)?shù)(FFR)成為診斷人體冠狀動脈狹窄的“金標(biāo)準(zhǔn)”。壓力導(dǎo)絲作為FFR測量的核心元件,其測量精度的高低直接影響FFR測量結(jié)果。壓力導(dǎo)絲從人體下肢動脈或腰部動脈進(jìn)入人體血管,配合血管照影技術(shù)引導(dǎo)到達(dá)冠狀動脈狹窄部位,通過壓力導(dǎo)絲遠(yuǎn)端的超微型壓力傳感器測得狹窄處兩端的血壓值,進(jìn)而計算得到FFR值。但由于超微型壓力傳感器本身尺寸極小,受傳感器制造工藝影響,本身存在非線性問題,且受外環(huán)境溫度影響嚴(yán)重。超微型壓力傳感器的非線性及溫度漂移直接影響FFR測量精度。因此,必須提高超微型壓力傳感器的制造工藝,減小壓力導(dǎo)絲的非線性及溫度誤差,這也是造成國內(nèi)自主壓力導(dǎo)絲生產(chǎn)領(lǐng)域空白的主要原因。
針對壓力傳感器非線性及溫度補(bǔ)償問題,主要有硬件補(bǔ)償和軟件補(bǔ)償兩種解決方法。目前臨床上正在使用的FFR測量系統(tǒng)主要是由美國的St . Jude 和Volcano兩家公司生產(chǎn)的,且這兩家公司對于壓力導(dǎo)絲的溫度及非線性問題主要是通過硬件方法進(jìn)行補(bǔ)償。其中St . Jude公司主要以PGA309為核心構(gòu)成信號補(bǔ)償電路,而Volcano公司則以復(fù)雜的分立電路模塊共同完成信號補(bǔ)償。但硬件補(bǔ)償方法可能受到電子元器件本身非線性及溫度漂移等問題影響,導(dǎo)致整個測量系統(tǒng)可靠性差級精度不高,并且目前適用于壓力導(dǎo)絲信號調(diào)理的芯片價格較昂貴。所以希望有軟件算法實現(xiàn)壓力傳感器的非線性及溫度補(bǔ)償,但目前對于壓力傳感器進(jìn)行溫度及非線性補(bǔ)償?shù)能浖惴ㄖ饕幸訠P神經(jīng)網(wǎng)絡(luò)為主的人工智能算法。BP神經(jīng)網(wǎng)絡(luò)算法通過學(xué)習(xí)可以任意逼近非線性映射模型,有效地提高補(bǔ)償精度,但標(biāo)準(zhǔn)的BP神經(jīng)網(wǎng)絡(luò)存在易陷入局部最優(yōu)、收斂速度慢和穩(wěn)定性差等缺點(diǎn)。
粒子群算法(Particle Swarm Optimization,PSO),是一種基于迭代的模擬鳥類等動物活動的智能算法。PSO算法通過群體中個體間的合作尋找最優(yōu)解,具有全局尋優(yōu)的能力。但標(biāo)準(zhǔn)的PSO算法粒子以較大的速度更新公式更新每個粒子的位置,可能跳過最優(yōu)解的位置,從而無法搜索到全局最優(yōu)解。
技術(shù)實現(xiàn)要素:
本發(fā)明解決了現(xiàn)有軟件補(bǔ)償算法的缺點(diǎn):提供一種改進(jìn)粒子群優(yōu)化神經(jīng)網(wǎng)絡(luò)的壓力導(dǎo)絲溫度補(bǔ)償方法,通過實時調(diào)整粒子的慣性權(quán)重平衡粒子群算法的全局尋優(yōu)和局部尋優(yōu)的能力,提高BP神經(jīng)網(wǎng)絡(luò)的全局尋優(yōu)能力、穩(wěn)定性及泛化能力,最終達(dá)到提高壓力導(dǎo)絲非線性補(bǔ)償精度的目的。
為解決上述技術(shù)問題,本發(fā)明采用以下技術(shù)方案:
一種改進(jìn)粒子群優(yōu)化神經(jīng)網(wǎng)絡(luò)的壓力導(dǎo)絲溫度補(bǔ)償方法,其特征是:包括以下步驟:
(1)采集壓力導(dǎo)絲輸出電壓以及所處環(huán)境相關(guān)參數(shù),主要包括壓力導(dǎo)絲所處環(huán)境的溫度值,壓力值以及與其相對應(yīng)的壓力導(dǎo)絲輸出的電壓值,并對其盡心歸一化處理;
(2)構(gòu)建一個具有誤差反向傳播能力的三層前反饋神經(jīng)網(wǎng)絡(luò)(BP神經(jīng)網(wǎng)絡(luò))模型,并設(shè)置其輸入、輸出層及隱含層的神經(jīng)元個數(shù),各層傳遞函數(shù)以及網(wǎng)絡(luò)訓(xùn)練參數(shù)等;
(3)利用改進(jìn)的粒子群算法優(yōu)化構(gòu)建的神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值;
a.初始化構(gòu)建粒子群算法,設(shè)置粒子群算法參數(shù),包括:粒子數(shù)、粒子群維度、粒子初始位置及初始速度、迭代次數(shù)、慣性權(quán)重ω以及學(xué)習(xí)因子 、;
b.針對每個粒子計算適應(yīng)度值 ,記錄每個粒子的歷史最優(yōu)適應(yīng)度值時粒子位置 以及粒子群所有粒子中的歷史最優(yōu)適應(yīng)度值時粒子位置 ;
c.判斷粒子適應(yīng)度是否達(dá)到要求或迭代次數(shù)是否達(dá)到最大,若達(dá)到,進(jìn)行步驟(4),若未達(dá)到,繼續(xù)步驟d;
d.按照以下速度和位置公式更新所有粒子的位置和速度:
其中為慣性權(quán)重,為第i個粒子第t次迭代后的速度,為第i個粒子第t+1次迭代后的速度,為第i個粒子的歷史最優(yōu)位置,為整個粒子群歷史最優(yōu)位置,、為學(xué)習(xí)因子,第i個粒子的當(dāng)前位置,為隨機(jī)數(shù)、 第i個粒子第t次迭代后的位置,為第i個粒子第t+1次迭代后的位置;
重新返回步驟b;
(4)對優(yōu)化后權(quán)值和閾值的神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,將粒子群算法優(yōu)化后的權(quán)值和閾值賦給BP神經(jīng)網(wǎng)絡(luò),并判斷是否達(dá)到神經(jīng)網(wǎng)絡(luò)訓(xùn)練要求,若達(dá)到,直接進(jìn)行步驟(5),若未達(dá)到,使用神經(jīng)網(wǎng)絡(luò)訓(xùn)練函數(shù)對各層權(quán)值和閾值進(jìn)行二次優(yōu)化,達(dá)到訓(xùn)練要求后進(jìn)行步驟(5);
(5)利用訓(xùn)練得到的神經(jīng)網(wǎng)絡(luò)模型對壓力導(dǎo)絲測量數(shù)據(jù)進(jìn)行溫度補(bǔ)償,將壓力導(dǎo)絲輸出的電壓值和環(huán)境溫度值作為神經(jīng)網(wǎng)絡(luò)的輸入,訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)輸出補(bǔ)償后的環(huán)境壓力值。
2.根據(jù)權(quán)利要求1所述的一種改進(jìn)粒子群優(yōu)化神經(jīng)網(wǎng)絡(luò)的壓力導(dǎo)絲溫度補(bǔ)償方法,其特征是:所述步驟(1)中對數(shù)據(jù)進(jìn)行歸一化處理是將壓力導(dǎo)絲測得的電壓值、外界溫度值和壓力值分別映射到[m,n]范圍內(nèi)。
3. 根據(jù)權(quán)利要求1所述的一種改進(jìn)粒子群優(yōu)化神經(jīng)網(wǎng)絡(luò)的壓力導(dǎo)絲溫度補(bǔ)償方法,其特征是:所述步驟(2)中構(gòu)建的BP神經(jīng)網(wǎng)絡(luò)輸入層神經(jīng)元個數(shù)為a、隱含層神經(jīng)元個數(shù)為b、輸出層神經(jīng)元個數(shù)為c,隱含層傳遞函數(shù)為S型函數(shù)、輸出層傳遞函數(shù)為線性函數(shù),迭代次數(shù)為Tmax次,均方誤差為ε,訓(xùn)練方法根據(jù)需要選取算法。
4. 根據(jù)權(quán)利要求1所述的一種利用改進(jìn)粒子群優(yōu)化神經(jīng)網(wǎng)絡(luò)算法的壓力導(dǎo)絲溫度補(bǔ)償方法,其特征是:所述步驟(3)中每個粒子都包含BP神經(jīng)網(wǎng)絡(luò)的所有權(quán)值和閾值,粒子數(shù)取q,q的范圍可在[20,100]內(nèi),維度為,粒子初始位置及初始速度取隨機(jī)值,迭代次數(shù)取,慣性權(quán)重ω和學(xué)習(xí)因子、按如下公式取得:
其中,、為慣性權(quán)值的最大值、最小值,為當(dāng)前迭代次數(shù),為粒子群算法最大迭代次數(shù),τ和控制ω更新函數(shù)的下凹程度,控制學(xué)習(xí)因子的取值范圍。
粒子適應(yīng)度值為當(dāng)前粒子的權(quán)值和閾值帶入神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò)輸出值與實際值間的均方誤差,適應(yīng)度最優(yōu)即為均方誤差最?。?/p>
其中,為訓(xùn)練樣本個數(shù),為神經(jīng)網(wǎng)絡(luò)預(yù)測輸出值,實際外界壓力值。
5.根據(jù)權(quán)利要求1所述的一種改進(jìn)粒子群優(yōu)化神經(jīng)網(wǎng)絡(luò)的壓力導(dǎo)絲溫度補(bǔ)償方法,其特征是:所述步驟(4)中神經(jīng)網(wǎng)絡(luò)訓(xùn)練要求是構(gòu)建神經(jīng)網(wǎng)絡(luò)時設(shè)置的誤差精度要求,即為當(dāng)前網(wǎng)絡(luò)的權(quán)值和閾值預(yù)測出的輸出值與實際值間的均方誤差是否滿足神經(jīng)網(wǎng)絡(luò)的設(shè)置要求,若未達(dá)到,使用神經(jīng)網(wǎng)絡(luò)訓(xùn)練函數(shù)更新權(quán)值和閾值,直到達(dá)到誤差精度要求或達(dá)到最大迭代次數(shù)后停止訓(xùn)練。
6.根據(jù)權(quán)利要求1所述的一種改進(jìn)粒子群優(yōu)化神經(jīng)網(wǎng)絡(luò)的壓力導(dǎo)絲溫度補(bǔ)償方法,其特征是:所述步驟(5)中訓(xùn)練結(jié)束得到的神經(jīng)網(wǎng)絡(luò)構(gòu)成了壓力導(dǎo)絲的逆模型,完成壓力導(dǎo)絲的溫度補(bǔ)償。
7.根據(jù)權(quán)利要求2所述的一種改進(jìn)粒子群優(yōu)化神經(jīng)網(wǎng)絡(luò)的壓力導(dǎo)絲溫度補(bǔ)償方法,其特征是:對數(shù)據(jù)進(jìn)行歸一化處理映射到[m,n]范圍內(nèi)是由神經(jīng)網(wǎng)絡(luò)隱含層傳遞函數(shù)選取決定。
8.根據(jù)權(quán)利要求3所述的一種改進(jìn)粒子群優(yōu)化神經(jīng)網(wǎng)絡(luò)的壓力導(dǎo)絲溫度補(bǔ)償方法,其特征是:神經(jīng)網(wǎng)絡(luò)輸入層神經(jīng)元個數(shù)由擬合模型輸入決定;對于隱含層神經(jīng)元個數(shù)確定,一方面可通過經(jīng)驗公式,,其中分別對應(yīng)輸入層、輸出層神經(jīng)元個數(shù),在[1,10]范圍內(nèi)取值,另一方面可以根據(jù)擬合模型的具體精度要求通過個數(shù)試驗確定;輸出層神經(jīng)元個數(shù)由擬合模型的輸出決定。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn):
A.與標(biāo)準(zhǔn)BP神經(jīng)網(wǎng)絡(luò)算法進(jìn)行溫度補(bǔ)償相比,本發(fā)明在增加了迭代次數(shù)的前提下,有效避免了陷入局部最優(yōu)的問題;
B.與使用標(biāo)準(zhǔn)PSO算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)進(jìn)行溫度補(bǔ)償相比,本發(fā)明有效避免了跳過全局最優(yōu)的問題;
C.本發(fā)明有效提高了現(xiàn)有軟件補(bǔ)償算法的泛化能力,且可重復(fù)性明顯提高。
附圖
圖1:壓力導(dǎo)絲溫度補(bǔ)償原理
圖2:三層神經(jīng)網(wǎng)絡(luò)模型
圖3:改進(jìn)PSO-BP神經(jīng)網(wǎng)絡(luò)算法流程圖
圖4:壓力導(dǎo)絲溫度及非線性誤差
圖5:BP神經(jīng)網(wǎng)絡(luò)算法補(bǔ)償效果圖
圖6:標(biāo)準(zhǔn)PSO-BP神經(jīng)網(wǎng)絡(luò)算法補(bǔ)償效果圖
圖7:改進(jìn)PSO-BP神經(jīng)網(wǎng)絡(luò)算法補(bǔ)償效果圖
具體實施方式
本發(fā)明提供一種改進(jìn)粒子群優(yōu)化神經(jīng)網(wǎng)絡(luò)的壓力導(dǎo)絲溫度補(bǔ)償方法,通過動態(tài)調(diào)整粒子的慣性權(quán)重平衡粒子群算法的全局尋優(yōu)和局部尋優(yōu)的能力,提高BP神經(jīng)網(wǎng)絡(luò)的全局尋優(yōu)能力、穩(wěn)定性及泛化能力,最終達(dá)到提高壓力導(dǎo)絲非線性補(bǔ)償精度的目的。
具體實施步驟如下:
(1)采集壓力導(dǎo)絲輸出電壓以及所處環(huán)境相關(guān)參數(shù),溫度點(diǎn)選取從36℃到40.5℃范圍內(nèi)間隔0.5℃的10個溫度點(diǎn),壓力值為0到300mmHg范圍內(nèi)間隔5mmHg的61個壓力點(diǎn),以及壓力導(dǎo)絲在對應(yīng)環(huán)境下的輸出的610個電壓值如下表一所列,組成共計610組測量樣本,并對樣本數(shù)據(jù)分別歸一化到[-1,1]范圍內(nèi);
(2)構(gòu)建的BP神經(jīng)網(wǎng)絡(luò)輸入層為2個神經(jīng)元、隱含層為30個神經(jīng)元、輸出層為1個神經(jīng)元,隱含層傳遞函數(shù)為雙曲正切S型“tansig”函數(shù)、輸出層傳遞函數(shù)為線性“pureline”函數(shù),迭代次數(shù)為10000次,均方誤差為8×10-6,訓(xùn)練方法為Levenberg-Marquard算法。其中神經(jīng)網(wǎng)絡(luò)輸入層為2個神經(jīng)元,分別對應(yīng)壓力導(dǎo)絲輸出的電壓值和外界環(huán)境溫度;隱含層為30個神經(jīng)元,是通過隱含層神經(jīng)元個數(shù)試驗,能夠滿足精度誤差要求為1×10-5的最少神經(jīng)元個數(shù);輸出層為1個神經(jīng)元,對應(yīng)壓力導(dǎo)絲所處外界環(huán)境壓力值;
(3)利用改進(jìn)的粒子群算法優(yōu)化構(gòu)建的神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值;
a.初始化構(gòu)建粒子群算法,每個粒子都包含BP神經(jīng)網(wǎng)絡(luò)的所有權(quán)值和閾值,粒子數(shù)取50,維度為2×30+30+30×1+1=121,粒子初始位置及初始速度取隨機(jī)值,迭代次數(shù)取200,慣性權(quán)重ω以及學(xué)習(xí)因子、按如下公式取得:
其中、為慣性權(quán)值的最大值、最小值分別取0.95、0.4,為當(dāng)前迭代次數(shù),為粒子群算法最大迭代次數(shù)取200;
b.針對每個粒子計算適應(yīng)度值 ,記錄每個粒子的歷史最優(yōu)適應(yīng)度值時粒子位置 以及粒子群所有粒子中的歷史最優(yōu)適應(yīng)度值時粒子位置 。粒子適應(yīng)度值為當(dāng)前粒子的權(quán)值和閾值帶入神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò)輸出值與實際值間的均方誤差,適應(yīng)度最優(yōu)即為均方誤差最?。?/p>
其中,為訓(xùn)練樣本個數(shù)610,為神經(jīng)網(wǎng)絡(luò)預(yù)測輸出值,實際外界壓力值;
c.判斷粒子適應(yīng)度是否達(dá)到要求8×10-6或迭代次數(shù)是否達(dá)到200次,若達(dá)到,進(jìn)行步驟(4),若未達(dá)到,繼續(xù)步驟d;
d.按照以下速度和位置公式更新所有粒子的位置和速度:
重新返回步驟b;
(4)對優(yōu)化后權(quán)值和閾值的神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,將粒子群算法優(yōu)化后的權(quán)值和閾值賦給BP神經(jīng)網(wǎng)絡(luò),并判斷是否達(dá)到神經(jīng)網(wǎng)絡(luò)訓(xùn)練要求,若達(dá)到,直接進(jìn)行步驟(5),若未達(dá)到,使用神經(jīng)網(wǎng)絡(luò)訓(xùn)練函數(shù)Levenberg-Marquard函數(shù)對各層權(quán)值和閾值進(jìn)行二次優(yōu)化,達(dá)到訓(xùn)練要求后進(jìn)行步驟(5);
(5)利用訓(xùn)練得到的神經(jīng)網(wǎng)絡(luò)模型對壓力導(dǎo)絲測量數(shù)據(jù)進(jìn)行溫度補(bǔ)償,將壓力導(dǎo)絲輸出的電壓值和環(huán)境溫度值作為神經(jīng)網(wǎng)絡(luò)的輸入,訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)輸出補(bǔ)償后的環(huán)境壓力值。
圖4為壓力導(dǎo)絲的溫度及非線性誤差圖,圖5、圖6、圖7分別優(yōu)化前的BP神經(jīng)網(wǎng)絡(luò)和標(biāo)準(zhǔn)PSO-BP神經(jīng)網(wǎng)絡(luò)算法與優(yōu)化后的改進(jìn)PSO-BP神經(jīng)網(wǎng)絡(luò)算法補(bǔ)償效果對比圖。由圖可鑒,改進(jìn)后的PSO-BP神經(jīng)網(wǎng)絡(luò)算法能夠明顯改善BP神經(jīng)網(wǎng)絡(luò)的補(bǔ)償效果。
上面已結(jié)合具體實施步驟說明了本發(fā)明,然而對于本領(lǐng)域的技術(shù)人員來說,可以在不背離本發(fā)明的精神和范圍的前提下,對本發(fā)明做出不同的改進(jìn)和變型。因而落入本發(fā)明的權(quán)利和要求范圍內(nèi)的各種改進(jìn)和變型,都應(yīng)屬于本發(fā)明的保護(hù)范圍之內(nèi)。
表 1:610組樣本數(shù)據(jù)。