司衛(wèi)云, 宋 燕, 戴非凡, 倪進(jìn)平, 楊桂松, 李常青
(1 上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院, 上海 200093; 2 上海最聞信息科技有限公司, 上海 201210)
機(jī)器學(xué)習(xí)是AI的一個(gè)重要分支,旨在使計(jì)算機(jī)在完全沒有或有限的人類干預(yù)下,設(shè)計(jì)一系列“運(yùn)算法則”,通過經(jīng)驗(yàn)學(xué)習(xí)自動做出最優(yōu)選擇[1]。近年來,大數(shù)據(jù)和云計(jì)算等現(xiàn)代科技高速發(fā)展,為機(jī)器學(xué)習(xí)算法提供了豐富的訓(xùn)練樣本[2],人工智能技術(shù)呈現(xiàn)出加速發(fā)展的態(tài)勢,已經(jīng)在人類生產(chǎn)、生活及社會管理的眾多領(lǐng)域存在并發(fā)揮作用[3]。
司法領(lǐng)域,卷宗資料數(shù)量眾多、信息繁雜,面對龐大復(fù)雜的證據(jù)鏈,在短時(shí)間內(nèi)完成人工數(shù)據(jù)篩選和分析十分困難。并且司法工作專業(yè)性較強(qiáng),審判尺度難以拿捏,這將直接關(guān)系到司法工作的后續(xù)順利開展。為了解決上述問題,國內(nèi)外各大法律機(jī)構(gòu)擬將人工智能引入司法領(lǐng)域,構(gòu)建基于大數(shù)據(jù)的智能專家審判系統(tǒng)以代替常規(guī)的基于規(guī)則的專家審判系統(tǒng),力爭在輔助法官辦案、服務(wù)律師和社會公眾等方面有所突破[4]。此外,運(yùn)用計(jì)算機(jī)對海量多源的司法數(shù)據(jù)進(jìn)行高速處理,并結(jié)合國家發(fā)展戰(zhàn)略、政策法規(guī)和社會大眾生活情況,對相關(guān)案件變化動態(tài)及發(fā)展趨勢進(jìn)行深度關(guān)聯(lián)分析,能為司法部門嚴(yán)謹(jǐn)治法提供合理評估[5]。
盡管人工智能的作用顯而易見,然后在司法領(lǐng)域機(jī)器學(xué)習(xí)尚處于起步階段,主要存在以下問題:從數(shù)據(jù)層面上看,目前的法律數(shù)據(jù)存在不充分、數(shù)據(jù)量大、不客觀且結(jié)構(gòu)化不足的缺點(diǎn);從算法層面上看,算法單一、隱秘且低效,缺乏系統(tǒng)性的智能審判專家模型;從人才層面上看,缺乏法律界和人工智能等多學(xué)科交叉性的復(fù)合型人才[6]。因此,如何高效合理地利用人工智能算法優(yōu)化工作流程,建立智能判案模型,輔助法官提升工作效率,加快結(jié)案時(shí)間成為了亟待解決的問題。
綜上所述,本文基于貴州高級人民法院提供的2016年1月至2017年5月“故意傷害罪”卷宗,設(shè)計(jì)了一種融合多種機(jī)器學(xué)習(xí)算法的故意傷害罪案件智能判案模型。基于建立的專家模型,對故意傷害罪案件判罰刑期進(jìn)行有效預(yù)測,既提高辦案效率,又能減少同案裁量的差異性,以實(shí)現(xiàn)執(zhí)法的公證性。
模糊C均值算法通過把m個(gè)樣本分成c個(gè)類別,求出每個(gè)類的聚類中心,并最小化目標(biāo)函數(shù)實(shí)現(xiàn)聚類。其目標(biāo)函數(shù)的表達(dá)式為:
(1)

