現有的近紅外光譜無創血糖建模方法大多是基于多波長近紅外光譜信號,不利于無創血糖儀在家庭中普及,并且這些建模方法沒有考慮單個個體每天血糖變化規律的差異性。針對這些問題,本文以血糖吸收最強的 1 550 nm 近紅外光吸光度為自變量、血糖濃度為因變量,結合粒子群(PSO)算法和人工神經網絡(ANN)建立了一種無創血糖檢測模型——PSO-2ANN 模型。該模型以兩個結構和參數確定的人工神經網絡為基本的子模塊,通過粒子群算法優化兩個子模塊的權重系數得到最終的模型。使用 PSO-2ANN 模型對 10 名志愿者的實驗數據進行預測。結果表明,其中 9 名志愿者的預測相對誤差率均小于 20%;通過 PSO-2ANN 模型得到的血糖濃度預測值分布在克拉克誤差網格 A、B 區域的比重為 98.28%,證實了 PSO-2ANN 模型具有比傳統人工神經網絡模型更為理想的預測精度和穩健性。另外,單個個體由于外界環境、心情、精神狀態等因素的影響,每天血糖的變化規律可能會出現一定程度的差異性,PSO-2ANN 模型只需要調節一個參數便能修正這種差異性。本文提出的 PSO-2ANN 模型為克服血糖濃度預測的個體差異性提供了新的思路。
引用本文: 代娟, 季忠, 杜玉寶. 基于粒子群和人工神經網絡的近紅外光譜血糖建模方法研究. 生物醫學工程學雜志, 2017, 34(5): 713-720. doi: 10.7507/1001-5515.201611010 復制
引言
糖尿病是臨床多發病癥,嚴重威脅著人類身體健康[1]。但目前尚未出現能夠徹底根治糖尿病的方法,醫學上常常借助頻繁的血糖濃度檢測和藥物控制使血糖維持在正常的水平,以減少一系列并發癥的產生。指尖取血樣檢測是比較主流的家用血糖檢測方法,雖然這種手段能夠實現患者血糖濃度的自我檢測,但存在一些不足,如針刺會給患者帶來不適感、檢測頻率較低等[2]。為克服指尖取血樣檢測的不足,迫切需要研制出新型的無創血糖檢測設備。近紅外光譜技術由于其低成本、高精度和高效率等優點逐漸成為血糖無創檢測研究的焦點,世界各地的研究組織或者機構已在近紅外無創血糖檢測技術上投入了許多精力和資源。Unnikrishna Menon 等[3]阻斷了指尖的血流,利用近紅外光照射指尖,將光強信號的變化無線傳送到計算機,通過相關的分析和處理進行血糖濃度的預測。Yadav 等[4]基于近紅外技術設計和研制了無創血糖檢測樣機,通過與實際血糖濃度的對比分析,認為使用近紅外光譜技術進行血糖無創檢測具有十分廣闊的前景。
血糖無創檢測實現的關鍵是血糖無創檢測模型是否具有足夠的檢測精度,Chuah 等[5]采集了 1 500~1 800 nm 的 290 個近紅外光譜讀數和血糖值,利用兩級偏最小二乘法建立模型,結果顯示該模型能夠提高血糖的預測精度。Yamakoshi 等[6]利用光譜儀采集了 900~1 700 nm 的 100 個近紅外光譜數據,通過對主成分分析、偏最小二乘法和支持向量機分類模型進行對比,發現支持向量機分類模型具有更高的預測精度。張婉潔等[7]結合平行因子分析和多元線性回歸,以葡萄糖溶液為樣本進行了離體驗證,結果表明該方法相對于傳統的多元線性回歸模型具有更好的預測能力和穩健性。總體而言,這些方法在一定程度上提升了預測精度,但也存在一些局限和不足:自變量的增多雖能夠捕獲更多的影響因子,但過多的自變量會導致信息的冗余;高精度和高速度的光譜儀不利于血糖無創檢測的家用普及;近紅外光譜無創血糖檢測技術的基本原理是比爾-朗伯定律,但人體組織只能在一定的理想狀態下滿足該定律的條件,實際狀態中近紅外光譜信號和血糖值之間兼具線性和非線性兩種關系。
針對上述現狀,本文在課題組研制的血糖無創檢測光學子系統[8]的基礎上,基于粒子群(particle swarm optimization,PSO)算法和人工神經網絡(artificial neural network,ANN)提出了一種近紅外光譜血糖建模方法——PSO-2ANN 模型。以兩個 ANN 為基本結構,在此基礎上利用粒子群算法優化兩個網絡的權重系數。
1 實驗數據采集
本文使用課題組研制的血糖無創檢測光學子系統采集實驗數據,該光學子系統的結構如圖 1 所示。需要說明的是,由血糖的吸收光譜特性可知,血糖對 1 550 nm 近紅外光吸收較強,因此光學子系統使用的近紅外波長為 1 550 nm。基于該光學子系統,楊星等[8]對實驗數據的有效性進行了說明:經手指 1 550 nm 近紅外漫反射光譜信號攜帶有人體的血糖濃度信息。由于血糖濃度的采集是微創的,因此實驗前告知了志愿者實驗具體過程和可能存在的風險,在該志愿者同意實驗的情況下按以下步驟進行每次實驗數據的采集,該流程符合倫理要求。本次實驗血糖濃度測量裝置是強生(Johnson)穩豪倍易型血糖儀及強生(Johnson)穩豪型血糖試紙。采集流程為:
(1) 打開實驗系統電源,使之處于實驗準備狀態;
(2) 志愿者使用溫水和香皂清洗雙手,擦干后用酒精棉擦拭左手食指并晾干;
(3) 把左手食指放入檢測室,保持指肚與準直器端面輕微接觸,通過實驗系統軟件對數據采集過程進行控制,得到 1 550 nm 近紅外光譜漫反射光強值;
(4) 重復步驟(3)三次,記錄 3 個 1 550 nm 近紅外光譜漫反射光強值,取三者的平均值;
(5) 用濃度為 75% 的酒精對手指進行消毒,待酒精完全揮發后,使用強生血糖儀和試紙檢測血糖;
(6) 記錄血糖濃度值。
采集實驗持續 5 天,得到 5 組數據,分別記為:data_1(9×2)、data_2(9×2)、data_3(9×2)、data_4(6×2)、data_5(8×2),同一天內采集間隔在 1~2 h [注:這里的 data_x(m×n)中 x 表示組序號,m 表示每天采集的樣本數量,n 表示每次采集的 1 550 nm 光強值和血糖濃度共 2 組數據]。

