范廣坡 余學飛 盧廣文 林良卓 周地福
(南方醫(yī)科大學生物醫(yī)學工程學院,廣東 廣州 510515)
改進PSO-BP算法的壓力導絲溫度及非線性補償研究
范廣坡余學飛盧廣文林良卓周地福
(南方醫(yī)科大學生物醫(yī)學工程學院,廣東 廣州510515)
摘要:測量冠狀動脈血管血流儲備分數(shù)的壓力導絲中的超微型壓力傳感器,具有嚴重的溫度以及非線性漂移問題,且目前只有硬件方法進行補償。針對硬件補償方法存在的補償精度不高及成本昂貴等問題,提出一種改進粒子群優(yōu)化的BP神經(jīng)網(wǎng)絡算法,對壓力導絲進行溫度和非線性軟件補償。Matlab仿真結果表明,改進PSO-BP神經(jīng)網(wǎng)絡與現(xiàn)有標準PSO-BP算法、BP神經(jīng)網(wǎng)絡等軟件以及硬件補償方法相比,具有成本低、穩(wěn)定性高、不易陷入局部最優(yōu)、泛化能力強等優(yōu)點。
關鍵詞:壓力導絲壓力傳感器溫度非線性補償非線性漂移粒子群算法(PSO)BP神經(jīng)網(wǎng)絡Matlab
0引言
近年來,血流儲備分數(shù)(fractional flow reserve,F(xiàn)FR)成為評價人體冠狀動脈狹窄性病變是否需要介入治療的“金標準”。Pijls等人將FFR定義為:當狹窄存在時,冠狀動脈可獲得的最大血流量與正常最大血流量的比值[1-2]。但壓力導絲作為FFR測量的核心元件,其遠端超微型壓力傳感器受環(huán)境溫度以及本身制作工藝的影響,引入溫度及非線性誤差對FFR測量影響嚴重。
目前,壓力導絲溫度及非線性補償主要有硬件和軟件兩種方法。本課題組前期進行了硬件方法的補償研究[3],發(fā)現(xiàn)硬件補償與軟件補償,都存在補償精度不高且成本昂貴等問題。因此,本文提出一種改進的粒子群算法(particle swarm optimization,PSO)優(yōu)化(back-propagation,BP)神經(jīng)網(wǎng)絡。使用該算法優(yōu)化神經(jīng)網(wǎng)絡的權值和閾值,能有效避免BP神經(jīng)網(wǎng)絡易陷入局部最優(yōu)的問題,提高軟件方法的補償精度、泛化能力和穩(wěn)定性。
1軟件算法補償原理
軟件算法對壓力導絲溫度及非線性漂移進行補償?shù)膶嵸|,是利用標定的環(huán)境壓力點、溫度點以及在相應環(huán)境下壓力導絲輸出的電壓值構成樣本數(shù)據(jù),通過軟件算法擬合出壓力導絲測量逆模型,以達到補償?shù)哪康摹?/p>
溫度及非線性補償原理如圖1所示。
圖1 溫度及非線性補償原理圖
由圖1可以看出,環(huán)境壓力p和環(huán)境溫度t經(jīng)過壓力導絲測量模型和改進PSO-BP算法構建壓力導絲測量逆模型后,消除環(huán)境溫度因素以及壓力導絲本身非線性因素的影響,進而達到溫度及非線性補償?shù)哪康摹?/p>
2改進PSO-BP神經(jīng)網(wǎng)絡算法
2.1BP神經(jīng)網(wǎng)絡算法
BP神經(jīng)網(wǎng)絡算法是一種帶有誤差反向傳播的多層網(wǎng)絡人工智能算法,具有獨特的非線性映射能力和很強的環(huán)境適應能力,目前應用領域非常廣泛[4-5]。軟件算法對壓力導絲的溫度和非線性誤差補償屬于非線性系統(tǒng)的擬合過程?,F(xiàn)已證明:利用BP神經(jīng)網(wǎng)絡,只要神經(jīng)元傳遞函數(shù)合適,收斂步數(shù)足夠多,即可以任意精度逼近一個非線性系統(tǒng)[6]。
BP神經(jīng)網(wǎng)絡訓練學習過程的實質,是根據(jù)樣本實際輸出與網(wǎng)絡擬合輸出之間的誤差,利用最小梯度法,不斷調整神經(jīng)網(wǎng)絡的權值和閾值等參數(shù),直到訓練次數(shù)達到最大值或誤差達到要求精度,則結束訓練,即找到全局最優(yōu)解。因此,利用BP神經(jīng)網(wǎng)絡對非線性系統(tǒng)擬合時,若非線性系統(tǒng)除了目標極值點外,還有多個其他極值點,訓練隨機產(chǎn)生不同的初始位置就會得到不同的極小值,即無法找到全局最優(yōu)解而陷入局部最優(yōu)。
2.2標準PSO算法優(yōu)化BP神經(jīng)網(wǎng)絡
PSO算法是一種基于迭代原理的模擬鳥類等動物覓食活動的智能算法,具有實現(xiàn)簡單、全局搜索能力強且性能優(yōu)越等特點。該算法通過群體中個體間的合作尋找最優(yōu)解[7],尋優(yōu)過程實質上是對算法優(yōu)化BP神經(jīng)網(wǎng)絡進行壓力導絲非線性補償,步驟如下。
步驟1:采集壓力導絲輸出電壓以及所處環(huán)境相關參數(shù)并進行歸一化。
步驟2:構建BP神經(jīng)網(wǎng)絡模型,設置網(wǎng)絡參數(shù)。
步驟3:利用PSO算法優(yōu)化神經(jīng)網(wǎng)絡的權值和閾值。
①初始化構建粒子群算法,并設置粒子群相關參數(shù)。
②計算每個粒子適應度值,并記錄每個粒子在歷史最優(yōu)適應度值時的粒子位置pibest,以及粒子群所有粒子在歷史最優(yōu)適應度值時的粒子位置gbest。
③判斷最優(yōu)適應度是否達到要求或迭代次數(shù)是否達到最大:若達到,進行步驟④;若未達到,繼續(xù)步驟④。
④按照以下速度公式(1)和位置公式(2),更新所有粒子的速度和位置:
(1)
(2)
⑤重新返回步驟②。
步驟4:將優(yōu)化過的權值和閾值賦給神經(jīng)網(wǎng)絡,并判斷是否達到神經(jīng)網(wǎng)絡訓練要求。若達到,直接進行步驟5;若未達到,對神經(jīng)網(wǎng)絡進行二次優(yōu)化,達到訓練要求后進行步驟⑤。
步驟5:結束BP神經(jīng)網(wǎng)絡訓練,完成對非線性系統(tǒng)的擬合過程。
然而,在PSO算法的粒子尋優(yōu)過程中,粒子運動的速度更新公式會直接影響尋優(yōu)結果。一般而言,較大的運動速度可以增強PSO算法的全局搜索能力而不至于陷入局部最優(yōu),較小的運動速度也可以增強PSO算法的局部搜索能力而不至于跳過最優(yōu)解。因此,如何平衡PSO算法的全局和局部搜索能力成為PSO算法改進的核心問題。
2.3改進PSO-BP算法
到目前為止,對PSO算法的改進研究已有很多,并且主要集中在對PSO算法的全局和局部搜索能力的平衡上[8-12]。為了進一步提高PSO算法的全局搜索能力,避免陷入局部最優(yōu)且不錯過全局最優(yōu),本文一方面綜合考慮PSO算法中的粒子適應度以及迭代次數(shù)兩方面因素,對慣性權重變化進行改進;另一方面對速度更新公式中的rand()項提出增加限值系數(shù)的改進方法。
①慣性權重按照下凹函數(shù)規(guī)律從大到小對數(shù)變化[13-15]的同時,綜合考慮粒子適應度以及迭代次數(shù)兩方面因素,達到提高PSO算法搜索能力的目的。慣性權重改進公式為:
ω=ωmax+(ωmin-ωmax)×
(3)
式中:ωmax、ωmin分別為慣性權重的最大值、最小值;t為PSO算法當前迭代次數(shù);tmax為最大迭代次數(shù);k控制下凹程度;fitgoal為目標適應度,fit(i)為當前粒子的適應度。
根據(jù)迭代次數(shù)和適應度動態(tài)改變慣性權重ω,在保證PSO算法前期的全局搜索能力、提高后期局部搜索能力的同時,綜合考慮適應度,即離目標位置距離遠時增強全局搜索能力、離目標位置距離近時增強局部搜索能力,從而提高了PSO算法的性能。
②首次將對粒子速度更新公式中的隨機項rand()添加限制條件的改進方案應用于非線性系統(tǒng)擬合中,當rand()隨機產(chǎn)生的系數(shù)超出限值系數(shù)a時,重新產(chǎn)生一個新的rand()系數(shù)。此改進可以在一定程度上限制粒子朝當前最優(yōu)位置靠近的速度過快,在避免粒子群出現(xiàn)早熟現(xiàn)象的同時,提高粒子群的收斂速度和尋優(yōu)能力。
③仿真測試。本試驗數(shù)據(jù)來自南方醫(yī)科大學醫(yī)工系實驗室。所選壓力導絲為St.Jude公司的FFR測量導絲,在數(shù)字氣壓計和恒溫箱標定的氣壓和溫度下測得試驗數(shù)據(jù)。試驗仿真樣本數(shù)據(jù)如表1所示。溫度范圍根據(jù)人體血液情況控制為36~40.5 ℃之間,壓力范圍根據(jù)人體血壓范圍控制在0~300mmHg之間。測試數(shù)據(jù)是在采集樣本數(shù)據(jù)的同時,隨機記錄的非樣本溫度和壓力點處壓力導絲的輸出。
表1 部分仿真樣本數(shù)據(jù)
壓力導絲溫度及非線性誤差如圖2所示。為了驗證本文提出的改進方案的補償效果,使用BP神經(jīng)網(wǎng)絡和未改進的PSO-BP算法作對比,通過Matlab仿真軟件,利用樣本數(shù)據(jù)對壓力導絲測量逆模型進行擬合,比較補償結果。
圖2 溫度和非線性誤差關系圖
隱含層神經(jīng)元個數(shù)與補償精度關系如圖3所示,滿足精度要求8×10-6的最少個數(shù)為30。
圖3 隱含層神經(jīng)元個數(shù)與補償精度關系圖
根據(jù)前面所述的步驟,對算法參數(shù)進行設定,完成壓力導絲的溫度和非線性補償,具體參數(shù)設置如下。BP神經(jīng)網(wǎng)絡參數(shù):神經(jīng)元層數(shù)為3層,輸入層神經(jīng)元個數(shù)為2,隱含層神經(jīng)元個數(shù)根據(jù)圖3結果確定為30,輸出層神經(jīng)元個數(shù)為1,迭代次數(shù)為3 000,精度要求為8×10-6,隱含層傳遞函數(shù)為“tansig”,輸出層為“pureline”,網(wǎng)絡訓練函數(shù)為“trainlm”。PSO算法:粒子群種群大小為40,迭代次數(shù)為60;慣性權重按照不同的補償算法設定,ωmax取0.95,ωmin取0.4[13]。
限制系數(shù)a取0.2、0.4、0.6、0.8、0.9、1,對粒子群適應度影響如圖4所示。當a取0.8時,粒子群尋優(yōu)能力最好。
圖4 限制系數(shù)a對粒子群適應度的影響圖
為了驗證改進PSO-BP算法的補償效果,對樣本數(shù)據(jù)分別使用BP神經(jīng)網(wǎng)絡、標準PSO-BP算法和改進PSO-BP算法,進行50次擬合訓練,確定了以全局最優(yōu)解的次數(shù)、平均均方誤差、最大均方誤差和最小均方誤差為評判標準。樣本數(shù)據(jù)的補償結果如圖5所示。仿真測試數(shù)據(jù)如表2所示。利用表2測試數(shù)據(jù),驗證每次訓練擬合出來的非線性系統(tǒng)模型的泛化能力,仿真結果如表3和表4所示。
圖5 改進PSO-BP算法補償效果圖
壓力/mmHg溫度/℃電壓值/V壓力/mmHg溫度/℃電壓值/V5536.91.77411339.62.8516837.21.89212938.82.7407537.52.03313137.72.3558938.02.22915037.92.5139538.22.31018840.23.46910038.52.45222339.83.459
表3 樣本數(shù)據(jù)補償結果
表4 測試數(shù)據(jù)補償結果
為了驗證改進PSO-BP算法的泛化能力,用測試數(shù)據(jù)的滿量程誤差(fullscaleoffset,F(xiàn)SO)來衡量算法預測值與實際壓力值之間的偏差,這也直接反映了改進算法擬合非線性系統(tǒng)的泛化能力。仿真結果如圖6所示,改進PSO-BP算法擬合出來的結果偏離實際壓力值的程度明顯低于其他兩種算法。FSO定義公式為:
FSO=(Pp-Pt)/(Pmax-Pmin)×100%
(4)
式中:Pp為算法預測壓力值;Pt為實際壓力值;Pmax為測量范圍的最大壓力值;Pmin為測量范圍的最小壓力值。
圖6 測試數(shù)據(jù)補償效果對比圖
3結束語
根據(jù)仿真測試結果,對比圖2和圖5可以看出,改進PSO-BP算法有效補償了FFR壓力導絲的溫度和非線性誤差。同時此改進算法也有效地解決了BP神經(jīng)網(wǎng)絡算法和標準的PSO-BP算法存在的容易陷入局部最優(yōu)或無法找到全局最優(yōu)解、穩(wěn)定性和可靠性有待提高等問題。從表3樣本數(shù)據(jù)補償結果可以看出,改進PSO-BP算法明顯提高了軟件算法的補償精度、穩(wěn)定性以及可靠性。從表4和圖6可以明顯看出,改進PSO-BP算法的泛化能力與其他算法相比,也得到了一定程度的提升。綜上所述,本文提出的改進PSO-BP算法具有結構簡單、參數(shù)少、補償精度高、穩(wěn)定性好以及泛化能力強等優(yōu)點,在本項目后續(xù)低成本、高精度、高穩(wěn)定性的FFR測量系統(tǒng)中的壓力導絲測量信號溫度和非線性補償上具有很高的應用價值。
參考文獻
[1] 王林林,黃進.血流儲備分數(shù)在冠狀動脈介入策略選擇中的應用價值[J].心血管病學進展,2010,31(4):521-524.
[2] PIJLS N H J, FEARON W F, TONINO P A L, et al. Fractional flow reserve versus angiography for guiding percutaneous coronary intervention in patients with multivessel coronary artery disease:
2-year follow-up of the FAME (Fractional Flow Reserve Versus Angiography for Multivessel Evaluation) study[J]. Journal of the American College of Cardiology, 2010, 56(3): 177-184.
[3] 余學飛,梁維樂.基于Android的無線血流儲備分數(shù)實時測量系統(tǒng)設計[J].河南理工大學學報(自然科學版),2014,33(2):202-209.
[4] 王正宏,馬以武,陳建群.基于BP網(wǎng)絡的厚膜壓力傳感器非線性校正[J].傳感器與微系統(tǒng),2007,26(2):82-84.
[5] 崔棟,劉敏敏,張光玉.BP神經(jīng)網(wǎng)絡在眼底造影圖像分割中的應用[J].中國醫(yī)學物理學雜志,2011,28(1):2395-2398
[6] 趙輝, 王秀峰.LM算法在傳感器數(shù)據(jù)融合中的應用[J].傳感器技術, 2005, 24(5) : 77- 79.
[7] 孫艷梅.基于PSO的BP神經(jīng)網(wǎng)絡在壓力傳感器溫度補償中的應用[J].傳感器技術學報,2014,27(3):342-346.
[8] GENG H, HUANG Y, GAO J,et al.A self-guided particle swarm optimization with independent dynamic inertia weights setting on each particle[J]. Applied Mathematics and Information Science, 2013,7(2), 545-552.
[9] REZAEE J.Enhanced leader PSO (ELPSO): A new PSO variant for solving global optimization problems[J].Applied Soft Computing,2015,26(26):401-417.
[10]孟飛,蘭巨龍,胡宇翔.基于改進的量子粒子群優(yōu)化小波神經(jīng)網(wǎng)絡的網(wǎng)絡流量預測[J].計算機應用研究,2014,32(5):1450-1453.
[11]宋明智,楊樂.基于改進自適應PSO算法的WSN覆蓋優(yōu)化方法[J].計算機應用研究,2013,30(11):3472-3475.
[12]郭曉燕,郭民,韓紅桂.基于改進型PSO-BP神經(jīng)網(wǎng)絡的SVI軟測量[J].控制工程,2014,21(6):873-877.
[13]陳貴敏,賈建援,韓琪.粒子群優(yōu)化算法的慣性權值遞減策略研究[J].西安交通大學學報,2006,40(1):53-56.
[14]LIAO C C,ZHAO X L.Blade layers optimization of wind turbines using FAST and improved PSO Algorithm.Renewable Energy,2012,4(2):227-233.
[15]LING S H,LU H H,LEUNG F,et al.Improved hybrid particle swarm optimized wavelet neural network for modeling the development of fluid dispensing for electronic packaging[J] .IEEE Transactions on Industrial Electronics,2008,66(9):344-346.
Research on the Temperature and Nonlinear Compensation Based on Improved PSO-BP Algorithm for Pressure Guidewire
Abstract:The subminiature pressure sensor in pressure guidewire used for measuring fractional flow reserve (FFR) in coronary artery is provided with serious problems of temperature and nonlinear drifts, and at present, the hardware method is the only way to compensate.Aiming at the demerits existing in hardware compensation method, such as low compensation accuracy and high cost, etc., the improved PSO-BP algorithm is proposed for realizing temperature and nonlinear compensation with software.The results of Matlab simulation show that comparing with hardware compensation method, and the software compensation methods using PSO-BP algorithm, or using BP neural network, the proposed software method using improved PSO-BP algorithm features many merits, including low cost, high stability, strong generalization capability and avoid getting into local optimum.
Keywords:Pressure guidewirePressure sensorTemperatureNonlinear compensationNonlinear driftParticle swarm optimization(PSO)BP neural networkMatlab
通訊作者余學飛(1965-),男,博士,教授;主要從事智能醫(yī)療儀器的研究。E-mail:xuefeiyu@smu.edu.cn。
中圖分類號:TH811;TP212
文獻標志碼:A
DOI:10.16086/j.cnki.issn 1000-0380.201606004
廣東省科技計劃基金資助項目(編號:2012A032200015)。
修改稿收到日期:2015-12-30。
第一作者范廣坡(1990-),男,現(xiàn)為南方醫(yī)科大學生物醫(yī)學工程專業(yè)在讀碩士研究生;主要從事智能醫(yī)療儀器方向的研究。