?

基于權值多樣性的半監督分類算法

2021-09-18 06:21毛銘澤曹芮浩閆春鋼
計算機應用 2021年9期
關鍵詞:權值梯度損失

毛銘澤,曹芮浩,閆春鋼

(同濟大學電子與信息工程學院,上海 201804)

(*通信作者電子郵箱yanchungang@#edu.cn)

0 引言

近年來,機器學習領域的研究十分火熱,尤其是監督學習的算法研究,更是在許多的應用領域中取得了成功,但是取得完全監督的訓練數據是一件很困難且耗費巨大資源的事情,因此,弱監督學習方法的研究引起了越來越多學者的關注。依據訓練數據類型,弱監督學習研究[1]主要分為以下三類:不完全監督(incomplete supervision)、不明確監督(inexact supervision)和不準確監督(inaccurate supervision)三種。不完全監督是指在只有少量的標注數據、大量未標注數據的情況下進行學習,主動學習(active learning)和半監督學習(semisupervised learning)是研究中最常見的兩種方案。其中主動學習[2]是指利用方法對未標注的數據打上假定正確的標簽,使用標簽補充完整的數據集進行模型的訓練;而半監督學習[3-5]是指在學習標注數據的基礎上,再利用未標注數據增強分類學習的性能。不明確監督是指數據樣本僅僅具有粗粒度的標簽,但沒有具體樣本的準確標注[6]。不準確監督是指訓練數據的標注并不完全置信[7-8],其中可能存在著錯誤標注的樣本。也就是說在這種情形下,需要在存在噪聲數據的情況下學習分類模型。

相對不明確監督和不準確監督而言,不完全監督通過更好地利用未標注數據來擴充訓練空間,提升學習性能。其中,半監督學習的方案是不需要人工干預的一種學習方法。半監督學習方法一共分為四類,分別為生成方法(generative method)、基于圖的方法(graph-based method)、低密度分離法(low-density method)以及基于分歧的方法(disagreementbased method)。

生成方法認為標注數據和未標注數據都是來源于同一模型,其中有基于期望最大化(Expectation-Maximization,EM)算法的模型[9]、基于特征和標簽混合聯合概率的方法[10],以及結合EM 算法和樸素貝葉斯(Naive Bayes)的模型[11]?;趫D的方法[12-14]的基本思路是對所有數據樣本構建一張圖,其中節點表示數據樣本點,邊表示數據樣本點之間的某種距離度量,并設計某些標準來給未標注的數據打上偽標簽(pseudolabel)。低密度分離法認為模型的分類邊界應該穿過輸入特征空間下的低密度區域,以此更好地區分數據樣本[15-17]?;诜制绲姆椒ㄊ抢枚鄠€學習器對未標注樣本進行分類,并在訓練過程中促使不同的學習器對同一未標注樣本的預測結果不同,保證分歧是訓練的基礎。協同訓練(co-training)[18]、三體訓練(tri-net)[19]是其中經典的方法,在此之外還有利用將集成學習和半監督學習結合的方法,進一步強化多個基學習器之間的分歧[20-21],利用未標注數據來增加模型的多樣性,提升模型泛化性能。

相較于直接或間接對未標注數據給出標注的方法,基于分歧的半監督集成方法表現出更好的客觀性與泛化性。例如基于未標注數據強化集成多樣性(Unlabeled Data to Enhance Ensemble Diversity,UDEED)算法[22]利用未標注數據進行數據特征與信息的學習。而且該算法基于集成模型多樣性的考慮,認為不同的基學習器應對同一未標注數據給出不同的結果,使得基學習器對于未標注數據的預測分歧不斷增加。在UDEED 算法的啟發下,本文提出了UDEED+——一種基于權值多樣性的半監督分類算法,采用基于權值的基學習器多樣性度量模塊,使用未標注數據擴展基學習器的多樣性。然后在損失函數中增加權值多樣性損失項,在模型訓練過程中進一步鼓勵集成模型中基學習器的多樣性,在保證模型對于標注數據學習效果的基礎上,利用未標注數據擴充訓練樣本空間,提升模型的泛化性能。

本文的工作主要有:1)基于余弦相似度提出基學習器之間多樣性分歧的度量方法;2)結合基學習器對未標注數據的預測分歧以及基學習器之間的分歧,提出一種半監督損失函數,并使用梯度下降優化該函數,進一步提升基學習器的多樣性。