需要注意的是,由于不同手指的結構有較大差異,所以實驗中近紅外光譜的測量部位統一為左手食指,檢測過程中通過以下措施使測試條件盡量保持一致:① 手指溫度保持一致,檢測前先用溫水洗手并晾干;② 手指與 1 550 nm 激光器照射面輕微接觸,避免手指皮膚形變;③ 測試過程中保持手指與檢測面相對位置固定;④ 指尖采血時避免用力擠壓手指,防止組織間液的滲出影響血糖濃度實測值的準確性。
2 傳統 ANN 與 PSO-2ANN 模型的對比分析
2.1 傳統 ANN 模型的建立與評價
2.1.1 傳統 ANN 模型的建立 引言部分已經提到,由于人體組織結構的特殊性,人體的血糖值和近紅外光譜的吸收度并不完全滿足比爾-朗伯定律。考慮到 ANN 既能夠勾畫線性關系,又能描述非線性關系,所以首先使用 ANN 對實驗數據進行訓練并預測[9]。本次實驗共采集 5 天 5 組數據,為了使建立的 ANN 盡可能涵蓋更多的信息,由于 data_1、data_2、data_3 的樣本量較多,所以分別以 data_1、data_2、data_3 訓練出 3 個 ANN(net1、net2、net3),具體過程如下:
ANN 的通用結構如圖 2 所示,可以看出 ANN 一般包含三層:輸入層、隱含層和輸出層。本文使用 MATLAB R2014a 中的 Neural Net Fitting 應用程序訓練和構建 ANN,需要確定的設置項有:輸入層神經元個數、隱含層神經元個數、輸出層神經元個數、學習算法。

(1)輸入層、輸出層神經元個數的確定
因為本文涉及到的自變量和因變量都只有 1 個,所以可以確定輸入層神經元個數和輸出層神經元個數都為 1。
(2)學習算法的確定
Neural Net Fitting 應用程序中包含了三種學習算法:Levenberg-Marquardt 算法、Bayesian Regularization 算法和 Scaled Conjugate Gradient 算法。三種學習算法各有優勢,如 Levenberg-Marquardt 算法的收斂速度快,而 Bayesian Regularization 算法會對各層的權重系數進行正則化處理等。因為這里所得到的 ANN 是后續研究的基礎,所以要求得到的 ANN 的性能比較好,因此選擇收斂性更好的 Scaled Conjugate Gradient 算法。
(3)隱含層神經元個數的確定
綜合每組數據的均方根誤差(root-mean-squared error,RMSE)和復雜度兩個因素確定隱含層神經元的個數。
表 1 表示的是隱含層神經元個數不同時三個網絡的預測 RMSE。第 2 列數據表明 net1 隱含層神經元個數超過 3 以后,其預測 RMSE 由 0.521 168 變到 0.490 658,相對于前面 0.717 151 到 0.521 168 的變化程度來說,變化趨勢較小,為了減少模型的復雜度,所以確定 net1 隱含層神經元的個數為 3;同樣地,第 3 列數據表明 net2 隱含層神經元個數為 7 時,其預測 RMSE 有顯著的變化,但是為了防止“過擬合”現象的出現,確定 net2 的隱含層神經元個數為 5;同理根據第 4 列數據確定 net3 的隱含層神經元個數為 5。