考慮到上述約束條件,由拉格朗日乘數(shù)法可構(gòu)造新的目標(biāo)函數(shù)如下[8]:
(2)
(3)
(4)
FCM通過不斷迭代來更新式(3)、(4),研究得到該過程的設(shè)計(jì)表述如下:
(1)確定聚類個(gè)數(shù)c,隸屬度因子n,隨機(jī)初始化的隸屬度矩陣U,最大迭代次數(shù)I=100;
(2)通過式(3)求解新的隸屬度矩陣;
(3)通過式(4)求解新的聚類中心;
(4)直到滿足最大迭代次數(shù),算法停止,否則就轉(zhuǎn)向式(2)。根據(jù)最后一次迭代的隸屬度矩陣,若uij=max{uij},則xj屬于第i類。
DNN能提取更復(fù)雜和抽象的高維特征,并在大量的數(shù)據(jù)中獲得輸入空間的有效表征。相比手動提取特征或?qū)<以O(shè)計(jì)規(guī)則的方法,DNN具有高效和高精度的優(yōu)勢。但確定DNN的網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)是本文構(gòu)建高精度DNN分類器的困難之一。針對以上問題,本文設(shè)計(jì)了基于PSO的DNN故意傷害罪分類模型,通過PSO優(yōu)化算法確定DNN網(wǎng)絡(luò)結(jié)構(gòu)參數(shù),并在優(yōu)化過程中實(shí)現(xiàn)DNN的訓(xùn)練,以便在保證模型精度的同時(shí),更科學(xué)地確定網(wǎng)絡(luò)結(jié)構(gòu)。
粒子群優(yōu)化( Particle Swarm Optimization,PSO)是一種基于迭代的進(jìn)化計(jì)算算法[9]。算法中,首先要隨機(jī)初始化種群粒子,此時(shí)的粒子信息可以用位置Xi和速度Vi來表示。每經(jīng)過一次進(jìn)化,粒子便通過跟蹤粒子的個(gè)體極值(pbest)和種群的全局極值(gbest)來更新粒子的速度和位置[10]。pbest和gbest是根據(jù)適應(yīng)度函數(shù)找到的最優(yōu)解。找出這2個(gè)最優(yōu)解后,粒子根據(jù)以下公式來更新自己的速度和位置,即:
vij(t+1)=w*vij(t)+c1r1*[pbestij(t)-xij(t)]+c2r2*[gbestj(t)-xij(t)],
(5)
xij(t+1)=xij(t)+vij(t),
(6)
其中,w為慣性權(quán)重;vij(t)是粒子i在第t次迭代中第j維的速度;xij(t)是粒子i在當(dāng)前時(shí)刻的位置;r1,r2是(0,1)之間的隨機(jī)數(shù),用來模擬自然界中的一些微小擾動;c1,c2是學(xué)習(xí)因子,分別表示粒子對自身記憶的依賴程度和其他粒子對其施加的影響[11]。1999年,SHI等人[12]提出了慣性權(quán)值線性調(diào)整策略,也稱標(biāo)準(zhǔn)PSO。w的線性遞減迭代公式如下:

(7)
其中,tmax是迭代的最大次數(shù);t是當(dāng)前迭代次數(shù);wmax為最大權(quán)重,建議取值0.9;wmin為最小權(quán)重,建議取值0.4。當(dāng)w較大時(shí),全局搜尋能力較強(qiáng);當(dāng)w較小時(shí),局部搜尋能力較強(qiáng)。因此,針對不同的搜尋問題,依賴w的動態(tài)變化,可以相應(yīng)調(diào)整全局和局部搜尋能力,使得PSO算法的性能有了極大的提升,并成功應(yīng)用于很多實(shí)際優(yōu)化問題。
本文提出基于PSO的DNN故意傷害罪分類模型,即通過PSO優(yōu)化算法確定神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)。算法的整體設(shè)計(jì)流程詳述如下。
算法1 PSO優(yōu)化算法
輸入:訓(xùn)練集Z={(x1,y1),(x2,y2),…,(xz,yz)}
輸出:最優(yōu)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)
Step1設(shè)置需要優(yōu)化的變量,如神經(jīng)網(wǎng)絡(luò)層數(shù)、每層神經(jīng)元個(gè)數(shù)、激活函數(shù)類型;
Step2設(shè)置PSO算法參數(shù):學(xué)習(xí)因子、最大進(jìn)化次數(shù)、慣性權(quán)值等;
Step3初始化粒子群,確定粒子群規(guī)模,確保每個(gè)粒子的位置向量和速度向量的維度;
Step4基于六折交叉驗(yàn)證法將訓(xùn)練集劃分為DNN訓(xùn)練過程中的訓(xùn)練集和測試集,將每個(gè)測試集預(yù)測精度的平均值作為本次粒子規(guī)模下DNN分類模型的預(yù)測精度;
Step5計(jì)算各粒子的適應(yīng)度,使用Step 4中預(yù)測精度的倒數(shù)作為PSO的適應(yīng)值用作粒子空間位置優(yōu)劣的度量,適應(yīng)值越小,表明粒子位置越好;
Step6尋找pbest與gbest;
Step7根據(jù)速度更新公式(5)和位置更新公式(6)分別更新粒子的速度和位置,得到新的隨機(jī)解;
Step8當(dāng)?shù)螖?shù)大于最大迭代次數(shù)時(shí),算法停止,得到最優(yōu)解。否則,返回Step 4繼續(xù)搜尋最優(yōu)解;
Step9將優(yōu)化得到的最優(yōu)神經(jīng)元層數(shù)、每層神經(jīng)元個(gè)數(shù)及激活函數(shù)這些超參數(shù)作為神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)參數(shù),然后根據(jù)實(shí)際輸出值與期望輸出的誤差進(jìn)行反向傳播訓(xùn)練神經(jīng)網(wǎng)絡(luò),不斷調(diào)整網(wǎng)絡(luò)權(quán)值和閾值,直到滿足迭代條件。
為證明本文提出的基于PSO算法優(yōu)化DNN模型參數(shù)得到的分類器的確在性能上優(yōu)于普通DNN分類器,本文將在4.3節(jié)中,對有無PSO優(yōu)化的DNN模型分類結(jié)果進(jìn)行比較。
極限隨機(jī)樹(Extra-Trees,ET)也稱極端樹[13],與標(biāo)準(zhǔn)的基于樹的方法相比,其強(qiáng)大的隨機(jī)性使得該方法在減少切分點(diǎn)方差的力度上更強(qiáng),同時(shí),在精度和泛化性能上也遙遙領(lǐng)先于其他集成方法。在后續(xù)的4.3節(jié)中,分別運(yùn)用隨機(jī)森林、前向逐步線性回歸和ET三種算法對刑期進(jìn)行預(yù)測及對比。在極限隨機(jī)樹的構(gòu)建過程中,主要需確定3個(gè)參數(shù)。首先,確定最終極限隨機(jī)樹包含的決策樹數(shù)目N,即這N棵回歸樹的預(yù)測結(jié)果的普通算數(shù)平均數(shù)作為回歸模型最終的預(yù)測結(jié)果;其次,在每棵決策樹的每個(gè)節(jié)點(diǎn)隨機(jī)選擇當(dāng)前節(jié)點(diǎn)屬性集中的屬性個(gè)數(shù)k;最后,分裂一個(gè)節(jié)點(diǎn)所需的最小樣本大小nmin。以貴州法院故意傷害罪案件為訓(xùn)練樣本,對該樣本及其要素集分別定義為:
Q={(x1,y1),(x2,y2),…,(xm,ym)},P={p1,p2,…,pz}
其中,xi(i=1,2,…,m)表示第i個(gè)案件對應(yīng)各要素(屬性)的取值,yi表示案件的真實(shí)判罰刑期。
基于ET的故意傷害罪量刑預(yù)測算法詳見如下。
算法2Build_Extra_Trees_ensemble(Q)
輸入:訓(xùn)練樣本Q={(x1,y1),(x2,y2),…,(xm,ym)}
輸出:極限隨機(jī)樹T={t1,t2,…,tN}
Step1fori=1 toNdo
Step2生成一棵極限隨機(jī)樹ti=Build_an_Extra_Tree(Q);
Step3返回極限隨機(jī)樹T。
算法3Build_an_Extra_Tree(Q)
輸入:訓(xùn)練樣本Q={(x1,y1),(x2,y2),…,(xm,ym)}
輸出:一棵極限隨機(jī)樹t
Step1ifStop_split(Q)=True
Step2返回一個(gè)葉節(jié)點(diǎn);
Step3else
Step4從當(dāng)前節(jié)點(diǎn)屬性集中隨機(jī)選擇k個(gè)屬性{p1,p2,…,pk};
Step5得到k個(gè)切分點(diǎn)(s1,s2,…,sk),其中si=Choose_a_random_split(Q,pi);
Step6依據(jù)Score(s*,Q)=maxi=1,…,kScore(si,Q),選擇最優(yōu)切分點(diǎn)s*;
Step7依據(jù)切分變量p*和切分點(diǎn)s*,將訓(xùn)練樣本分為2個(gè)子集Ql和Qr;
Step8利用樣本子集Ql和Qr分別構(gòu)建左子樹和右子樹:tl和tr,即:
tl=Build_an_Extra_Tree(Ql)
tr=Build_an_Extra_Tree(Qr);
Step9返回一棵極限隨機(jī)樹t。
算法4Stop_split(Q)
輸入:訓(xùn)練樣本Q={(x1,y1),(x2,y2),…,(xm,ym)}
輸出:布爾值(True/False)
Step1if |Q|nmin
Step2返回True;
Step3else if
Step4Q中的所有樣本在所有屬性上取值相同;
Step5返回True;
Step6else if
Step7Q中所有樣本的輸出結(jié)果相同;
Step8返回True;
Step9else
Step10返回False。
算法5Choose_a_random_split(Q,P)
輸入:訓(xùn)練樣本Q={(x1,y1),(x2,y2),…,(xm,ym)},屬性p
輸出:切分點(diǎn)


