1. 程式人生 > >主動學習,半監督學習的概念的區分

主動學習,半監督學習的概念的區分

(一)從概念上區分

主動學習(active learning)
學習器能夠主動選擇包含資訊量大的未標註的樣例並將其交由專家進行標註,然後置入訓練集進行訓練,從而在訓練集較小的情況下獲得較高的分類正確率,這樣可以有效的降低構建高效能分類器的代價。
學習器能夠主動的提出一些標註請求,將一些經過篩選的資料交給專家進行標註。這個過程中最重要的是如何篩選資料進行標註。
A=(C,L,S,Q,U)
其中,C是一個或者一組分類器;L是一組已標註的訓練樣本集,S是監督者,也就是專家,對選擇的未標註資料進行標註,Q是查詢函式,用於在未標註的樣本中查詢資訊量大的樣本;U是為未標註的資料集。
主動學習的過程,是首先利用C訓練L,得到一個訓練好的分類器,然後Q選擇U中的未標註資料給S進行標註,標註後交給L,然後再由C來進行訓練,不斷的迴圈迭代,最終達到我們的標準為止。

半監督學習(Semi-Supervised learning,SSL)
半監督學習是將監督學習和無監督學習相結合的一種學習方法。主要考慮的是如何利用少量的標註樣本和大量的未標註樣本進行訓練和分類的問題。主要分為半監督分類,半監督迴歸,半監督聚類和半監督降維演算法。
在SSL的研究歷史中,出現了自訓練(self-training),直推學習(Transductive learning),生成式模型(Generative Model)等學習方法。
自訓練(self-training),也可以叫做歸納學習(inductive learning),在每一輪的訓練過程中反覆運用SL方法,將上一輪的標記結果最優的樣例和其類標籤一起加入到訓練樣本中,用自己產生的結果再次訓練自己。(簡單的方法,但可能會造成錯誤的累積)
A=(C,L,U)
其中,C是一個或者一組分類器;L是一組已標註的訓練樣本集,U是為未標註的資料集。
利用C訓練L ,然後用於U中,然後從U中選擇標記結果最優的樣例加入L中,C再訓練L,一直迴圈,直到滿足要求。
直推學習(Transductive learning),只預測當前訓練資料和測試資料中無類標籤的樣例的類標籤,而不推斷整個樣本空間的廣義決策規則。直推學習假設未標記的資料就是最終要用來測試的資料,學習的目的就是在這些資料上取得最佳泛化能力。
A=(C,L,U)
其中,C是一個或者一組分類器;L是一組已標註的訓練樣本集,U是為未標註的資料集。
利用C訓練L ,然後用於U中的測試部分,然後在測試集中使得效能最好,也就是取得最佳的泛化能力。
生成式模型(Generative Model),假設生成資料的概率密度函式為多項式分佈的模型,用有類別的樣本和無類標籤的樣例估計該模型中的引數。

(二)主動學習與半監督學習的聯絡
二者都利用到了未標註的資料和已標註的資料,然後提高學習能力。只是二者的學習思想不同。

(三)主動學習與半監督學習的區別
主動學習,在利用未標註資料的時候,是從未標註資料中找到最容易判斷錯誤的樣例來交由專家進行標註,這個過程是一個篩選差資料的過程,也是一個互動互動的過程,引入了額外的專家的知識。
半監督學習,尤其是對於自學習模型,對於未標註資料而言,是選擇最不容易判斷錯誤的樣例來加入到已標註資料中,這個過程,是一個自動的過程,是篩選最好的資料的過程,然後不需要互動,不需要人工干預,基於自身對於未標記資料加以利用,來提高學習模型的泛化效能。

(四)自訓練模型(純半監督學習和直推學習的區別)


純半監督學習與直推學習主要的區別在於學習後要取得好的泛化能力的範圍不同。純半監督學習是一種歸納學習,可以對測試資料進行預測,也就是基於“開放世界”的假設。直推學習僅僅對於訓練資料中的未標記的資料能夠進行標記,而模型不具備對測試樣本進行泛化的能力,直推學習是基於“封閉世界”的假設。
對其進行數學化,假設我們有如下的資料集:其中訓練集為X1+X2,其中X1是已標記的訓練資料,而X2是未標記的訓練資料,Xtesxt是未知的測試集,對於歸納學習而言,是可以在訓練資料中進行學習,然後對Xtesxt進行測試的,而對於直推學習而言,是不能夠在Xtesxt中進行測試,也就是隻能在訓練資料中使得在訓練資料中的泛化能力達到最大,卻不具有遷移的能力。
在直推學習中,知道測試資料是什麼,也就是訓練資料中的未標註的資料是最終用於測試的資料,學習的目的是在這些資料中取得最佳的泛化能力。
在歸納學習中,不清楚自己的測試資料是什麼,是具有可替換性的。