基於遷移學習的反欺詐方法研究
遷移學習(Transfer learning),顧名思義,就是把已知學到的知識應用於理解未知事物上,這很符合我們的認知過程。舉個最簡單的例子,假設我們給朋友介紹一種新產品,就叫「奇里古剎幣」(亂編個名字也是很費腦細胞的),你很難講解其中的邏輯。但你如果這麼說:「類似於比特幣,屬於虛擬貨幣的一種,只不過僅限於購買牛奶」。你的朋友可能瞬間就理解了,「哦,原來如此」。
我們嘗試分析一下你朋友大腦的運作:
第一步:把對比特幣的認知直接轉移(transfer)到了「奇里古剎幣」
第二步:以此為基礎,再加上限制條件「僅限於購買牛奶」
如此,便完成了遷移學習的過程。
事實上,遷移學習是每個數據分析師的必備技能,它不是一種演算法模型,甚至稱不上一種技術,只是一種方法論,或者說是一種模型設計思路。
遷移學習的基本概念
#定義#
對於兩個相關場景A和B,A有大量的標籤,B僅有少量標籤或沒有標籤。遷移學習是指通過將對A學習的結果轉移到B的建模中,以此提高B的建模效率。
#為什麼要進行遷移學習#
建模人員都知道,有監督機器學習需要大量的標籤數據,而為數據打標籤十分耗時,而且通常需要大量人力參與,因此是一筆巨大的開銷。對於一般有監督學習,我們通常會採用隨機的方式初始化參數,再進行不斷的迭代學習得到收斂的參數組合。我們可以這麼理解,遷移學習實際上是特殊化的初始化流程,也就是,我們的初始化不是採用隨機參數方式,而是將其他相關場景的訓練結果拿來,作為這個模型的初始化。
遷移學習的主要優勢
首先,遷移學習可以提高機器學習的效率。這顯而易見,通過遷移學習,你可以不再通過隨機的方式初始化參數,站在巨人的肩膀上learning,相比於從零開始的模型,必然已經贏在起跑線上了;
其次,遷移學習可以降低對訓練數據的量級要求,尤其對於深度學習。試想,對於一個五層神經網路模型,功能是識別男女。那麼,你拿一個識別人類的三層神經網路作為基礎,進行遷移學習,那麼,你只需要訓練後兩層即可,而無需從零開始。可想而知,這樣的話,對於標籤數據的數據量要求就少得多了;
遷移學習示意圖
最後,遷移學習的適用性較強。遷移學習雖然不能應用在任意場合,但只要兩個場景具有一點相關性,即可以使用遷移學習。例如,國內某公司,其團隊開始主要做精準營銷,對客戶進行分群,目的是識別出其需求和鑒別購買力。後採用遷移學習進行欺詐識別,雖然場景不盡相同,捕捉到人群特徵也不盡相同,但其在精準營銷上訓練的模型參數可以作為反欺詐模型的初始化,以此節約訓練時間。同樣,對於反欺詐業界所提倡的聯防聯控,除了共享黑名單資料庫外,其另一個比較重要的應用就是遷移學習。事實上,國內某知名電商日前發布的關於騙保反欺詐產品,就是以其商城購買行為分析模型為基礎構建的,這也是一種遷移學習。
總之,遷移學習並非一種技術,而是一種方法論。其根本目的就是「站在巨人的肩膀上」建模,而至於能否採用「遷移學習」,就要看你有沒有找對這個「巨人」了。跟「巨人」的場景關聯性越高,遷移學習的適用性就越好。而如果你胡亂找錯人,那麼可能會一不小心掉進大坑,反倒費時了。
遷移學習的三種類型
遷移學習的關鍵,用四個字概括,就是「找對巨人」,也就是需要找到不同場景之間的關聯和共性(特徵),本文就系統性地介紹一下遷移學習的幾種方法。
首先,來看幾個定義。
1. Domain:
包含兩個component,一是向量空間X,一個是X的分布P(X)
2. Task:
給定一個特定的domain和label空間Y,對於domain里每一個xi,都可以預測出相應的yi。通常,如果兩個task不同,那麼其通常有不同的label空間,或者不同的條件分布P(Y|X)
3. Source domain:
如果把一個task A上的knowledge遷移到taskB上,那麼就說task A對應的domain就是Source domain, P(XS)
4. Target domain:
如果把一個task A上的knowledge遷移到taskB上,那麼就說task B對應的domain就是Target domain, P(XT)
下面,根據標籤的情況,將遷移學習分為三種類型:
Vontear在其blog里有一個形象的說明,在此引用下其說明:
Transductive Learning:從彼個例到此個例,有點象英美法系,實際案例直接結合過往的判例進行判決。關注具體實踐。
Inductive Learning:從多個個例歸納出普遍性,再演繹到個例,有點象大陸法系,先對過往的判例歸納總結出法律條文,再應用到實際案例進行判決。從有限的實際樣本中,企圖歸納出普遍真理,傾向形而上,往往會不由自主地成為教條。
而對於unsupervised learning,屬於比較普遍的內容,在此不再贅述。
幾種遷移學習的選擇流程,如下圖所示:
風控與反欺詐的應用場景
根據遷移的對象,可以將遷移學習分為四種類型,進一步展開就是風控與反欺詐的應用場景。以下,具體介紹一下幾種常用的思路。
1、Inductive Transfer Learning + Instance-transfer
適用條件:Source Domain和Target Domain數據的特徵(feature)和標籤(label)完全相同。
處理方式:重新調整source domain的權重,應用於target domain。
舉例:信用卡申請的申請表和小額貸款的申請表的申請欄位相同,其他埋點信息也相同,且最終的結論都是【通過】和【拒絕】。那麼,在兩者的申請場景下,可以採用此種方法。
2、Inductive Transfer Learning + Feature-representation-transfer
適用條件:Task之間具有一定關聯性,且包含共同的特徵
處理方式:把每一個task作為輸入,用task之間共同的feature來建模。解釋一下,首先你要通過一些方法將source domain里無標籤的數據做一個更高level的提煉,稱為representation;然後要將target domain的數據也做一個類似的轉換,即representation;這樣,我們就可以用可以利用representation來作為建模,且使用與representation相關的標籤了。(很像求最小公倍數的思路)
舉例:這也是一種常用的思路。舉一個最經典的例子,信用卡還款,有各種逾期行為,我們定義壞人的方式是認為M3&M3+;消費貸分期,也會有各種沒有按時還款的行為,而這個定義是M2&M2+。看上去兩個定義不同,但我們給這樣一個新定義:壞人。此處,【壞人】就是一個共同的feature,也就是我們的定義representation。
3、Inductive Transfer Learning + Parameter-transfer
適用條件:Task之間具有一定關聯性,且在某個獨立模型中共用一些參數。
處理方式:提取共用的參數直接遷移即可,這種方式在多任務模型(Multiple tasks model)中應用比較廣泛。
舉例:前文中的關於識別男女和識別人類的多層神經網路的應用,就是一個非常典型的parameter-transfer的例子。
4、Inductive Transfer Learning +Relational-knowledge-transfer
適用條件:Source domain的內部關係和target domain的內部關係有相似性。什麼意思呢?舉個:在學術領域和影視業就有如下相似的關係。
處理方式:將source domain學習到的MLN(Markov Logic Network)遷移到target domain中,輸出一個針對target domain的新的MLN。
舉例:這個可以用來分析新的團伙欺詐模式,例如信用卡申請和銀行放貸的內外勾結、中介機構包裝偽造信息等。
此外,Transductive Transfer Learning與Instance-transfer和Feature-representation-transfer相結合的應用與上述第一種和第二種類似。
對於Unsupervisedtransfer learning,通常應用於source domain有大量無標籤數據,而target domain的數據量比較小且也是無標籤的情況,採用的方式為Feature-representation-transfer方法。特別地,基於層次聚類方法論,採用parameter-transfer也可以大幅提高模型的運算效率。
至此,我們已經了解了比較主流的遷移學習方法。那麼,我們還有最後一個問題:如何能夠避免找錯巨人而誤入大坑(專業名詞為negative transfer)呢?Sinno Jialin Pan提出過一個防止誤入大坑的建議(黑色對號)。而基於筆者的實際項目經驗,將調整後的表格修改如下(紅色對號為筆者添加):
綜上,Transfer Learning對於提高模型運算效率有十分重要的意義。然而,是否能夠遷移,如何進行有效地遷移仍然是建模工程師重點關注的。對於已知欺詐,Transfer learning具有更好的適用性,而對於未知欺詐,若想使用transferlearning,通常還是需要配合一些背景調查以及一些標籤和業務知識輸入,否則,也較難適用。
作者:DataVisor黃姐姐(工科女詩人,資深貓奴)
TAG:金融科技實戰 |