韓 嵩,韓秋弘
北京物資學院 信息學院,北京101149
機器學習的核心是從數據中學習,從數據出發得到未知規律,利用規律對未來樣本進行預測和分析。基于數據的機器學習包括監督學習、無監督學習以及半監督學習。監督學習需要大量已標記類別的訓練樣本來保證良好的性能;無監督學習不使用先驗信息,利用無標簽樣本的特征分布規律,使得相似樣本聚為一起,但模型準確性難以保證。隨著大數據時代的來臨,數據庫中的數據呈現指數增長[1],獲取大量無標記樣本相當容易,而獲取大量有標記樣本則困難得多,且人工標注需要耗費大量的人力和物力。如果只使用少量的有標記樣本進行訓練,往往導致學習器泛化性能低下,且浪費大量的無標記樣本數據資源。因此使用少量標記樣本作為指導,利用大量無標記樣本改善學習性能的半監督學習成為研究的熱點。“半監督學習”術語第一次于1992年被正式提出[2],其思想可追溯于自訓練算法[3]。半監督學習突破了傳統方法只考慮一種樣本類型的局限,綜合利用有標簽與無標簽樣本[4-6],是在監督學習和無監督學習的基礎上進行的研究,包括半監督聚類、半監督分類、半監督降維和半監督回歸四種學習場景。隨著半監督學習的深入研究,近些年出現兩個研究熱點,不平衡數據分類問題和噪聲數據的處理問題。
因此本文采用文獻計量方法對半監督學習的研究的時間、應用領域和研究內容等進行多維度梳理,對研究的四個學習場景和兩個研究熱點進行歸納與述評,總結現有成果的不足以及探討新的研究方向,為半監督學習的理論和應用研究提供參考。
本文以中國知網(CNKI)為檢索數據庫,以“半監督”為主題檢索,國內外半監督學習領域發表文獻的趨勢如圖1所示。

圖1 年度分布
從圖1 可以看出,從1983 年到2003 年文獻的發表量較少,2003 年到2006 年有一個較小的斜率呈現出上升的趨勢,2006 年到2018 年的文獻數量幾乎呈直線上升,平均一年的發文量大約364 篇,從發文量反映出半監督學習的研究狀況火熱,半監督學習憑借著自身的優勢以及在各行業成功的應用吸引了大量的研究人員,從而使得相關研究成果數量直線上升。
為了更加全面了解半監督學習的研究內容,對國內外的半監督學習研究領域出現較多的關鍵詞進行統計分析,具體結果如圖2所示。從圖2中可以看出分類器、數據集、樣本點、半監督聚類、支持向量機、特征提取、主動學習、協同訓練等關鍵詞出現的頻率較高,這些都是半監督學習研究的主要研究內容,涉及到了人工智能的各個領域范疇,其中半監督分類和聚類的研究相對較多。

圖2 半監督學習關鍵詞占比
根據學習場景的不同,半監督可以劃分為半監督分類、半監督聚類、半監督降維以及半監督回歸,從上述四個不同類別的學術關注度指數進行對比分析,可以看出半監督分類的關注度最高,一方面是很多現實問題是分類問題,另一方面是機器學習算法中分類算法研究成果豐富,為半監督學習提供了算法基礎。其次依次是半監督聚類、半監督降維和半監督回歸,半監督回歸的研究指數相對平穩且研究關注度低,但近兩年研究關注度處于上升趨勢。