Step3返回切分點(diǎn)[ppc]。
本文數(shù)據(jù)由貴州法院整理并提供,故意傷害罪案件時(shí)間跨度為2016年1月~2017年5月,刑期跨度為0~240個(gè)月,案件總數(shù)量為5 000多件。
由于案件數(shù)量較多,刑期橫跨0~240個(gè)月且分布不均勻。因此,本文采用FCM聚類算法基于案件刑期進(jìn)行聚類分析。為確定最優(yōu)類別數(shù),本文分別進(jìn)行了4類、5類、6類的聚類實(shí)驗(yàn),通過觀測聚類有效性評價(jià)指標(biāo)得到結(jié)果為5的聚類效果最佳。每類偏差分別為:0.09,0.22,0.7,0.88,0.72個(gè)月。
由于貴州法院提供的故意傷害罪原始數(shù)據(jù)并不包括案件的類別劃分,因此本文將4.1節(jié)FCM得到的聚類結(jié)果作為構(gòu)建分類器模型的數(shù)據(jù)集真實(shí)類別標(biāo)簽。
故意傷害罪數(shù)據(jù)集含有不重復(fù)要素共75個(gè),若直接將這些數(shù)據(jù)用于后續(xù)模型的建立,將造成巨大的時(shí)間開銷和計(jì)算復(fù)雜度。為了解決這一問題,本文使用主成分分析模型(Principal Component Analysis,PCA)[14],通過提取所有故意傷害罪案件要素的主要成分,從而在保證精度的同時(shí),降低特征維度并提高模型構(gòu)建效率。
在PSO優(yōu)化過程中涉及到DNN模型的訓(xùn)練,即在每一時(shí)刻都需要獲得當(dāng)前粒子所處位置訓(xùn)練得到的DNN分類器的分類質(zhì)量,也就是準(zhǔn)確度,這是通過對訓(xùn)練模型的評估來完成的。為了體現(xiàn)分類器的泛化性能,本文利用K折交叉驗(yàn)證技術(shù)(本文取K=6),將訓(xùn)練集劃分為K組子樣本,一組用于訓(xùn)練過程的驗(yàn)證,其余子樣本用于計(jì)算梯度更新權(quán)重實(shí)現(xiàn)模型訓(xùn)練。每一次更新都會獲得K個(gè)結(jié)果,然后對獲得的測試精度求取平均作為本次模型精度。
本文利用PSO算法優(yōu)化DNN網(wǎng)絡(luò)模型參數(shù)的具體搜索空間與PSO求解器的超參數(shù)設(shè)置見表1。

表1 基于PSO的DNN故意傷害罪分類模型參數(shù)設(shè)置
為表明本文提出的運(yùn)用PSO算法求解DNN網(wǎng)絡(luò)模型參數(shù)的可靠性,本文做了對比實(shí)驗(yàn),得到的結(jié)果見表2。
本文將PSO優(yōu)化后得到的最優(yōu)網(wǎng)絡(luò)參數(shù)作為本文擬構(gòu)建的DNN分類器結(jié)構(gòu),通過將600次迭代后得到的權(quán)重作為DNN分類模型的初始權(quán)重,在此基礎(chǔ)上繼續(xù)對分類器做訓(xùn)練,經(jīng)過1 900次迭代后得到的基于故意傷害罪數(shù)據(jù)的模型分類精度為81.59%。以上實(shí)驗(yàn)充分證明基于PSO算法優(yōu)化得到的DNN故意傷害罪分類模型不僅具有較科學(xué)的網(wǎng)絡(luò)設(shè)計(jì)依據(jù),同時(shí)模型精度也有所提升。
在預(yù)測模型訓(xùn)練前,將依據(jù)4.2節(jié)中分類模型得到的各類別標(biāo)簽將數(shù)據(jù)集劃分為5組。本文針對5組數(shù)據(jù)集,分別構(gòu)建預(yù)測模型。研究將每組子樣本集隨機(jī)劃分為75%訓(xùn)練集和25%測試集。

在該實(shí)驗(yàn)階段,本文運(yùn)用隨機(jī)森林、前向逐步線性回歸和ET三種算法進(jìn)行刑期預(yù)測,并通過計(jì)算平均絕對誤差作為每組案件的平均偏差來評價(jià)模型優(yōu)劣,具體表達(dá)式為:
(8)


表3 回歸結(jié)果對比表
本文提出了一種融合FCM算法、基于PSO優(yōu)化的DNN分類算法、極限隨機(jī)樹等多種機(jī)器學(xué)習(xí)算法的智能專家審判系統(tǒng)。其中,基于PSO優(yōu)化的DNN分類模型較DNN模型本身有更高的分類精度;同時(shí),極限隨機(jī)樹也比常用的回歸方法有更精確的預(yù)測結(jié)果和更好的泛化性能。通過貴州法院故意傷害罪數(shù)據(jù)的實(shí)驗(yàn)驗(yàn)證表明,該專家審判系統(tǒng)可為司法工作提供更科學(xué)的指導(dǎo),在保證審判公正性的同時(shí),極大地減少了判案時(shí)間和工作量。本文旨在挖掘犯罪要素與刑期的隱含關(guān)系,為司法領(lǐng)域的研究和應(yīng)用提供了一種全新的思路。在接下來的工作中,通過改進(jìn)審判系統(tǒng)中的分類算法,以此獲得更高的分類精度,進(jìn)而提高預(yù)測模型的性能,使得預(yù)測更為精確。此外,也可嘗試對其他類型的法律案件數(shù)據(jù)進(jìn)行挖掘分析,在進(jìn)一步的模型優(yōu)化后實(shí)現(xiàn)審判系統(tǒng)的普適性。