1 預備知識

半監督集成學習算法的基本思想是通過增大集成模型的多樣性來加強模型的泛化性能。該方法的基本步驟是通過在標注數據上精確分類,學習得到一個初始算法模型,并在此基礎之上利用未標注數據來增加模型的多樣性,最大化分類正確率的同時,也最大化模型的多樣性。

1.1 半監督集成學習問題

半監督學習問題是不完全監督研究方法中的一種,主要研究在僅有少量標注訓練樣本的情況下,如何利用大量的未標注數據提升模型性能。

首先,訓練數據集?∈Rd表示訓練數據的輸入特征為實數,且特征空間為d維列向量;標簽Y={1,1},其中1 表示正樣本,-1 表示負樣本。在全集?中:標注數據集合L={(xi,yi)|1 ≤i≤numL},L的大小為numL,其中xi∈?,yi∈Y,未標注數據集U的 大 小 為numU,U={xi|numL+1 ≤i≤numL+numU},其中xi∈?。然后,利用數據集L和U,訓練一組m個基學習器{fk(x)|1 ≤k≤m},將基學習器fk(x) 的輸出映射到區間[ -1,1]內,并且將(fk(xi)+1)/2 的值作為第k個基學習器將xi預測為正樣本的概率值,范圍在區間[0,1]內。

1.2 半監督算法基本原理

以UDEED 算法為例,該算法的訓練目標在最大化分類正確率的同時,也最大化模型的多樣性,這是通過優化一個全局損失函數(1)做到的:

其中:f={f1,f2,…,fm}是一組m個基學習器的集合。γ是經驗損失和多樣性的重要性平衡參數。D是用作增加多樣性的訓練數據集,有兩種選項,一種是用U填充;另一種是用L+={xi|1 ≤i≤numL}填充,L+表示的是去掉標注信息,只保留輸入特征信息的原始標注樣本集合L,所以D=U或者是D=L+。Vemp是經驗損失函數項,該項是傳統的優化標注數據分類效果的一項,通過計算基學習器在標注數據集合L上的損失值,來表征當前迭代輪次的分類效果,值越小效果越好,用式(2)計算。Vdiv是多樣性損失函數項,基于未標注數據集D使用式(3)計算得到。

其中:l(fk,L)計算的是一個基學習器的經驗損失值。

在式(3)對基學習器多樣性的量化計算中,采用的是對基學習器兩兩配對組合的成對計算方式來衡量多樣性,對于d(fp,fq,D)的計算見式(4)。

由于f(xi)的輸出值是在區間[ -1,1]內的,因此如果fp和fq對xi是否為正樣本的預測結果一致,那么fp(xi)fq(xi)的值是正的;相反地,如果fp和fq對xi是否為正樣本的預測結果不同,那么fp(xi)fq(xi)的值是負數。

UDEED 的目的是鼓勵基學習器的多樣性,也就是希望產生更多不同的、更多樣的m個基學習器。UDEED 認為,這種多樣和不同是通過基學習器對同一樣本的預測結果不同來體現的,反映到損失函數的計算上,也就是通過梯度下降優化式(3)的值,來鼓勵每一對基學習器產生不同的結果。這種基于結果分歧的鼓勵多樣性方法,在優化計算時,沒有用到任何給未標注數據打上偽標簽的方法,相較于引言中提到的標注偽標簽的方法,能表現出更好的客觀性和可靠性;同時結合集成學習的基學習器的機制,也更能鼓勵模型的多樣性,以此取得更好的泛化效果。

除了以上全局損失函數的解釋之外,UDEED 在優化(1)之前,先通過標注樣本L初始化基學習器。對于第k個基學習器fk,使用bootstrap[23]對L采樣,形成一個新的樣本集合Lk={(xi,yi)|1 ≤i≤num},num為采樣的樣本規模,然后利用梯度下降對損失函數(5)迭代優化,其中λ是平衡模型復雜度的參數。

UDEED 的訓練流程中,在擴充多樣性時,先設D=L+,基于L+增加基學習器多樣性;然后再設D=U,基于U增加基學習器多樣性。使用這一機制的原因是為了確保標注數據的優先級大于未標注優先級,以此明確標注數據對模型訓練的貢獻度要大于未標注數據集。

UDEED的訓練過程可以概括為三點:

1.3 半監督算法訓練優化過程

針對結構化數據的半監督分類學習模型中,基學習器使用的是邏輯回歸(Logistic Regression,LoR)算法,由于邏輯回歸的輸出值在區間[0,1]內,為了符合Vdiv多樣性損失這一項定義的計算需求,需要將其輸出映射到區間[ -1,1]內;同時為了簡化運算,將bk放到wk中,將wk增加一個維度,變為d+1維的列向量,如式(6)所示:

接著,如式(7)所示,用BLH(fk(xi),yi)這一項表示xi的似然函數:

基學習器的初始化函數(5)的梯度為:

根據式(8)~(9)便可以計算梯度公式,并據此使用梯度下降法,迭代更新基學習器。

接著推導全局損失函數(1)的梯度,如下所示:

根據式(10)~(11)分別計算模型在D上的經驗損失的梯度和多樣性損失的梯度,然后據此使用梯度下降優化基學習器參數,最終得到一組基學習器f*=。

2 本文算法UDEED+

現有的半監督學習(例如UDEED)算法對于模型多樣性的衡量,是基于成對的基學習器對于數據樣本的預測分歧來體現的。當一對基學習器對于同一樣本預測值相同時,會使多樣性損失Vdiv(f,D)增大;預測值相反時,會使其減小。體現在梯度下降優化的過程中,也就是鼓勵每對基學習器對于同一樣本的預測不同,以體現分歧,提升多樣性,本文將這種分歧稱為基于數據預測導向的外分歧?;谌醴诸惼鞯募赡P?,可能會導致泛化性能變弱,因此UDEED 利用未標注數據的目的是在對標注數據的訓練效果影響相對較小的情況下,提升模型的泛化性能。

在此基礎上,本文提出了基于權值多樣性的半監督分類算法(UDEED+),并引入了余弦相似度來衡量每對基學習器的相似度,該值表示一對基學習器之間基于模型參數的內分歧,將其定義為基學習器的權值多樣性(weight diversity)。通過將基于未標注數據的多樣性與基于基學習器的權值多樣性結合,進一步擴展基學習器的多樣性,進而更好地提升模型的泛化性。在全局損失函數(1)中加入權值多樣性的損失項,在迭代優化的過程中鼓勵每對基學習器之間的余弦相似度越來越大,使得模型多樣性進一步提升,在保證標注數據的預測效果的基礎上,提升模型泛化能力和模型的預測準確性。

2.1 權值多樣性度量方法

第k個基學習器的參數可以用d+1維的列向量wk表示,即如式(12)所示:

采用兩個基學習器之間的余弦相似度表示一對基學習器的分歧度的原因主要是:1)計算方便;2)余弦相似度輸出在區間[-1,1]內,可以表征兩條向量的相似度;3)有明確的物理含義,向量夾角越大分歧度越大,兩條向量越不相似。余弦相似度的計算如式(13)所示:

如果兩個向量在同一空間下比較相似,那么它們的余弦相似度就會接近1;相反,如果兩個向量相對不相似,那么它們的余弦相似度便會接近-1;如果從向量夾角的角度理解,當wi和wj的夾角小于90°時,cos(wi,wj)的值便為正,當wi和wj的夾角大于90°時,cos(wi,wj)的值便為負。兩個夾角越大的向量,越不相似,也意味著這一對基學習器的內分歧越大,即集成的權值多樣性更大。

2.2 權值多樣性損失項及其優化過程

2.2.1 權值多樣性損失

為了在集成學習訓練過程中鼓勵權值多樣性,本文在損失函數中增加權值多樣性損失項,如式(14)所示,成對觀察m個基學習器參數向量w,計算每對基學習器的分歧度,并求和,然后再作歸一化,將Vwdiv的值限制在區間[-1,1]內。

在訓練時,將Vwdiv加到全局損失函數(1)中,在每次迭代更新優化時,同時計算每輪的外分歧和內分歧,確保更新參數時在經驗損失項的基礎上內外分歧的同步。如式(15)所示:

相對于原來的V(f,L,D),改進后的V+(f,L,D),在保證初始模型的準確率的基礎上,通過加上權值多樣性這一項,進一步提升了集成模型的多樣性。

2.2.2 梯度下降優化推導

對于V+(f,L,D)的梯度下降優化計算,其中Vemp(f,L)和Vdiv(f,D)的計算推導可參考1.3 節的內容,不再贅述,本節主要描述V+(f,L,D)中第三項,也就是新添加的權值多樣性損失Vwdiv的梯度求導過程。