圖3 半監督四種學習場景的研究指數對比圖
從前文的分析中可知,目前研究的主要內容和熱點包括半監督聚類、半監督分類、半監督回歸與半監督降維,以及不平衡數據分類和減少噪聲數據六個方面。因此下文從這六個方面展開評述。
半監督學習與無監督學習的差異在于監督信息的使用,其中監督信息主要包含兩種類型,一種是樣本的類別標簽,另一種是樣本的成對約束關系。
可以根據監督信息使用的不同,對半監督聚類方法進行劃分,Seeded-Kmeans算法相比于Kmeans算法具有利用樣本類別標簽指導k 個原始聚類中心的選擇,該算法的缺陷在于僅能利用樣本類別標簽的監督信息形式且很大程度上依賴于Seeds集的規模和質量。COP-Kmeans算法將成對約束信息增添到Kmeans 聚類過程,該算法與Kmeans算法的聚類思想相同,但在樣本劃分過程中,樣本必須滿足must-link 約束和cannot-link 約束,缺陷是在求解過程中會遇到成對約束違反問題。在實際應用中,監督信息會以樣本標簽和成對約束信息并存的情況,若只利用標簽信息或將標簽信息轉化為成對約束信息時,會削弱監督信息或利用不充分,SC-Kmeans 算法綜合利用Seeds 集和成對約束集引入到Kmeans 中指導聚類過程,但該算法效率降低以及監督信息的規模和質量會影響聚類結果;常瑜等擴大后的Seeds 集進行優化得到新的Seeds 集進行聚類[7];陳志雨等將主動學習引入到SC-Kmeans中,用于選取信息含有量更高的監督信息[8]。現有的半監督聚類算法多數是在傳統聚類算法基礎上引入監督信息發展而來,基于不同的聚類算法可以將其擴展成不同的半監督聚類算法,可以對密度聚類、層次聚類、譜聚類等聚類算法進行半監督的擴展;大多數的聚類方法不適用于高維稀疏數據,使得擴展的半監督方法難以處理高維稀疏數據的聚類,因此用于高維稀疏數據的半監督聚類算法的提出需要進一步研究。
常見的半監督分類代表算法可以劃分為四類,包括生成式方法、半監督支持向量機、半監督圖算法和基于分歧的半監督方法。下面分別介紹四種范型的半監督學習框架,匯總對比分析結果如表1所示。
3.2.1 生成式方法
生成式方法關鍵在于對來自各個種類的樣本分布進行假設以及對所假設模型的參數估計。常見的假設模型如混合高斯模型、混合專家模型、樸素貝葉斯模型,采用極大似然方法作為參數估計的優化目標,選擇EM(Expectation Maximization)算法進行參數的優化求解。趙夫群利用狄利克雷多項式混合分布對文本進行建模,針對EM 算法收斂速度過快以及容易陷入局部最優的難題,引入模擬退火算法和遺傳算法進行處理[9];董育寧等指出傳統的高斯分布容易受到數據樣本邊緣值和離群點噪聲的影響,改用t 分布代替原有的高斯混合模型[10]。關于生成式方法的研究,難點在于樣本分布與假設的模型不一致,即生成式方法的關鍵之處在于模型假設必須正確,而實際應用中很難使得假設的生成模型與實際數據分布吻合,從而模型效果欠佳。
3.2.2 半監督支持向量機
半監督支持向量機(Semi-supervised Support Vector Machine,S3VMs)的思想最早可以追溯至Vapnik提出的猜想,無標記數據可以有效地減少函數空間的VC 維。常見的S3VMs 方法如直推式支持向量機(Transductive Support Vector Machine,TSVM)、拉普拉斯支持向量機(Laplacian Support Vector Machine,Laplacian SVM)、均值標簽半監督支持向量機(meanS3VM)、安全半監督支持向量機(Safe Semi-supervised SVM,S4VM)、基于代價敏感的半監督支持向量機(Cost-sensitive Semi-su‐pervised SVM,CS4VM),表2列出了上述幾種典型方法的基本介紹和優缺點。
雖然半監督支持向量機具有適用于小樣本、利用無標簽樣本提高模型性能的優勢,但仍存在不足,因此,國內外學者提出創新性的半監督支持向量機方法以及對現有算法進行改進,文中列舉了最新的模型、模型特點及效果,如表3所示。
半監督支持向量機方法需要關注以下問題:(1)S3VMs在小規模數據集中能夠得到很高的分類精度,但對于大規模數據并不適用,且當解決非線性或流形數據,需要構造核函數,此時會存在更高的復雜度;(2)現有的模型多數屬于二分類問題,但在現實問題中不僅局限于二分類,在解決S3VMs的非凸二次優化問題時需要消耗大量的存儲空間和計算時間,當解決多分類問題時更加困難。

