盧莉蓉, 牛曉東, 周晉陽△,石春花
(1.長治醫(yī)學院生物醫(yī)學工程系,山西 長治 046000;2.長治醫(yī)學院 物理教研室,山西 長治,046000)
傳感器[1]是可以將被測量轉換成電量輸出的一種器件。傳感器在醫(yī)學儀器的研制和醫(yī)學實驗中占有重要地位。在理想的狀態(tài)下,傳感器的輸入輸出間呈線性關系,通過對輸出量的測量也就知道了輸入量的大小。但在實際應用中多數(shù)傳感器其輸出量與輸入量之間的關系為非線性的關系。針對這一問題,人們采用了許多辦法來對傳感器的非線性進行校正。但現(xiàn)階段的這些校正方法存在著成本高、校正精度差和穩(wěn)定性差等缺點[2-3]。
進化規(guī)劃[4](evolutionary programming,EP)是一種隨機搜索算法。在進化規(guī)劃中,不使用交叉、重組之類體現(xiàn)個體之間相互作用的算子,而只采用變異算子,并且大多數(shù)情況下使用高斯變異算子,算法簡單易行。變異算子是以一定的概率隨機地修改個體,有可能變異后的個體還不如父代個體,即出現(xiàn)了退化現(xiàn)象;還有所有實際問題本身都具有一定的特點,如果利用這些特點則會提高求解的速度,但進化規(guī)劃中沒有利用這些特點。以上這兩點就影響了算法的運行速度。而且進化規(guī)劃保持種群多樣性的能力不足,易于早熟收斂[5-7]。生物免疫系統(tǒng)[8-9]是機體執(zhí)行免疫應答及免疫功能的重要系統(tǒng),它可以識別“自己”和“異己”,迅速清除和消滅異物,確保機體的安全性。生物免疫系統(tǒng)具有可產生多樣抗體、自我調節(jié)和免疫記憶的功能。
將生物免疫系統(tǒng)的機制應用于進化規(guī)劃算法中,借鑒免疫系統(tǒng)能產生和維持多樣性抗體的能力,以及自我調節(jié)能力,在進化算法的整體框架上引入免疫機制,就形成了免疫規(guī)劃[10](immune programming,IP)。我們研究并應用免疫規(guī)劃解決傳感器系統(tǒng)的非線性校正問題。實例分析的結果表明應用免疫規(guī)劃對傳感器進行非線性校正,不僅可以提高校正精度,速度和穩(wěn)定性也有了大幅度的提高。
校正模型見圖1。
圖1 校正模型
圖中X是被測量,作為傳感器的輸入信號。X經過傳感器后輸出一個非線性信號,再經過放大器和AD轉換器后輸出Y,Y與X之間依然是呈非線性的,最后經過IP校正輸出Z。
IP校正主要就是要進行數(shù)據處理和非線性校正,使得最終的輸出Z與傳感器的輸入X之間呈線性關系。
設Y與X之間的關系為Y=f(X),Z與Y之間的關系為Z=g(Y),若滿足g(Y)=f-1(Y),則:
Z=g(Y)=f-1(Y)=X
(1)
從(1)式中可以看出, 輸出Z與輸入X是呈線性關系的,即非線性校正成功。本文的目的就是利用IP來求校正環(huán)節(jié)Z=g(Y),即Z=f-1(Y)。
Z可以表示為:
Z=f-1(Y)=a0+a1Y+a2Y2+…+anYn
(2)
式(2)中,a0,a1,a2,…,an為待定系數(shù),n的值一般取3,即:
Z=f-1(Y)=a0+a1Y+a2Y2+a3Y3
(3)
式中,a0,a1,a2,a3為待定系數(shù)。只要確定了式(3)中的待定系數(shù),也就確定了校正環(huán)節(jié)Z=f-1(Y)。
將生物免疫系統(tǒng)的機制應用于進化規(guī)劃算法中,就形成了免疫規(guī)劃。IP流程圖見圖2。
圖2 IP流程圖
應用IP解決傳感器系統(tǒng)的非線性校正問題的步驟如下:
(1)抗原的識別??乖褪菍谖覀円蠼獾膯栴}。抗原的識別就是要找出對應問題的目標函數(shù)形式。在本文中,傳感器非線性校正的目標函數(shù)為:
(4)
(2)初始抗體的產生。通過計算機隨機產生隨機N+m個個體,這些個體作為初始種群。并將其中的m個個體放入記憶庫中。
(3)個體適應度評價。個體適應度由下式來確定:
(5)
(4)高斯變異。在IP中大多采用高斯變異算子。在變異過程中,計算每個個體適應度函數(shù)值的線性平方根獲得該個體變異的標準差,將每個分量加上一個服從正態(tài)分布的隨機數(shù)。
假設X為個體,σ為高斯變異的標準差。染色體個體有L個基因位。則(X,σ)=((x1,x2,…,xL),σ) 。經過高斯變異后,
xi(t+1)=xi(t)+N(0,σ(t+1))
(6)
式中,
(7)
式中,N(0,σ(t+1))表示均值為0,方差為σ(t+1)的符合正態(tài)分布的隨機變量;F(X(t))表示當前個體的適應度;系數(shù)β、γ為特定的系數(shù),通常取β和γ的值為1和0。
(5)計算個體的適應度和抗體的濃度。計算的對象為高斯變異產生的N個新個體與記憶庫中m個個體。
a、計算個體的適應度。依據公式(5)即可求得。
b、計算抗體的濃度。對于抗體和b來說,令這兩個抗體總的基因位數(shù)為L,相同的基因位數(shù)為k,并提前設定一常數(shù)T=0.5。
我們定義抗體的濃度為:
(8)
(6)條件判斷。判斷是否滿足終止條件,是則結束,輸出結果;否則繼續(xù)。
(7)形成新的父代種群。新的父代種群的形成是依據個體的期望繁殖概率。簡化的個體的期望繁殖概率可用下式計算[11]
(9)
由式(9)可以看出。F(x)越高,則P越大;CV越大,則P越小。也就是說,我們希望適應度高,并且濃度低的個體繁殖。從而保持了種群的多樣性。
按照個體的期望繁殖概率由大到小排列,前N個就構成了新的父代種群。前m個個體就構成了新的記憶庫。
(8)新的抗體的產生。通過選擇操作來產生新的抗體,選擇操作選用輪盤賭選擇,個體被選擇的概率即為式(9)計算出的個體的期望繁殖概率。
(9)轉去執(zhí)行步驟(3)。
為了驗證本研究所提出方法的先進性,我們在MATLAB上做了大量的仿真實驗。其輸入、輸出數(shù)據取自文獻[2]的濃度傳感器。表1中f為傳感器的輸出,Cp為傳感器的輸入:
表1 傳感器輸出f及對應的實際輸入濃度值Cp
從表中可以看出,其輸出f與對應的實際輸入濃度Cp是呈非線性關系的。這里就要在傳感器的輸出后加入非線性校正環(huán)節(jié),使得最終的輸出與輸入間呈線性關系。
校正環(huán)節(jié):
其中fmax=2500 Hz,a0,a1,a2,a3為待定系數(shù)。本研究就是要利用IP來確定這個非線性校正環(huán)節(jié)多項式的系數(shù)。我們取迭代次數(shù)為100,a0,a1,a2,a3的位數(shù)為20,群體個體為50,記憶庫大小為10。
運行IP,結果如下:
圖3為實際輸入的濃度值與IP擬合曲線的對比值。圓圈代表的是對應于實際輸入濃度的實際輸出頻率。實線代表的是對應于非線性校正環(huán)節(jié)實際輸入頻率的非校正環(huán)節(jié)的輸出。從圖3可看出:對應于相同的頻率來說,實際的輸入濃度值與經過非線性校正后的輸出值基本上是相同的,也就是整個濃度傳感器系統(tǒng)的輸入輸出基本相同,從而實現(xiàn)了線性輸出,實現(xiàn)了濃度傳感器的非線性校正。
圖3 實際值與IP擬合曲線
圖4是利用IP對濃度傳感器進行非線性校正經過100次迭代后最優(yōu)解變化圖,橫軸代表的是進化代數(shù),縱軸代表的是目標函數(shù)值(即(4)式)的變化,目標函數(shù)值越小,非線性校正的效果就越好。從圖4中可看出種群經過58代進化后收斂到目標函數(shù)最小值。目標函數(shù)最小值為0.0635,并且可得到待定系數(shù)為:
a0=5.4478,a1=-4.8007,a2=-3.5829,a3=5.5091
圖4 經過100次迭代后目標函數(shù)值的變化
利用IP對此濃度傳感器進行傳感器的非線性校正,運行100次,將運行結果與文獻[2]中的結果進行比較,結果見表2。
表2 IP與IGA的運行結果比較
實例分析可看出,利用IP對傳感器進行傳感器的非線性校正,整個濃度傳感器的輸入與輸出基本相同,目標函數(shù)值可以達到0.0635,比利用IGA對傳感器進行非線性校正的目標函數(shù)值0.3477大大減小,說明此校正方法具有較高的校正精度;而且從圖4還可以看出曲線在58代就收斂到了目標函數(shù)的最小值,說明此校正方法具有較快的收斂速度;運行程序100次,95%都可收斂到了目標函數(shù)的最小值,說明此校正方法具有非常好的穩(wěn)定性。
傳感器作為醫(yī)學測量中的核心部件,其精度和穩(wěn)定性決定了醫(yī)學測量的精度和穩(wěn)定性。但是大多數(shù)傳感器所存在的輸入輸出呈非線性的特點,這給醫(yī)學儀器的測量帶來了很多不便。本研究在進化規(guī)劃的基礎上引入生物免疫機制,從而形成免疫規(guī)劃,利用免疫規(guī)劃來計算得到校正環(huán)節(jié)的待定常數(shù),同時使得整個系統(tǒng)的輸出與傳感器的輸入間呈線性關系,即對傳感器實現(xiàn)了非線性校正。實踐表明, 利用免疫規(guī)劃對傳感器進行傳感器的非線性校正,具有較高的校正精度,較快的收斂速度和非常好的穩(wěn)定性。