輸入層、隱含層、輸出層個數以及學習算法確定后,可以確定 net1、net2、net3 的結構。net1 包含 1 個輸入層神經元、3 個隱含層神經元和 1 個輸出層神經元,因此 net1 涉及 10 個參數,分別是:輸入層到隱含層的 3 個權重系數 IHW、隱含層神經元的 3 個閾值 Hb、隱含層到輸出層的 3 個權重系數 HOW、輸出層神經元的 1 個閾值 Ob。同理,可以確定 net2 和 net3 的參數,具體見表 2。

2.1.2 傳統 ANN 模型的評價 將 data_2、data_3、data_4、data_5 作為 net1 的測試集,data_1、data_3、data_4、data_5 作為 net2 的測試集,data_1、data_2、data_4、data_5 作為 net3 的測試集,使用每組數據的 RMSE 和相對誤差率(relative error,RE)對傳統 ANN 模型的性能進行評價。
根據我國《體外診斷檢驗系統自測用血糖監測系統通用技術條件》(GB/T 19634-2005),血糖儀的準確度應當符合要求:當血糖濃度大于 4.2 mmol/L(75.59 mg/dL)時,允許偏差不超過±20%;當血糖濃度小于或等于 4.2 mmol/L 時,允許偏差不超過±0.83 mmol/L(14.93 mg/dL)。
從表 3 可以看出,net1 對 data_4 預測的 RE 小于 20%,而對 data_2、data_3、data_5 預測的 RE 均超過 20%,說明 net1 對 data_4 具有較好的預測效果,而對 data_2、data_3、data_5 預測效果較差。同理可以得出,net2 對 data_1、data_3、data_4 的預測效果較好,而對 data_5 的預測不滿足要求;net3 對 data_1 的預測效果較好,對 data_2、data_4、data_5 的預測不滿足要求。雖然三個 ANN 對某些數據具有較好的預測效果,但對其余數據的預測效果并不理想,說明單一的 ANN 缺乏穩健性,不利于模型的推廣使用。

2.2 PSO-2ANN 模型的建立與評價
2.2.1 PSO-2ANN 模型的建立 因為人體血糖和近紅外吸收光譜之間兼具線性和非線性關系,傳統 ANN 模型只側重刻畫非線性關系,因此對其它數據的測試精度不夠高,并且傳統 ANN 在進行校正的過程中需要同時調節多個參數。為降低模型校正的復雜度(對模型進行修正只需要調節一個參數),本文提出一種基于 PSO-2ANN 的近紅外光譜血糖建模方法:選取 2.1 部分訓練的三個 ANN 中穩健性相對較好的兩個 ANN 作為該模型的子模塊,使用粒子群算法對兩個網絡的權重系數進行優化,最終得到預測性能較好的模型——PSO-2ANN 模型。該模型的算法流程如圖 3 所示。

(1)神經網絡的選擇
根據表 3 的數據分析可知,對于整體數據而言,net1 的預測性能比較差,故而舍棄 net1,將 net2 和 net3 作為后續網絡的子網絡。
(2)總網絡拓撲結構的確定
上述內容確定了將 net2 和 net3 作為總模型的子模塊,即滿足 net = a × net2 +(1 — a)× net3[這里的 a 表示的是 net2 的權重系數,那么(1 — a)表示的是 net3 的權重系數]。得到總模型的拓撲結構,如圖 4 所示。

(3)參數 a 的優化
粒子群算法是基于鳥群覓食活動提出的一種優化算法,具有快速、易實現等優點,因此被廣泛應用于極值問題、參數優化等問題的求解[10]。
粒子群算法原理:如果用鳥群覓食過程代替優化過程,那么空中覓食的一只“鳥”和解空間中的“粒子”對應,“粒子”的位置就對應一個解,“食物”對應的是最優的目標函數值,“食物”的位置就相當于最優解,優化過程“粒子”新位置(新解)產生的機制與“粒子”速度的大小和方向有關。
設:
表示的是粒子 i 當前的位置;
表示的是粒子 i 的飛行速度;
表示的是粒子 i 在迭代過程中最優的位置,這里以求目標函數最小值為例。
將目標函數值表示為f(x),那么Pi的確定公式如下:
![]() |
假設群體中粒子的個數為 s,所有粒子的最優位置為Pg,即對應的是全局最優解。那么
![]() |
基于前面的定義,粒子新位置的產生機制如下:
![]() |
![]() |
式(3)中c1表示自身經驗的加速常數,c2表示其它粒子共享信息的加速常數;r1和r2是[0, 1]之間的隨機常數,體現了粒子群算法的隨機性;w表示的是慣性因子;α表示的是約束因子,控制搜索步長。需要注意的是,
,
。
以人體血糖的實際值和預測值之間的 RMSE 作為目標函數(又稱適應度值),解空間為[0, 1]的參數 a 作為粒子的位置向量,粒子新位置向量的產生由粒子自身的經驗和其它粒子共享的信息共同決定。通過一定的機制不斷調節粒子群的速度和位置,記錄各粒子在歷次迭代中的最優位置和最優適應值,最終在粒子群中通過最優適應值確定最佳位置,即滿足最小預測誤差的參數 a 的值。
分別用五組數據中的前 2 個數據樣本作為訓練集,剩余數據樣本作為測試集,利用粒子群算法對模型參數 a 進行優化,得到各組數據的最優參數和 RMSE,如表 4 所示。圖 5 所示為血糖濃度預測值和實際值的擬合程度。


