呂艷偉 李文桓 田 偉 陳大方 段芳芳 王立芳 劉志科
【提 要】 目的 評(píng)價(jià)基于不同核函數(shù)構(gòu)建的退行性頸椎病支持向量機(jī)高危人群篩查模型的優(yōu)劣,為退行性頸椎疾病高危人群的篩查提供工具支持。方法 利用北京地區(qū)社區(qū)人群骨科退行性疾病研究數(shù)據(jù)庫(kù),采用線(xiàn)性核、多項(xiàng)式核、Sigmoid核和高斯核函數(shù)構(gòu)建支持向量機(jī)模型,并根據(jù)十折交叉驗(yàn)證率最大的標(biāo)準(zhǔn)確定核函數(shù)參數(shù)。根據(jù)約登指數(shù)最大化的標(biāo)準(zhǔn)選擇切點(diǎn)值,計(jì)算模型相應(yīng)的靈敏度、特異度和預(yù)測(cè)準(zhǔn)確率。采用ROC曲線(xiàn)評(píng)價(jià)不同核函數(shù)構(gòu)建的模型的性能。結(jié)果 在四種核函數(shù)計(jì)算的支持向量機(jī)模型中,多項(xiàng)式核函數(shù)計(jì)算ROC曲線(xiàn)下面積最大,為0.6928(95%CI:0.6502~0.7355),但不同核函數(shù)的ROC曲線(xiàn)下面積的95%CI存在重疊,尚未發(fā)現(xiàn)不同核函數(shù)建立本模型的優(yōu)勢(shì)。結(jié)論 可利用該模型進(jìn)行高危人群篩查,但未發(fā)現(xiàn)不同核函數(shù)構(gòu)建的支持向量機(jī)模型性能的差別。
退行性頸椎病是頸椎間盤(pán)組織退行性改變及其繼發(fā)病理改變累及周?chē)M織結(jié)構(gòu)(神經(jīng)根、脊髓、頸動(dòng)脈、交感神經(jīng)等),出現(xiàn)相應(yīng)的臨床表現(xiàn)[1]。退行性頸椎病患病率高[2-4]。頸痛是退行性頸椎病的常見(jiàn)癥狀,48.5%的人在一生中經(jīng)歷頸痛,使用屏幕等工作者的頸痛的年患病率高達(dá)55%[5-6]。退行性頸椎病的疼痛麻木等臨床癥狀與患者抑郁和失眠相關(guān),影響患者的生活質(zhì)量[7-9]。根據(jù)全球疾病負(fù)擔(dān)2013的研究報(bào)告,在全球188個(gè)國(guó)家301種疾病和損傷中,頸痛是十大影響疾病負(fù)擔(dān)的疾病之一,全球順位第四,在我國(guó)順位第二[10]。隨著老齡社會(huì)的到來(lái),退行性頸椎疾病導(dǎo)致的疾病負(fù)擔(dān)可能進(jìn)一步增加。由于頸椎重要的解剖位置,退行性頸椎病不但影響生活質(zhì)量,降低社會(huì)勞動(dòng)力,甚至威脅生命。從患病率和疾病負(fù)擔(dān)兩個(gè)指標(biāo)衡量,退行性頸椎病是需要干預(yù)的慢性非傳染性疾病之一。高危人群策略是一種節(jié)省成本,效率比較高的健康保護(hù)策略[11]。篩選高危人群是實(shí)施高危人群策略的關(guān)鍵。通過(guò)篩選疾病的危險(xiǎn)因素,建立疾病的發(fā)病風(fēng)險(xiǎn)預(yù)測(cè)模型,定量計(jì)算其發(fā)病風(fēng)險(xiǎn)值,精確篩選高危人群是值得推薦的方法。目前尚無(wú)退行性頸椎疾病的高危人群篩查方法。支持向量機(jī)(support vector machine,SVM)是一種新型的機(jī)器學(xué)習(xí)算法[12-13]。SVM是一種新的模式識(shí)別方法,對(duì)解決非線(xiàn)性、小樣本及維度困擾等問(wèn)題具有獨(dú)特的優(yōu)勢(shì)。但不同核函數(shù)影響到該模型的分類(lèi)性能[14]。本研究旨在利用基于社區(qū)人群的數(shù)據(jù),比較基于不同核函數(shù)構(gòu)建的退行性頸椎病支持向量機(jī)高危人群篩查模型的優(yōu)劣,為退行性頸椎疾病高危人群的篩查提供工具支持。
其基本原理是將輸入向量通過(guò)核函數(shù)定義的非線(xiàn)性特征影射,將其映射到具有更高維特征的空間,從而實(shí)現(xiàn)線(xiàn)性可分,然后在新的高維特征空間中構(gòu)造最優(yōu)分類(lèi)超平面。最優(yōu)分類(lèi)平面不僅要保證將兩類(lèi)樣本錯(cuò)分個(gè)數(shù)最少,還要求分類(lèi)間隔最大[15]。最終實(shí)現(xiàn)對(duì)樣本的分類(lèi)決策。SVM的優(yōu)化準(zhǔn)則為最大化類(lèi)間邊際(margin,即圍繞決策面的區(qū)域,由訓(xùn)練集樣本與決策面間的最小距離確定)。通過(guò)最大化邊際可使支持向量個(gè)數(shù)最小化。由支持向量決定分類(lèi)決策函數(shù)。理論和實(shí)驗(yàn)結(jié)果表明SVM學(xué)習(xí)算法可以產(chǎn)生大邊際分類(lèi)器并有較好的泛化性能。當(dāng)傳統(tǒng)統(tǒng)計(jì)方法效果不佳或不能達(dá)到目的時(shí),應(yīng)用SVM建模分析往往能獲得良好效果。SVM 的分類(lèi)決策函數(shù)為[16]:
其中K(·)為核函數(shù),x為待分類(lèi)樣本,訓(xùn)練樣本集為(xi,yi),i=1,…,n,n為訓(xùn)練樣本個(gè)數(shù),xi∈Rd為訓(xùn)練樣本,yi∈{+1,-1}是樣本xi的類(lèi)標(biāo)記,SV為支持向量集,是訓(xùn)練樣本集的一個(gè)子集。參數(shù)αi≥0通過(guò)訓(xùn)練(解優(yōu)化問(wèn)題)得到。

