主動學習簡介


我們使用一些傳統的監督學習方法做分類的時候,往往是訓練樣本規模越大,分類的效果就越好。但是在現實生活的很多場景中,標記樣本的獲取是比較困難的,這需要領域內的專家來進行人工標注,所花費的時間成本和經濟成本都是很大的。而且,如果訓練樣本的規模過於龐大,訓練的時間花費也會比較多。那么有沒有辦法,能夠使用較少的訓練樣本來獲得性能較好的分類器呢?主動學習(Active Learning)為我們提供了這種可能。主動學習通過一定的算法查詢最有用的未標記樣本,並交由專家進行標記,然后用查詢到的樣本訓練分類模型來提高模型的精確度。

在人類的學習過程中,通常利用已有的經驗來學習新的知識,又依靠獲得的知識來總結和積累經驗,經驗與知識不斷交互。同樣,機器學習模擬人類學習的過程,利用已有的知識訓練出模型去獲取新的知識,並通過不斷積累的信息去修正模型,以得到更加准確有用的新模型。不同於被動學習被動的接受知識,主動學習能夠選擇性地獲取知識,

主動學習的模型如下:

A=(C,Q,S,L,U)

其中 C 為一組或者一個分類器,L是用於訓練已標注的樣本。Q 是查詢函數,用於從未標注樣本池U中查詢信息量大的信息,S是督導者,可以為U中樣本標注正確的標簽。學習者通過少量初始標記樣本L開始學習,通過一定的查詢函數Q選擇出一個或一批最有用的樣本,並向督導者詢問標簽,然后利用獲得的新知識來訓練分類器和進行下一輪查詢。主動學習是一個循環的過程,直至達到某一停止准則為止。

剛才說到查詢函數Q用於查詢一個或一批最有用的樣本。那么,什么樣的樣本是有用的呢?即查詢函數查詢的是什么樣的樣本呢?在各種主動學習方法中,查詢函數的設計最常用的策略是:不確定性准則(uncertainty)和差異性准則(diversity)

對於不確定性,我們可以借助信息熵的概念來進行理解。我們知道信息熵是衡量信息量的概念,也是衡量不確定性的概念。信息熵越大,就代表不確定性越大,包含的信息量也就越豐富。事實上,有些基於不確定性的主動學習查詢函數就是使用了信息熵來設計的,比如熵值裝袋查詢(Entropy query-by-bagging)。所以,不確定性策略就是要想方設法地找出不確定性高的樣本,因為這些樣本所包含的豐富信息量,對我們訓練模型來說就是有用的。

那么差異性怎么來理解呢?之前說到或查詢函數每次迭代中查詢一個或者一批樣本。我們當然希望所查詢的樣本提供的信息是全面的,各個樣本提供的信息不重復不冗余,即樣本之間具有一定的差異性。在每輪迭代抽取單個信息量最大的樣本加入訓練集的情況下,每一輪迭代中模型都被重新訓練,以新獲得的知識去參與對樣本不確定性的評估可以有效地避免數據冗余。但是如果每次迭代查詢一批樣本,那么就應該想辦法來保證樣本的差異性,避免數據冗余。

以下是兩篇綜述:

【1】Settles B. Active Learning Literature Survey[J]. University of Wisconsinmadison, 2010, 39(2):127–131.

【2】Fu Y, Zhu X, Li B. A survey on instance selection for active learning[J]. Knowledge and Information Systems, 2013, 35(2):249-283.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM