期刊VIP學術指導 符合學術規范和道德
保障品質 保證專業,沒有后顧之憂
摘 要:海關監管部門在風險布控的過程中,需要風險分析人員依據經驗對各種商品的風險進行人工分類。本文用Logistic回歸模型、決策樹模型、隨機森林模型等幾種的分類模型優化風險布控過程,通過將報關數據輸入分類模型得到特定商品的風險評估結果,輔助風險分析人員做出正確判斷。通過實驗驗證這種智能化的方法能夠有效克服人工風險布控中的不足,完成智能化風險布控,進一步維護國門口岸安全。
關鍵詞:大數據;機器學習;分類;風險布控
1 引言(Introduction)
海關通過各種風險布控系統布設處置風險的指令,并由被指定的現場作業環節執行處置和反饋處置結果的風險布控措施[1]。隨著海量貨物貿易增長,跨境電商新業態發展和國際直郵物品的不斷增加,現階段人工風險判別方式已經很難精準發現高風險貨物商品。海關監管部門需要尋找一種智能化的手段,輔助人工風險判別過程,提高口岸查獲率,提升人工風險判別的準確度。
風險布控中商品查驗問題的本質一個分類問題。而在人工智能領域有很多模型可以處理分類問題。本文旨在探索機器學習中分類算法在海關智能化風險分析中的應用,提出用人工智能中成熟的分類模型作用于風險布控流程中的風險判定環節,提高商品布控精度。運用Logistic模型[2]、決策樹模型[3]、隨機森林模型[4]三種模型對報關數據進行分類,并實驗驗證三種模型的實驗效果,篩選出適合海關報關數據的分類模型。為風險分析人員分析商品數據下達布控指令提供切實有效地輔助決策。
2 分類模型介紹(Introduction to classification models)
在對大量的歷史報關數據的分析的過程中,如何選擇合適的機器學習算法是建立風險分析模型的重要一環。這一部分我們對三種機器學習經典方法進行分析對比,探索合適的海關報關數據建模的機器學習算法。
2.1 Logistic回歸
Logistic回歸被應用于多種實際問題的建模,它是分類問題建模的常用方法,同時也被稱為其他方法的分類基準。Logistic回歸具備以下優點,第一,對自變量的分布沒有要求。第二,回歸方程易于理解,模型中變量的影響較容易確定,從而方便調整模型。第三,分類的準確性可以被直觀地判斷。Logistic回歸常規的用法是二分類問題,本文采用Logistic回歸來解決多分類問題,這里用到了One vs Rest(OvR)和One vs One(OvO)的方法來把二分類問題轉換成多分類問題。
OvR的原理是分別取一種樣本作為一類,余下的看作另一類,這樣N個樣本就形成了N個二分類問題。使用邏輯回歸算法對N個數據集訓練,得到N個模型的結果。將待預測的樣本傳入N個模型中,取概率最高的模型對應的分類結果為最終的預測結果。
OvO的原理是,從N個樣本中每次挑選出兩種類型,一共有種二分類情況,使用邏輯回歸對這么多種二分類進行預測,種類最多的樣本類型被認為是樣本的最終類型。
2.2 決策樹模型
決策樹模型是機器學習最具影響力的分類和預測方法之一。它具有清晰的可解釋性,而且性能良好。決策樹算法從出現開始經過不斷改進,出現了ID3、C4.5等算法,現在較為成熟的是C5.0算法[5]。C5.0引入了Boosting技術。決策樹具有以下性質:
(1)每個內部節點都是一個分割屬性。
(2)每個分支節點都由上層節點具體分類原則決定。
(3)每個葉結點都是一個類別。
選擇合適的分割屬性是不同決策樹算法的關鍵問題,也因分割屬性的不同演化出了不同的決策樹算法。鑒于本文研究的目的是對海關風險布控等級進行分類,因此選擇較成熟的C5.0算法。
2.3 隨機森林模型
決策樹模型雖然性能良好,但仍然存在一些缺點,比如容易發生過擬合,陷入局部優解。在決策樹的基礎上產生了隨機森林算法。隨機森林算法在生成單模決策樹的基礎上,采用Bootstap抽樣方法訓練多個樣本。隨機森林的基礎分類器為CART。因為由多棵樹來共同做出決策,所以增加了算法泛化能力和抗噪能力。
隨機森林的具體步驟:
(1)采用bootstrap抽樣方法生成N個訓練樣本集。
(2)隨機抽取部分特征作為待選特征。
(3)生成N棵決策樹,形成隨機森林。
(4)通過所有的樹對分類目標進行投票,投票最多的分類即為最后的分類。
3 模型實證分析(Empirical analysis of models)
3.1 數據處理
本文數據集為海關自有數據集。在所有的字段中,重點關注的字段為原產地、重量、價格、商品描述、企業、HS編碼。在數據預處理階段,對缺失值進行填充,刪除不必要的字段。數據的最終標簽為風險等級劃分,風險等級分為10級,因此建模時需使用機器學習中的多分類模型。
樣本被劃分為不同的數據集,分別用來訓練模型,測試模型,驗證模型。本文采用隨機抽取的方式,把數據集按照8:2來劃分。在樣本劃分的時候需首先可視化出所訓練樣本的分布圖,查看各個屬性的取值分布和總樣本集中各屬性的取值分布,以查看數據集是否平衡。
對日期數據進行處理,運用正則(\d+)-(\d+)-(\d+)取出年月日,用取出來的年月日代替原來的列。對數據進行轉換問題,將一樣的數據轉換成數值代替,在做的過程中發現有很多為空的數據是不做處理,直接將為空的數據定義為一類數據從而用一個特定的值將其代換,因為數據為空也是一種數據特征。
對于缺失值,處理的方法主要是運用了python中的字典。現將每列特征值中數據存入一個字典的key,并且賦不一樣的value值,這樣每一個特征列中相同特征值列就變成了一個鍵值對。然后在依次遍歷一遍每個特征列的特征值,并將字典中每一個以特征值作為key的value賦值給對應的特征值。從而達到數據的轉換。(例如:一個特征列中的值為[“蘋果”,“香蕉”,“蘋果”,“鴨梨”,“火龍果”,“香蕉”,“蘋果”],通過特征列生產字典{“蘋果”:0},{“香蕉”:1},{“鴨梨”:2},{“火龍果”:3},特征列中有四類特征值,就生產了四個鍵值對。然后再將特征列的每一個特征值作為key,找到對應的value,將value賦值給原來的特征值。通過轉換和新的特征列變成了([0,1,0,2,3,1,0])。
對于模型的評價,針對具體的數據,把有風險的商品判斷為低風險的商品稱為A類錯誤,把無風險的商品判斷為高風險的商品稱為B類錯誤,一般情況下,我們希望A類錯誤盡可能低。因此在模型的定量和定性分析中,我們會重點對比兩類錯誤。
3.2 Logistic回歸模型
(1)Logistic回歸正則化
在Python scikit-learn包中,邏輯回歸用了正則化的方法。正則化方法可選L1或L2。本文選用L1正則化作為邏輯回歸的正則化方法。
(2)多分類方法分析
傳統的Logistic回歸解決的是二分類問題,而通過改進使其可以解決的問題由二分類擴展為多分類。在scikit-learn包中默認有OvR和OvO兩種。根據本文的具體問題,海關數據分析對精度要求稍高,而對時間要求為次要考慮因素,因此通過分析兩種算法的優劣,最終選取OvO作為分類方法。
3.3 決策樹C5.0模型
初步模型的建立采用Python的scikit-learn包,參數的選擇整體使用默認參數,但是因為樹的深度對算法的性能影響較大,因此對于樹的深度設計了相關實驗,實驗結果如圖1所示,從實驗結果中可知當樹的深度為16時,性能最佳,因此決策樹的深度為16。
3.4 隨機森林模型
(1)生成隨機森林
樣本按照8:2分為訓練集及測試集,通過Python scikit-learn包中的RandomForestClassifier建立初始隨機森林模型,默認的評價指標為基尼系數,深度為40,樹的個數為300棵,從結果來看,訓練集正確率為88%,測試集正確率為88%。而模型還可以通過調參來進一步提高準確率。
(2)參數的調整
隨機森林模型中參數的設置也是至關重要的。第一個重要的參數為決策樹的數量。理論上,樹的數量越多,參與投票的分類器數量越多,從而具有更高的分類準確率,但是另一方面,樹的數量越多運行的速度會越慢。本文通過多組實驗分析結果得出當數量為300時分類性能最佳。而樹的深度也是一個重要的參數,通過實驗對比得出圖2,由圖可知,當隨機森林中樹的深度為15時,性能達到最佳。
4 分類模型評估(Performance evaluation of classification models)
4.1 評估指標
由于這是一個“分類”問題,所有分類器將使用以下評價指標來評價。
混淆矩陣如表1所示,又被稱為錯誤矩陣,被用來評價分類器的性能。在多分類任務中,混淆矩陣同樣適用。
推薦閱讀:sci論文軟件潤色和人工潤色哪個價格便宜