其中:C≥αi≥0
類(lèi)間交迭由懲罰權(quán)C>0控制,C=0則不允許交迭。C為某個(gè)指定的常數(shù),它實(shí)際上起控制對(duì)錯(cuò)分樣本懲罰程度的作用,實(shí)現(xiàn)在錯(cuò)分樣本的比例與算法復(fù)雜度的折中。b是分類(lèi)的閾值,可由下式求得:
yi(w·xi+b)-1≥0,i=1,…,n
(1)線(xiàn)性核函數(shù):K(x,xi)=(x·xi)
(2)多項(xiàng)式核函數(shù):K(x,xi)=[(x·xi)]q
(3)Sigmoid核函數(shù):K(x,xi)=tanh(v(x·xi)+c)
(4)高斯核函數(shù):K(x,xi)=exp{-(x-xi)2/σ2}
將訓(xùn)練數(shù)據(jù)集分成k份相等的子集,每次將其中k-1份數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),而將另外一份數(shù)據(jù)作為測(cè)試數(shù)據(jù)。這樣重復(fù)k次,根據(jù)k次迭代后得到的MSE平均值來(lái)估計(jì)期望泛化誤差,最后選擇一組最優(yōu)的參數(shù)。留一法是k-交叉驗(yàn)證的特例,即每次用n-1個(gè)數(shù)據(jù)(n為訓(xùn)練數(shù)據(jù)集大小)訓(xùn)練,而用另一個(gè)數(shù)據(jù)測(cè)試。
本研究的數(shù)據(jù)分為訓(xùn)練集和測(cè)試集兩個(gè)部分:設(shè)置種子數(shù),從總體數(shù)據(jù)中隨機(jī)抽取70%的數(shù)據(jù)形成訓(xùn)練集,用于模型的構(gòu)建;剩余的30%形成測(cè)試集,用于模型的評(píng)價(jià)。建模分析軟件選用的是R軟件,其中支持向量機(jī)算法采用的為R軟件中的e1071工具包。不同核函數(shù)的模型最優(yōu)參數(shù)根據(jù)十折交叉驗(yàn)證率最大的標(biāo)準(zhǔn)進(jìn)行確定。基于測(cè)試集對(duì)建立的模型進(jìn)行ROC評(píng)價(jià),根據(jù)約登指數(shù)最大化的標(biāo)準(zhǔn)選擇切點(diǎn)值,計(jì)算模型相應(yīng)的靈敏度、特異度和預(yù)測(cè)準(zhǔn)確率。
本研究的對(duì)象來(lái)源于2010年北京地區(qū)社區(qū)人群骨科退行性疾病研究數(shù)據(jù)庫(kù),共包含3859例研究對(duì)象,其中,退行性頸椎疾病患者531例(13.76%)。退行性頸椎疾病的診斷采用文獻(xiàn)[1]中的診斷標(biāo)準(zhǔn)。本研究中的危險(xiǎn)因素為經(jīng)logistic回歸模型篩選的因素,賦值參見(jiàn)表1。