橫標
index
2.2.2 PSO-2ANN 模型的評價 以每組數據的 RMSE、RE 和克拉克誤差網格(Clarke error grid,CEG)作為 PSO-2ANN 模型性能的評價指標。
(1)RMSE 和 RE
利用粒子群算法優化后的模型對 5 天 5 組數據分別進行預測,得到如表 5 所示的 RMSE 和 RE。與表 3 對比可以看出,相對于傳統的 ANN 模型而言,PSO-2ANN 模型的預測精度和穩健性都提高了很多。本實驗所采集的血糖濃度均在 4.2 mmol/L 以上,因此可以得出 PSO-2ANN 的模型滿足相應的要求。

(2)克拉克誤差網格
克拉克誤差網格因為充分考慮了四個因素而成為對血糖預測精度進行評價的“金標準”。這四個因素分別是:血糖濃度預測值的絕對值、預測值偏離實際值的絕對值、前面兩種絕對值的相對偏差、偏差的臨床意義[11]。區域 A 滿足實測值和估計值之間的誤差在 10% 以內,具有較高的預測精度;區域 B 常被稱為良性區域,表示實測值和估計值之間的誤差在 20%。在臨床上,分布在區域 A 和 B 內的點是可以被接受的,分布在區域 C、D、E 內的點因存在較大的風險不能作為臨床的診斷依據。PSO-2ANN 模型的克拉克誤差網格如圖 6 所示。

由圖 6 可以看出,PSO-2ANN 模型的血糖預測值都集中地分布在區域 A 和區域 B 內。統計得到:data_1 分布在區域 A 的比重約為 66.7%,分布在區域 B 的比重約為 33.3%;data_2 和 data_3 分布在區域 A 的比重為 100%,分布在區域 B 的比重為 0;data_4 分布在區域 A 的比重約為 83.3%,分布在區域 B 的比重約為 16.7%;data_5 分布在區域 A 的比重約為 25.0%,分布在區域 B 的比重約為 75.0%。結合前面模型預測的 RMSE 和 RE 可以認為,PSO-2ANN 模型具有比較理想的精度和穩健性。
3 PSO-2ANN 模型的可靠性分析
為了進一步驗證 PSO-2ANN 的可靠性,在獲得志愿者知情同意后,按照第 1 部分介紹的實驗流程分別對 10 個志愿者的血糖濃度和左手食指的 1 550 nm 近紅外光譜信號進行測量,得到 10 組來自不同個體的數據,分別記為 data_a、data_b、data_c、data_d、data_e、data_f、data_g、data_h、data_i、data_j。分別使用 net1、net2、net3 和 PSO-2ANN 四個網絡對 10 組數據進行預測,得到 RMSE、RE 和克拉克誤差網格分別如表 6、表 7 所示。


