金瑾 王正剛 劉偉 巫家敏 李波
摘? 要:海關(guān)監(jiān)管部門在風(fēng)險(xiǎn)布控的過程中,需要風(fēng)險(xiǎn)分析人員依據(jù)經(jīng)驗(yàn)對(duì)各種商品的風(fēng)險(xiǎn)進(jìn)行人工分類。本文用Logistic回歸模型、決策樹模型、隨機(jī)森林模型等幾種的分類模型優(yōu)化風(fēng)險(xiǎn)布控過程,通過將報(bào)關(guān)數(shù)據(jù)輸入分類模型得到特定商品的風(fēng)險(xiǎn)評(píng)估結(jié)果,輔助風(fēng)險(xiǎn)分析人員做出正確判斷。通過實(shí)驗(yàn)驗(yàn)證這種智能化的方法能夠有效克服人工風(fēng)險(xiǎn)布控中的不足,完成智能化風(fēng)險(xiǎn)布控,進(jìn)一步維護(hù)國(guó)門口岸安全。
關(guān)鍵詞:大數(shù)據(jù);機(jī)器學(xué)習(xí);分類;風(fēng)險(xiǎn)布控
中圖分類號(hào):TP183? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
Abstract: As part of the process of risk prevention and control, the customs supervision department requires risk analysts to manually classify risks of various commodities based on their experiences of risk management. This paper uses several classification models, such as logistic model, decision tree model, and random forest model, to optimize risk control process. Risk assessment results of specific commodities can be obtained by inputting customs declaration data into the classification models. Thus the results assist risk analysts to make correct judgments. The proposed model is verified through experiments. The results show that it is an intelligent method and can effectively overcome the shortcomings in manual risk control, complete the intelligent risk control, and further maintain the security of national ports.
Keywords: big data; machine learning; classification; risk prevention and control
1? ?引言(Introduction)
海關(guān)通過各種風(fēng)險(xiǎn)布控系統(tǒng)布設(shè)處置風(fēng)險(xiǎn)的指令,并由被指定的現(xiàn)場(chǎng)作業(yè)環(huán)節(jié)執(zhí)行處置和反饋處置結(jié)果的風(fēng)險(xiǎn)布控措施[1]。隨著海量貨物貿(mào)易增長(zhǎng),跨境電商新業(yè)態(tài)發(fā)展和國(guó)際直郵物品的不斷增加,現(xiàn)階段人工風(fēng)險(xiǎn)判別方式已經(jīng)很難精準(zhǔn)發(fā)現(xiàn)高風(fēng)險(xiǎn)貨物商品。海關(guān)監(jiān)管部門需要尋找一種智能化的手段,輔助人工風(fēng)險(xiǎn)判別過程,提高口岸查獲率,提升人工風(fēng)險(xiǎn)判別的準(zhǔn)確度。
風(fēng)險(xiǎn)布控中商品查驗(yàn)問題的本質(zhì)一個(gè)分類問題。而在人工智能領(lǐng)域有很多模型可以處理分類問題。本文旨在探索機(jī)器學(xué)習(xí)中分類算法在海關(guān)智能化風(fēng)險(xiǎn)分析中的應(yīng)用,提出用人工智能中成熟的分類模型作用于風(fēng)險(xiǎn)布控流程中的風(fēng)險(xiǎn)判定環(huán)節(jié),提高商品布控精度。運(yùn)用Logistic模型[2]、決策樹模型[3]、隨機(jī)森林模型[4]三種模型對(duì)報(bào)關(guān)數(shù)據(jù)進(jìn)行分類,并實(shí)驗(yàn)驗(yàn)證三種模型的實(shí)驗(yàn)效果,篩選出適合海關(guān)報(bào)關(guān)數(shù)據(jù)的分類模型。為風(fēng)險(xiǎn)分析人員分析商品數(shù)據(jù)下達(dá)布控指令提供切實(shí)有效地輔助決策。
2? 分類模型介紹(Introduction to classification models)
在對(duì)大量的歷史報(bào)關(guān)數(shù)據(jù)的分析的過程中,如何選擇合適的機(jī)器學(xué)習(xí)算法是建立風(fēng)險(xiǎn)分析模型的重要一環(huán)。這一部分我們對(duì)三種機(jī)器學(xué)習(xí)經(jīng)典方法進(jìn)行分析對(duì)比,探索合適的海關(guān)報(bào)關(guān)數(shù)據(jù)建模的機(jī)器學(xué)習(xí)算法。
2.1? ?Logistic回歸
Logistic回歸被應(yīng)用于多種實(shí)際問題的建模,它是分類問題建模的常用方法,同時(shí)也被稱為其他方法的分類基準(zhǔn)。Logistic回歸具備以下優(yōu)點(diǎn),第一,對(duì)自變量的分布沒有要求。第二,回歸方程易于理解,模型中變量的影響較容易確定,從而方便調(diào)整模型。第三,分類的準(zhǔn)確性可以被直觀地判斷。Logistic回歸常規(guī)的用法是二分類問題,本文采用Logistic回歸來解決多分類問題,這里用到了One vs Rest(OvR)和One vs One(OvO)的方法來把二分類問題轉(zhuǎn)換成多分類問題。
OvR的原理是分別取一種樣本作為一類,余下的看作另一類,這樣N個(gè)樣本就形成了N個(gè)二分類問題。使用邏輯回歸算法對(duì)N個(gè)數(shù)據(jù)集訓(xùn)練,得到N個(gè)模型的結(jié)果。將待預(yù)測(cè)的樣本傳入N個(gè)模型中,取概率最高的模型對(duì)應(yīng)的分類結(jié)果為最終的預(yù)測(cè)結(jié)果。
OvO的原理是,從N個(gè)樣本中每次挑選出兩種類型,一共有種二分類情況,使用邏輯回歸對(duì)這么多種二分類進(jìn)行預(yù)測(cè),種類最多的樣本類型被認(rèn)為是樣本的最終類型。
2.2? ?決策樹模型
決策樹模型是機(jī)器學(xué)習(xí)最具影響力的分類和預(yù)測(cè)方法之一。它具有清晰的可解釋性,而且性能良好。決策樹算法從出現(xiàn)開始經(jīng)過不斷改進(jìn),出現(xiàn)了ID3、C4.5等算法,現(xiàn)在較為成熟的是C5.0算法[5]。C5.0引入了Boosting技術(shù)。決策樹具有以下性質(zhì):
(1)每個(gè)內(nèi)部節(jié)點(diǎn)都是一個(gè)分割屬性。
(2)每個(gè)分支節(jié)點(diǎn)都由上層節(jié)點(diǎn)具體分類原則決定。
(3)每個(gè)葉結(jié)點(diǎn)都是一個(gè)類別。
選擇合適的分割屬性是不同決策樹算法的關(guān)鍵問題,也因分割屬性的不同演化出了不同的決策樹算法。鑒于本文研究的目的是對(duì)海關(guān)風(fēng)險(xiǎn)布控等級(jí)進(jìn)行分類,因此選擇較成熟的C5.0算法。
2.3? ?隨機(jī)森林模型
決策樹模型雖然性能良好,但仍然存在一些缺點(diǎn),比如容易發(fā)生過擬合,陷入局部?jī)?yōu)解。在決策樹的基礎(chǔ)上產(chǎn)生了隨機(jī)森林算法。隨機(jī)森林算法在生成單模決策樹的基礎(chǔ)上,采用Bootstap抽樣方法訓(xùn)練多個(gè)樣本。隨機(jī)森林的基礎(chǔ)分類器為CART。因?yàn)橛啥嗫脴鋪砉餐龀鰶Q策,所以增加了算法泛化能力和抗噪能力。
隨機(jī)森林的具體步驟:
(1)采用bootstrap抽樣方法生成N個(gè)訓(xùn)練樣本集。
(2)隨機(jī)抽取部分特征作為待選特征。
(3)生成N棵決策樹,形成隨機(jī)森林。
(4)通過所有的樹對(duì)分類目標(biāo)進(jìn)行投票,投票最多的分類即為最后的分類。
3? ?模型實(shí)證分析(Empirical analysis of models)
3.1? ?數(shù)據(jù)處理
本文數(shù)據(jù)集為海關(guān)自有數(shù)據(jù)集。在所有的字段中,重點(diǎn)關(guān)注的字段為原產(chǎn)地、重量、價(jià)格、商品描述、企業(yè)、HS編碼。在數(shù)據(jù)預(yù)處理階段,對(duì)缺失值進(jìn)行填充,刪除不必要的字段。數(shù)據(jù)的最終標(biāo)簽為風(fēng)險(xiǎn)等級(jí)劃分,風(fēng)險(xiǎn)等級(jí)分為10級(jí),因此建模時(shí)需使用機(jī)器學(xué)習(xí)中的多分類模型。
樣本被劃分為不同的數(shù)據(jù)集,分別用來訓(xùn)練模型,測(cè)試模型,驗(yàn)證模型。本文采用隨機(jī)抽取的方式,把數(shù)據(jù)集按照8:2來劃分。在樣本劃分的時(shí)候需首先可視化出所訓(xùn)練樣本的分布圖,查看各個(gè)屬性的取值分布和總樣本集中各屬性的取值分布,以查看數(shù)據(jù)集是否平衡。
對(duì)日期數(shù)據(jù)進(jìn)行處理,運(yùn)用正則(\d+)-(\d+)-(\d+)取出年月日,用取出來的年月日代替原來的列。對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換問題,將一樣的數(shù)據(jù)轉(zhuǎn)換成數(shù)值代替,在做的過程中發(fā)現(xiàn)有很多為空的數(shù)據(jù)是不做處理,直接將為空的數(shù)據(jù)定義為一類數(shù)據(jù)從而用一個(gè)特定的值將其代換,因?yàn)閿?shù)據(jù)為空也是一種數(shù)據(jù)特征。
對(duì)于缺失值,處理的方法主要是運(yùn)用了python中的字典。現(xiàn)將每列特征值中數(shù)據(jù)存入一個(gè)字典的key,并且賦不一樣的value值,這樣每一個(gè)特征列中相同特征值列就變成了一個(gè)鍵值對(duì)。然后在依次遍歷一遍每個(gè)特征列的特征值,并將字典中每一個(gè)以特征值作為key的value賦值給對(duì)應(yīng)的特征值。從而達(dá)到數(shù)據(jù)的轉(zhuǎn)換。(例如:一個(gè)特征列中的值為[“蘋果”,“香蕉”,“蘋果”,“鴨梨”,“火龍果”,“香蕉”,“蘋果”],通過特征列生產(chǎn)字典{“蘋果”:0},{“香蕉”:1},{“鴨梨”:2},{“火龍果”:3},特征列中有四類特征值,就生產(chǎn)了四個(gè)鍵值對(duì)。然后再將特征列的每一個(gè)特征值作為key,找到對(duì)應(yīng)的value,將value賦值給原來的特征值。通過轉(zhuǎn)換和新的特征列變成了([0,1,0,2,3,1,0])。
對(duì)于模型的評(píng)價(jià),針對(duì)具體的數(shù)據(jù),把有風(fēng)險(xiǎn)的商品判斷為低風(fēng)險(xiǎn)的商品稱為A類錯(cuò)誤,把無風(fēng)險(xiǎn)的商品判斷為高風(fēng)險(xiǎn)的商品稱為B類錯(cuò)誤,一般情況下,我們希望A類錯(cuò)誤盡可能低。因此在模型的定量和定性分析中,我們會(huì)重點(diǎn)對(duì)比兩類錯(cuò)誤。
3.2? ?Logistic回歸模型
(1)Logistic回歸正則化
在Python scikit-learn包中,邏輯回歸用了正則化的方法。正則化方法可選L1或L2。本文選用L1正則化作為邏輯回歸的正則化方法。
(2)多分類方法分析
傳統(tǒng)的Logistic回歸解決的是二分類問題,而通過改進(jìn)使其可以解決的問題由二分類擴(kuò)展為多分類。在scikit-learn包中默認(rèn)有OvR和OvO兩種。根據(jù)本文的具體問題,海關(guān)數(shù)據(jù)分析對(duì)精度要求稍高,而對(duì)時(shí)間要求為次要考慮因素,因此通過分析兩種算法的優(yōu)劣,最終選取OvO作為分類方法。
3.3? ?決策樹C5.0模型
初步模型的建立采用Python的scikit-learn包,參數(shù)的選擇整體使用默認(rèn)參數(shù),但是因?yàn)闃涞纳疃葘?duì)算法的性能影響較大,因此對(duì)于樹的深度設(shè)計(jì)了相關(guān)實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖1所示,從實(shí)驗(yàn)結(jié)果中可知當(dāng)樹的深度為16時(shí),性能最佳,因此決策樹的深度為16。
3.4? ?隨機(jī)森林模型
(1)生成隨機(jī)森林
樣本按照8:2分為訓(xùn)練集及測(cè)試集,通過Python scikit-learn包中的RandomForestClassifier建立初始隨機(jī)森林模型,默認(rèn)的評(píng)價(jià)指標(biāo)為基尼系數(shù),深度為40,樹的個(gè)數(shù)為300棵,從結(jié)果來看,訓(xùn)練集正確率為88%,測(cè)試集正確率為88%。而模型還可以通過調(diào)參來進(jìn)一步提高準(zhǔn)確率。
(2)參數(shù)的調(diào)整
隨機(jī)森林模型中參數(shù)的設(shè)置也是至關(guān)重要的。第一個(gè)重要的參數(shù)為決策樹的數(shù)量。理論上,樹的數(shù)量越多,參與投票的分類器數(shù)量越多,從而具有更高的分類準(zhǔn)確率,但是另一方面,樹的數(shù)量越多運(yùn)行的速度會(huì)越慢。本文通過多組實(shí)驗(yàn)分析結(jié)果得出當(dāng)數(shù)量為300時(shí)分類性能最佳。而樹的深度也是一個(gè)重要的參數(shù),通過實(shí)驗(yàn)對(duì)比得出圖2,由圖可知,當(dāng)隨機(jī)森林中樹的深度為15時(shí),性能達(dá)到最佳。
4? 分類模型評(píng)估(Performance evaluation of classification models)
4.1? ?評(píng)估指標(biāo)
由于這是一個(gè)“分類”問題,所有分類器將使用以下評(píng)價(jià)指標(biāo)來評(píng)價(jià)。
混淆矩陣如表1所示,又被稱為錯(cuò)誤矩陣,被用來評(píng)價(jià)分類器的性能。在多分類任務(wù)中,混淆矩陣同樣適用。
在混淆矩陣中,TP表示實(shí)際為正樣本,結(jié)果為正樣本;FN表示實(shí)際為正樣本,預(yù)測(cè)結(jié)果為負(fù)樣本;FP表示實(shí)際為負(fù),預(yù)測(cè)結(jié)果為負(fù);TN表示實(shí)際為負(fù),預(yù)測(cè)為負(fù)。對(duì)于多分類問題,通過分析混淆矩陣可以查看模型預(yù)測(cè)錯(cuò)誤的地方。
另外,我們將在數(shù)據(jù)集上使用“交叉驗(yàn)證”(在我們的實(shí)驗(yàn)中使用10倍交叉驗(yàn)證)方法,并取平均精度。這將使我們對(duì)分類器的準(zhǔn)確性有一個(gè)整體的認(rèn)識(shí)。
使用“管道”的方法結(jié)合所有預(yù)處理和主要分類器的計(jì)算。ML“管道”將所有處理階段包裝在一個(gè)單元中,并充當(dāng)“分類器”本身。通過這種方式,所有階段都變得可重用,并可以形成其他“管道”。
跟蹤每一種方法在構(gòu)建和測(cè)試中的總時(shí)間。
對(duì)于以上內(nèi)容,主要使用來自Python的scikit-learn包來實(shí)現(xiàn)。
4.2? ?模型性能比較分析
各個(gè)模型在最終的數(shù)據(jù)集上的準(zhǔn)確率評(píng)價(jià)如表1所示?;蠥類錯(cuò)誤率和B類錯(cuò)誤率為將原來的10分類問題簡(jiǎn)化為二分類問題得到的結(jié)果。這個(gè)結(jié)果可以輔助決策。所有的結(jié)果為模型運(yùn)行20次得到的均值數(shù)據(jù)。
從所有分類器中可以清楚地看出,就精確度而言,隨機(jī)森林性能最佳。但是如果我們把“花費(fèi)的時(shí)間”和“準(zhǔn)確度”放在一起,那么C5.0是一種較好的選擇。但我們也看到了如何使用簡(jiǎn)單的線性分類器,如“邏輯回歸”與適當(dāng)?shù)奶卣鞴こ?,以提供更好的?zhǔn)確性。其他分類器不需要那么多的特性工程工作。
它依賴于可用的數(shù)據(jù)需求、用例和數(shù)據(jù)工程環(huán)境來選擇一個(gè)完美的分類器。結(jié)合具體的問題可以選擇合適的分類模型。如果對(duì)實(shí)時(shí)性要求較高決策樹可以考慮,如果對(duì)精度要求高隨機(jī)森林是一個(gè)較好的模型。
進(jìn)一步地,對(duì)于隨機(jī)森林模型,為了分析哪些類別容易誤判,并找出原因,實(shí)驗(yàn)得出了隨機(jī)森林的混淆矩陣。如圖3所示,從混淆矩陣我們可以看出,大多數(shù)出現(xiàn)錯(cuò)誤就是被誤判成了0,比較明顯的為0和13,0容易被誤判成13。通過查看原始數(shù)據(jù)標(biāo)簽含義可知,0和13本身具有很高的相似性,需要人為進(jìn)行區(qū)分。因此排除了這個(gè)因素,隨機(jī)森林可以達(dá)到更高的準(zhǔn)確率。
5? ?結(jié)論(Conclusion)
本文基于幾種常見的多分類模型,對(duì)海關(guān)風(fēng)險(xiǎn)數(shù)據(jù)進(jìn)行定性定量分析。其主要貢獻(xiàn)如下:
其一,篩選出對(duì)海關(guān)風(fēng)險(xiǎn)數(shù)據(jù)影響比較大的幾種特征。通過本文的特征篩選對(duì)于海關(guān)數(shù)據(jù)分析具有指導(dǎo)性影響。
其二,論文用Logistic回歸,決策樹C5.0、隨機(jī)森林等機(jī)器學(xué)習(xí)模型對(duì)海關(guān)數(shù)據(jù)進(jìn)行分析,發(fā)現(xiàn)了各種模型的優(yōu)劣。
其三,論文雖然以建模分析為主,但是包含了數(shù)據(jù)挖掘的全部流程。對(duì)于其他的政務(wù)數(shù)據(jù)分析建模具有指導(dǎo)性作用。
實(shí)驗(yàn)驗(yàn)證了這種利用智能化的方法克服人工風(fēng)險(xiǎn)布控中的不足的有效性,海關(guān)系統(tǒng)可以通過智能化風(fēng)險(xiǎn)布控,進(jìn)一步維護(hù)國(guó)門口岸安全。
參考文獻(xiàn)(References)
[1] 黃錦霞,張璇,郝振宇.深圳海關(guān):“大數(shù)據(jù)”打造立體風(fēng)險(xiǎn)防控[J].中國(guó)海關(guān),2018(1):26-28.
[2] Hosmer Jr D W, Lemeshow S, Sturdivant R X. Applied logistic regression[M]. John Wiley & Sons, 2013.
[3] Friedl M A, Brodley C E. Decision tree classification of land cover from remotely sensed data[J]. Remote sensing of environment, 1997,61(3):399-409.
[4] Pandya R, Pandya J. C5. 0 algorithm to improved decision tree with feature selection and reduced error pruning[J]. International Journal of Computer Applications, 2015,117(16):18-21.
[5] Liaw A, Wiener M. Classification and regression by randomForest[J]. R news, 2002,2(3):18-22.