表1 變量賦值表
采用高斯核函數(shù)構(gòu)建SVM時(shí),不同參數(shù)對(duì)應(yīng)的十折交叉驗(yàn)證率見(jiàn)表2。根據(jù)十折交叉驗(yàn)證率的結(jié)果,采用高斯核函數(shù)構(gòu)建SVM的最優(yōu)參數(shù):gamma=1/50,懲罰系數(shù)C為50。

表2 不同參數(shù)的高斯核SVM總體人群十折交叉結(jié)果
根據(jù)線(xiàn)性核函數(shù)的不同參數(shù)預(yù)測(cè)準(zhǔn)確性的結(jié)果(表3),線(xiàn)性核SVM的最優(yōu)參數(shù)為懲罰系數(shù)C為0.1,據(jù)此建立線(xiàn)性核函數(shù)SVM模型。

表3 線(xiàn)性核函數(shù)不同參數(shù)構(gòu)建SVM模型的預(yù)測(cè)準(zhǔn)確性
根據(jù)不同參數(shù)多項(xiàng)式核函數(shù)構(gòu)建的SVM模型的十折交叉準(zhǔn)確率,另考慮到參數(shù)degree越大,C越大,越容易出現(xiàn)過(guò)擬合的情況,多項(xiàng)式核函數(shù)的最佳參數(shù)為gamma=1/30,d=2,C=5。
根據(jù)不同參數(shù)Sigmoid核構(gòu)建的SVM模型十折交叉驗(yàn)證率,Sigmoid核函數(shù)的最佳參數(shù)為gamma=1/100,C=5。
從ROC曲線(xiàn)下面積AUC考慮,在四種核函數(shù)計(jì)算的SVM模型中,多項(xiàng)式核函數(shù)計(jì)算出的模型最優(yōu)(圖1),AUC為0.6928(95%CI:0.6502~0.7355),預(yù)測(cè)準(zhǔn)確率為57.64%(表4)。但是不同核函數(shù)的ROC曲線(xiàn)下AUC 95%CI存在重疊,尚未發(fā)現(xiàn)不同核函數(shù)建立本模型的優(yōu)勢(shì)。

圖1 4種核函數(shù)構(gòu)建的SVM模型ROC曲線(xiàn)

