概述
監督學習指的是訓練樣本包含標記信息的學習任務,例如:常見的分類與回歸算法;
無監督學習則是訓練樣本不包含標記信息的學習任務,例如:聚類算法。
在實際生活中,常常會出現一部分樣本有標記和較多樣本無標記的情形,例如:做網頁推薦時需要讓用戶標記出感興趣的網頁,但是少有用戶願意花時間來提供標記。若直接丟棄掉無標記樣本集,使用傳統的監督學習方法,常常會由於訓練樣本的不充足,使得其刻畫總體分布的能力減弱,從而影響了學習器泛化性能。那如何利用未標記的樣本數據呢?
以下參考博客:https://blog.csdn.net/u011826404/article/details/74358913
未標記樣本
1.基本假設(原文:https://blog.csdn.net/hellowuxia/article/details/66473252 )
要利用未標記樣本,必然要做一些將未標記樣本所揭示的數據分布信息與類別標記相聯系的假設。
1)平滑假設(Smoothness Assumption):位於稠密數據區域的兩個距離很近的樣例的類標簽相似,也就是說,當兩個樣例被稠密數據區域中的邊連接時,它們在很大的概率下有相同的類標簽;相反地,當兩個樣例被稀疏數據區域分開時,它們的類標簽趨於不同。
2)聚類假設(Cluster Assumption):當兩個樣例位於同一聚類簇時,它們在很大的概率下有相同的類標簽。這個假設的等價定義為低密度分離假設(Low Sensity Separation Assumption),即分類決策邊界應該穿過稀疏數據區域,而避免將稠密數據區域的樣例分到決策邊界兩側。
聚類假設是指樣本數據間的距離相互比較近時,則他們擁有相同的類別。根據該假設,分類邊界就必須盡可能地通過數據較為稀疏的地方,以能夠避免把密集的樣本數據點分到分類邊界的兩側。
例如,Joachims提出的轉導支持向量機算法(TSVM),在訓練過程中,算法不斷修改分類超平面並交換超平面兩側某些未標記的樣本數據的標記,使得分類邊界在所有訓練數據上最大化間隔,從而能夠獲得一個通過數據相對稀疏的區域,又盡可能正確划分所有有標記的樣本數據的分類超平面。
3)流形假設(Manifold Assumption):將高維數據嵌入到低維流形中,當兩個樣例位於低維流形中的一個小局部鄰域內時,它們具有相似的類標簽。
流行假設,假設數據分布在一個流行結構上,臨近的樣本擁有相似的輸出值,臨近通常用相似度來刻畫。流行假設可以看作聚類假設的推廣。
流形假設的主要思想:同一個局部鄰域內的樣本數據具有相似的性質,因此其標記也應該是相似。這一假設體現了決策函數的局部平滑性。
和聚類假設的主要不同是,
1)聚類假設主要關注的是整體特性,流形假設主要考慮的是模型的局部特性。在該假設下,未標記的樣本數據就能夠讓數據空間變得更加密集,從而有利於更加標准地分析局部區域的特征,也使得決策函數能夠比較完滿地進行數據擬合。流形假設有時候也可以直接應用於半監督學習算法中。
例如,Zhu 等人利用高斯隨機場和諧波函數進行半監督學習,首先利用訓練樣本數據建立一個圖,圖中每個結點就是代表一個樣本,然后根據流形假設定義的決策函數的求得最優值,獲得未標記樣本數據的最優標記;Zhou 等人利用樣本數據間的相似性建立圖,然后讓樣本數據的標記信息不斷通過圖中的邊的鄰近樣本傳播,直到圖模型達到全局穩定狀態為止。
2)流型假設對輸出值沒有限制,因此比聚類假設適用范圍更廣,可用於更多類型的學習任務。
從本質上說,這三類假設是一致的,“相似的樣本擁有相似的輸出”,只是相互關注的重點不同。其中流行假設更具有普遍性。
2.半監督學習細化
主動學習:若我們先使用有標記的樣本數據集訓練出一個學習器,再基於該學習器對未標記的樣本進行預測,從中挑選出不確定性高或分類置信度低的樣本來咨詢專家並進行打標,最后使用擴充后的訓練集重新訓練學習器,這樣便能大幅度降低標記成本,這便是主動學習(active learning),其目標是使用盡量少的/有價值的咨詢來獲得更好的性能。
半監督學習可進一步划分為純半監督學習和直推學習,前者假定訓練數據中未標記樣本並非待預測數據,后者假設學習過程中所考慮未標記樣本恰是待預測數據 ,學習目的是在這些未標記樣本上獲得最有泛化性能。純半監督學習基於“開放世界”,希望學得模型能適用於訓練過程中未觀測到的數據;直推學習基於“封閉世界”假設,僅試圖對學習過程中觀察到的未標記數據進行預測。
顯然,主動學習需要與外界進行交互/查詢/打標,其本質上仍然屬於一種監督學習。事實上,無標記樣本雖未包含標記信息,但它們與有標記樣本一樣都是從總體中獨立同分布采樣得到,因此它們所包含的數據分布信息對學習器的訓練大有裨益。如何讓學習過程不依賴外界的咨詢交互,自動利用未標記樣本所包含的分布信息的方法便是半監督學習(semi-supervised learning),即訓練集同時包含有標記樣本數據和未標記樣本數據。

