主動學習(ACTIVE LEARNING) - 幫趣
文章推薦指數: 80 %
主動學習(Active Learning)的大致思路就是:通過機器學習的方法獲取到那些比較「難」分類的樣本數據,讓人工再次確認和審覈,然後將人工標註得到的 ...
幫趣
幫趣
主動學習(ACTIVELEARNING)
2020-09-1912:37:29.0
主動學習(ActiveLearning)
主動學習背景介紹
機器學習的研究領域包括有監督學習(SupervisedLearning),無監督學習(UnsupervisedLearning),半監督學習(Semi-supervisedLearning)和強化學習(ReinforcementLearning)等諸多內容。
針對有監督學習和半監督學習,都需要一定數量的標註數據,也就是說在訓練模型的時候,全部或者部分數據需要帶上相應的標籤才能進行模型的訓練。
但是在實際的業務場景或者生產環境中,工作人員獲得樣本的成本其實是不低的,甚至在某些時候是相對較高的,那麼如何通過較少成本來獲得較大價值的標註數據,進一步地提升算法的效果就是值得思考的問題了。
機器學習
在工業界的圖像標註領域,雖然有ImageNet這個學術界和工業界都在使用的圖像數據庫,但是在很多特殊的業務場景上,從業人員依舊需要想盡辦法去獲取業務標註數據。
在安全風控領域,黑產用戶相對於正常用戶是偏少的,因此,如何通過極少的黑產用戶來建立模型則是值得思考的問題之一。
在業務運維領域,服務器,app的故障時間相對於正常運行的時間也是偏少的,必然會出現樣本不均衡的情況。
因此,在這些業務領域,要想獲得樣本和構建模型,就必須要通過人力的參與。
那麼如何通過一些機器學習算法來降低人工標註的成本就是從業者需要關注的問題了。
畢竟需要標註100個樣本和需要標註成千上萬的樣本所需要的人力物力是截然不同的。
在學術界,同樣有學者在關注這方面的問題,學者們通過一些技術手段或者數學方法來降低人們標註的成本,學者們把這個方向稱之爲主動學習(ActiveLearning)。
在整個機器學習建模的過程中有人工參與的部分和環節,並且通過機器學習方法篩選出合適的候選集給人工標註的過程。
主動學習(ActiveLearning)的大致思路就是:通過機器學習的方法獲取到那些比較「難」分類的樣本數據,讓人工再次確認和審覈,然後將人工標註得到的數據再次使用有監督學習模型或者半監督學習模型進行訓練,逐步提升模型的效果,將人工經驗融入機器學習的模型中。
在沒有使用主動學習(ActiveLearning)的時候,通常來說系統會從樣本中隨機選擇或者使用一些人工規則的方法來提供待標記的樣本供人工進行標記。
這樣雖然也能夠帶來一定的效果提升,但是其標註成本總是相對大的。
用一個例子來比喻,一個高中生通過做高考的模擬試題以希望提升自己的考試成績,那麼在做題的過程中就有幾種選擇。
一種是隨機地從歷年高考和模擬試卷中隨機選擇一批題目來做,以此來提升考試成績。
但是這樣做的話所需要的時間也比較長,針對性也不夠強;另一種方法是每個學生建立自己的錯題本,用來記錄自己容易做錯的習題,反覆地鞏固自己做錯的題目,通過多次複習自己做錯的題目來鞏固自己的易錯知識點,逐步提升自己的考試成績。
其主動學習的思路就是選擇一批容易被錯分的樣本數據,讓人工進行標註,再讓機器學習模型訓練的過程。
那麼主動學習(ActiveLearning)的整體思路究竟是怎樣的呢?在機器學習的建模過程中,通常包括樣本選擇,模型訓練,模型預測,模型更新這幾個步驟。
在主動學習這個領域則需要把標註候選集提取和人工標註這兩個步驟加入整體流程,也就是:
機器學習模型:包括機器學習模型的訓練和預測兩部分;
待標註的數據候選集提取:依賴主動學習中的查詢函數(QueryFunction);
人工標註:專家經驗或者業務經驗的提煉;
獲得候選集的標註數據:獲得更有價值的樣本數據;
機器學習模型的更新:通過增量學習或者重新學習的方式更新模型,從而將人工標註的數據融入機器學習模型中,提升模型效果。
主動學習的流程
通過這種循環往復的方法,就可以達到人工調優模型的結果。
其應用的領域包括:
個性化的垃圾郵件,短信,內容分類:包括營銷短信,訂閱郵件,垃圾短信和郵件等等;
異常檢測:包括但不限於安全數據異常檢測,黑產賬戶識別,時間序列異常檢測等等。
主動學習的模型分類包括兩種,第一種是流式的主動學習(SequentialActiveLearning),第二種是離線批量的主動學習(Pool-basedActiveLearning)。
在不同的場景下,業務人員可以選擇不同的方案來執行。
主動學習的三種場景
而查詢策略(QueryStrategyFrameworks)就是主動學習的核心之處,通常可以選擇以下幾種查詢策略:
不確定性採樣的查詢(UncertaintySampling);
基於委員會的查詢(Query-By-Committee);
基於模型變化期望的查詢(ExpectedModelChange);
基於誤差減少的查詢(ExpectedErrorReduction);
基於方差減少的查詢(VarianceReduction);
基於密度權重的查詢(Density-WeightedMethods)。
不確定性採樣(UncertaintySampling)
顧名思義,不確定性採樣的查詢方法就是將模型中難以區分的樣本數據提取出來,提供給業務專家或者標註人員進行標註,從而達到以較快速度提升算法效果的能力。
而不確定性採樣方法的關鍵就是如何描述樣本或者數據的不確定性,通常有以下幾種思路:
置信度最低(LeastConfident);
邊緣採樣(MarginSampling);
熵方法(Entropy);
LeastConfident
對於二分類或者多分類的模型,通常它們都能夠對每一個數據進行打分,判斷它究竟更像哪一類。
例如,在二分類的場景下,有兩個數據分別被某一個分類器預測,其對兩個類別的預測概率分別是:(0.9,0.1)和(0.51,0.49)。
在此情況下,第一個數據被判定爲第一類的概率是0.9,第二個數據被判定爲第一類的概率是0.51,於是第二個數據明顯更「難」被區分,因此更有被繼續標註的價值。
所謂LeastConfident方法就是選擇那些最大概率最小的樣本進行標註,用數學公式描述就是:
,
其中,這裏的表示一個已經訓練好的機器學習模型參數集合。
對於而言是模型預測概率最大的類別。
LeastConfident方法考慮那些模型預測概率最大但是可信度較低的樣本數據。
MarginSampling
邊緣採樣(marginsampling)指的是選擇那些極容易被判定成兩類的樣本數據,或者說這些數據被判定成兩類的概率相差不大。
邊緣採樣就是選擇模型預測最大和第二大的概率差值最小的樣本,用數學公式來描述就是:
,
其中和分別表示對於而言,模型預測爲最大可能類和第二大可能類。
特別地,如果針對二分類問題,leastconfident和marginsampling其實是等價的。
Entropy
在數學中,可以使用熵(Entropy)來衡量一個系統的不確定性,熵越大表示系統的不確定性越大,熵越小表示系統的不確定性越小。
因此,在二分類或者多分類的場景下,可以選擇那些熵比較大的樣本數據作爲待定標註數據。
用數學公式表示就是:
,
相較於leastconfident和marginsample而言,entropy的方法考慮了該模型對某個的所有類別判定結果。
而leastconfident只考慮了最大的概率,marginsample考慮了最大的和次大的兩個概率。
不確定性採樣的差異性
基於委員會的查詢(Query-By-Committee)
除了考慮單個模型的不確定性採樣方法之外,還可以考慮多個模型的場景,這就是類似集成學習的方法。
通過多個模型投票的模式,來選擇出那些較「難」區分的樣本數據。
在QBC(Query-By-Committee)的技術方案中,可以假設有個模型,其參數分別是,並且這些模型都是通過數據集的訓練得到的。
如果不需要考慮每個模型的檢測效果,其實可以考慮類似不確定性採樣中的leastconfident和marginsampling方法。
可以選擇某一個分類器難以區分的樣本數據,也可以選擇其中兩三個分類器難以區分的數據。
但是如果要考慮所有模型的分類效果的時候,則還是需要熵(Entropy)或者KL散度等指標。
因此,QBC通常也包括兩種方法:
投票熵(VoteEntropy):選擇這些模型都無法區分的樣本數據;
平均KL散度(AverageKullback-LeiblerDivergence):選擇KL散度較大的樣本數據。
投票熵(VoteEntropy)
對於這種多模型的場景而言,可以用熵來衡量樣本數據被這些分類器區分的難易程度,如果這些分類器都把樣本數據劃分到某一類,則容易區分;如果分類器把樣本數據劃分到多類,則表示難以區分,需要重點關注。
用數學公式表達就是:
,
其中表示第類,求和符號表示將所有的類別相加,表示投票給的分類器個數,表示分類器的總數,並且。
平均KL散度(AverageKLDivergence)
KL散度可以衡量兩個概率之間的「距離」,因此可以用KL散度計算出那些偏差較大的數據樣本。
用數學公式來描述就是:
其中也是概率分佈,表示兩個概率的KL散度。
期望模型變化(ExpectedModelChange)
模型變化最大其實可以選擇那些使得梯度變化最大的樣本數據。
期望誤差減少(ExpectedErrorReduction)
可以選擇那些通過增加一個樣本就使得loss函數減少最多的樣本數據。
方差減少(VarianceReduction)
選擇那些方差減少最多的樣本數據。
基於密度權重的選擇方法(Density-WeightedMethods)
有的時候,某個數據點可能是異常點或者與大多數數據偏差較大,不太適合做樣本選擇或者區分,某些時候考慮那些稠密的,難以區分的數據反而價值更大。
於是,可以在使用不確定性採樣或者QBC方法的時候,將樣本數據的稠密性考慮進去。
用數學公式表示就是:
,
在這裏,表示某個不確定性採樣方法或者QBC方法,表示指數參數,表示第類的代表元,表示類別的個數。
加上權重表示會選擇那些與代表元相似度較高的元素作爲標註候選集。
B附近的點信息量會大於A附近的點
總結
在主動學習(ActiveLearning)領域,其關鍵在於如何選擇出合適的標註候選集給人工進行標註,而選擇的方法就是所謂的查詢策略(QueryStategy)。
查詢策略基本上可以基於單個機器學習模型,也可以基於多個機器學習模型,在實際使用的時候可以根據情況來決定。
整體來看,主動學習都是爲了降低標註成本,迅速提升模型效果而存在的。
主動學習的應用場景廣泛,包括圖像識別,自然語言處理,安全風控,時間序列異常檢測等諸多領域。
後續筆者將會持續關注這一領域的發展並撰寫相關文檔。
參考資料
Settles,Burr.Activelearningliteraturesurvey.UniversityofWisconsin-MadisonDepartmentofComputerSciences,2009.
Aggarwal,CharuC.,etal."Activelearning:Asurvey."DataClassification:AlgorithmsandApplications.CRCPress,2014.571-605.
文章來源:知乎
喜歡這篇文章嗎?快分享吧!
COPYRIGHT©2020,BANGQU.COM|Coupons
延伸文章資訊
- 1主動學習(Active learning)演算法的原理是什麼 - GetIt01
搞風控的同學們可能都遇到過壞樣本太少的問題,最近同事提示可以研究一下主動學習(active learning),據說這個演算法可以減少人工打標的數量、成本?回答分...
- 2主动学习(Active learning)算法的原理是什么 - 知乎
主动学习(Active Learning). 主动学习背景介绍. 机器学习的研究领域包括有监督学习(Supervised Learning),无监督学习(Unsupervised Learnin...
- 3教學新知– 主動學習- CTLD x DLC
相較於傳統以「教師講授、學生聆聽」的單向式知識傳遞,教育研究者發現,學生愈是參與學習過程,學習收獲也會愈多,因而興起「主動學習」(active learning)的概念,並 ...
- 4主动学习(ACTIVE LEARNING) - 知乎专栏
主动学习(Active Learning)的大致思路就是:通过机器学习的方法获取到那些比较“难”分类的样本数据,让人工再次确认和审核,然后将人工标注得到的数据再次使用有监督学习 ...
- 5以人為中心的機器學習與互動式機器學習簡介 - iT 邦幫忙
「以人為中心的機器學習(Human-Centered Machine Learning)」。 ... 就得先簡單地介紹機器學習中一個也是滿重要的主題「主動式學習(Active Learning)」.