宋啟松,李少波,李志昂,胡建軍
(貴州大學機械工程學院,貴州 貴陽 550025)
移動機器人是高智能化的多功能設備[1],目前已經在工業、農業、醫療、交通、服務等領域得到廣泛應用。但移動機器人在避障過程中不夠智能,無法根據反饋信息進行實時避障,智能避障是未來機器人研究的一項重要領域。
機器學習可從海量數據中抽取有價值信息,并將這些信息進行分類。目前采用機器學習算法對移動機器人避障研究較少,大部分都是采用智能算法來研究機器人路徑規劃中的避障問題,文獻[2]采用人工蜂群算法對機器人進行動態避碰研究,文獻[3]采用Wavefront方法對服務機器人進行導航和避障,文獻[4]采用增量式徑向基函數網絡的Q學習算法來提高機器人導航和避障能力。這些方法都無法精確的表示機器人避障中方向的微弱變換。
針對移動機器人避障中方向轉換的高精度要求,提出使用機器學習算法建立機器人實時判別模型,通過訓練大量距離數據對移動機器人的轉換方向進行分類,進而根據新距離精確預測機器人避障時轉換方向。比較機器學習算法的綜合評價指標,可知隨機森林算法性能最好,再采用交叉驗證[5]來防止過擬合,生成更加穩定可靠的實時判別模型。
k-近鄰算法[6]采用測量不同特征值之間的距離方法進行分類,通常用knn表示。采用歐式距離公式:

式中:Pi—特征值1;qi—特征值2;n—特征維數。
樸素貝葉斯算法[7]采用條件概率和先驗概率獲得事件后驗概率,通常用mnb表示。樸素貝葉斯公式:

式中:P(c|x)—后驗概率;P(x|c)—條件概率;P(c)—先驗概率;P(x)—常量;P(x,c)—聯合概率。
高斯樸素貝葉斯[8]通過假設P(xi|y)是服從高斯分布,來估計每個特征下每個類別上的條件概率,通常用gnb表示。高斯貝葉斯公式:

式中:μc,i—均值;σc,i2—方差。
支持向量機[9]是在分布的數據中找出一個分隔超平面作為決策邊界,使模型在數據上的分類誤差盡量小,通常用SVM表示。優化目標函數:

式中:W—與超平面垂直的向量;X—支持向量;b—截距。
隨機森林[10]是采用裝袋法的核心思想隨機選出樣本和特征相結合,構建多個相互獨立的決策樹的集成算法,通常用RF表示。隨機森林公式:

式中:T—決策樹;n—決策樹個數。
數據來源于加州大學歐文分校(University of California Ir‐vine,UCI)的開放數據集,該數據集是由SCITOSG5機器人沿墻進行4輪順時針航行收集的,如圖1所示。機器人的前、左、后、右端分別安裝了超聲波傳感器,以它們檢測障礙物的最短距離為特征值,以機器人移動方向為標簽值。

圖1 機器人數據集Fig.1 Robot Dataset
從圖1可以看出特征值主要有前、左、右、后四個距離;標簽值主要分為前進、輕微右轉、猛烈右轉、輕微左轉。機器人前進時以前距離為主;輕微右轉時以前距離為主,右距離為輻;猛烈右轉時以右距離為主;輕微左轉時前距離為主,左距離為輻。
混淆矩陣是精度評價的可視化工具,如表1所示。

表1 混淆矩陣Tab.1 Confusion Matrix
TP:預測為正向(P),實際上預測準確(T),即判斷為正向的正確率;
TN:預測為負向(N),實際上預測準確(T),即判斷為正向的正確率;
FP:預測為正向(P),實際上預測錯誤(F),誤報率,即把負向判斷成了正向;
FN:預測為負向(N),實際上預測錯誤(F),漏報率,即把正向判斷成了負向。
3.2.1 準確率
對于給定的測試數據集,分類器正確分類的樣本數與總樣本數之比。

3.2.2 精確率
預測為正的樣本中有多少是真正的正樣本,它是針對預測結果而言的。

3.2.3 召回率
樣本中的正例有多少被預測正確了,它是針對原有樣本而言的。

3.2.4 F1-Measure
將精確率和準確率加權調和平均。

