主動學習——active learning

 

1. 寫在前面

  在機器學習(Machine learning)領域,監督學習(Supervised learning)、非監督學習(Unsupervised learning)以及半監督學習(Semi-supervised learning)是三類研究比較多,應用比較廣的學習技術,wiki上對這三種學習的簡單描述以下:算法

  • 監督學習:經過已有的一部分輸入數據與輸出數據之間的對應關係,生成一個函數,將輸入映射到合適的輸出,例如分類。
  • 非監督學習:直接對輸入數據集進行建模,例如聚類。
  • 半監督學習:綜合利用有類標的數據和沒有類標的數據,來生成合適的分類函數。

  其實不少機器學習都是在解決類別歸屬的問題,即給定一些數據,判斷每條數據屬於哪些類,或者和其餘哪些數據屬於同一類等等。這樣,若是咱們上來就對這一堆數據進行某種劃分(聚類),經過數據內在的一些屬性和聯繫,將數據自動整理爲某幾類,這就屬於非監督學習。若是咱們一開始就知道了這些數據包含的類別,而且有一部分數據(訓練數據)已經標上了類標,咱們經過對這些已經標好類標的數據進行概括總結,得出一個 「數據-->類別」 的映射函數,來對剩餘的數據進行分類,這就屬於監督學習。而半監督學習指的是在訓練數據十分稀少的狀況下,經過利用一些沒有類標的數據,提升學習準確率的方法。機器學習

 

2. 什麼是active learning?

  在真實的數據分析場景中,咱們能夠獲取海量的數據,可是這些數據都是未標註數據,不少經典的分類算法並不能直接使用。那確定會有人說,數據是沒有標註的,那咱們就標註數據嘍!這樣的想法很正常也很單純,可是數據標註的代價是很大的,及時咱們只標註幾千或者幾萬訓練數據,標註數據的時間和金錢成本也是巨大的。函數

  在介紹active learning的概念以前,首先先談一下樣本信息的問題。學習

  什麼是樣本信息呢?簡單地來說,樣本信息就是說在訓練數據集當中每一個樣本帶給模型訓練的信息是不一樣的,即每一個樣本爲模型訓練的貢獻有大有小,它們之間是有差別的。優化

  所以,爲了儘量地減少訓練集及標註成本,在機器學習領域中,提出主動學習(active learning)方法,優化分類模型。spa

  主動學習(active learning),指的是這樣一種學習方法:xml

  有的時候,有類標的數據比較稀少而沒有類標的數據是至關豐富的,可是對數據進行人工標註又很是昂貴,這時候,學習算法能夠主動地提出一些標註請求,將一些通過篩選的數據提交給專家進行標註。htm

  這個篩選過程也就是主動學習主要研究的地方了。blog

 

3. active learning的基本思想

  主動學習算法能夠由如下五個組件進行建模:

  A=(C,L,S,Q,U)A=(C,L,S,Q,U)
  其中 CC 爲一個或一組分類器;LL 爲一組已標註的訓練樣本集;QQ 爲查詢函數,用於在未標註的樣本中查詢信息量大的樣本;UU 爲整個未標註樣本集;SS 爲督導者,能夠對未標註樣本進行標註。

  主動學習算法主要分爲兩階段:

  第一階段爲初始化階段,隨機從未標註樣本中選取小部分,由督導者標註,做爲訓練集 創建初始分類器模型;

  第二階段爲循環查詢階段,SS 從未標註樣本集 UU 中,按照某種查詢標準 QQ,選取必定的未標註樣本進行標註,並加到訓練樣本集 LL 中, 從新訓練分類器,直至達到訓練中止標準爲止。 

  主動學習算法是一個迭代的過程,分類器使用 迭代時反饋的樣本進行訓練,不斷提高分類效率。 

  主動學習的實例:qq空間相冊中的人臉識別技術

  下圖爲Action learning在相同的標註樣本數目下與監督學習算法的比較:

 

  從上圖也能夠看出來,在相同數目的標註數據中,主動學習算法比監督學習算法的分類偏差要低。這裏注意橫軸是標註數據的數目,對於主動學習而言,相同的標註數據下,主動學習的樣本數>監督學習,這個對比主要是爲了說明二者對於訓練樣本的使用效率不一樣:主動學習訓練使用的樣本都是通過算法篩選出來對於模型訓練有幫助的數據,因此效率高。可是若是是相一樣本的數量下去對比二者的偏差,那確定是監督學習佔優,這是毋庸置疑的。
 

4. active learning與半監督學習的不一樣

  不少人認爲主動學習也屬於半監督學習的範疇了,但其實是不同的,半監督學習和直推學習(transductive learning)以及主動學習,都屬於利用未標記數據的學習技術,但基本思想仍是有區別的。

  如上所述,主動學習的「主動」,指的是主動提出標註請求,也就是說,仍是須要一個外在的可以對其請求進行標註的實體(一般就是相關領域人員),即主動學習是交互進行的。

  而半監督學習,特指的是學習算法不須要人工的干預,基於自身對未標記數據加以利用。

 

5. 參考文獻

  [1] active learning wiki

  [2] 2012,主動學習算法綜述

相關文章
相關標籤/搜索