遷移學習與主動學習


1.什么時候要進行遷移學習?

目前大多數機器學習算法均是假設訓練數據以及測試數據的特征分布相同。然而這在現實世界中卻時常不可行。例如我們我們要對一個任務進行分類,但是此任務中數據不充足(在遷移學習中也被稱為目標域),然而卻有大量的相關的訓練數據(在遷移學習中也被稱為源域),但是此訓練數據與所需進行的分類任務中的測試數據特征分布不同(例如語音情感識別中,一種語言的語音數據充足,然而所需進行分類任務的情感數據卻極度缺乏),在這種情況下如果可以采用合適的遷移學習方法則可以大大提高樣本不充足任務的分類識別結果。也即是大家通常所說的將知識遷移到新環境中的能力,這通常被稱為遷移學習。有些時候如果遷移的不合適則會導致負遷移,例如當源域和目標域的任務毫不相關時有可能會導致負遷移。

2.遷移學習遷移什么?

在一些學習任務中有一些特征是個體所特有的,這些特征不可以遷移。而有些特征是在所有的個體中具有貢獻的,這些可以進行遷移。(簡單總結就是不遷移樣本個體特有的特征,遷移那些對所有個體都有貢獻的特征。

3.遷移學習的種類

歸納遷移學習(Inductive Transfer Learning),直推式遷移學習(Transductive Transfer Learning),無監督遷移學習(unsupervised transfer learning)

歸納遷移學習(Inductive Transfer Learning) 
目標任務與原任務不同,目標域和源域可能相同也可能不同。即。這種遷移學習方式又被分為四種形式 
1)實例知識遷移學習(Transferring knowledge of instances) 
基於實例的遷移學習的基本思想是,盡管目標域中部分帶標簽訓練數據和源訓練數據或多或少會有些不同,但是目標域中部分訓練數據中應該還是會存在一部分比較適合用來訓練一個有效的分類模型,並且適應測試數據。於是,目標就是目標域中部分帶標簽訓練數據中找出那些適合測試數據的實例,並將這些實例遷移到源訓練數據的學習中去。(不知道這樣理解是否正確,原文為although the source domain data cannot be reused directly, there are certain parts of the data that can still be reused together with a few labeled data in the target domain.) 
這種方法比較適合與源數據與目標數據中部分帶標簽數據非常接近的情況。 
2)特征知識遷移(Transferring knowledge of feature representations) 
基於特征的遷移學習主要是找到一種好的特征表示最小化域的不同。並且根據源域中帶標簽樣本是否充足可以分為有監督以及無監督學習方法。 
3)參數知識遷移 (Transferring knowledge of parameters) 
大部分基於參數的遷移學習均是以不同域的模型共享了一些參數或者是貢獻了一些先驗分布為前提的。 
4)相關知識遷移 (Transferring relational knowledge) 
這種遷移學習中源域和目標域的數據是相關的。例如newworked data以及social network data。它們的數據之間存在關聯。

直推式遷移學習(Transductive Transfer Learning) 
直推式遷移學習的原任務和目標任務是相同的,目標域和源域可能相同也可能不同。 
它又可以被分為a)特征空間不同以及b)特征空間相同,但邊緣概率分布不同(這種情況和domain adaptation相似) 
直推式遷移學習仍然包括實例知識遷移學習(Transferring knowledge of instances)以及特征知識遷移(Transferring knowledge of feature representations)(這種情況多是在無監督學習模型中進行的。)

無監督遷移學習(unsupervised transfer learning) 
無監督遷移學習的原任務和目標任務式不相同,且目標域數據以及源域數據都沒有標簽。 
例如最近提出的self-taught clustering,transferred discriminative analysis(TDA)屬於無監督遷移學習。 
且這些無監督特征學習只存在特征知識遷移(Transferring knowledge of feature representations)。

4.主動學習簡介

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

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

5.主動學習的模型

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

C為一組或者一個分類器

L是用於訓練已標注的樣本

U是未標注樣本池

Q是查詢函數,用於從未標注樣本池U中選擇數據

S是督導者,可以為U中樣本標注正確的標簽

學習者通過少量初始標記樣本L開始學習,通過一定的查詢函數Q選擇出一個或一批最有用的樣本,並向督導者詢問標簽,然后利用獲得的新知識來訓練分類器和進行下一輪查詢。主動學習是一個循環的過程,直至達到某一停止准則為止。

6.如何選擇樣本

主動學習一個很重要的問題是如何選擇樣本。根據獲取未標注數據樣本方 stream-based ) 和 基 於 池(pool-based)的學習策略,基於流的方法是對依次到來的每一個查詢樣例,判斷其是否需要提交給督導者進行標注;基於池的方法是針對新來的樣例進行緩存,當緩存到一定數目時,在緩存中按照標准選擇需要督導者標注的樣例。

基於池的學習策略是當前應用最多的、理論最充分的一種策略。

 基於池的主動學習方法根據選擇樣本標注的方法不同,可以分為基於不確定度的方法(Uncertainty Sampling)、投票選擇法(Query-By-Committee)、模型變化期望(Expected  Model  Change)、誤差減少期望(Expected  Error Reduction)、方差減少原則(Variance Reduction)及重量密度(Density-Weighted Method)等多種方法其中最常用的是基於不確定度的方法,主動學習器選擇最不確定的那些樣本提交給督導者進行標注。這種方法對概率模型來說是非常便捷的選擇策略。

 

 


免責聲明!

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



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