表1 半監督分類四大范型對比分析

表2 半監督支持向量機模型對比分析

表3 改進型半監督支持向量機的主要改進特點以及模型效果
3.2.3 基于圖的半監督分類
基于圖的半監督分類方法是利用有標簽和無標簽樣本之間的聯系得到圖結構,利用圖結構進行標簽傳播。典型的基于圖的半監督分類方法有標簽傳播算法、最小割算法以及流形正則化算法,三種方法的比較及優缺點如表4所示。
近些年,學者對圖半監督學習創新性研究較多,為直觀展現圖半監督學學習方法的發展情況,在表5 進行了列舉。
基于圖的半監督學習研究成果豐富,但存在以下不足:(1)數據量大往往構造的圖的規模大,導致計算的時間與空間復雜度非常大,但圖模型的大小與模型正確率相關聯,如何平衡圖模型的大小和模型正確率之間的關系也需進一步研究;(2)在構造圖時,一般只考慮了數據之間的距離信息,忽略樣本特征空間的類別分布信息;(3)高維數據中易于含有噪聲以及冗余信息,從而構造的圖難以對數據的幾何結構進行精確的探索[23]。
3.2.4 基于分歧的半監督學習
基于分歧的半監督學習起源于協同訓練算法,由Zhou 和Li 命名的[24],其思想是利用多個學習器之間的差異性提高泛化能力。根據視圖個數的不同,可以劃分為多視圖和單視圖下基于分歧的半監督學習。
Blum 和Mitchell 提出了協同訓練框架[25],采用貪婪的方式,并在假設視圖獨立性和兼容性的情況下進行操作。針對多視圖下協同訓練方法的研究,如Nigam等提出協同EM 算法[26];Sindhwani 等提出協同正則化算法[27],具有非貪心、包含凸代價函數等優點;王嬌等通過隨機子空間方法將兩視圖推廣至多視圖,同時避免了充分冗余視圖問題[28];唐煥玲等將尋找兩個滿足一致性和獨立性特征視圖的目標轉變成尋找兩個既滿足一定的正確性,又存在較大差異性的兩個基分類器的問題[29];孫念等提出松散條件下的協同學習框架,放松了特征充分冗余假設[30]。部分學者降低數據要求并進行了理論證明[31-32],其中Wang 和Zhou 表明若兩個分類器存在足夠大的差異,協同訓練在單視圖上也能取得成功[33]。

表4 基于圖的半監督分類方法的對比分析