生成式方法
1、說明
生成式方法(generative methods)是基於生成式模型的方法,即先對聯合分布P(x,c)建模,從而進一步求解 P(c | x),此類方法假定樣本數據服從一個潛在的分布,因此需要充分可靠的先驗知識。例如:前面已經接觸到的貝葉斯分類器與高斯混合聚類,都屬於生成式模型。現假定總體是一個高斯混合分布,即由多個高斯分布組合形成,從而一個子高斯分布就代表一個類簇(類別)。
2、以高斯混合模型為例


求解方法參考EM算法。
3、總結
可以看出:基於生成式模型的方法十分依賴於對潛在數據分布的假設,即假設的分布要能和真實分布相吻合,否則利用未標記的樣本數據反倒會在錯誤的道路上漸行漸遠,從而降低學習器的泛化性能。因此,此類方法要求極強的領域知識和掐指觀天的本領。
半監督SVM
監督學習中的SVM試圖找到一個划分超平面,使得兩側支持向量之間的間隔最大,即“最大划分間隔”思想。對於半監督學習,半監督SVM(S3VM)則考慮超平面需穿過數據低密度的區域。
TSVM是半監督支持向量機中的最著名代表,其核心思想是:嘗試為未標記樣本找到合適的標記指派,使得超平面划分后的間隔最大化。
TSVM采用局部搜索的策略來進行迭代求解,即首先使用有標記樣本集訓練出一個初始SVM,接着使用該學習器對未標記樣本進行打標,這樣所有樣本都有了標記,並基於這些有標記的樣本重新訓練SVM,之后再尋找易出錯樣本不斷調整。整個算法流程如下所示:


圖半監督學習
給定一個數據集,我們可將其映射為一個圖,數據集中每個樣本對應於圖中一個結點,若兩個樣本之間的相似度很高(或相關性很強),則對應的結點之間存在一條邊,邊的“強度”正比於樣本之間的相似度(或相關性).我們可將有標記樣本所對應的結點想象為染過色,而未標記樣本所對應的結點尚未染色.於是,半監督學習就對應於“顏色”在圖上擴散或傳播的過程.由於一個圖對應了一個矩陣,這就使得我們能基於矩陣運算來進行半監督學習算法的推導與分析.換句話說,就是用矩陣運算對未標記樣本打上偽標簽。
1、對於二分類:

其中W和D的定義如下:


推導見西瓜書。。。
2、對於多分類:



圖半監督學習方法在概念上相當清晰,且易於通過對所涉矩陣運算的分析來探索算法性質.但此類算法的缺陷也相當明顯.首先是在存儲開銷上,若樣本數為O(m),則算法中所涉及的矩陣規模為O(m2),這使得此類算法很難直接處理大規模數據;另一方面,由於構圖過程僅能考慮訓練樣本集,難以判知新樣
本在圖中的位置,因此,在接收到新樣本時,或是將其加入原數據集對圖進行重構並重新進行標記傳播,或是需引入額外的預測機制,例如將DL和經標記傳播后得到標記的D}合並作為訓練集,另外訓練一個學習器例如支持向量機來對新樣本進行預測.
基於分歧的方法
基於分歧的方法通過多個學習器之間的分歧(disagreement)/多樣性(diversity)來利用未標記樣本數據,協同訓練就是其中的一種經典方法。協同訓練最初是針對於多視圖(multi-view)數據而設計的,多視圖數據指的是樣本對象具有多個屬性集,每個屬性集則對應一個視圖。例如:電影數據中就包含畫面類屬性和聲音類屬性,這樣畫面類屬性的集合就對應着一個視圖。
首先引入兩個關於視圖的重要性質:
相容性:即使用單個視圖數據訓練出的學習器的輸出空間是一致的。例如都是{好,壞}、{+1,-1}等。
互補性:即不同視圖所提供的信息是互補/相輔相成的,實質上這里體現的就是集成學習的思想。
協同訓練正是很好地利用了多視圖數據的“相容互補性”,其基本的思想是:首先基於有標記樣本數據在每個視圖上都訓練一個初始分類器,然后讓每個分類器去挑選分類置信度最高的樣本並賦予標記,並將帶有偽標記的樣本數據傳給另一個分類器去學習,從而你依我儂/共同進步。



半監督聚類
半監督聚類則是借助已有的監督信息來輔助聚類的過程。一般而言,監督信息大致有兩種類型:
必連與勿連約束:必連指的是兩個樣本必須在同一個類簇,勿連則是必不在同一個類簇。
標記信息:少量的樣本帶有真實的標記。
下面主要介紹兩種基於半監督的K-Means聚類算法:第一種是數據集包含一些必連與勿連關系,另外一種則是包含少量帶有標記的樣本。兩種算法的基本思想都十分的簡單:對於帶有約束關系的k-均值算法,在迭代過程中對每個樣本划分類簇時,需要檢測當前划分是否滿足約束關系,若不滿足則會將該樣本划分到距離次小對應的類簇中,再繼續檢測是否滿足約束關系,直到完成所有樣本的划分。算法流程如下圖所示:

對於帶有少量標記樣本的k-均值算法,則可以利用這些有標記樣本進行類中心的指定,同時在對樣本進行划分時,不需要改變這些有標記樣本的簇隸屬關系,直接將其划分到對應類簇即可。算法流程如下所示:

