金瑾 王正剛 劉偉 巫家敏 李波
摘? 要:海關(guān)監(jiān)管部門在風(fēng)險布控的過程中,需要風(fēng)險分析人員依據(jù)經(jīng)驗對各種商品的風(fēng)險進行人工分類。本文用Logistic回歸模型、決策樹模型、隨機森林模型等幾種的分類模型優(yōu)化風(fēng)險布控過程,通過將報關(guān)數(shù)據(jù)輸入分類模型得到特定商品的風(fēng)險評估結(jié)果,輔助風(fēng)險分析人員做出正確判斷。通過實驗驗證這種智能化的方法能夠有效克服人工風(fēng)險布控中的不足,完成智能化風(fēng)險布控,進一步維護國門口岸安全。
關(guān)鍵詞:大數(shù)據(jù);機器學(xué)習(xí);分類;風(fēng)險布控
中圖分類號:TP183? ? ?文獻標識碼: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)險布控系統(tǒng)布設(shè)處置風(fēng)險的指令,并由被指定的現(xiàn)場作業(yè)環(huán)節(jié)執(zhí)行處置和反饋處置結(jié)果的風(fēng)險布控措施[1]。隨著海量貨物貿(mào)易增長,跨境電商新業(yè)態(tài)發(fā)展和國際直郵物品的不斷增加,現(xiàn)階段人工風(fēng)險判別方式已經(jīng)很難精準發(fā)現(xiàn)高風(fēng)險貨物商品。海關(guān)監(jiān)管部門需要尋找一種智能化的手段,輔助人工風(fēng)險判別過程,提高口岸查獲率,提升人工風(fēng)險判別的準確度。
風(fēng)險布控中商品查驗問題的本質(zhì)一個分類問題。而在人工智能領(lǐng)域有很多模型可以處理分類問題。本文旨在探索機器學(xué)習(xí)中分類算法在海關(guān)智能化風(fēng)險分析中的應(yīng)用,提出用人工智能中成熟的分類模型作用于風(fēng)險布控流程中的風(fēng)險判定環(huán)節(jié),提高商品布控精度。運用Logistic模型[2]、決策樹模型[3]、隨機森林模型[4]三種模型對報關(guān)數(shù)據(jù)進行分類,并實驗驗證三種模型的實驗效果,篩選出適合海關(guān)報關(guān)數(shù)據(jù)的分類模型。為風(fēng)險分析人員分析商品數(shù)據(jù)下達布控指令提供切實有效地輔助決策。
2? 分類模型介紹(Introduction to classification models)
在對大量的歷史報關(guān)數(shù)據(jù)的分析的過程中,如何選擇合適的機器學(xué)習(xí)算法是建立風(fēng)險分析模型的重要一環(huán)。這一部分我們對三種機器學(xué)習(xí)經(jīng)典方法進行分析對比,探索合適的海關(guān)報關(guān)數(shù)據(jù)建模的機器學(xué)習(xí)算法。
2.1? ?Logistic回歸
Logistic回歸被應(yīng)用于多種實際問題的建模,它是分類問題建模的常用方法,同時也被稱為其他方法的分類基準。Logistic回歸具備以下優(yōu)點,第一,對自變量的分布沒有要求。第二,回歸方程易于理解,模型中變量的影響較容易確定,從而方便調(diào)整模型。第三,分類的準確性可以被直觀地判斷。Logistic回歸常規(guī)的用法是二分類問題,本文采用Logistic回歸來解決多分類問題,這里用到了One vs Rest(OvR)和One vs One(OvO)的方法來把二分類問題轉(zhuǎn)換成多分類問題。
OvR的原理是分別取一種樣本作為一類,余下的看作另一類,這樣N個樣本就形成了N個二分類問題。使用邏輯回歸算法對N個數(shù)據(jù)集訓(xùn)練,得到N個模型的結(jié)果。將待預(yù)測的樣本傳入N個模型中,取概率最高的模型對應(yīng)的分類結(jié)果為最終的預(yù)測結(jié)果。
OvO的原理是,從N個樣本中每次挑選出兩種類型,一共有種二分類情況,使用邏輯回歸對這么多種二分類進行預(yù)測,種類最多的樣本類型被認為是樣本的最終類型。
2.2? ?決策樹模型
決策樹模型是機器學(xué)習(xí)最具影響力的分類和預(yù)測方法之一。它具有清晰的可解釋性,而且性能良好。決策樹算法從出現(xiàn)開始經(jīng)過不斷改進,出現(xiàn)了ID3、C4.5等算法,現(xiàn)在較為成熟的是C5.0算法[5]。C5.0引入了Boosting技術(shù)。決策樹具有以下性質(zhì):
(1)每個內(nèi)部節(jié)點都是一個分割屬性。
(2)每個分支節(jié)點都由上層節(jié)點具體分類原則決定。
(3)每個葉結(jié)點都是一個類別。
選擇合適的分割屬性是不同決策樹算法的關(guān)鍵問題,也因分割屬性的不同演化出了不同的決策樹算法。鑒于本文研究的目的是對海關(guān)風(fēng)險布控等級進行分類,因此選擇較成熟的C5.0算法。
2.3? ?隨機森林模型
決策樹模型雖然性能良好,但仍然存在一些缺點,比如容易發(fā)生過擬合,陷入局部優(yōu)解。在決策樹的基礎(chǔ)上產(chǎn)生了隨機森林算法。隨機森林算法在生成單模決策樹的基礎(chǔ)上,采用Bootstap抽樣方法訓(xùn)練多個樣本。隨機森林的基礎(chǔ)分類器為CART。因為由多棵樹來共同做出決策,所以增加了算法泛化能力和抗噪能力。
隨機森林的具體步驟:
(1)采用bootstrap抽樣方法生成N個訓(xùn)練樣本集。
(2)隨機抽取部分特征作為待選特征。
(3)生成N棵決策樹,形成隨機森林。
(4)通過所有的樹對分類目標進行投票,投票最多的分類即為最后的分類。
3? ?模型實證分析(Empirical analysis of models)
3.1? ?數(shù)據(jù)處理
本文數(shù)據(jù)集為海關(guān)自有數(shù)據(jù)集。在所有的字段中,重點關(guān)注的字段為原產(chǎn)地、重量、價格、商品描述、企業(yè)、HS編碼。在數(shù)據(jù)預(yù)處理階段,對缺失值進行填充,刪除不必要的字段。數(shù)據(jù)的最終標簽為風(fēng)險等級劃分,風(fēng)險等級分為10級,因此建模時需使用機器學(xué)習(xí)中的多分類模型。
樣本被劃分為不同的數(shù)據(jù)集,分別用來訓(xùn)練模型,測試模型,驗證模型。本文采用隨機抽取的方式,把數(shù)據(jù)集按照8:2來劃分。在樣本劃分的時候需首先可視化出所訓(xùn)練樣本的分布圖,查看各個屬性的取值分布和總樣本集中各屬性的取值分布,以查看數(shù)據(jù)集是否平衡。
對日期數(shù)據(jù)進行處理,運用正則(\d+)-(\d+)-(\d+)取出年月日,用取出來的年月日代替原來的列。對數(shù)據(jù)進行轉(zhuǎn)換問題,將一樣的數(shù)據(jù)轉(zhuǎn)換成數(shù)值代替,在做的過程中發(fā)現(xiàn)有很多為空的數(shù)據(jù)是不做處理,直接將為空的數(shù)據(jù)定義為一類數(shù)據(jù)從而用一個特定的值將其代換,因為數(shù)據(jù)為空也是一種數(shù)據(jù)特征。
對于缺失值,處理的方法主要是運用了python中的字典。現(xiàn)將每列特征值中數(shù)據(jù)存入一個字典的key,并且賦不一樣的value值,這樣每一個特征列中相同特征值列就變成了一個鍵值對。然后在依次遍歷一遍每個特征列的特征值,并將字典中每一個以特征值作為key的value賦值給對應(yīng)的特征值。從而達到數(shù)據(jù)的轉(zhuǎn)換。(例如:一個特征列中的值為[“蘋果”,“香蕉”,“蘋果”,“鴨梨”,“火龍果”,“香蕉”,“蘋果”],通過特征列生產(chǎn)字典{“蘋果”:0},{“香蕉”:1},{“鴨梨”:2},{“火龍果”:3},特征列中有四類特征值,就生產(chǎn)了四個鍵值對。然后再將特征列的每一個特征值作為key,找到對應(yīng)的value,將value賦值給原來的特征值。通過轉(zhuǎn)換和新的特征列變成了([0,1,0,2,3,1,0])。
對于模型的評價,針對具體的數(shù)據(jù),把有風(fēng)險的商品判斷為低風(fēng)險的商品稱為A類錯誤,把無風(fēng)險的商品判斷為高風(fēng)險的商品稱為B類錯誤,一般情況下,我們希望A類錯誤盡可能低。因此在模型的定量和定性分析中,我們會重點對比兩類錯誤。
3.2? ?Logistic回歸模型
(1)Logistic回歸正則化
在Python scikit-learn包中,邏輯回歸用了正則化的方法。正則化方法可選L1或L2。本文選用L1正則化作為邏輯回歸的正則化方法。
(2)多分類方法分析
傳統(tǒng)的Logistic回歸解決的是二分類問題,而通過改進使其可以解決的問題由二分類擴展為多分類。在scikit-learn包中默認有OvR和OvO兩種。根據(jù)本文的具體問題,海關(guān)數(shù)據(jù)分析對精度要求稍高,而對時間要求為次要考慮因素,因此通過分析兩種算法的優(yōu)劣,最終選取OvO作為分類方法。
3.3? ?決策樹C5.0模型
初步模型的建立采用Python的scikit-learn包,參數(shù)的選擇整體使用默認參數(shù),但是因為樹的深度對算法的性能影響較大,因此對于樹的深度設(shè)計了相關(guān)實驗,實驗結(jié)果如圖1所示,從實驗結(jié)果中可知當(dāng)樹的深度為16時,性能最佳,因此決策樹的深度為16。
3.4? ?隨機森林模型
(1)生成隨機森林
樣本按照8:2分為訓(xùn)練集及測試集,通過Python scikit-learn包中的RandomForestClassifier建立初始隨機森林模型,默認的評價指標為基尼系數(shù),深度為40,樹的個數(shù)為300棵,從結(jié)果來看,訓(xùn)練集正確率為88%,測試集正確率為88%。而模型還可以通過調(diào)參來進一步提高準確率。
(2)參數(shù)的調(diào)整
隨機森林模型中參數(shù)的設(shè)置也是至關(guān)重要的。第一個重要的參數(shù)為決策樹的數(shù)量。理論上,樹的數(shù)量越多,參與投票的分類器數(shù)量越多,從而具有更高的分類準確率,但是另一方面,樹的數(shù)量越多運行的速度會越慢。本文通過多組實驗分析結(jié)果得出當(dāng)數(shù)量為300時分類性能最佳。而樹的深度也是一個重要的參數(shù),通過實驗對比得出圖2,由圖可知,當(dāng)隨機森林中樹的深度為15時,性能達到最佳。
4? 分類模型評估(Performance evaluation of classification models)
4.1? ?評估指標
由于這是一個“分類”問題,所有分類器將使用以下評價指標來評價。
混淆矩陣如表1所示,又被稱為錯誤矩陣,被用來評價分類器的性能。在多分類任務(wù)中,混淆矩陣同樣適用。
在混淆矩陣中,TP表示實際為正樣本,結(jié)果為正樣本;FN表示實際為正樣本,預(yù)測結(jié)果為負樣本;FP表示實際為負,預(yù)測結(jié)果為負;TN表示實際為負,預(yù)測為負。對于多分類問題,通過分析混淆矩陣可以查看模型預(yù)測錯誤的地方。
另外,我們將在數(shù)據(jù)集上使用“交叉驗證”(在我們的實驗中使用10倍交叉驗證)方法,并取平均精度。這將使我們對分類器的準確性有一個整體的認識。
使用“管道”的方法結(jié)合所有預(yù)處理和主要分類器的計算。ML“管道”將所有處理階段包裝在一個單元中,并充當(dāng)“分類器”本身。通過這種方式,所有階段都變得可重用,并可以形成其他“管道”。
跟蹤每一種方法在構(gòu)建和測試中的總時間。
對于以上內(nèi)容,主要使用來自Python的scikit-learn包來實現(xiàn)。
4.2? ?模型性能比較分析
各個模型在最終的數(shù)據(jù)集上的準確率評價如表1所示。基中A類錯誤率和B類錯誤率為將原來的10分類問題簡化為二分類問題得到的結(jié)果。這個結(jié)果可以輔助決策。所有的結(jié)果為模型運行20次得到的均值數(shù)據(jù)。
從所有分類器中可以清楚地看出,就精確度而言,隨機森林性能最佳。但是如果我們把“花費的時間”和“準確度”放在一起,那么C5.0是一種較好的選擇。但我們也看到了如何使用簡單的線性分類器,如“邏輯回歸”與適當(dāng)?shù)奶卣鞴こ?,以提供更好的準確性。其他分類器不需要那么多的特性工程工作。
它依賴于可用的數(shù)據(jù)需求、用例和數(shù)據(jù)工程環(huán)境來選擇一個完美的分類器。結(jié)合具體的問題可以選擇合適的分類模型。如果對實時性要求較高決策樹可以考慮,如果對精度要求高隨機森林是一個較好的模型。
進一步地,對于隨機森林模型,為了分析哪些類別容易誤判,并找出原因,實驗得出了隨機森林的混淆矩陣。如圖3所示,從混淆矩陣我們可以看出,大多數(shù)出現(xiàn)錯誤就是被誤判成了0,比較明顯的為0和13,0容易被誤判成13。通過查看原始數(shù)據(jù)標簽含義可知,0和13本身具有很高的相似性,需要人為進行區(qū)分。因此排除了這個因素,隨機森林可以達到更高的準確率。
5? ?結(jié)論(Conclusion)
本文基于幾種常見的多分類模型,對海關(guān)風(fēng)險數(shù)據(jù)進行定性定量分析。其主要貢獻如下:
其一,篩選出對海關(guān)風(fēng)險數(shù)據(jù)影響比較大的幾種特征。通過本文的特征篩選對于海關(guān)數(shù)據(jù)分析具有指導(dǎo)性影響。
其二,論文用Logistic回歸,決策樹C5.0、隨機森林等機器學(xué)習(xí)模型對海關(guān)數(shù)據(jù)進行分析,發(fā)現(xiàn)了各種模型的優(yōu)劣。
其三,論文雖然以建模分析為主,但是包含了數(shù)據(jù)挖掘的全部流程。對于其他的政務(wù)數(shù)據(jù)分析建模具有指導(dǎo)性作用。
實驗驗證了這種利用智能化的方法克服人工風(fēng)險布控中的不足的有效性,海關(guān)系統(tǒng)可以通過智能化風(fēng)險布控,進一步維護國門口岸安全。
參考文獻(References)
[1] 黃錦霞,張璇,郝振宇.深圳海關(guān):“大數(shù)據(jù)”打造立體風(fēng)險防控[J].中國海關(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.