宋啟松,李少波,李志昂,胡建軍
(貴州大學(xué)機械工程學(xué)院,貴州 貴陽 550025)
移動機器人是高智能化的多功能設(shè)備[1],目前已經(jīng)在工業(yè)、農(nóng)業(yè)、醫(yī)療、交通、服務(wù)等領(lǐng)域得到廣泛應(yīng)用。但移動機器人在避障過程中不夠智能,無法根據(jù)反饋信息進行實時避障,智能避障是未來機器人研究的一項重要領(lǐng)域。
機器學(xué)習(xí)可從海量數(shù)據(jù)中抽取有價值信息,并將這些信息進行分類。目前采用機器學(xué)習(xí)算法對移動機器人避障研究較少,大部分都是采用智能算法來研究機器人路徑規(guī)劃中的避障問題,文獻[2]采用人工蜂群算法對機器人進行動態(tài)避碰研究,文獻[3]采用Wavefront方法對服務(wù)機器人進行導(dǎo)航和避障,文獻[4]采用增量式徑向基函數(shù)網(wǎng)絡(luò)的Q學(xué)習(xí)算法來提高機器人導(dǎo)航和避障能力。這些方法都無法精確的表示機器人避障中方向的微弱變換。
針對移動機器人避障中方向轉(zhuǎn)換的高精度要求,提出使用機器學(xué)習(xí)算法建立機器人實時判別模型,通過訓(xùn)練大量距離數(shù)據(jù)對移動機器人的轉(zhuǎn)換方向進行分類,進而根據(jù)新距離精確預(yù)測機器人避障時轉(zhuǎn)換方向。比較機器學(xué)習(xí)算法的綜合評價指標,可知隨機森林算法性能最好,再采用交叉驗證[5]來防止過擬合,生成更加穩(wěn)定可靠的實時判別模型。
k-近鄰算法[6]采用測量不同特征值之間的距離方法進行分類,通常用knn表示。采用歐式距離公式:
式中:Pi—特征值1;qi—特征值2;n—特征維數(shù)。
樸素貝葉斯算法[7]采用條件概率和先驗概率獲得事件后驗概率,通常用mnb表示。樸素貝葉斯公式:
式中:P(c|x)—后驗概率;P(x|c)—條件概率;P(c)—先驗概率;P(x)—常量;P(x,c)—聯(lián)合概率。
高斯樸素貝葉斯[8]通過假設(shè)P(xi|y)是服從高斯分布,來估計每個特征下每個類別上的條件概率,通常用gnb表示。高斯貝葉斯公式:
式中:μc,i—均值;σc,i2—方差。
支持向量機[9]是在分布的數(shù)據(jù)中找出一個分隔超平面作為決策邊界,使模型在數(shù)據(jù)上的分類誤差盡量小,通常用SVM表示。優(yōu)化目標函數(shù):
式中:W—與超平面垂直的向量;X—支持向量;b—截距。
隨機森林[10]是采用裝袋法的核心思想隨機選出樣本和特征相結(jié)合,構(gòu)建多個相互獨立的決策樹的集成算法,通常用RF表示。隨機森林公式:
式中:T—決策樹;n—決策樹個數(shù)。
數(shù)據(jù)來源于加州大學(xué)歐文分校(University of California Ir‐vine,UCI)的開放數(shù)據(jù)集,該數(shù)據(jù)集是由SCITOSG5機器人沿墻進行4輪順時針航行收集的,如圖1所示。機器人的前、左、后、右端分別安裝了超聲波傳感器,以它們檢測障礙物的最短距離為特征值,以機器人移動方向為標簽值。
圖1 機器人數(shù)據(jù)集Fig.1 Robot Dataset
從圖1可以看出特征值主要有前、左、右、后四個距離;標簽值主要分為前進、輕微右轉(zhuǎn)、猛烈右轉(zhuǎn)、輕微左轉(zhuǎn)。機器人前進時以前距離為主;輕微右轉(zhuǎn)時以前距離為主,右距離為輻;猛烈右轉(zhuǎn)時以右距離為主;輕微左轉(zhuǎn)時前距離為主,左距離為輻。
混淆矩陣是精度評價的可視化工具,如表1所示。
表1 混淆矩陣Tab.1 Confusion Matrix
TP:預(yù)測為正向(P),實際上預(yù)測準確(T),即判斷為正向的正確率;
TN:預(yù)測為負向(N),實際上預(yù)測準確(T),即判斷為正向的正確率;
FP:預(yù)測為正向(P),實際上預(yù)測錯誤(F),誤報率,即把負向判斷成了正向;
FN:預(yù)測為負向(N),實際上預(yù)測錯誤(F),漏報率,即把正向判斷成了負向。
3.2.1 準確率
對于給定的測試數(shù)據(jù)集,分類器正確分類的樣本數(shù)與總樣本數(shù)之比。
3.2.2 精確率
預(yù)測為正的樣本中有多少是真正的正樣本,它是針對預(yù)測結(jié)果而言的。
3.2.3 召回率
樣本中的正例有多少被預(yù)測正確了,它是針對原有樣本而言的。
3.2.4 F1-Measure
將精確率和準確率加權(quán)調(diào)和平均。
3.2.5 馬修斯相關(guān)系數(shù)
Mcc是實際分類與預(yù)測分類之間的相關(guān)系數(shù)。它的取值范圍為[-1,1],取值為1代表完美預(yù)測,取值為-1代表預(yù)測分類和實際分類完全不一致。
針對機器人避障數(shù)據(jù)集,采用不同的機器學(xué)習(xí)算法訓(xùn)練樣本數(shù)據(jù),生成算法實時判別模型,并用實時判別模型對樣本數(shù)據(jù)進行預(yù)測。將預(yù)測結(jié)果與實際樣本數(shù)據(jù)進行比較,從而判斷各種機器學(xué)習(xí)算法預(yù)測性能優(yōu)劣。數(shù)據(jù)集共有5456個數(shù)據(jù),其中,1636個為訓(xùn)練樣本,3820個為測試樣本。機器學(xué)習(xí)算法實時判別模型流程,如圖2所示。
圖2 實時判別模型流程圖Fig.2 Flow Chart of Real-Time Discriminant Model
通過建立5種機器學(xué)習(xí)算法的實時判別模型來預(yù)測樣本數(shù)據(jù),得到綜合評價指標實驗結(jié)果,如表2所示。
表2 機器學(xué)習(xí)算法綜合評價指標Tab.2 Comprehensive Evaluation Index of Machine Learning Algorithms
從表2可以看出,隨機森林算法的準確率、精確率、召回率、F1-measure、馬修斯相關(guān)系數(shù)等評價達到了99.9%以上,而k-近鄰算法評價指標在95.4%左右、支持向量機評價指標在93.7%左右,高斯樸素貝葉斯綜合評價指標在89.7%左右,樸素貝葉斯的綜合評價指標在52.9%左右。機器學(xué)習(xí)算法綜合評價性能對比圖,如圖3所示。
圖3 綜合性能對比Fig.3 Comparison of Comprehensive Performance
從圖3可以直觀地看出,隨機森林算法綜合性能最高,而k-近鄰算法、支持向量機、高斯樸素貝葉斯次之,樸素貝葉斯綜合性能最低。比較表明隨機森林算法生成的實時判別模型具有優(yōu)越的分類預(yù)測性能,使機器人具有良好的實時避障效果。
為防止實時判別模型過于復(fù)雜引起過擬合,引入十倍交叉驗證來測試算法的準確性。對5種機器學(xué)習(xí)算法進行十倍交叉驗證得到正確率,如圖4所示。
圖4 十倍交叉驗證正確率Fig.4 The Correctness Rate of 10-Fold Cross-Validation
從圖4可以看出,機器學(xué)習(xí)算法進行十倍交叉驗證過程中,隨機森林算法正確性最高甚至達到過100%,樸素貝葉斯算法正確性最低,高斯樸素貝葉斯、k-近鄰算法、支持向量機正確性居中。對機器學(xué)習(xí)算法的綜合評價指標進行十倍交叉驗證,將各種綜合評價指標的正確率取均值作為對算法精度的估計。十倍交叉驗證綜合評價指標數(shù)據(jù),如圖5所示。
圖5 十倍交叉驗證綜合評價指標Fig.5 10-Fold Cross-Validation Comprehensive Performance
從圖5可以看出隨機森林算法的綜合評價指標在99.8%左右,k-近鄰算法在93.2%左右,支持向量機在91.4%左右,高斯樸素貝葉斯在88.5%左右,樸素貝葉斯的在51.6%。雖然這5種算法進行十倍交叉驗證后的指標比之前都稍有降低,但可以得到更加可靠穩(wěn)定的模型,通過比較表明,十倍交叉驗證可以使算法更加精確,預(yù)測性能更好,有效的防止過擬合的發(fā)生。
從上述分析可知隨機森林算法預(yù)測性能最優(yōu),為確保隨機森林算法的穩(wěn)定性,對隨機森林算法的綜合評價指標進行十倍交叉驗證和十倍分層采樣得出實驗結(jié)果,如圖6所示。從圖6可以看出,隨機森林算法在十倍交叉驗證和十倍分層采樣中都保持著極高的正確率,具備較為完美的預(yù)測性能,在預(yù)測過程中較為穩(wěn)定。
圖6 隨機森林算法正確率Fig.6 The Correctness Rate of Random Forest Algorithm
通過機器學(xué)習(xí)算法建立機器人實時判別模型,可根據(jù)探測到的障礙物距離實時預(yù)測出機器人轉(zhuǎn)向從而達到有效避障的目的。分析機器學(xué)習(xí)算法的實驗結(jié)果可得出以下結(jié)論:
(1)在處理此數(shù)據(jù)集的機器學(xué)習(xí)算法中,隨機森林算法的精確率、準確率、召回率、F1、馬修斯相關(guān)系數(shù)最高,性能最好。
(2)機器學(xué)習(xí)算法十倍交叉驗證后可生成更加穩(wěn)定可靠的實時判別模型,可有效防止過擬合,減小泛化誤差。
(3)將機器學(xué)習(xí)算法對巡檢機器人、導(dǎo)航機器人、無人駕駛汽車等領(lǐng)域進行實時避障是未來研究的重點。