基于遺傳算法 SVM 的地磅智能稱重系統研究
文章主要針對傳統的模擬稱重系統存在各類誤差補償困難的問題,提出了一種基于遺傳算法 SVM 的非線性補償數學模型,實現誤差補償,從而提高了整個稱重系統的檢定分度值。
0.引言
隨著經濟的高速發展和工作效率的提高,地磅稱重系統在性能方面朝著高準確度、高速度、高穩定性、多功能多接口等方向發展,在結構方面朝著組合化、模塊化等方向發展。因此,高準確度遠程數字稱重系統無論是在服務社會經濟發展,還是在提高我國地磅企業的技術水平都有著一定的重要意義。
針對傳統的模擬稱重系統存在各類誤差補償困難,角差調整過程繁瑣,穩定性和可靠性低以及難以實現在線監測等諸多問題,本文提出了一種基于遺傳算法 SVM 的地磅智能稱重系統,結合人工智能數據處理技術,在稱重系統中建立起基于遺傳算法 SVM 的非線性補償數學模型,用于實現誤差補償,使得整個稱重系統的檢定分度數得到提高。
1.基于遺傳 SVM 的非線性補償
近幾年來稱重傳感器校正模型被廣泛使用的人工神經網絡 ( Artificial Neural Network,ANN) ,非線性逼近能力方面具有非常明顯的優勢,常見的有 BP 神經網絡、RBF 神經網絡、廣義回歸神經網絡方法等。人工神經網絡 ( ANN) 同樣存在一定缺陷,如訓練速度較慢,存在過擬合現象,易產生局部最小點以及泛化能力比較弱等問題,所以這種類型的補償方式也很難實現預期的高精度。
支持向量機 ( Support Vector Machine,SVM)是一種新的機器學習方法,建立在統計學習理論( Statistical Learning Theory,SLT) 的基礎上,其工作原則是以結構風險最小化為核心,通過提高泛化能力來確保結果為可得的最優解,這也較好地解決了非線性、小樣本等問題。但是,運用這種算法時,如何有效選擇核函數、確定參數等問題仍然存在爭議。
目前,傳感器非線性校正領域中已經大批量使用支持向量機 ( SVM) 技術,但是其懲罰系數C、損失函數參數 ε 以及核函數參數的選取問題還沒有找到一種合適的方法來解決。本文中將結合遺傳算法來將上述問題最小化。遺傳算法是一種隨機優化算法,這種算法不是單純隨機比較搜索,而是靠對染色體的評價和對其中基因的作用,依靠已有的信息來指導搜索并對質量的狀態進行改善。遺傳算法對需要求解的問題,沒有連續性、可微性方面的要求,只需要知道目標函數的相關信息即可。因此,本文認為遺傳算法是解決上述問題的一種簡單可行的最優方法。
本文中將遺傳 SVM 方法引入校正模型中,利用遺傳算法的強大全局搜索能力,構建了一種更加完善的稱重傳感器輸出特性校正模型。
1. 1 基本原理
稱重傳感器的輸出特性為: y = f( x,t1 ,t2 ,…,tn ) ( 1)
式中: x 為傳感器的輸入量; t1 ,t2 ,…,tn 為 n 個非目標參量; y 為稱重傳感器輸出。
利用遺傳 SVM 進行稱重傳感器的輸出特性的校正原理如圖 1 所示。
若 t、y 為 x 的單值函數,則式 ( 1) 存在反函數,即 x = f - 1 ( y,t1 ,t2 ,…,tn ) ,這個反函數是一個很復雜的數學模型,用具體的函數來表達存在一
定困難,因此可利用支持向量機校正模型來盡量表現出這種非線性關系。將稱重傳感器的最終輸出結果值 y 和非目標參量 t1 ,t2 ,…,tn 等數據,當作支持向量機校正模型的輸入值,在其運算后輸出結果為 P,那么 P 則為去除了非目標參量等影響后的目標參量。
1. 2 SVM 校正模型
在稱重傳感器中運用 SVM 進行輸出特性的校正,根本上就是考慮回歸問題。參與這類回歸問題分析的樣本只有一種類型,即可以達到使所有樣本離最優分類面的偏差最小的最優分類面。
SVM 校正模型的工作原理是: 運用非線性映射 ,在獲取輸入數據后將其反應到高維空間,并在高維空間轉換后進行回歸分析,構建輸入值y、t1 ,t2 ,…,tn 與輸出值 P 的函數關系。換言之,這類校正模型可用 SVM 回歸分析問題來解釋,即假設稱重傳感器所獲取的輸入值和輸出值所構成的數據樣本集表示為 { xi ,yi } ,i = 1,2,…,n,其中,xi 為稱重傳感器的輸入且 xi ∈RN ,yi為稱重傳感器的輸出且 yi ∈RN ,那么 SVM 校正模型所需要研究的問題可以表述為如下的回歸函數形式:
式中: ω· ( x) 為向量 ω 與 ( x) 的內積; ω 的
維數為高維空間維數; b 為閾值且 b∈R。
實際應用中,為了求解 ω 與 b,一般引入松弛變量 ξ( ξ* ≥0) ,則最優化問題就轉變為求下式最優解:
1. 3 基于遺傳 SVM 的傳感器非線性校正模型
下文將以徑向基核函數為例,簡單對遺傳算
法如何優化支持向量機和它的參數進行描述。實
現過程如圖 2 所示。
( 1) 初始化種群代數。
( 2) 確定支持向量機的懲罰系數 C、損失函數
參數 ε 和核函數參數 σ 的取值范圍,組成初始種群,并以實數形式編碼成染色體。
( 3) 用訓練樣本對每組參數進行訓練,計算各個個體的適應度函數值。適應度函數值是輸出值與期望值的平均相對誤差。
( 4) 對種群進行選擇、交叉、變異運算。
( 5) 判斷是否滿足終止條件 ( 本文以是否完成最大遺傳代數為準則) ,若滿足則輸出支持向量機最優參數,若不滿足則返回 ( 3) 。
( 6) 選擇末代種群中最好的個體進行解碼,則得到最優的 SVM 的懲罰系數 C、損失函數參數ε 和核函數參數 σ 并進行訓練。
( 7) 用得到的最優的 SVM 參數計算輸出值
2.實驗驗證
使用一只 C3 等級最大秤量為 100 kg 的稱重傳感器制作一秤臺,連接本系統,測得如表 1 所示的數據,其中所加載荷為 F2等級砝碼,顯示分度值設為 1 g。
從補償后的數據來看,該稱重系統的性能基本能達到分度數為 10 000 的三級衡器要求,相比之前的性能有了一定程度的提高。
3.結束語
本文主要是結合人工智能數據處理技術,在稱重系統中建立起基于遺傳算法 SVM 的非線性補償數學模型,實現誤差補償,提高整個稱重系統的檢定分度數值,根據實驗結果可知稱重系統的性能基本能達到分度數為 10 000 的三級衡器要求。