WePay機(jī)器學(xué)習(xí)反欺詐實(shí)踐:Python+scikit-learn+隨機(jī)森林
【數(shù)據(jù)猿導(dǎo)讀】 本文中,WePay介紹了支付行業(yè)構(gòu)建機(jī)器學(xué)習(xí)模型應(yīng)對(duì)很難發(fā)現(xiàn)的shell selling欺詐的實(shí)踐心得。WePay采用了流行的Python、scikit-learn開(kāi)源學(xué)習(xí)機(jī)器學(xué)習(xí)工具以及隨機(jī)森林算法

【編者按】將機(jī)器學(xué)習(xí)算法用于金融領(lǐng)域的一個(gè)很好的突破口是反欺詐,在這篇博文中,WePay介紹了支付行業(yè)構(gòu)建機(jī)器學(xué)習(xí)模型應(yīng)對(duì)很難發(fā)現(xiàn)的shell selling欺詐的實(shí)踐心得。WePay采用了流行的Python、scikit-learn開(kāi)源學(xué)習(xí)機(jī)器學(xué)習(xí)工具以及隨機(jī)森林算法。以下是文章內(nèi)容:
什么是shell selling?
雖然欺詐幾乎涉及各種領(lǐng)域,但相對(duì)于傳統(tǒng)的買方或賣方僅僅擔(dān)心對(duì)方是否是騙子,支付平臺(tái)需要擔(dān)心的是交易雙方。如果其中任何一方存在信用詐騙,真正的持卡人發(fā)現(xiàn)和撤銷費(fèi)用,平臺(tái)自身就要進(jìn)行賬單償還。
shell selling是在這種情況下特別受關(guān)注的欺詐類型的一種?;旧?,當(dāng)交易雙方都帶有欺騙性質(zhì)時(shí),這種模式便會(huì)發(fā)生,比如說(shuō)有一個(gè)犯罪分子用偷來(lái)的一個(gè)信用卡賬戶來(lái)支付兩筆支付。
shell selling可能很難發(fā)現(xiàn),因?yàn)檫@些欺騙者姿態(tài)很低調(diào)。他們通常沒(méi)有多少“真正”的客戶,所以你不能依靠用戶反饋結(jié)果,用這種方式你會(huì)碰到更多傳統(tǒng)的欺騙者。當(dāng)一個(gè)商人在一個(gè)很短的時(shí)間段里獲得了來(lái)自同一個(gè)IP的一堆付款時(shí),這很明顯,但主導(dǎo)這種欺詐罪行的情況往往比這還要復(fù)雜很多。他們常常使用各種各樣的技術(shù)來(lái)隱藏自己的身份和逃避偵測(cè)。
由于shell selling是一個(gè)普遍的難題,而且很難被發(fā)現(xiàn),所以我們決定建立一個(gè)機(jī)器學(xué)習(xí)算法來(lái)幫助抓住它。
構(gòu)建機(jī)器學(xué)習(xí)算法注意事項(xiàng)
在WePay,我們采用Python建立整個(gè)機(jī)器學(xué)習(xí)的流程,采用流行的scikit-learn開(kāi)源學(xué)習(xí)機(jī)器學(xué)習(xí)工具包。如果你還沒(méi)有使用過(guò)scikit-learn,我強(qiáng)烈建議你嘗試。對(duì)于欺詐模型這類需要不斷重新訓(xùn)練和快速部署的任務(wù),它有很多優(yōu)點(diǎn):
scikit-learn使用一個(gè)統(tǒng)一的API來(lái)跨不同機(jī)器學(xué)習(xí)算法實(shí)現(xiàn)模型擬合??與預(yù)測(cè),使得不同算法之間的代碼復(fù)用真正有效。
網(wǎng)絡(luò)服務(wù)(web services)的評(píng)分可以利用Django或Flask直接進(jìn)行基于Python的服務(wù)器托管,從而使部署更為簡(jiǎn)單。我們只需要安裝scikit-learn,復(fù)制導(dǎo)出模型文件和必要的數(shù)據(jù)處理管道代碼到網(wǎng)絡(luò)服務(wù)實(shí)例用于啟動(dòng)。
整個(gè)模型的開(kāi)發(fā)和部署周期完全用Python獨(dú)立編寫(xiě)。這給了我們一個(gè)超過(guò)其他流行機(jī)器學(xué)習(xí)語(yǔ)言像R或SAS的優(yōu)勢(shì),后者需要模型在投入生產(chǎn)之前被轉(zhuǎn)換成另一種語(yǔ)言。除了通過(guò)消除不必要的步驟簡(jiǎn)化了開(kāi)發(fā),這還給予我們更多的靈活性來(lái)嘗試不同的算法,因?yàn)橥ǔG闆r下,這個(gè)轉(zhuǎn)換過(guò)程并不好處理,它們?cè)诹硪粋€(gè)環(huán)境中的麻煩會(huì)多于價(jià)值。
算法:隨機(jī)森林(Random Forest)
回到shell selling,我們測(cè)試了幾種算法,然后選定能給以我們最好的性能的算法:隨機(jī)森林。
隨機(jī)森林是Leo Breiman 和 Adele Cutler開(kāi)發(fā)的一種基于樹(shù)形結(jié)構(gòu)的集成方法,由Breiman于2001年在機(jī)器學(xué)習(xí)期刊的評(píng)議文章中首次提出[1]。隨機(jī)森林在訓(xùn)練數(shù)據(jù)的隨機(jī)子集上訓(xùn)練許多決策樹(shù),然后使用單個(gè)樹(shù)的預(yù)測(cè)均值作為最終的預(yù)測(cè)。隨機(jī)子集是從原始的訓(xùn)練數(shù)據(jù)抽樣,通過(guò)在記錄級(jí)有放回抽樣(bootstrap)和在特征級(jí)隨機(jī)二次抽樣得到。
我們嘗試的算法的召回率,隨機(jī)森林提供了最佳的精度,緊隨其后的是神經(jīng)網(wǎng)絡(luò)和另外一種集成方法AdaBoost。相比于其他算法,隨機(jī)森林針對(duì)我們碰到的各類欺詐數(shù)據(jù)有許多的優(yōu)勢(shì):
基于集成方法的樹(shù)可以同時(shí)很好地處理非線性和非單調(diào)性,這在欺詐信號(hào)中相當(dāng)普遍。相比之下,神經(jīng)網(wǎng)絡(luò)對(duì)非線性處理地相當(dāng)不錯(cuò),但同時(shí)受到非單調(diào)性的羈絆,而邏輯回歸都無(wú)法處理。對(duì)于使用后兩種方法來(lái)處理的非線性和/或非單調(diào)性,我們需要廣泛的和適當(dāng)?shù)奶卣鬓D(zhuǎn)換。
隨機(jī)森林需要最小的特征預(yù)備和特征轉(zhuǎn)換,它不需要神經(jīng)網(wǎng)絡(luò)和邏輯回歸要求的標(biāo)準(zhǔn)化輸入變量,也不需要聚類和風(fēng)險(xiǎn)評(píng)級(jí)轉(zhuǎn)換為非單調(diào)變量。
隨機(jī)森林相比其他算法擁有最好的開(kāi)箱即用的性能。另一個(gè)基于樹(shù)的方法,梯度提升決策樹(shù)(GBT),可以達(dá)到類似的性能,但需要更多的參數(shù)調(diào)優(yōu)。
隨機(jī)森林輸出特征的重要性體現(xiàn)在作為模型訓(xùn)練的副產(chǎn)品,這對(duì)于特征選擇是非常有用的[2]。
隨機(jī)森林與其他算法相比具有更好的過(guò)擬合(overfitting)容錯(cuò)性,并且處理大量的變量也不會(huì)有太多的過(guò)擬合[1],因?yàn)檫^(guò)擬合可以通過(guò)更多的決策樹(shù)來(lái)削弱。此外,變量的選擇和減少也不像其他算法那么重要。
下圖是隨機(jī)森林與其競(jìng)爭(zhēng)對(duì)手的對(duì)比情況:
訓(xùn)練算法
我們的機(jī)器學(xué)習(xí)流程遵循一個(gè)標(biāo)準(zhǔn)程序,包括數(shù)據(jù)抽取、數(shù)據(jù)清洗、特征推導(dǎo)、特征工程和轉(zhuǎn)換、特征選擇、模型訓(xùn)練和模型性能評(píng)價(jià):
洞察
經(jīng)過(guò)大量的訓(xùn)練,我們的隨機(jī)森林算法對(duì)于shell selling的識(shí)別已經(jīng)成為現(xiàn)實(shí),并且積極地阻止欺詐。當(dāng)然我們還需要大量的工作去選擇、訓(xùn)練和部署該算法,但是它已經(jīng)使得我們的風(fēng)險(xiǎn)流程更加健壯,且有能力使用更少的人工來(lái)檢查抓住更多的欺詐。在同一欺詐召回率,這一模型的精度是不斷調(diào)整和優(yōu)化規(guī)則的2 - 3倍。
使用這種算法,除了得到明顯的好處以外,我們對(duì)于數(shù)據(jù)和建模過(guò)程中使用的方法也有了更多的理解:
通過(guò)特征選擇的過(guò)程,我們發(fā)現(xiàn)對(duì)這種欺詐行為最有預(yù)測(cè)力的特征是速度型的變量。這些包括用戶的交易量、設(shè)備、真正的IP和信用卡。我們還發(fā)現(xiàn),設(shè)備ID、銀行賬戶和信用卡等賬戶相關(guān)特性都是很有用的,如多個(gè)賬戶登錄到一個(gè)設(shè)備,以及多重提款到一個(gè)銀行賬戶。
風(fēng)險(xiǎn)等級(jí)的分類變量,如電子郵件域,應(yīng)用程序ID、用戶的國(guó)家,以及一天中的時(shí)間風(fēng)險(xiǎn)評(píng)級(jí),也證明了高度預(yù)測(cè)性。
數(shù)字足跡諸如瀏覽器語(yǔ)言、操作系統(tǒng)字體、屏幕分辨率、用戶代理、flash版本等對(duì)于反欺詐是有點(diǎn)用的。稍微有更多預(yù)測(cè)性的是在人們隱藏他們的數(shù)字足跡過(guò)程當(dāng)中,例如VPN隧道或虛擬機(jī)和TOR的使用。
我們還發(fā)現(xiàn)模型性能迅速惡化。這真的不是一個(gè)驚喜——騙子不斷改變他們的方法來(lái)避免檢測(cè),所以即使是最好的模型,如果不改變也終將過(guò)時(shí)。但是我們非常驚訝這發(fā)生的速度有多快。對(duì)shell selling而言,在模型訓(xùn)練后僅僅第一個(gè)月精度便下降一半。因此, 經(jīng)常刷新模型來(lái)保持高檢測(cè)精度對(duì)于欺詐檢測(cè)的成功是至關(guān)重要的。
不幸的是,頻繁刷新暴露出他們自己的問(wèn)題。雖然刷新模型盡可能經(jīng)常是理想的,但是在使用最近的事務(wù)數(shù)據(jù)來(lái)訓(xùn)練模型時(shí)必須格外小心。欺詐標(biāo)簽可以需要一個(gè)月成熟,所以事實(shí)上使用最近的數(shù)據(jù)也會(huì)污染模型。和我們最初的假設(shè)不同,利用最新數(shù)據(jù)在線學(xué)習(xí)并不會(huì)總能得到最好的結(jié)果。
隨機(jī)森林是一個(gè)生產(chǎn)高性能模型的優(yōu)異的機(jī)器學(xué)習(xí)算法,然而,它通常被用來(lái)作為一個(gè)黑盒方法。這是一個(gè)問(wèn)題,因?yàn)槲覀儾⒉皇窃噲D要完全削減人類的全部過(guò)程,而且很有可能無(wú)法做到即使我們?cè)敢狻H祟惙治鰩熆偸窍M玫皆虼a,告訴他們?yōu)槭裁词虑楸粯?biāo)記之后來(lái)引導(dǎo)他們的案件審查。但隨機(jī)森林,就其本身而言,不能隨時(shí)提供原因代碼。解釋模型數(shù)據(jù)是困難的,而且還可能涉及挖掘“森林”的結(jié)構(gòu),這可以顯著提高評(píng)分的時(shí)間。實(shí)際上,為了應(yīng)對(duì)這個(gè)問(wèn)題,WePay的數(shù)據(jù)科學(xué)團(tuán)隊(duì)發(fā)明了一種新的私有方法可以從隨機(jī)森林算生成原因代碼,我們?yōu)檫@種方法申請(qǐng)了臨時(shí)專利。
結(jié)論
風(fēng)險(xiǎn)管理技術(shù)是WePay的核心。風(fēng)險(xiǎn)管理不僅僅是技術(shù),它還體現(xiàn)了人類和技術(shù)無(wú)縫合作的伙伴關(guān)系。它在很大程度上仍然是人類不得不思考的方式,騙子可以攻擊一個(gè)支付系統(tǒng),編寫(xiě)規(guī)則來(lái)阻止它們,而且還是一個(gè)經(jīng)驗(yàn)豐富的專業(yè)人員,當(dāng)它下跌到 “明顯欺詐”和“顯然合法” 之間的灰色地帶時(shí),它必須像經(jīng)常處理的那樣,做出判斷是否阻止交易。
這就是為什么我們?nèi)绱伺d奮于機(jī)器學(xué)習(xí)和人工智能。我們并非試圖取代人類,只是希望機(jī)器智能更加聰明更好地工作,而我們可以集中人類智慧關(guān)注其他的大難題。
來(lái)源:CSDN
刷新相關(guān)文章
我要評(píng)論
活動(dòng)推薦more >
- 2018 上海國(guó)際大數(shù)據(jù)產(chǎn)業(yè)高2018-12-03
- 2018上海國(guó)際計(jì)算機(jī)網(wǎng)絡(luò)及信2018-12-03
- 中國(guó)國(guó)際信息通信展覽會(huì)將于2018-09-26
- 第五屆FEA消費(fèi)金融國(guó)際峰會(huì)62018-06-21
- 第五屆FEA消費(fèi)金融國(guó)際峰會(huì)2018-06-21
- “無(wú)界區(qū)塊鏈技術(shù)峰會(huì)2018”2018-06-14
不容錯(cuò)過(guò)的資訊
-
1#后疫情時(shí)代的新思考#疫情之下,關(guān)于醫(yī)
-
2眾盟科技獲ADMIC 2020金粲獎(jiǎng)“年度汽車
-
3數(shù)據(jù)智能 無(wú)限未來(lái)—2020世界人工智能大
-
4#2020非凡大賞:數(shù)字化風(fēng)起云涌時(shí),共尋
-
5#榜樣的力量#天璣數(shù)據(jù)大腦疫情風(fēng)險(xiǎn)感知
-
6#榜樣的力量#內(nèi)蒙古自治區(qū)互聯(lián)網(wǎng)醫(yī)療服
-
7#榜樣的力量#實(shí)時(shí)新型肺炎疫情數(shù)據(jù)小程
-
8#榜樣的力量#華佗疫情防控平臺(tái)丨數(shù)據(jù)猿
-
9#后疫情時(shí)代的新思考#構(gòu)建工業(yè)互聯(lián)網(wǎng)新
-
102020可信云大會(huì)丨《云MSP發(fā)展白皮書(shū)》重