分析表 6、表 7 的數據可以發現:總體而言,PSO-2ANN 模型相對于 net1、net2 和 net3 具有更高的預測精度,10 例個體中只有 1 例個體的預測 RE 大于 20%;落在區域 A 和區域 B 之間的比重為 98.28%,均高于 net1、net2、net3。由此可以得出結論:PSO-2ANN 模型相對于傳統的 ANN 模型在精度和穩健性方面均有所改進;但 PSO-2ANN 模型并不對所有的個體都具有良好的預測效果,所以 PSO-2ANN 模型仍存在一定的局限性。
4 結語
本文針對近紅外光譜無創血糖檢測技術的原理和模型精度的問題,提出了一種基于 PSO-2ANN 的建模方法。該模型以兩個不同結構的 ANN 作為總網絡的子模塊,在此基礎上使用粒子群算法優化兩個子模塊的權重系數,進而得到最優的雙 ANN 模型。
根據模型對訓練集和測試集的預測效果,該模型具有如下優勢:
(1)雖然模型的輸入變量只有一個(1 550 nm 近紅外吸光度),但是結合 RMSE、RE 和克拉克誤差網格三個評價指標,該模型的預測性能比較理想,且通過對比預測值和實測值結果,該模型具有良好的穩健性。
(2)同一個體可能因為外界環境、心情、精神狀態等因素的影響,每天血糖的變化規律會出現一定程度的差異性。本文以兩個結構和參數確定的神經網絡作為模型的子模塊,這種差異性只需要通過調節 1 個參數進行修正。
但是該模型也存在一些不足:
(1)因為實驗數據來自于血糖正常的受試對象,其血糖分布范圍較窄,所以該模型對不同糖尿病患者的適用性有待進一步驗證。
(2)因為影響人體血糖濃度的因子有很多,如一天中不同的時間段、體溫、血壓、脈搏、環境溫濕度等,而本文只是單一地考慮了 1 550 nm 的近紅外吸光度,雖然模型獲得了比較理想的精度,但與實驗過程中受試者在不同次測試中盡量保持嚴格的測試條件有關,避免了其它因素對結果的影響。而在實際應用中,使用者可能并不能保證不同次測量之間測試條件的一致性,不可避免地帶來一些不確定的干擾因素,因此在后續的研究中,需將這些參數考慮進來。
(3)PSO-2ANN 模型雖然在一定程度上能夠克服個體差異性,但是對 10 名志愿者 1 550 nm 光譜預測的結果仍存在一定不足,所以后期還需要進行改進。
引言
糖尿病是臨床多發病癥,嚴重威脅著人類身體健康[1]。但目前尚未出現能夠徹底根治糖尿病的方法,醫學上常常借助頻繁的血糖濃度檢測和藥物控制使血糖維持在正常的水平,以減少一系列并發癥的產生。指尖取血樣檢測是比較主流的家用血糖檢測方法,雖然這種手段能夠實現患者血糖濃度的自我檢測,但存在一些不足,如針刺會給患者帶來不適感、檢測頻率較低等[2]。為克服指尖取血樣檢測的不足,迫切需要研制出新型的無創血糖檢測設備。近紅外光譜技術由于其低成本、高精度和高效率等優點逐漸成為血糖無創檢測研究的焦點,世界各地的研究組織或者機構已在近紅外無創血糖檢測技術上投入了許多精力和資源。Unnikrishna Menon 等[3]阻斷了指尖的血流,利用近紅外光照射指尖,將光強信號的變化無線傳送到計算機,通過相關的分析和處理進行血糖濃度的預測。Yadav 等[4]基于近紅外技術設計和研制了無創血糖檢測樣機,通過與實際血糖濃度的對比分析,認為使用近紅外光譜技術進行血糖無創檢測具有十分廣闊的前景。
血糖無創檢測實現的關鍵是血糖無創檢測模型是否具有足夠的檢測精度,Chuah 等[5]采集了 1 500~1 800 nm 的 290 個近紅外光譜讀數和血糖值,利用兩級偏最小二乘法建立模型,結果顯示該模型能夠提高血糖的預測精度。Yamakoshi 等[6]利用光譜儀采集了 900~1 700 nm 的 100 個近紅外光譜數據,通過對主成分分析、偏最小二乘法和支持向量機分類模型進行對比,發現支持向量機分類模型具有更高的預測精度。張婉潔等[7]結合平行因子分析和多元線性回歸,以葡萄糖溶液為樣本進行了離體驗證,結果表明該方法相對于傳統的多元線性回歸模型具有更好的預測能力和穩健性。總體而言,這些方法在一定程度上提升了預測精度,但也存在一些局限和不足:自變量的增多雖能夠捕獲更多的影響因子,但過多的自變量會導致信息的冗余;高精度和高速度的光譜儀不利于血糖無創檢測的家用普及;近紅外光譜無創血糖檢測技術的基本原理是比爾-朗伯定律,但人體組織只能在一定的理想狀態下滿足該定律的條件,實際狀態中近紅外光譜信號和血糖值之間兼具線性和非線性兩種關系。
針對上述現狀,本文在課題組研制的血糖無創檢測光學子系統[8]的基礎上,基于粒子群(particle swarm optimization,PSO)算法和人工神經網絡(artificial neural network,ANN)提出了一種近紅外光譜血糖建模方法——PSO-2ANN 模型。以兩個 ANN 為基本結構,在此基礎上利用粒子群算法優化兩個網絡的權重系數。
1 實驗數據采集
本文使用課題組研制的血糖無創檢測光學子系統采集實驗數據,該光學子系統的結構如圖 1 所示。需要說明的是,由血糖的吸收光譜特性可知,血糖對 1 550 nm 近紅外光吸收較強,因此光學子系統使用的近紅外波長為 1 550 nm。基于該光學子系統,楊星等[8]對實驗數據的有效性進行了說明:經手指 1 550 nm 近紅外漫反射光譜信號攜帶有人體的血糖濃度信息。由于血糖濃度的采集是微創的,因此實驗前告知了志愿者實驗具體過程和可能存在的風險,在該志愿者同意實驗的情況下按以下步驟進行每次實驗數據的采集,該流程符合倫理要求。本次實驗血糖濃度測量裝置是強生(Johnson)穩豪倍易型血糖儀及強生(Johnson)穩豪型血糖試紙。采集流程為:
(1) 打開實驗系統電源,使之處于實驗準備狀態;
(2) 志愿者使用溫水和香皂清洗雙手,擦干后用酒精棉擦拭左手食指并晾干;
(3) 把左手食指放入檢測室,保持指肚與準直器端面輕微接觸,通過實驗系統軟件對數據采集過程進行控制,得到 1 550 nm 近紅外光譜漫反射光強值;
(4) 重復步驟(3)三次,記錄 3 個 1 550 nm 近紅外光譜漫反射光強值,取三者的平均值;
(5) 用濃度為 75% 的酒精對手指進行消毒,待酒精完全揮發后,使用強生血糖儀和試紙檢測血糖;
(6) 記錄血糖濃度值。
采集實驗持續 5 天,得到 5 組數據,分別記為:data_1(9×2)、data_2(9×2)、data_3(9×2)、data_4(6×2)、data_5(8×2),同一天內采集間隔在 1~2 h [注:這里的 data_x(m×n)中 x 表示組序號,m 表示每天采集的樣本數量,n 表示每次采集的 1 550 nm 光強值和血糖濃度共 2 組數據]。