表5 基于圖的半監督分類方法
單視圖下的基于分歧的半監督方法,研究重點在于如何創造弱學習器之間的顯著差異。Goldman 和Zhou提出的基于決策樹的協同訓練算法[34],使用不同的學習算法來表示弱分類器之間的差異化;Zhou和Li提出的三體訓練法(Tri-training)[35],通過不同的數據采樣訓練使用三個具有差異化的弱分類器;Li和Zhou提出Co-forest算法[36],將Tri-training算法由三個分類器擴展到更多分類器。
基于分歧的半監督學習研究成果較多,包括算法的理論證明和新的算法的實證研究,但仍然存在以下問題:(1)當具有差異的弱分類器相互之間提供偽標記樣本進一步豐富訓練集,但偽標記類別錯誤,則導致新的訓練集出現錯誤標記,使得訓練出的模型性能“惡化”[37];(2)基于差異的半監督學習重點在于使得弱分類器之間存在差異,但如何去使得弱分類器之間存在顯著的差異,以及如何衡量差異是否顯著需要進一步的討論;(3)基于分析的半監督學習方法中參數較多,且對于參數的選擇尚無經驗指導,因此如何進行參數縮減和參數取值需要進一步研究。
現有的半監督回歸的研究成果,可以歸納為基于協同訓練的半監督回歸和基于流形的半監督回歸兩類。
Zhou等提出的協同訓練回歸,選擇k 近鄰回歸作為初始回歸器,分別采用不同階的閔可夫斯基距離[38]、不同距離度量[39]、不同k 值[39]保證兩個回歸器之間的差異。Brefeld等將協同訓練回歸思想移植到正則化框架下,提出了協同正則化最小二乘法[40]。基于協同訓練的半監督回歸雖然方法簡單便于理解,但由于回歸問題中目標變量為連續變量,存在預測值的置信度難以衡量的難題。
半監督回歸對應的是流形假設,主要考慮模型的局部特性。對于核的半監督回歸的研究,如Wang 等基于經典的核回歸,提出了半監督核回歸方法[41];Xu 等在最小二乘支持向量機回歸的基礎上,提出了半監督最小二乘支持向量機回歸[42];Seok提出了半監督局部常數估計回歸算法,但該方法為單變量回歸[43]。對于拉普拉斯正則化的半監督回歸的研究,如Belkin 等通過構圖,將得到的拉普拉斯矩陣作為懲罰項引入到支持向量機的正則化框架中,得到拉普拉斯正則化框架[44];楊劍等在拉普拉斯正則化框架基礎上,給出不同損失函數下的拉普拉斯半監督回歸算法,并進行了實驗分析[45]。
半監督回歸的研究與應用非常缺乏,其原因在于:(1)半監督分類中的聚類假設在回歸問題中不一定成立,從而大多數的半監督分類方法不能直接用于回歸;(2)半監督協同訓練回歸是半監督回歸最常用的方法,但由于回歸問題中目標變量為連續變量,存在預測值的置信度難以衡量的難題;(3)回歸估計本身是一個比較困難的問題,學習算法很難取得比較好的結果,且回歸問題中存在多種損失函數和評價指標,無疑增加了半監督回歸的難度。
針對半監督降維方法的研究,包括提出新的半監督降維框架,即對所有數據點之間的幾何關系進行建模,以及如何將半監督的思想應用于傳統的降維算法當中兩個方面。
Zhang 等提出一種半監督降維方法[46],考慮了成對約束與無標簽樣本信息,然而該方法只能保持全局協方差結構,不能同時保持局部結構;Wei 等提出了一種基于成對約束信息的半監督線性降維方法[47],該方法既能用到成對約束信息,也可以保留數據局部結構;Zhao 等分析了跟蹤比問題,推導出一個正交約束半監督學習框架[48],多種降維算法都可以在此框架進行改進;尹學松等提出一種基于成對約束的半監督維數約簡一般框架[49]。
將無監督降維方法擴展至半監督,需要在原有的無監督降維算法中增添監督信息,如將類標簽、成對約束或其他監督信息添加到概率主成分[50]、流形方法[51]以及局部保持投影方法[52]進行半監督的擴展。將有監督降維方法推廣到半監督方法多數是采用基于圖來完成的,通過在原有的監督判據中加入代表數據內部結構信息的流形正則化項,如Cai 等將線性判別分析模型進行半監督擴展[53];為了解決上述模型的噪聲敏感問題,Zhang 等采用魯棒的方法來捕獲數據的流形結構[54];Zhao 等提出一種新的降維方法,通過無標記的樣本來提高線性判別分析模型的性能[55];楊昔陽等針對具有少量模糊隸屬度類別的數據和大量未知類別的數據組成的數據集,提出一種結合主成分和局部費歇爾判別分析的半監督降維方法[56]。
半監督降維相關研究成果較多,但仍存在以下幾點問題:(1)針對于高維稀疏樣本,雖然一些行之有效的方法被提出,但一個好的降維方法應具備一定的魯棒性和穩定性,因此在微小擾動的情況下,半監督降維算法如何依舊保持良好的性能需要進一步研究;(2)現有的半監督降維算法所使用的監督信息多為標簽信息或成對約束信息,為離散變量,但當監督信息為連續變量時[57],如何進行半監督降維是下一步的研究重點。
現有的半監督學習方法假定數據集是平衡的,直接使用已有模型對不平衡數據進行處理會造成分類性能急劇下降。不平衡數據分類的研究成果可以分為基于數據層面和基于算法層面的不平衡數據下的半監督學習。
基于數據層面的半監督學習是先通過一定的方法改變樣本數以達到樣本的平衡,再進行半監督學習。采樣是常用于平衡數據的方法,然而隨機欠采樣可能刪去了很多潛在有用的數據,而隨機過采樣會增加過擬合的可能性。為此,部分學者將動態子空間[58]或優化樣本分布方法[59]與半監督方法結合解決數據不平衡問題,以及Zhou 等通過半監督生成式對抗網絡算法在訓練過程中只生成少數類樣本,使得少數類和多數類樣本取得平衡[60]。
基于算法層面的半監督學習大多數是改進已有的算法,常用的方法包括重新加權、代價敏感和集成方法。基于圖的半監督學習解決不平衡問題主要通過重新加權的方法,如Wang等提出一種傳播算法,能更可靠地使圖上和二進制標簽矩陣上的函數的代價函數最小化[61],并進行噪聲消除處理[62]。基于代價敏感和集成學習的半監督學習研究,如Zhu 等為了降低代價敏感的總成本,提出了一種基于不確定性的代價敏感半監督學習模型[63];黃靜等提出半監督集成模型[64],用于非平衡數據的分類;肖進等將代價敏感學習與多分類器集成中的隨機子空間方法結合[65],結果表明與單一的半監督模型以及半監督集成模型相比,該方法能取得更好的效果。
解決不平衡數據的方法較多,但半監督學習中的不平衡問題相關研究非常少,因此需要關注以下問題:(1)代價敏感學習的參數訓練具有局限性,可以參考創新訓練方式[66]進行參數的求解來獲得優秀的代價矩陣;(2)現有的成果多為解決二分類的不平衡數據集分類問題,但是多分類數據集同樣存在不平衡的問題,針對多分類不平衡問題需要進一步研究;(3)現有的不平衡數據下的半監督方法是將傳統的解決不平衡的方法應用于半監督學習當中,而半監督與監督學習的數據分布環境不同,因此傳統的解決不平衡問題的方法是否都可以適用于半監督學習還需要進一步探究;(4)如何利用半監督學習的數據集中存在大量的無標簽數據的特點來改進不平衡數據集的分類需要進一步研究;(5)現有的半監督集成模型大多數適用于大數據規模,而小數據量的半監督集成如何保持較好的性能需要深入研究;(6)可以在已經成熟的代價敏感學習方法的基礎上進行半監督的擴展,或在半監督學習的框架中添加代價敏感學習,為如何使得半監督學習模型具有代價敏感性提供解決思路。
半監督學習研究成果較多,但并不總是有效,一方面在于標記樣本中提供的監督信息存在信息含量低;其次,半監督學習在利用無標簽樣本的過程中,并不總能選取最具有價值的樣本,一旦選取了不可靠的無標簽樣本,并從中挖掘數據分布信息,便會錯誤地指導分類邊界的形成。部分學者主要從提出高置信度評價方法以及將主動學習引入半監督學習過程兩個方面進行研究,主動獲取有效的監督信息和降低偽標記樣本的噪聲,此外,也有學者通過數據剪輯方法[67-68]對產生的錯誤標記進行修正和凈化。
部分學者致力于高置信度評估方法的研究,如Zhou 等采用投票法進行標記置信度計算[35],但該方法存在沒有考慮樣本的分布信息的缺陷;鄒細濤提出樣本代表性度量[69],如果某個樣本與其他很多樣本都相似,則該樣本具有所有樣本的共性,其被標記正確的概率就很大;景陳勇等考慮偽標記數據與實際樣本空間的分布差異,提出了采用樣本所屬某個類別的最大概率與次大概率的誤差作為基分類器的置信度[70],但該信度評估方法存在沒有充分表達樣本的隨機分布特性的缺點;尹玉等引入加權融合樣本所屬某個類別的最大概率與次大概率的誤差和樣本所屬某個類別的最大概率與樣本所屬其他各類別的平均概率誤差,來確定樣本作為偽標簽的置信度[71]。
雖然高置信度通常意味偽標簽預測是正確的,但不能保證分類性能的提高。部分學者將主動學習與半監督學習結合,如畢秋敏等在協同訓練算法的基礎上引入主動學習思想,從低置信度樣本中選取最有價值的樣本,人為標注完后添加到訓練集中,重新訓練分類器進行分類[72];柴變芳等提出一種基于主動學習先驗的半監督K-均值聚類算法[73]。且部分研究表明,半監督學習與主動學習兩種策略結合的性能優于單獨使用單一方法的性能[74-75]。
綜上所述,雖然高置信度評價方法多樣,但是缺少評價方法選取的指導標準;將主動學習與半監督學習結合,可以主動發現有效的監督信息,但主動學習何時停止,發現多少有標記樣本能夠有效地提升模型性能需要進一步探究。
隨著數據量呈指數增長,半監督學習相比較傳統的監督學習與無監督學習,具有能夠利用少量帶有標簽的數據指導大量無標簽數據的優點,半監督學習儼然成為機器學習研究的熱點與重點。近些年來,半監督學習研究成果豐碩,成功應用到經濟、金融、醫療等各個行業。因此,本文從半監督聚類、分類、回歸、降維以及不平衡數據分類和降低噪聲六大方面對現有的半監督學習研究成果進行歸納總結,在已有研究現狀的基礎上,本文對未來的研究方向進行以下思考:
(1)隨著半監督學習研究的深入,學者們針對已有半監督學習方法與框架的不足進行改進與補充,但部分新提出的方法在文獻中僅通過特定數據集進行了實證,而缺少一定的理論基礎與證明,無法進一步說明該方法的有效性與穩定性。
(2)隨著數據出現維度高、數據稀疏、非線性以及非平衡等特點,學者們在原有半監督學習方法的基礎上,進行算法改進以適應復雜數據,引入額外的參數雖然提高了模型性能,但同時增添了算法復雜度,帶來迭代次數增多、模型訓練時間增長等缺陷;對于參數的取值,多數憑借經驗或者手動調整最優值,缺少一定的指導方法;當參數取值的微小變動,導致模型性能發生改變,從而導致訓練的模型不具有穩定性和魯棒性。
(3)半監督學習中需要選取少量監督信息作為指導,但如何確定監督信息中信息量是否充足以及至少需要多少標記樣本才能實現有效的半監督學習還缺乏相應的討論。
(4)監督信息主要為類標簽和成對約束的形式,由于基于成對約束信息的模型構造相對容易,多數算法將類標簽信息轉化為成對約束信息后再進行半監督學習,但將類標簽信息轉換為成對約束信息會使標號信息的意義減弱,如何利用標簽信息進行半監督學習以及將標簽信息與成對約束信息結合使用形成基于混合約束的半監督方法是下一步研究方向。
(5)監督信息為連續變量時,相關研究甚少。機器學習中回歸和回歸意義下的維數約簡方法是以連續變量為目標變量,而半監督學習中的聚類假設在上述方面不一定成立,以及在置信度、損失函數和評價指標等方面與半監督分類、聚類等方法存在差異,使得當監督信息為連續變量時,半監督學習方法的設計存在難點。
(6)半監督學習已有的研究成果多數是在已有的監督模型或無監督模型的基礎上進行擴展,半監督分類方法眾多,而對半監督聚類、降維以及回歸研究相對較少,因此可以基于不同的聚類、降維及回歸思想,形成不同的半監督方法,以及從減少噪聲數據、提高求解速度、提高模型精度等不同的角度對現有的半監督方法進行改進。