貝葉斯濾波算法
重要性:大多數計算置信度的通用算法都是由貝葉斯濾波算法給出的。
作用:貝葉斯濾波算法根據上一時刻置信度、測量和控制數據計算置信度分佈。
算法介紹:僞代碼如下圖所示
(1) 貝葉斯濾波算法是遞歸的,時刻t的置信度由上一時刻的置信度、最近的控制、最近的測量數據三者求得。
(2) 算法分爲兩個過程,預測(控制更新)、更新。
(3) 第3行,在控制之後測量之前做的預測,上一時刻的置信度與此時刻的狀態轉移概率乘積的積分。
(4) 第4行,在測量數據到達之後做的更新,測量概率與預測置信度的乘積,再乘以歸一化變量。
算法遞歸的邊界條件:
爲了遞歸的計算後驗置信度,算法需要一個時刻t=0的初始置信度bel(x0)作爲邊界條件。
(1)如果x0是確定值,bel(x0)用點式羣體分佈進行初始化。
(2)如果x0完全忽略,bel(x0)可使用在x0鄰域上均勻分佈進行初始化。
算法使用前提:
(1)上述算法僅適用於非常簡單的估計問題
(2)必須限制在有限的狀態空間
馬爾可夫假設:
之前說過這個問題,馬爾可夫假設也可以說是完整狀態假設。
如果知道當前狀態xt,馬爾可夫假設認爲,過去和未來數據都是獨立的。
擾亂馬爾可夫假設的因素:
(1) 移動的人
(2) 概率模型的不精確性
(3) 使用置信函數的近似表示引起的近似誤差 and so on
幸運的是,貝葉斯濾波對上面的擾亂有驚人的魯棒性。
在降低貝葉斯濾波算法的計算複雜性方面,不完整的狀態往往比完整的狀態表示更好。
貝葉斯濾波做了馬爾可夫假設。在機器人研究中,馬爾可夫假設通常僅是一種近似。
貝葉斯濾波不是一個實際的算法,不能用數字計算機實現,所以,概率算法使用近似的貝葉斯濾波。