需要注意的是,由于不同手指的結構有較大差異,所以實驗中近紅外光譜的測量部位統一為左手食指,檢測過程中通過以下措施使測試條件盡量保持一致:① 手指溫度保持一致,檢測前先用溫水洗手并晾干;② 手指與 1 550 nm 激光器照射面輕微接觸,避免手指皮膚形變;③ 測試過程中保持手指與檢測面相對位置固定;④ 指尖采血時避免用力擠壓手指,防止組織間液的滲出影響血糖濃度實測值的準確性。
2 傳統 ANN 與 PSO-2ANN 模型的對比分析
2.1 傳統 ANN 模型的建立與評價
2.1.1 傳統 ANN 模型的建立 引言部分已經提到,由于人體組織結構的特殊性,人體的血糖值和近紅外光譜的吸收度并不完全滿足比爾-朗伯定律。考慮到 ANN 既能夠勾畫線性關系,又能描述非線性關系,所以首先使用 ANN 對實驗數據進行訓練并預測[9]。本次實驗共采集 5 天 5 組數據,為了使建立的 ANN 盡可能涵蓋更多的信息,由于 data_1、data_2、data_3 的樣本量較多,所以分別以 data_1、data_2、data_3 訓練出 3 個 ANN(net1、net2、net3),具體過程如下:
ANN 的通用結構如圖 2 所示,可以看出 ANN 一般包含三層:輸入層、隱含層和輸出層。本文使用 MATLAB R2014a 中的 Neural Net Fitting 應用程序訓練和構建 ANN,需要確定的設置項有:輸入層神經元個數、隱含層神經元個數、輸出層神經元個數、學習算法。

(1)輸入層、輸出層神經元個數的確定
因為本文涉及到的自變量和因變量都只有 1 個,所以可以確定輸入層神經元個數和輸出層神經元個數都為 1。
(2)學習算法的確定
Neural Net Fitting 應用程序中包含了三種學習算法:Levenberg-Marquardt 算法、Bayesian Regularization 算法和 Scaled Conjugate Gradient 算法。三種學習算法各有優勢,如 Levenberg-Marquardt 算法的收斂速度快,而 Bayesian Regularization 算法會對各層的權重系數進行正則化處理等。因為這里所得到的 ANN 是后續研究的基礎,所以要求得到的 ANN 的性能比較好,因此選擇收斂性更好的 Scaled Conjugate Gradient 算法。
(3)隱含層神經元個數的確定
綜合每組數據的均方根誤差(root-mean-squared error,RMSE)和復雜度兩個因素確定隱含層神經元的個數。
表 1 表示的是隱含層神經元個數不同時三個網絡的預測 RMSE。第 2 列數據表明 net1 隱含層神經元個數超過 3 以后,其預測 RMSE 由 0.521 168 變到 0.490 658,相對于前面 0.717 151 到 0.521 168 的變化程度來說,變化趨勢較小,為了減少模型的復雜度,所以確定 net1 隱含層神經元的個數為 3;同樣地,第 3 列數據表明 net2 隱含層神經元個數為 7 時,其預測 RMSE 有顯著的變化,但是為了防止“過擬合”現象的出現,確定 net2 的隱含層神經元個數為 5;同理根據第 4 列數據確定 net3 的隱含層神經元個數為 5。

輸入層、隱含層、輸出層個數以及學習算法確定后,可以確定 net1、net2、net3 的結構。net1 包含 1 個輸入層神經元、3 個隱含層神經元和 1 個輸出層神經元,因此 net1 涉及 10 個參數,分別是:輸入層到隱含層的 3 個權重系數 IHW、隱含層神經元的 3 個閾值 Hb、隱含層到輸出層的 3 個權重系數 HOW、輸出層神經元的 1 個閾值 Ob。同理,可以確定 net2 和 net3 的參數,具體見表 2。

