回歸演算法及SOC估計應用實例
回歸演算法,是一種應用比較廣泛的機器演算法。智能演算法中,回歸演算法往往與其他演算法結合使用。在鋰電池SOC估計中,開路電壓估計SOC的方法,就是一種典型的回歸演算法應用形式。詳細過程在本文最後一部分說明。
1 什麼是回歸演算法
簡單的理解回歸,就是找到模型函數中未知係數的方法。我們常常會遇到這樣的情形,一個系統的輸入變數與輸出變數之間,關係比較複雜,不存在現成的理論公式描述這種關係。而我們知道,輸入與輸出之間一定存在著某種穩定的確定關係,並且我們需要這個函數的具體形式,來指導後續的實驗或者生產。於是回歸演算法就應運而生。
回歸演算法使用的典型過程是這樣的:
首先,準備好我們想要了解的典型系統。
第二,給系統一系列典型輸入,並測量相應的輸出,獲得n組由輸入、輸出數據構成的空間點數據。
第三,根據系統的特點,選擇系統模型的典型函數形式,參數待定;
第四,將第二步獲得的數據,帶入第三步函數式中,解出系統模型的每個參數。這樣,我們就獲得了一個描述系統輸入與輸出關係的經驗公式。
第五,選取另外一組實驗數據,代入經驗公式,驗證公式的準確性。如果精度在要求範圍內,則確定公式可用。
第六,在後續工作過程中,可以利用公式,估計不同輸入獲得的輸出範圍。
2 回歸演算法分類
線性回歸
線性回歸,自變數和因變數的冪次方都不超過1,則將方程稱為線性回歸方程。回歸方程往往不能直接求解,而需要找到函數最小誤差公式,求解函數誤差最小時,函數參數的取值。求解最小值的方法有梯度法,最小二乘法等。
局部加權線性回歸
線性回歸形式比較簡單,易於求解,可以描述函數的整體趨勢。但對於函數的局部波動無能為力。於是,人們在線性回歸的基礎上改進,得到局部加權方法。局部加權方法,允許估計中出現稍大的誤差,進而減小系統均方誤差,函數圖形演變成了折線形。
邏輯回歸
當函數值只有0和1兩種取值時,我們需要用到邏輯回歸。邏輯回歸主要應用於數據分類。
多項式回歸
多項式回歸,顧名思義,就是自變數指數超過1的回歸模型,是最具普遍意義的一種擬合形式,很多工程問題都可以應用這種回歸演算法。
相比於線性回歸,多項式回歸會耗費更多計算資源,指數越大計算量越大。當我們選擇多項式模型時,需要關注,擬合曲線的首尾指數較高的函數,評判在實際應用中是否有對應的意義。
逐步回歸
當系統中存在多個自變數時,需要用到逐步回歸。計算可以從最顯著的變數開始,逐步加入次顯著的變數,叫前進法;先加入全部變數,再逐步剔除一些影響不顯著的變數,叫做後退法。
其他回歸演算法
除了上面的回歸模型,常見的還有嶺回歸、LASSO回歸、ElasticNet回歸等,都是前述回歸演算法的改進和組合。
3 過擬合和欠擬合
選擇的回歸方法是否合適,主要是觀察擬合結果,實驗數據點與函數曲線的貼合程度越高,說明擬合效果越好。在網上看到兩張圖,看一眼就明白什麼是欠擬合、過擬合、恰當的擬合,盜圖一用。
觀察下面三幅圖。欠擬合,由於選取函數模型的冪次不夠,擬合曲線除了體現劃分邊界的大體趨勢,並不能對數據做出準確的劃分;過擬合,函數曲線精準分割數據點,但因為一兩個數據點,卻極大提高了函數複雜度,計算量顯著增加;恰當的擬合,如第三幅圖所示。
個人理解,過擬合和恰當的擬合之間,可能並沒有非常明晰的界限。隨著計算機算力的不斷提高,過擬合的起點肯定會相應提高。過擬合與適當的擬合之間,實際上是準確性與計算代價之間的平衡,無關乎對錯。