粒子濾波器是貝葉斯濾波器的一種非引數執**況,且經常用於估計乙個動態系統的狀態。粒子濾波器的關鍵思想是採用一套假設(即粒子)來表示後驗概率,其中每乙個假設代表了這個系統可能存在的一種潛在狀態。狀態假設表示為乙個有 \( n \) 個加權隨機樣本的集合 \(s \) :
\( s=\left \,w^ > |i=1,2,...,n \right \} \)
式中: \( s^\)是第\( i \)個樣本的狀態向量;\( w^\)是第\( i \)個樣本的權重。權重為非0值,且所有權重的總和為1.該樣本集合代表如下分布:
\(p\left ( x \right )=\sum_^w_\cdot \delta_\left ( x \right )\)
式中:\(\delta_\)是在第\(i\)個樣本的狀態\( s^\)下的狄拉克函式。樣本集\(s\)可用於近似任意分布,這些樣本則是從那些被近似的分布中取樣而來。為了說明這種近似,下圖(1)描述了兩種分布及其相應的樣本集。一般來說,被用的樣本越多,近似越好。粒子濾波器利用一套樣本集合對多模態分布模型建模的能力相比於其他系列的濾波器有優勢,例如,卡爾曼濾波器近限於高斯分布。
圖(1)
當我們想要對一段時間內乙個動態系統的狀態進行估計時,可以採用粒子濾波演算法。該方法就是在每個時間點採用一套樣本,也稱為粒子,來表示分布。粒子濾波演算法使我們能夠在前一段時間估計\(s_\)的基礎上遞迴估計出下一時刻的粒子集\(s_\)。基於樣本的重要性重取樣(sampling importance resampling,sir)的粒子濾波器可歸納以以下三個步驟:
1、取樣。在先前樣本集\(s_\)的基礎上建立下一代粒子集\(s^_\)。這一步也被稱作取樣或從提議的分布中提取樣本。
2、重要性加權。在集合\(s^_\)中為每個樣本計算乙個重要性權重。
3、重取樣。從集合\(s^_\)中提取\(n\)個樣本。其中,粒子被提取的可能性與它的權重成正比。由提取出的粒子獲得新的集合\(s_\)。
接下來將詳細地解釋這三個步驟。在第一步中,提取樣本是為了獲取下乙個時刻的下一代粒子。一般來說,樣本粒子的真實概率分布是未知的活著是一種不適合取樣的形式。我們將說明從不同於我們想要近似的分布中提取樣本是可能的。這種技術成為重要性取樣。
我們面臨計算乙個期望值\(x\in a\)的問題,其中\(a\)是乙個區域。一般來說乙個函式\(f\)的期望\(e_[f(x)]\)定義如下:
\(e_[f(x)]=\int p(x)\cdot f(x)dx\)
定義乙個函式\(b\):如果引數為真,則返回1,否則為0.我們可以通過以下表示式表示\(x \in a\)這個期望:
\(e_[b(x \in a)]=\int p(x)\cdot b(x \in a)dx\)
\(e_[b(x \in a)]=\int \frac\cdot \pi(x)\cdot b(x \in a)dx \)
其中\( \pi \)是乙個分布,滿足
\( p(x) > 0 \rightarrow \pi(x)>0\) (1.1)
因此,可以定義權重\( w(x) \)為
\( w(x) = \frac\)(1.2)
權重\( w\)用於說明\( p\)和\( \pi\)之間的差異。從而推出
\(e_[b(x \in a)]=\int \pi(x)\cdot w(x)\cdot b(x \in a)dx \)
\(e_[b(x \in a)]= e_[w(x) \cdot b(x \in a)] \)
讓我們重新思考基於樣本的表示並假設這個樣本來自\( \pi \). 通過計算落入區域a的所有粒子,通過計算累加樣本和來計算\( \pi \)在區間a上的積分,即
可以證明,使用的樣本越多近似的質量會越高。對於無限集合的樣本,樣本的總和收斂於這個積分:
\( \lim_ \sum^_w^ \cdot b(s^ \in a)=\int_\pi(x)dx\)
設\( p \)為不適合取樣的概率分布,\( \pi\)為我們實際的取樣分布。在重要性取樣中,\( p\)通常稱為目標分布,而\( \pi\)稱為提議分布。
以上推導說明,我們可以通過對滿足式(1.1)的任意分布\( \pi\)取樣,並給每個樣本按照式(1.2)分配乙個重要的權重使得其近似分布\( p\)。這個必須確保從\( p\)分布中取樣的某個狀態在\(\pi\)分布中概率不為0。
粒子濾波(PF Particle Filter)
粒子濾波 pf particle filter 與卡爾曼濾波 kalman filter 相比較 粒子濾波 pf particle filter 的思想基於蒙特卡洛方法 monte carlo methods 它是利用粒子集來表示概率,可以用在任何形式的狀態空間模型上。其核心思想是通過從後驗概率中抽...
粒子濾波跟蹤方法
粒子濾波法是指通過尋找一組在狀態空間傳播的隨機樣本對概率密度函式進行近似,以樣本均值代替積分運算,從而獲得狀態最小方差分布的過程。對於粒子濾波跟蹤方法,這裡有一篇很淺顯易懂的部落格,我分享給大家他的工作也是參考rob hess的程式做的,感謝老外的開源精神,我看了他的程式,我也提出了我的幾點改進,作...
粒子濾波學習總結
粒子濾波是在貝葉斯濾波的基礎上,結合蒙特卡洛方法實現遞推後驗概率。對於一般的線性高斯系統有比較好的效果,但是對於一般的非線性非高斯系統,貝葉斯濾波效果並不好。所以引入蒙特卡洛方法,蒙特卡洛方法簡單來說就是通過大量的隨機樣本,去了解乙個系統,進而得到所要計算的值。再引入蒙特卡洛方法後相應也伴隨著一些問...