2.1.2 傳統 ANN 模型的評價 將 data_2、data_3、data_4、data_5 作為 net1 的測試集,data_1、data_3、data_4、data_5 作為 net2 的測試集,data_1、data_2、data_4、data_5 作為 net3 的測試集,使用每組數據的 RMSE 和相對誤差率(relative error,RE)對傳統 ANN 模型的性能進行評價。
根據我國《體外診斷檢驗系統自測用血糖監測系統通用技術條件》(GB/T 19634-2005),血糖儀的準確度應當符合要求:當血糖濃度大于 4.2 mmol/L(75.59 mg/dL)時,允許偏差不超過±20%;當血糖濃度小于或等于 4.2 mmol/L 時,允許偏差不超過±0.83 mmol/L(14.93 mg/dL)。
從表 3 可以看出,net1 對 data_4 預測的 RE 小于 20%,而對 data_2、data_3、data_5 預測的 RE 均超過 20%,說明 net1 對 data_4 具有較好的預測效果,而對 data_2、data_3、data_5 預測效果較差。同理可以得出,net2 對 data_1、data_3、data_4 的預測效果較好,而對 data_5 的預測不滿足要求;net3 對 data_1 的預測效果較好,對 data_2、data_4、data_5 的預測不滿足要求。雖然三個 ANN 對某些數據具有較好的預測效果,但對其余數據的預測效果并不理想,說明單一的 ANN 缺乏穩健性,不利于模型的推廣使用。

2.2 PSO-2ANN 模型的建立與評價
2.2.1 PSO-2ANN 模型的建立 因為人體血糖和近紅外吸收光譜之間兼具線性和非線性關系,傳統 ANN 模型只側重刻畫非線性關系,因此對其它數據的測試精度不夠高,并且傳統 ANN 在進行校正的過程中需要同時調節多個參數。為降低模型校正的復雜度(對模型進行修正只需要調節一個參數),本文提出一種基于 PSO-2ANN 的近紅外光譜血糖建模方法:選取 2.1 部分訓練的三個 ANN 中穩健性相對較好的兩個 ANN 作為該模型的子模塊,使用粒子群算法對兩個網絡的權重系數進行優化,最終得到預測性能較好的模型——PSO-2ANN 模型。該模型的算法流程如圖 3 所示。

(1)神經網絡的選擇
根據表 3 的數據分析可知,對于整體數據而言,net1 的預測性能比較差,故而舍棄 net1,將 net2 和 net3 作為后續網絡的子網絡。
(2)總網絡拓撲結構的確定
上述內容確定了將 net2 和 net3 作為總模型的子模塊,即滿足 net = a × net2 +(1 — a)× net3[這里的 a 表示的是 net2 的權重系數,那么(1 — a)表示的是 net3 的權重系數]。得到總模型的拓撲結構,如圖 4 所示。

(3)參數 a 的優化
粒子群算法是基于鳥群覓食活動提出的一種優化算法,具有快速、易實現等優點,因此被廣泛應用于極值問題、參數優化等問題的求解[10]。
粒子群算法原理:如果用鳥群覓食過程代替優化過程,那么空中覓食的一只“鳥”和解空間中的“粒子”對應,“粒子”的位置就對應一個解,“食物”對應的是最優的目標函數值,“食物”的位置就相當于最優解,優化過程“粒子”新位置(新解)產生的機制與“粒子”速度的大小和方向有關。
設:
表示的是粒子 i 當前的位置;
表示的是粒子 i 的飛行速度;
表示的是粒子 i 在迭代過程中最優的位置,這里以求目標函數最小值為例。
將目標函數值表示為f(x),那么Pi的確定公式如下:
![]() |
假設群體中粒子的個數為 s,所有粒子的最優位置為Pg,即對應的是全局最優解。那么
![]() |
基于前面的定義,粒子新位置的產生機制如下:
![]() |
![]() |
式(3)中c1表示自身經驗的加速常數,c2表示其它粒子共享信息的加速常數;r1和r2是[0, 1]之間的隨機常數,體現了粒子群算法的隨機性;w表示的是慣性因子;α表示的是約束因子,控制搜索步長。需要注意的是,
,
。
以人體血糖的實際值和預測值之間的 RMSE 作為目標函數(又稱適應度值),解空間為[0, 1]的參數 a 作為粒子的位置向量,粒子新位置向量的產生由粒子自身的經驗和其它粒子共享的信息共同決定。通過一定的機制不斷調節粒子群的速度和位置,記錄各粒子在歷次迭代中的最優位置和最優適應值,最終在粒子群中通過最優適應值確定最佳位置,即滿足最小預測誤差的參數 a 的值。
分別用五組數據中的前 2 個數據樣本作為訓練集,剩余數據樣本作為測試集,利用粒子群算法對模型參數 a 進行優化,得到各組數據的最優參數和 RMSE,如表 4 所示。圖 5 所示為血糖濃度預測值和實際值的擬合程度。


