閱讀目錄
在機器學習(machine learning)領域,監督學習(supervised learning)、非監督學習(unsupervised learning)以及半監督學習(semi-supervised learning)是三類研究比較多,應用比較廣的學習技術,wiki上對這三種學習的簡單描述如下:
其實很多機器學習都是在解決類別歸屬的問題,即給定一些資料,判斷每條資料屬於哪些類,或者和其他哪些資料屬於同一類等等。這樣,如果我們上來就對這一堆資料進行某種劃分(聚類),通過資料內在的一些屬性和聯絡,將資料自動整理為某幾類,這就屬於非監督學習。如果我們一開始就知道了這些資料報含的類別,並且有一部分資料(訓練資料)已經標上了類標,我們通過對這些已經標好類標的資料進行歸納總結,得出乙個 「資料-->類別」 的對映函式,來對剩餘的資料進行分類,這就屬於監督學習。而半監督學習指的是在訓練資料十分稀少的情況下,通過利用一些沒有類標的資料,提高學習準確率的方法。
在真實的資料分析場景中,我們可以獲取海量的資料,但是這些資料都是未標註資料,很多經典的分類演算法並不能直接使用。那肯定會有人說,資料是沒有標註的,那我們就標註資料嘍!這樣的想法很正常也很單純,但是資料標註的代價是很大的,及時我們只標註幾千或者幾萬訓練資料,標註資料的時間和金錢成本也是巨大的。
在介紹active learning的概念之前,首先先談一下樣本資訊的問題。
什麼是樣本資訊呢?簡單地來講,樣本資訊就是說在訓練資料集當中每個樣本帶給模型訓練的資訊是不同的,即每個樣本為模型訓練的貢獻有大有小,它們之間是有差異的。
因此,為了盡可能地減小訓練集及標註成本,在機器學習領域中,提出主動學習(active learning)方法,優化分類模型。
主動學習(active learning),指的是這樣一種學習方法:
有的時候,有類標的資料比較稀少而沒有類標的資料是相當豐富的,但是對資料進行人工標註又非常昂貴,這時候,學習演算法可以主動地提出一些標註請求,將一些經過篩選的資料提交給專家進行標註。
這個篩選過程也就是主動學習主要研究的地方了。
主動學習演算法可以由以下五個元件進行建模:a=
(c,l
,s,q
,u)' data-evernote-id="270">a=(c,l,s,q,u)
a=(c,l,s,q,u)
其中 c
' data-evernote-id="313">c
c 為乙個或一組分類器;l
' data-evernote-id="328">l
l 為一組已標註的訓練樣本集;q
' data-evernote-id="342">q
q 為查詢函式,用於在未標註的樣本中查詢資訊量大的樣本;u
' data-evernote-id="356">u
u 為整個未標註樣本集;s
' data-evernote-id="371">s
s 為督導者,可以對未標註樣本進行標註。
主動學習演算法主要分為兩階段:
第一階段為初始化階段,隨機從未標註樣本中選取小部分,由督導者標註,作為訓練集 建立初始分類器模型;
第二階段為迴圈查詢階段,s
' data-evernote-id="390">s
s 從未標註樣本集 u
' data-evernote-id="405">u
u 中,按照某種查詢標準 q
' data-evernote-id="420">q
q,選取一定的未標註樣本進行標註,並加到訓練樣本集 l
' data-evernote-id="434">l
l 中, 重新訓練分類器,直至達到訓練停止標準為止。
主動學習演算法是乙個迭代的過程,分類器使用 迭代時反饋的樣本進行訓練,不斷提公升分類效率。
主動學習的例項:qq空間相簿中的人臉識別技術
下圖為action learning在相同的標註樣本數目下與監督學習演算法的比較:
從上圖也可以看出來,在相同數目的標註資料中,主動學習演算法比監督學習演算法的分類誤差要低。這裡注意橫軸是標註資料的數目,對於主動學習而言,相同的標註資料下,主動學習的樣本數》監督學習,這個對比主要是為了說明兩者對於訓練樣本的使用效率不同:主動學習訓練使用的樣本都是經過演算法篩選出來對於模型訓練有幫助的資料,所以效率高。但是如果是相同樣本的數量下去對比兩者的誤差,那肯定是監督學習佔優,這是毋庸置疑的。
很多人認為主動學習也屬於半監督學習的範疇了,但實際上是不一樣的,半監督學習和直推學習(transductive learning)以及主動學習,都屬於利用未標記資料的學習技術,但基本思想還是有區別的。
如上所述,主動學習的「主動」,指的是主動提出標註請求,也就是說,還是需要乙個外在的能夠對其請求進行標註的實體(通常就是相關領域人員),即主動學習是互動進行的。
而半監督學習,特指的是學習演算法不需要人工的干預,基於自身對未標記資料加以利用。
[1] active learning wiki
[2] 2012,主動學習演算法綜述
主動學習 主動學習演算法綜述
參考文獻 主動學習演算法綜述 主動學習 active learning 用於解決分類問題的機器學習,如今已經是很熟悉的話題了,我們知道所有分類模型都需使用標記樣本訓練,並且分類模型的效果依賴於標記樣本的質量。乙個好的分類模型離不開大量優質的訓練資料,但是在實際應用條件下,我們得到的資料往往都是沒有經...
主動學習介紹
主動學習演算法的意義在於使用策略在未標記樣本集合中選擇最有價值的例項,將其交給專家s進行標註,然後將標記樣本增加到下一次對的迭代的訓練集t中,使得分類器進行迭代訓練。典型的主動學習框架介紹 主動學習是乙個迴圈的過程,通過一定的手段從未標記樣本中選擇出有效的標記樣本作為標記樣本,當達到一定的條件或者準...
主動學習教程
有一門程式語言基礎的程式設計師。簡潔,每節課控制在10分鐘左右,不講廢話,但是需要你看完之後去主動學習 下文會提到主動學習 通俗易懂,盡量少的出現晦澀難懂的專業名詞,盡可能用生活中常見的事物去形象地打比方。入門python,僅僅是入門,吃瓜群眾 請問群主我學完能去找一萬工資的工作嗎?群主 問君何不乘...