指標(biāo)AUCAUC 95%CI靈敏度(%)特異度(%)預(yù)測(cè)準(zhǔn)確率(%)高斯核0.67460.6284~0.720867.1061.2462.12線(xiàn)性核0.69000.6473~0.732765.8167.0966.89多項(xiàng)式核0.69280.6502~0.735577.4254.1357.64Sigmoid核0.68780.6452~0.730564.5265.3765.23
基于隊(duì)列研究設(shè)計(jì)在區(qū)分危險(xiǎn)因素與患病結(jié)局之間的因果先后順序的優(yōu)點(diǎn),大部分的疾病風(fēng)險(xiǎn)預(yù)測(cè)模型是基于隊(duì)列資料建立的。隊(duì)列研究設(shè)計(jì)可以有效地建立疾病的發(fā)病預(yù)測(cè)模型。諸如糖尿病模型、Framingham的心血管疾病預(yù)測(cè)模型等[17-18]。目前尚無(wú)關(guān)于退行性頸椎疾病的發(fā)病風(fēng)險(xiǎn)預(yù)測(cè)模型。本研究的主要目的之一是篩選退行性頸椎疾病的高危人群,并能夠定量評(píng)估其風(fēng)險(xiǎn)值。本研究建立的風(fēng)險(xiǎn)預(yù)測(cè)模型不是判斷研究對(duì)象是否患有退行性頸椎疾病,而是主要用于退行性頸椎疾病高危人群的篩查。其首要目的是在大規(guī)模人群中簡(jiǎn)便地找出未被診斷但高危的退行性頸椎疾病人群,建議其改變不良的生活行為特征,從而達(dá)到延緩或減少退行性頸椎疾病發(fā)生的目的。根據(jù)Kazemi-Naeini M等利用橫斷面研究設(shè)計(jì),預(yù)測(cè)糖尿病患者周?chē)窠?jīng)病變的SVM模型,其預(yù)測(cè)準(zhǔn)確率達(dá)到76%[19]。該研究結(jié)果表明,在目前尚無(wú)其他退行性頸椎疾病高危人群篩查模型的情況下,利用該模型進(jìn)行高危人群篩查是可以接受的。
SVM由Vapnik等在1992年推出后,受到了廣泛的關(guān)注并得到了全面深入的發(fā)展。SVM已成為機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘領(lǐng)域的標(biāo)準(zhǔn)工具。SVM集成了最大間隔超平面、Mercer核、凸二次優(yōu)化、稀疏解和松弛變量等多項(xiàng)技術(shù),主要用于模式分類(lèi)和回歸估計(jì)。SVM核心是結(jié)構(gòu)風(fēng)險(xiǎn)最小化。它根據(jù)有限的樣本信息在機(jī)器的學(xué)習(xí)能力和復(fù)雜性之間尋求最佳折中。與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法相比,SVM克服了局部極小和維數(shù)災(zāi)難等問(wèn)題,泛化能力明顯提高[20]。SVM是一種在特征空間實(shí)施線(xiàn)性判決的學(xué)習(xí)算法,且其特征空間由核函數(shù)隱式定義。從理論層面考慮,核函數(shù)有很大的選擇空間。但在實(shí)際操作層面,如何選擇合適的核函數(shù)存在困難[21]。一般通用核函數(shù),諸如Gaussian核函數(shù)、線(xiàn)性核函數(shù)等可以解決一部分問(wèn)題。對(duì)于SVM模型,核函數(shù)的構(gòu)造非常重要,而核函數(shù)中參數(shù)的確定亦非常關(guān)鍵。對(duì)于同一個(gè)核函數(shù),參數(shù)不同,其性能差別可能很大[22]。核函數(shù)參數(shù)選取方法主要有:經(jīng)驗(yàn)選擇法、實(shí)驗(yàn)試湊法、梯度下降法、交叉驗(yàn)證法、Bayesian 法等[14]。在本研究中,采用的是交叉驗(yàn)證技術(shù)。本技術(shù)的基本思想是通過(guò)測(cè)試非訓(xùn)練樣本在固定參數(shù)值上的分類(lèi)錯(cuò)誤率,通過(guò)持續(xù)地修正參數(shù),達(dá)到測(cè)試錯(cuò)誤率最小的目的[23]。本方法在參數(shù)選擇上采用遍歷所有參數(shù)的方法,即在參數(shù)空間無(wú)窮盡搜索,測(cè)試每一組可能的參數(shù)組合,測(cè)試SVM模型,進(jìn)而找到效果最好的參數(shù)組合[21]。采用交叉驗(yàn)證法進(jìn)行核函數(shù)參數(shù)的確定,其計(jì)算量非常大。另外,當(dāng)參數(shù)超過(guò)兩個(gè)時(shí),將難于實(shí)現(xiàn)。此時(shí)可以考慮留一法進(jìn)行參數(shù)的計(jì)算和確定[24-25]。
在本研究中,陽(yáng)性樣本退行性頸椎疾病患者為531例,占總樣本的13.76%;陰性樣本非退行性頸椎疾病例數(shù)為3328例,占84.24%。陽(yáng)性樣本與陰性樣本的比例約1∶6,存在類(lèi)間分配不平衡的問(wèn)題。這可能是造成模型預(yù)測(cè)準(zhǔn)確率較低、AUC較小的原因。在支持向量機(jī)建模中,可采用SMOTE算法處理此問(wèn)題[19]。根據(jù)Sun T等一項(xiàng)隊(duì)列研究的結(jié)果,采用SMOTE進(jìn)行數(shù)據(jù)構(gòu)建早期肺癌SVM預(yù)測(cè)模型,其ROC曲線(xiàn)下面積為0.949(P<0.001),預(yù)測(cè)性能良好[26]。SMOTE法按照一定的規(guī)則生成了新的樣本,引入了新的信息,同時(shí)結(jié)合欠抽樣,隨機(jī)減少多數(shù)類(lèi)的樣本,避免了隨機(jī)過(guò)抽樣的局限性,在一定程度上避免了過(guò)學(xué)習(xí)的問(wèn)題[27]。在后續(xù)的研究中將結(jié)合SMOTE算法進(jìn)一步進(jìn)行SVM模型的構(gòu)建。