梁明賢 梁斌梅 梁 平 羅 威 曾 昭 梁寶琳
(1.廣西大學(xué)計(jì)算機(jī)與電子信息學(xué)院計(jì)算機(jī)系 南寧 530004)(2.梧州市中醫(yī)醫(yī)院 梧州 543002)
廣西蛇傷發(fā)病季節(jié)長(zhǎng)、病例多,在全國(guó)屬于蛇傷高發(fā)區(qū)[1]。烙鐵頭蛇咬傷和竹葉青蛇咬傷是廣西地區(qū)常見(jiàn)的毒蛇咬傷疾病。烙鐵頭蛇和竹葉青蛇均在中國(guó)十大毒蛇之列,其分泌毒液主要含血循毒,其中烙鐵頭蛇毒性較劇烈,竹葉青蛇毒性較弱,這兩種毒蛇咬傷后癥狀相近,除了能清楚看到或抓到蛇,一般很難準(zhǔn)確辨別是烙鐵頭蛇咬傷還是竹葉青蛇咬傷。烙鐵頭蛇蛇毒的半數(shù)致死量為2.76 LD50mg/kg,竹葉青蛇毒的半數(shù)致死量為3.3LD50mg/kg[2]。臨床上常用抗蝮蛇毒血清或抗五步蛇毒血清進(jìn)行烙鐵頭蛇咬傷治療,混合使用抗蝮蛇毒血清和抗五步蛇血清進(jìn)行竹葉青蛇咬傷治療[2]。臨床上一般依靠擁有豐富蛇傷救治經(jīng)驗(yàn)的臨床醫(yī)師綜合蛇傷流行病學(xué)特征和臨床檢查結(jié)果進(jìn)行鑒別[3~4],但大多數(shù)基層醫(yī)療機(jī)構(gòu)缺乏蛇傷救治經(jīng)驗(yàn)的臨床醫(yī)師,往往因誤診而耽誤治療,從而容易危及患者生命。因此,準(zhǔn)確鑒別是烙鐵頭蛇咬傷還是竹葉青蛇咬傷有著重要的臨床意義。
針對(duì)蛇咬傷的鑒別診斷問(wèn)題,李碧晴等[5]運(yùn)用逆流免疫電泳法對(duì)5 種血循毒類(lèi)毒蛇的蛇毒檢測(cè)進(jìn)行研究,該檢測(cè)方法能準(zhǔn)確區(qū)分烙鐵頭蛇毒和竹葉青蛇毒,但檢測(cè)時(shí)間長(zhǎng),不適用蛇傷的快速診斷要求,在臨床上得不到推廣應(yīng)用。陳騰飛等[6]研究尿液中的中性粒細(xì)胞明膠酶相關(guān)脂質(zhì)運(yùn)載蛋白(NGAL)、肝型脂肪酸結(jié)合蛋白(L-FABP)和腎損傷分子-1(KIM-1)這三項(xiàng)實(shí)驗(yàn)室指標(biāo)對(duì)血循毒蛇中竹葉青蛇和烙鐵頭蛇咬傷所致急性腎損傷(AKI)早期診斷的作用,得到肝型脂肪酸結(jié)合蛋白的診斷能力最優(yōu)的結(jié)論。阮國(guó)梅[7]等的研究表明血循毒類(lèi)毒蛇中蝰蛇和竹葉青蛇咬傷治療前和治療后血清淀粉樣板單A(SAA)、超敏C 反應(yīng)蛋白(h-CRP)、白細(xì)胞(WBC)、中性粒細(xì)胞(NEUT)和D-二聚體(D-D)共6 項(xiàng)實(shí)驗(yàn)室指標(biāo)有明顯的差異性,對(duì)蝰蛇和竹葉青蛇的鑒別診斷有較好的價(jià)值。梁明賢[8]等提出利用PNN 神經(jīng)網(wǎng)絡(luò)對(duì)眼鏡蛇咬傷進(jìn)行預(yù)測(cè)診斷,預(yù)測(cè)準(zhǔn)確率達(dá)到87.14%。付永欽[9]的研究提出一種BRC 神經(jīng)網(wǎng)絡(luò)對(duì)銀環(huán)蛇、竹葉青蛇、舟山眼鏡蛇、尖吻蝮、王錦蛇、黃金蟒、玉斑麗蛇、紅尾蚺、紅脖頸槽蛇和鉤盲蛇共10 種蛇類(lèi)圖像進(jìn)行分類(lèi)研究,取得89.061%的分類(lèi)準(zhǔn)確率。張皓洋[10]利用遷移學(xué)習(xí)方法,重新訓(xùn)練Inception-v3卷積神經(jīng)網(wǎng)絡(luò),對(duì)黑蛇、王錦蛇、眼鏡蛇、銀環(huán)蛇和竹葉青蛇這5 種蛇類(lèi)圖像進(jìn)行分類(lèi)研究,取得92.3%的分類(lèi)準(zhǔn)確率。有學(xué)者利用支持向量機(jī)方法對(duì)帕金森[11]、肺癌[12]、急腹癥[13]、乳腺腫塊[14]等疾病輔助診斷進(jìn)行了研究,取得了不錯(cuò)的成果;也有學(xué)者利用主成分分析結(jié)合支持向量機(jī)方法對(duì)中藥進(jìn)行分類(lèi)鑒別,取得較高的精度[15]。本文通過(guò)收集整理烙鐵頭蛇和竹葉青蛇咬傷住院患者的基本信息、生命體征、咬傷病史、蛇形態(tài)特征、局部和全身癥狀數(shù)據(jù),基于主成分分析(Principal Component Analysis,PCA)方法對(duì)特征數(shù)據(jù)進(jìn)行降維處理,再利用支持向量機(jī)(Support Vector Machine,SVM)進(jìn)行分類(lèi)。
本文通過(guò)收集2014 年~2020 年梧州某醫(yī)院蛇傷科明確診斷為烙鐵頭蛇咬傷或竹葉青蛇咬傷的住院病歷各270份,根據(jù)2018年中國(guó)蛇傷救治專(zhuān)家共識(shí)[4],并結(jié)合梧州某醫(yī)院烙鐵頭蛇咬傷診療方案和竹葉青蛇咬傷診療方案,從病歷中提取4 個(gè)患者基本信息特征、5 個(gè)生命體征、5 個(gè)蛇咬傷病史特征、8 個(gè)蛇形態(tài)特征、12 個(gè)局部癥狀特征和11 個(gè)全身癥狀特征,建立540行45列的特征數(shù)據(jù)集。烙鐵頭蛇咬傷和竹葉青蛇咬傷后傷口局部癥狀如圖1、2所示。
圖1 烙鐵頭蛇咬傷(從咬傷到入院時(shí)間5h)
圖2 竹葉青蛇咬傷(從咬傷到入院時(shí)間2.5h)
本文實(shí)驗(yàn)中將收集到的540 組45 個(gè)特征的數(shù)據(jù)進(jìn)行規(guī)范化描述,并轉(zhuǎn)換為數(shù)值表示,作為輸入特征向量X={x1,x2,x3,…,x45},其中x1~x4為基本信息,x5~x9為生命體征,x10~x14為咬傷病史,x15~x22為蛇形態(tài)特征,x23~x34為傷口局部癥狀,x35~x45為全身癥狀,如表1所示。
表1 輸入特征規(guī)范化描述
選取的45 個(gè)特征中,各自對(duì)不同蛇咬傷的影響程度不相同,比如惡心、眼瞼下垂、乏力大多數(shù)屬于神經(jīng)毒類(lèi)毒蛇咬傷所致,血循毒類(lèi)毒蛇基本無(wú)上述3 種癥狀;腫脹、疼痛大多數(shù)屬于血循毒蛇常見(jiàn)的特征,對(duì)這兩種血循毒蛇鑒別診斷意義不大;牙痕間距、牙痕形狀、蛇體色斑、蛇圖譜確認(rèn)特征對(duì)這兩種血循毒蛇咬傷的診斷意義比較大。因此,本文采用主成分分析法(PCA)對(duì)數(shù)據(jù)進(jìn)行降維重構(gòu)。
主成分分析的主要步驟如下。
第一步,將所有樣本進(jìn)行中心化:
第二步,計(jì)算樣本的協(xié)方差矩陣:
其中X={x1,x2,x3,…,xn},n 為樣本總數(shù)。協(xié)方差計(jì)算公式為
第三步,對(duì)協(xié)方差矩陣C 做特征值分解,計(jì)算出特征值λ=(λ1,λ2,λ3,…,λp)和對(duì)應(yīng)特征向量ω={ω1,ω2,ω3,…,ωp},其中λ1≥λ2≥λ3≥…≥λp,p 為特征值個(gè)數(shù)。
第四步,對(duì)特征值從大到小排序,并計(jì)算各個(gè)特征的貢獻(xiàn)率和累積貢獻(xiàn)率,選取k 個(gè)最大特征值的特征向量組成的矩陣作為投影矩陣W={ω1,ω2,ω3,…,ωk}。
本文利用Scikit-learn 庫(kù)中自帶的PCA 模塊進(jìn)行實(shí)驗(yàn),將樣本數(shù)據(jù)進(jìn)行降維,降維后各主成分方差如圖3 所示。因烙鐵頭蛇和竹葉青蛇咬傷特征相近,故選擇累計(jì)方差貢獻(xiàn)率大于95%的最大38個(gè)主成成分特征,能夠包括大部分信息。
圖3 降維后各主成分的特征方差
考慮到臨床數(shù)據(jù)量少,兩種血循毒蛇的特征關(guān)聯(lián)度高,故選取支持向量機(jī)(Support Vector Machine,SVM)作為本實(shí)驗(yàn)的分類(lèi)方法。該方法在解決小樣本問(wèn)題中表現(xiàn)出特有的優(yōu)勢(shì)。支持向量機(jī)實(shí)質(zhì)是一種尋找最優(yōu)超平面的二分類(lèi)方法,可通過(guò)構(gòu)造核函數(shù)把特征數(shù)據(jù)映射到高維向量空間從而把非線性問(wèn)題轉(zhuǎn)化為線性問(wèn)題進(jìn)行處理。烙鐵頭蛇或竹葉青蛇咬傷這兩種血循毒蛇的鑒別診斷問(wèn)題是一個(gè)非線性問(wèn)題,故需要把特征數(shù)據(jù)映射到更高維向量空間,設(shè)φ(x)為x 映射到高維特征空間的映射函數(shù),則該問(wèn)題的目標(biāo)函數(shù)f(x)可表示為
其中:x 為輸入向量,w為權(quán)重向量,φ(x)為映射函數(shù),b為偏置向量。
至此,該非線性問(wèn)題就轉(zhuǎn)化為了線性二分類(lèi)問(wèn)題。
φ(x)映射函數(shù)的維度可能很大,計(jì)算比較困難,因此需要設(shè)置一個(gè)核函數(shù)K(xi,xj),使得任意兩個(gè)原始特征經(jīng)過(guò)核函數(shù)計(jì)算所得出的結(jié)果,是它們?cè)谔卣骺臻g中映射成的新向量的內(nèi)積。
最后運(yùn)用拉格朗日對(duì)偶算法求解最大分隔超平面,最終得到分類(lèi)函數(shù)為
其中:αi為拉格朗日乘子,xi,xj為樣本和樣本所屬標(biāo)簽,K(.)為核函數(shù)。
本文選擇學(xué)習(xí)能力強(qiáng)且誤差小的高斯徑向基核函數(shù)為
其中:σ為核函數(shù)系數(shù)。
算法流程如下。
Step1 劃分訓(xùn)練樣本(x_train,y_train)和測(cè)試樣本(x_test,y_test);
Step2 選擇RBF 核函數(shù)和模型參數(shù),將樣本X映射到高維特征空間;
Step3解拉格朗日函數(shù):
求得最優(yōu)解為a*=(a1*,a2*,a3*,…,an*);
Step4 計(jì)算最優(yōu)權(quán)重值向量w*和最優(yōu)偏置向量b*,分別為
Step5 對(duì) 待 分 類(lèi) 向 量x,計(jì) 算f(x)=sgn(w·函數(shù)值為+1或-1,決定x歸屬哪一類(lèi)。
在支持向量機(jī)分類(lèi)模型中,高斯核函數(shù)系數(shù)σ和正則化參數(shù)C 對(duì)模型影響較大。σ取值和樣本劃分的精細(xì)度有關(guān),σ取值越小,模型越試圖將每個(gè)樣本與其他樣本區(qū)分開(kāi),分的類(lèi)別就越細(xì),容易出現(xiàn)過(guò)擬合;σ取值越大,分的類(lèi)別就越粗,容易出現(xiàn)欠擬合。C取值約束了正則化的強(qiáng)度,C越大,正則化強(qiáng)度越小,容易出現(xiàn)過(guò)擬合;C 越小,正則化強(qiáng)度越大,容易出現(xiàn)欠擬合[16]。因此,本文采用網(wǎng)格搜索方法尋找高斯核系數(shù)σ和正則化參數(shù)C 的最優(yōu)值。
本文實(shí)驗(yàn)在Windows 10 操作系統(tǒng)上進(jìn)行,利用PyCharm 集成開(kāi)發(fā)環(huán)境,版本號(hào)為2021.2.2,python 版本號(hào)為3.7.2。實(shí)驗(yàn)中隨機(jī)劃分訓(xùn)練集362組,測(cè)試集178 組,然后利用訓(xùn)練集尋取最優(yōu)的參數(shù)σ=0.1,C=2.12,最后在測(cè)試集上獲得預(yù)測(cè)準(zhǔn)確率為86%,AUC 值0.90。其中,烙鐵頭蛇咬傷召回率為93%,漏檢率18%,f1 評(píng)分87%;而竹葉青蛇咬傷召回率79%,漏檢率9%,f1 評(píng)分85%。將PCA+SVM 方法的實(shí)驗(yàn)結(jié)果與單SVM 進(jìn)行對(duì)比,發(fā)現(xiàn)比單SVM方法的測(cè)準(zhǔn)確率提高了6%。
本文針對(duì)臨床上對(duì)烙鐵頭蛇咬傷和竹葉青蛇咬傷的鑒別診斷容易誤診的問(wèn)題,基于臨床數(shù)據(jù),利用主成分分析結(jié)合支持向量機(jī)方法建立輔助診斷模型并進(jìn)行了測(cè)試,結(jié)果發(fā)現(xiàn)模型預(yù)測(cè)準(zhǔn)確率達(dá)到86%,比單支持向量機(jī)的預(yù)測(cè)準(zhǔn)確率高出6%。
本文為烙鐵頭蛇咬傷和竹葉青蛇咬傷的臨床鑒別診斷提供了一種簡(jiǎn)單、低成本和可重復(fù)的輔助診斷方法。但本研究只有540 例臨床數(shù)據(jù),數(shù)據(jù)量少,不能代表全部病例,還處在實(shí)驗(yàn)研究階段,尚未進(jìn)行臨床驗(yàn)證。后續(xù)研究將采集更多更全面的臨床樣本數(shù)據(jù),進(jìn)一步提高準(zhǔn)確率,并進(jìn)行臨床驗(yàn)證。