橫標
index
2.2.2 PSO-2ANN 模型的評價 以每組數據的 RMSE、RE 和克拉克誤差網格(Clarke error grid,CEG)作為 PSO-2ANN 模型性能的評價指標。
(1)RMSE 和 RE
利用粒子群算法優化后的模型對 5 天 5 組數據分別進行預測,得到如表 5 所示的 RMSE 和 RE。與表 3 對比可以看出,相對于傳統的 ANN 模型而言,PSO-2ANN 模型的預測精度和穩健性都提高了很多。本實驗所采集的血糖濃度均在 4.2 mmol/L 以上,因此可以得出 PSO-2ANN 的模型滿足相應的要求。

(2)克拉克誤差網格
克拉克誤差網格因為充分考慮了四個因素而成為對血糖預測精度進行評價的“金標準”。這四個因素分別是:血糖濃度預測值的絕對值、預測值偏離實際值的絕對值、前面兩種絕對值的相對偏差、偏差的臨床意義[11]。區域 A 滿足實測值和估計值之間的誤差在 10% 以內,具有較高的預測精度;區域 B 常被稱為良性區域,表示實測值和估計值之間的誤差在 20%。在臨床上,分布在區域 A 和 B 內的點是可以被接受的,分布在區域 C、D、E 內的點因存在較大的風險不能作為臨床的診斷依據。PSO-2ANN 模型的克拉克誤差網格如圖 6 所示。

由圖 6 可以看出,PSO-2ANN 模型的血糖預測值都集中地分布在區域 A 和區域 B 內。統計得到:data_1 分布在區域 A 的比重約為 66.7%,分布在區域 B 的比重約為 33.3%;data_2 和 data_3 分布在區域 A 的比重為 100%,分布在區域 B 的比重為 0;data_4 分布在區域 A 的比重約為 83.3%,分布在區域 B 的比重約為 16.7%;data_5 分布在區域 A 的比重約為 25.0%,分布在區域 B 的比重約為 75.0%。結合前面模型預測的 RMSE 和 RE 可以認為,PSO-2ANN 模型具有比較理想的精度和穩健性。
3 PSO-2ANN 模型的可靠性分析
為了進一步驗證 PSO-2ANN 的可靠性,在獲得志愿者知情同意后,按照第 1 部分介紹的實驗流程分別對 10 個志愿者的血糖濃度和左手食指的 1 550 nm 近紅外光譜信號進行測量,得到 10 組來自不同個體的數據,分別記為 data_a、data_b、data_c、data_d、data_e、data_f、data_g、data_h、data_i、data_j。分別使用 net1、net2、net3 和 PSO-2ANN 四個網絡對 10 組數據進行預測,得到 RMSE、RE 和克拉克誤差網格分別如表 6、表 7 所示。


分析表 6、表 7 的數據可以發現:總體而言,PSO-2ANN 模型相對于 net1、net2 和 net3 具有更高的預測精度,10 例個體中只有 1 例個體的預測 RE 大于 20%;落在區域 A 和區域 B 之間的比重為 98.28%,均高于 net1、net2、net3。由此可以得出結論:PSO-2ANN 模型相對于傳統的 ANN 模型在精度和穩健性方面均有所改進;但 PSO-2ANN 模型并不對所有的個體都具有良好的預測效果,所以 PSO-2ANN 模型仍存在一定的局限性。
4 結語
本文針對近紅外光譜無創血糖檢測技術的原理和模型精度的問題,提出了一種基于 PSO-2ANN 的建模方法。該模型以兩個不同結構的 ANN 作為總網絡的子模塊,在此基礎上使用粒子群算法優化兩個子模塊的權重系數,進而得到最優的雙 ANN 模型。
根據模型對訓練集和測試集的預測效果,該模型具有如下優勢:
(1)雖然模型的輸入變量只有一個(1 550 nm 近紅外吸光度),但是結合 RMSE、RE 和克拉克誤差網格三個評價指標,該模型的預測性能比較理想,且通過對比預測值和實測值結果,該模型具有良好的穩健性。
(2)同一個體可能因為外界環境、心情、精神狀態等因素的影響,每天血糖的變化規律會出現一定程度的差異性。本文以兩個結構和參數確定的神經網絡作為模型的子模塊,這種差異性只需要通過調節 1 個參數進行修正。
但是該模型也存在一些不足:
(1)因為實驗數據來自于血糖正常的受試對象,其血糖分布范圍較窄,所以該模型對不同糖尿病患者的適用性有待進一步驗證。
(2)因為影響人體血糖濃度的因子有很多,如一天中不同的時間段、體溫、血壓、脈搏、環境溫濕度等,而本文只是單一地考慮了 1 550 nm 的近紅外吸光度,雖然模型獲得了比較理想的精度,但與實驗過程中受試者在不同次測試中盡量保持嚴格的測試條件有關,避免了其它因素對結果的影響。而在實際應用中,使用者可能并不能保證不同次測量之間測試條件的一致性,不可避免地帶來一些不確定的干擾因素,因此在后續的研究中,需將這些參數考慮進來。
(3)PSO-2ANN 模型雖然在一定程度上能夠克服個體差異性,但是對 10 名志愿者 1 550 nm 光譜預測的結果仍存在一定不足,所以后期還需要進行改進。