1. 程式人生 > >半監督學習方法

半監督學習方法

在只有少量標記樣本,大部分資料都是無標記的情況下,可以通過半監督學習方法,基於無標記樣本與標記樣本之間的相似度、無標記樣本潛在的分佈兩個核心思想,對無標記的樣本進行標記

1、半監督學習種類

1.1 引數估計

樣本資料分為標記樣本和未標記樣本,按照統計的觀點,對於每一個樣本的產生,其背後都有一個生成模型,在無監督學習中,資料是無標記的,通過引數估計的方法得到資料的生成模型,這種方法準確性較差,原因如下,下圖中的資料被水平分割為兩類,兩類資料顯然並不是高斯分佈,如果用兩個高斯分佈擬合數據,會得到右圖的分佈結果,導致分類的準確度很差。
在這裡插入圖片描述在這裡插入圖片描述
我們知道一個概率分佈有兩個分別組成,但我們也不能明確知道到底是哪兩個分佈,如下圖所示。下圖中的兩種分佈組合都可以組成最上方的分佈。
在這裡插入圖片描述


半監督學習可以先運用有標記的樣本確定生成模型的引數,再通過模型標記無標記樣本,更新模型引數,不斷迭代調優。

1.2 自訓練

首先利用有標記的樣本訓練分類器,運用分類器選出置信度高的樣本,加入訓練樣本對分類器進行迭代調優,誤差還會隨著誤標記樣本迭代加大。

1.3 協同訓練

協同訓練需要大量的樣本,協同訓練可以通過將樣本集拆分成不同的子樣本集,分別在子樣本集上訓練模型,會產生多個模型;也可以對樣本集建立不同的分類模型,通過各個模型決定樣本的置信度,類似整合學習。

1.4 標籤傳播

標籤傳播方法的流程
在這裡插入圖片描述
構建相似矩陣W,相似矩陣構建可參考相似矩陣構建

2、scikit-learn 半監督學習

scikit-learn提供了兩個標籤傳播模型:LabelPropagation and LabelSpreading.
LabelPropagation不改變有標記資料的原始標記
LabelSpreadind可以一定比例的改變有標記資料的原始標記,最小化一個帶有正規項的損失函式,對噪聲魯棒。

3、半監督學習方法的不足

  • 通過半監督學習方法,利用未標記資料,有時不僅不能提高泛化能力,反而會導致效能下降
  • 在模型假設不符合真是情況,或者標記樣本與無標記樣本差異較大時,會導致效能下降
  • 隨著訓練的不斷進行,自動標記的樣本噪音會不斷積累,模型效能可能不斷下降

參考連結

https://blog.csdn.net/mmc2015/article/details/47333839