3.2.5 馬修斯相關系數
Mcc是實際分類與預測分類之間的相關系數。它的取值范圍為[-1,1],取值為1代表完美預測,取值為-1代表預測分類和實際分類完全不一致。

針對機器人避障數據集,采用不同的機器學習算法訓練樣本數據,生成算法實時判別模型,并用實時判別模型對樣本數據進行預測。將預測結果與實際樣本數據進行比較,從而判斷各種機器學習算法預測性能優劣。數據集共有5456個數據,其中,1636個為訓練樣本,3820個為測試樣本。機器學習算法實時判別模型流程,如圖2所示。

圖2 實時判別模型流程圖Fig.2 Flow Chart of Real-Time Discriminant Model
通過建立5種機器學習算法的實時判別模型來預測樣本數據,得到綜合評價指標實驗結果,如表2所示。

表2 機器學習算法綜合評價指標Tab.2 Comprehensive Evaluation Index of Machine Learning Algorithms
從表2可以看出,隨機森林算法的準確率、精確率、召回率、F1-measure、馬修斯相關系數等評價達到了99.9%以上,而k-近鄰算法評價指標在95.4%左右、支持向量機評價指標在93.7%左右,高斯樸素貝葉斯綜合評價指標在89.7%左右,樸素貝葉斯的綜合評價指標在52.9%左右。機器學習算法綜合評價性能對比圖,如圖3所示。

圖3 綜合性能對比Fig.3 Comparison of Comprehensive Performance
從圖3可以直觀地看出,隨機森林算法綜合性能最高,而k-近鄰算法、支持向量機、高斯樸素貝葉斯次之,樸素貝葉斯綜合性能最低。比較表明隨機森林算法生成的實時判別模型具有優越的分類預測性能,使機器人具有良好的實時避障效果。
為防止實時判別模型過于復雜引起過擬合,引入十倍交叉驗證來測試算法的準確性。對5種機器學習算法進行十倍交叉驗證得到正確率,如圖4所示。

圖4 十倍交叉驗證正確率Fig.4 The Correctness Rate of 10-Fold Cross-Validation
從圖4可以看出,機器學習算法進行十倍交叉驗證過程中,隨機森林算法正確性最高甚至達到過100%,樸素貝葉斯算法正確性最低,高斯樸素貝葉斯、k-近鄰算法、支持向量機正確性居中。對機器學習算法的綜合評價指標進行十倍交叉驗證,將各種綜合評價指標的正確率取均值作為對算法精度的估計。十倍交叉驗證綜合評價指標數據,如圖5所示。

圖5 十倍交叉驗證綜合評價指標Fig.5 10-Fold Cross-Validation Comprehensive Performance
從圖5可以看出隨機森林算法的綜合評價指標在99.8%左右,k-近鄰算法在93.2%左右,支持向量機在91.4%左右,高斯樸素貝葉斯在88.5%左右,樸素貝葉斯的在51.6%。雖然這5種算法進行十倍交叉驗證后的指標比之前都稍有降低,但可以得到更加可靠穩定的模型,通過比較表明,十倍交叉驗證可以使算法更加精確,預測性能更好,有效的防止過擬合的發生。
從上述分析可知隨機森林算法預測性能最優,為確保隨機森林算法的穩定性,對隨機森林算法的綜合評價指標進行十倍交叉驗證和十倍分層采樣得出實驗結果,如圖6所示。從圖6可以看出,隨機森林算法在十倍交叉驗證和十倍分層采樣中都保持著極高的正確率,具備較為完美的預測性能,在預測過程中較為穩定。

圖6 隨機森林算法正確率Fig.6 The Correctness Rate of Random Forest Algorithm
通過機器學習算法建立機器人實時判別模型,可根據探測到的障礙物距離實時預測出機器人轉向從而達到有效避障的目的。分析機器學習算法的實驗結果可得出以下結論:
(1)在處理此數據集的機器學習算法中,隨機森林算法的精確率、準確率、召回率、F1、馬修斯相關系數最高,性能最好。
(2)機器學習算法十倍交叉驗證后可生成更加穩定可靠的實時判別模型,可有效防止過擬合,減小泛化誤差。
(3)將機器學習算法對巡檢機器人、導航機器人、無人駕駛汽車等領域進行實時避障是未來研究的重點。