主動學習介紹

2022-06-22 15:09:15 字數 1421 閱讀 4283

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

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

主動學習的模型如下:

a=(c,q,s,l,u),

其中 c 為一組或者乙個分類器,l是用於訓練已標註的樣本。q 是查詢函式,用於從未標註樣本池u中查詢資訊量大的資訊,s是督導者,可以為u中樣本標註正確的標籤。學習者通過少量初始標記樣本l開始學習,通過一定的查詢函式q選擇出乙個或一批最有用的樣本,並向督導者詢問標籤,然後利用獲得的新知識來訓練分類器和進行下一輪查詢。主動學習是乙個迴圈的過程,直至達到某一停止準則為止。

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

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

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

主動學習介紹

主動學習演算法的意義在於使用策略在未標記樣本集合中選擇最有價值的例項,將其交給專家s進行標註,然後將標記樣本增加到下一次對的迭代的訓練集t中,使得分類器進行迭代訓練。典型的主動學習框架介紹 主動學習是乙個迴圈的過程,通過一定的手段從未標記樣本中選擇出有效的標記樣本作為標記樣本,當達到一定的條件或者準...

主動學習 主動學習演算法綜述

參考文獻 主動學習演算法綜述 主動學習 active learning 用於解決分類問題的機器學習,如今已經是很熟悉的話題了,我們知道所有分類模型都需使用標記樣本訓練,並且分類模型的效果依賴於標記樣本的質量。乙個好的分類模型離不開大量優質的訓練資料,但是在實際應用條件下,我們得到的資料往往都是沒有經...

主動學習教程

有一門程式語言基礎的程式設計師。簡潔,每節課控制在10分鐘左右,不講廢話,但是需要你看完之後去主動學習 下文會提到主動學習 通俗易懂,盡量少的出現晦澀難懂的專業名詞,盡可能用生活中常見的事物去形象地打比方。入門python,僅僅是入門,吃瓜群眾 請問群主我學完能去找一萬工資的工作嗎?群主 問君何不乘...