首先把cos(wi,wj)展開成向量乘積的形式,這里采用的是和UDEED 中一樣的成對約束,每次計算考慮一對基學習器的向量。

將θ視為整體的參數,θ={w1,w2,…,wm},表示m個基學習器參數向量,也就是迭代優化的對象。

將求導項展開,得到:

假設1 ≤p≤d+1,1 ≤q≤d+1,則式(20)的矩陣中的第p列、第q行的元素值為:

可以得到式(22)中的求導結果:

根據式(22),展開式(20)中的矩陣,可得:

對式(23)中的矩陣整理后,可得:

將式(24)代入式(18)~(19)可得最終的求導結果:

計算完所有的導數之后,接下去進行梯度下降的優化:

其中:lr是梯度下降的學習率;γ1和γ2用來平衡內外分歧對損失函數的貢獻程度,本文設置γ1=γ2,以此假定兩者對損失函數的貢獻程度相等。

2.3 UDEED+算法流程

基于權值多樣性的半監督分類算法UDEED+如下:

算法 改進的基于權值多樣性的半監督算法UDEED+。

同樣,本文保持了UDEED 中標注數據的貢獻度高于未標注數據這一假定。

3 實驗與結果分析

3.1 實驗數據集描述與實驗指標

本文在8 個UCI Machine Learning Repository[24]的公開數據集進行實驗,數據集的介紹如表1所示。

表1 實驗中使用的UCI數據集Tab.1 UCI datasets used in experiments

本節實驗首先通過展現隨著迭代次數的增加,損失函數的數值下降的優化過程,驗證梯度下降優化新增的多樣性權值損失項的可行性;接著通過圖例展現隨著迭代次數的增加,各個基學習器的內分歧度也隨之增加,據此驗證基學習器內分歧度,也就是通過余弦相似值來體現基學習器內分歧度的可行性;最后,通過在8 個公開數據集上實驗結果的提升,驗證UDEED+整個算法的改進效果,并以一個數據集為例展示受試者工作特征(Receiver Operating Characteristic,ROC)曲線。

為了避免不均衡數據對實驗指標的影響,本實驗以預測準確率和F1 分數兩個指標衡量模型的性能改進。其中F1 分數的計算是正確率precision和召回率recall的調和平均值,即:

其中:TP(True Positives)表示樣本真實標簽為真,模型預測結果也為真的樣本數;FN(False Negatives)表示樣本真實標簽為真,但被模型錯誤預測為假的樣本數;FP(False Positives)表示樣本真實標簽為假,但被模型預測錯誤預測成了真的樣本數;TN(True Negatives)表示樣本真實標簽為假,模型預測結果也為假的樣本數。表2為具體的評價指標定義。

表2 評價指標定義Tab.2 Definition of evaluation indices

3.2 實驗結果分析

3.2.1 損失函數的優化迭代

圖1 展示的是全局損失函數、樣本多樣性損失項和權值多樣性損失項的梯度下降過程,選取了實驗中的一個數據集qsar來展示這一過程,分別對應式(15)中的V+(f,L,D)、Vdiv(f,D)、Vwdiv(f,D)這三項。從圖1中可以看到,隨著訓練迭代次數的增加,損失函數的值隨之減少,從中可以看到梯度下降的作用,需要解釋的是,在迭代次數400~600,V+(f,L,D)和Vdiv(f,D)這兩項的值有一個驟降,這是因為在這一步,切換了訓練步驟,從第2 步的D=L+切換到了第3 步的D=U訓練,由于這兩項的計算中涉及到D,因此,會在這里出現一個數值的突然變化,但是對權值多樣性損失項沒有影響。從前后兩段,以及整體的更新情況來看,總體損失值下降的趨勢是沒有改變的,這也驗證了本文對于多樣性優化的推導。

圖1 損失函數數值下降過程Fig.1 Decrease process of loss function

3.2.2 基學習器內分歧

圖2 展示的是基學習器權值之間的相似度的熱點圖(截取10 個基學習器以展示這一過程),同樣選取數據集qsar 來展示這一熱點圖的變化過程,其中每張子圖的橫縱坐標分別表示的是第i個基學習器和第j個基學習器之間的余弦相似度cos(wi,wj),也就是分歧度,相似度越數值越小,分歧度越大,圖中的顏色越深。圖2 中的每張子圖從左到右、從上到下分別表示迭代次數為0、100、200、300 時的相似度熱點圖。從圖2 可以看出:相同位置的方塊的顏色也越來越深,分歧度數值在減小,表示兩個基學習器越來越不相似方塊的顏色也越來越深。從整體上看,熱點圖的趨勢體現整體基學習器的分歧越來越大,這也驗證了本文對于基學習器內分歧的考量,體現了在梯度下降優化過程中,在樣本多樣性損失之外,結合基學習器本身的相似分歧度,進一步提高整體基學習器的多樣性,增強模型泛化性能。

3.2.3 實驗指標對比

實驗參數設置上,基學習器個數m=20,學習率lr=0.1,其余幾個影響梯度優化的參數分別設置為λ=1,γ1=1,γ2=1,此外,需要注意的是,梯度下降的停止條件設置為全局損失、樣本多樣性損失項和權值多樣性損失項,只要有一項不再繼續下降,就停止迭代,這一設置的目的主要是避免模型過度擬合,導致模型泛化性能變差。

表3 和表4 分別展示UDEED、UDEED+、S4VM(Safe Semi-Supervised Support Vector Machine)[25]、SSWL(Semi-Supervised Weak-Label)[26]四個半監督分類模型的實驗結果對比。S4VM算法通過融合多個低密度分類器的預測結果來形成最終的預測模型;SSWL 在學習過程中同時考慮樣本和標簽相似度,以此改進模型預測性能。通過與S4VM 和SSWL 的實驗結果對比,展示UDEED+算法對于未標注樣本的學習效果,以此體現多樣性提升對于模型預測性能的正面效果。表3 展示的是正確率指標,從整體的平均結果來看,UDEED+相較于UDEED 提升明顯,提升了1.4 個百分點;對比其他模型,UDEED+也有很好的效果,正確率達到了79.2%,比第二名的SSWL 高了0.7個百分點,比S4VM高了1.3個百分點。在表4展示的F1分數衡量指標中,UDEED+比UDEED 平均提升了1.1 個百分點,僅在seismic數據集上有0.5個百分點的下降。同時對比其他模型,UDEED+的效果也很好,比SSWL 高了1.5 個百分點,比S4VM 高了3.1 個百分點,并在6 個數據集上都取得了最好的效果,平均的F1分數達到了0.656。

表4 UCI數據集上的F1分數對比Tab.4 Comparison of F1 score on UCI datasets

圖3以qsar數據集為例,展示了UDEED、UDEED+、S4VM、SSWL 的ROC 曲線。從圖3 中可以看出UDEED+算法的分類性能相對最優,ROC 曲線下的面積最大,對比其他三個算法,UDEED+算法的ROC曲線性能都有一定的改善。

綜上所述,圖1 中損失函數的下降過程表明了本文方法的可行性;圖2 中對權值多樣性可視化展示表明權值多樣性損失對基學習器內分歧度有提升的作用;表3~4 中展現了UDEED+在正確率和F1 分數上的性能提升;圖3 中展示了模型ROC 曲線上的改進,驗證了權值多樣性對于模型泛化性能的正面影響。

圖3 不同算法的ROC曲線Fig.3 ROC curve of different algorithms

表3 UCI數據集上的正確率對比Tab.3 Comparison of accuracy on UCI datasets

圖2 基學習器權值相似度的熱點圖Fig.2 Heatmap of similarity of weights of base learners

4 結語

本文針對半監督學習中利用多樣性提升模型性能的方法進行研究,并提出一種基于基學習器權值多樣性的半監督分類算法UDEED+,該方法結合基于數據預測的外分歧和基于基學習器權值的內分歧進一步提升了基學習器的多樣性,提升了算法性能。本文目前的實現主要是基于二分類問題,目前看來,之后可以根據多分類問題,探討不同的多樣性損失函數項,同時針對權值多樣性和樣本多樣性之間的關系也可以進行進一步的探討和研究。

猜你喜歡
權值梯度損失
洪澇造成孟加拉損失25.4萬噸大米
一種融合時間權值和用戶行為序列的電影推薦模型
基于應變梯度的微尺度金屬塑性行為研究
兩敗俱傷
一個具梯度項的p-Laplace 方程弱解的存在性
內容、形式與表達——有梯度的語言教學策略研究
航磁梯度數據實測與計算對比研究
財務風險跟蹤評價方法初探
基于洪泛查詢的最短路徑算法在智能交通系統中的應用
損失
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合