粒子濾波器是一種使用蒙特卡羅方法的遞迴濾波器，透過一組具有權重的隨機樣本（粒子）來表示隨機事件的後驗機率，從含有雜訊或不完整的觀測序列，估計出動態系統的狀態，粒子濾波器可以運用在任何狀態空間的模型上。粒子濾波器是卡爾曼濾波器的一般化方法，卡爾曼濾波器建立線上性的狀態空間和高斯分佈的雜訊上；而粒子濾波器的狀態空間模型可以是非線性，且雜訊分佈可以是任何型式。 歷史 啟發式演演算法 從統計和機率的角度來看，粒子濾波器屬於遺傳演算法分支過程的類別，並且是指平均場型別相互作用的粒子方法。 這些粒子方法的解釋取決於科學專業。 在進化計算中，平均場遺傳型別粒子方法通常用作啟發式和自然搜尋演算法（也稱為元啟發演算法）。在計算物理學和分子化學中，它們用於解決費曼 卡茲 FeynmanKac 路徑積分問題，或者用於計算玻爾茲曼 吉布斯 BoltzmannGibbs 度量，薛丁格運算元的最高特徵值和基態。在生物學與遺傳學中，它們還代表了某些環境中一群個體或基因的進化。 平均場型別進化計算技術的起源於 1950 年艾倫圖靈在遺傳型別突變選擇學習機上的開創性工作，以及 1954 年紐澤西州普林斯頓高階研究所的尼爾斯艾爾巴里切利 Nils Aall Barricelli 的文章。統計學中的粒子濾波器最早可追溯到 1950 年代中期。哈默斯利 Hammersley 等人在 1954 年提出的 窮人的蒙特卡洛 法暗示了當今使用的遺傳型別粒子過濾方法。 1963 年，尼爾斯艾爾巴里切利 Nils Aall Barricelli 模擬了一種遺傳型別演算法，以模仿個人玩簡單遊戲的能力。在進化計算文獻中，遺傳型別突變選擇演算法透過 1970 年代初期約翰霍蘭德 John Holland 的開創性工作而流行，特別是 1975 年出版的著作。 在生物學與遺傳學中，澳大利亞遺傳學家亞歷克斯弗雷澤（Alex Fraser）在 1957 年還發表了一系列有關人工選擇生物的遺傳型別模擬的論文。 由生物學家進行的進化計算機模擬在 1960 年代初變得更加普遍，並且該方法在弗雷澤和伯內爾（Burnell）（1970）和克羅斯比（Crosby）（1973）的書中進行了描述。弗雷澤的模擬包括了現代突變選擇遺傳粒子演算法的所有基本要素。 從數學觀點來看，給定一些部分和雜訊觀測結果的訊號隨機狀態的條件分佈，是由訊號的隨機軌跡上的費曼 卡茲（FeynmanKac）機率描述的，該機率由一系列似然勢函式加權。量子蒙特卡洛法，更具體地說是擴散蒙特卡洛法，也可以解釋為費曼 卡茲路徑積分的平均場遺傳型別粒子近似。量子蒙特卡羅方法的起源通常歸因於恩里科費米 Enrico Fermi 和羅伯特里克特邁耶（Robert Richtmyer），他們於 1948 年開發了一種中子鏈反應的均值場粒子解釋方法，但它是第一個類似啟發式和遺傳型別的粒子演算法（又名 重取樣 或 重新配置 蒙特卡洛方法）是在 1984 年由 Jack H Hetherington 提出的用於估計量子系統（在簡化的矩陣模型中）的基態能量的方法。還可以引用 1951 年出版的西奧多愛德華哈里斯（Theodore E Harris）和赫爾曼康恩（Herman Kahn）的開創性著作，該著作使用平均場，但類似於啟發式遺傳方法，用於估計粒子傳輸能量。在分子化學中，遺傳啟發式粒子方法（又名修剪和富集策略）的使用可以追溯到 1955 年馬歇爾N羅森布魯斯（Marshall N Rosenbluth）和阿里安娜W羅森布盧斯（Arianna W Rosenbluth）的開創性工作。 遺傳粒子演算法在高階訊號處理和貝葉斯推斷中的使用是最近的。1993 年 1 月，北川源四郎開發了 蒙特卡羅濾波器，該文在 1996 年出現了輕微修改。1993 年 4 月，戈登等人在他們的開創性著作中發表了遺傳型別演算法在貝葉斯統計推斷中的應用。作者將其演算法命名為 自舉濾波器，並證明與其他濾波方法相比，其自舉演算法不需要對該狀態空間或系統噪聲進行任何假設。獨立的是皮埃爾德爾莫拉爾 Pierre Del Moral 和希米爾孔卡瓦略 Himilcon Carvalho，皮埃爾德爾莫拉爾 Pierre Del Moral，安德烈莫寧 André Monin 和熱拉爾薩魯特 Gérard Salut 在 1990 年代中期發表的有關粒子過濾器的論文。 19891992 年初，皮埃爾德爾莫拉爾 PDel Moral，JC 諾耶 JC Noyer，GRigal 和 GSalut 在 LAASCNRS 中也開發了訊號處理技術，並透過 STCAN（服務技術）進行了一系列受限和分類研究 des Constructions and Armes Navales），IT 公司 DIGILOG 和 LAASCNRS（系統分析和體系結構實驗室）來解決 RADARSONAR 和 GPS 訊號處理問題。 數學基礎 從 1950 年到 1996 年，所有有關粒子過濾器、遺傳演算法的出版物，包括在計算物理和分子化學中引入的修剪和重取樣蒙特卡洛方法，都提出了適用於不同情況的類似於自然和啟發式演算法，而沒有任何證據證明它們的一致性，也沒有討論估計的偏差以及基於族譜和祖先樹的演算法。 這些粒子演算法的數學基礎和首次嚴格的分析是由皮埃爾德爾莫拉爾（Pierre Del Moral）在 1996 年提出的。他的著作 Del Moral Pierre 1996 Non Linear Filtering Interacting Particle Solution PDF Markov Processes and Related Fields 2 4 555580 還包含了似然函式和未標準化的條件機率測度的粒子近似的無偏性質的證明。文章介紹的似然函式的無偏粒子估計器如今已用於貝式統計推理中。 到 1990 年代末，Dan Crisan、Jessica Gaines、Terry Lyons、Pierre Del Moral 等人提出了具有不同種群大小的分支型別粒子方法。P Del Moral，A。Guionnet 和 L Miclo 在 2000 年開發了該領域的進一步發展。第一個中心極限定理是由 Pierre Del Moral 和 Alice Guionnet 於 1999 年以及 Pierre Del Moral 和 Laurent Miclo 於 2000 年提出的。Pierre 於 1990 年代末提出了關於粒子過濾器 時間引數的第一個統一收斂結果。 Del Moral 和 Alice Guionnet。 2001 年，P。Del Moral 和 L Miclo 首次對基於族譜樹的粒子濾波器平滑器進行了嚴格的分析。 關於 FeynmanKac 粒子方法論的理論和相關的粒子過濾器演算法已在 2000 年和 2004 年的書中得到發展。這些抽象的機率模型封裝了遺傳型別演算法，粒子和自舉濾波器，互動的卡爾曼濾波器（又稱 RaoBlackwellized 粒子濾波器），重要性取樣和重取樣樣式的粒子濾波器技術，包括基於族譜樹的方法和用於解決濾波和平滑問題的粒子後向方法。其他類別的粒子濾波方法包括基於族譜樹的模型、後向馬爾可夫粒子模型、自適應平均場粒子模型、島型粒子模型和粒子馬爾可夫鏈蒙特卡羅方法。 濾波問題 目標 粒子濾波器的目標是透過觀測值估計狀態變數的後驗機率。粒子濾波器是針對隱馬爾可夫模型設計的，系統中既包含隱藏的變數，也包含可觀測的變數。可觀測變數（觀測過程）與隱藏變數（狀態過程）透過某種已知的函式關係相關聯。類似地，定義狀態變數演化的動態系統的機率描述是已知的。 一個通用粒子濾波器透過觀察測量過程估計隱藏狀態的後驗分佈。考察下圖所示的狀態空間： begin arraycccccccccc X_0to X_1to X_2toX_3to cdotstext signal downarrowdownarrowdownarrowdownarrowcdots Y_0Y_1Y_2Y_3cdotstext observation end array 濾波問題是要透過給定的觀測過程 Y_0cdotsY_k 在任意時刻 k 的值，依次估計隱藏狀態 X_k 的值。 所有的對 X_k 的貝葉斯估計服從後驗分佈 p x_kmid y_0y_1dotsy_k。粒子濾波器方法使用經驗測量和通用粒子演算法，提供了這些條件機率的近似值。與之對比，馬爾可夫鏈蒙特卡洛（MCMC）或重要性取樣方式會對整個後驗機率 p x_0x_1dotsx_kmid y_0y_1dotsy_k 進行建模。 訊號 觀測模型 粒子濾波器能夠從一系列含有雜訊或不完整的觀測值中，估計出動態系統的內部狀態。在動態系統的分析中，需要兩個模型，一個用來描述狀態隨時間的變化（系統模型），另一個用來描述每個狀態下觀測到的雜訊（觀測模型），將這兩個模型都用機率來表示。 在許多情況下，每得到一個新的觀測值時，都必須對系統做出一次估計，利用遞迴濾波器，能夠有效地達到這樣的目的。遞迴濾波器會對得到的資料做連續處理，而非分批處理，因此不需要將完整的資料儲存起來，也不需要在得到新的觀測值時，將現有的資料重新做處理。遞迴濾波器包含兩個步驟： 預測：利用系統模型，由前一個狀態的資訊預測下一個狀態的機率密度函式。 更新：利用最新的觀測值，修改預測出的機率密度函式。 藉由貝葉斯推斷（Baysian inference），我們可以描述出狀態空間的機率，並在得到新的觀測值時，對系統做出更新，因而達成上述目的。 近似貝式計算模型 在某些問題中，在訊號的隨機狀態下，觀測值的條件分佈可能不具有密度，或者不可能或太複雜而無法計算。在這種狀況下，我們需要求近似值。其中一個策略是藉由馬爾可夫鏈 mathcal X_kleft X_kY_kright 來取代訊號 X_k，採用虛擬觀測的形式 mathcal Y_kY_kepsilon mathcal V_kquadmbox for some parameterquadepsilonin 01 對於具有已知機率密度函式的獨立序列中的某些序列，核心的概念是觀測下式 text Lawleft X_kmathcal Y_0y_0cdots mathcal Y_ky_krightapprox_epsilondownarrow 0 text Lawleft X_kY_0y_0cdots Y_ky_kright 在部分的觀測 mathcal Y_0y_0cdots mathcal Y_ky_k 之下，粒子濾波器是和馬爾可夫鏈 mathcal X_kleft X_kY_kright 有相關的，定義為根據演化出的 mathbb Rd_xd_y ，在一些明顯的濫用性符號 p mathcal Y_kmathcal X_k 下，帶有似然函式的粒子。這些機率性的技術跟近似貝式計算非常相關。在量子濾波器中，這些近似貝式量子濾波器的技術在 1998 年被皮埃爾德爾莫拉爾（P Del Moral） 讓雅各德 J Jacod 和菲力普普羅特 P Protter 所採用。且被皮埃爾德爾莫拉爾，阿諾杜斯 A Doucet 和阿傑賈斯拉 A Jasra 更進一步發展。 非線性濾波方程 藉由貝式定理在條件機率中可以得出 p x_0 cdots x_ky_0cdotsy_k frac p y_0cdotsy_kx_0 cdots x_k p x_0cdotsx_kp y_0cdotsy_k 當 begin align p y_0cdotsy_k int p y_0cdotsy_kx_0cdots x_k p x_0cdotsx_k dx_0cdots dx_k p y_0cdots y_kx_0cdots x_k prod_l0k p y_lx_l p x_0cdots x_k p_0 x_0prod_l1k p x_lx_l1 end align 粒子濾波器也是一個近似值，當有足夠的粒子時，結果會更加的準確。非線性濾波方程可以藉由遞迴得出 依照慣例 p x_0y_0cdotsy_k1p x_0 在 k0 時。非線性濾波方程問題的關鍵在於依序計算這些條件機率分佈。 費曼 卡茲公式 固定一個時間範圍和一個序列的觀測 Y_0y_0cdotsY_ny_n ，在 k0n，我們定義 G_k x_kp y_kx_k 在這種表示法中，對於從原點 k 0 到時間 k n 的 軌跡集合上的任何有界函式 F，我們都可以用費曼 卡茲公式來表示 begin align int F x_0cdotsx_n p x_0cdotsx_ny_0cdotsy_n dx_0cdots dx_n frac int F x_0cdotsx_n leftprodlimits_k0n p y_kx_kright p x_0cdotsx_n dx_0cdots dx_nint leftprodlimits_k0n p y_kx_kright p x_0cdotsx_n dx_0cdots dx_n frac Eleft F X_0cdotsX_nprodlimits_k0n G_k X_krightEleft prodlimits_k0n G_k X_kright end align 這些費曼 卡茲路徑積分模型出現在各種科學學科中，包括計算物理、生物學、資訊理論和電腦科學。他們的解釋取決於應用領域。舉例來說，如果我們選擇狀態空間某些子集的指標函式 G_n x_n1_A x_n，它們代表馬爾可夫鏈在給定管中的條件分佈。我們會得到 Eleft F X_0cdotsX_n X_0in A cdots X_nin Aright frac Eleft F X_0cdotsX_nprodlimits_k0n G_k X_krightEleft prodlimits_k0n G_k X_kright 和 Pleft X_0in Acdots X_nin ArightEleft prodlimits_k0n G_k X_kright 只要標準化常數嚴格為正。 非線性貝葉斯追蹤 在動態系統中，我們常常需要對物體做追蹤。假設有一動態系統，已知其狀態序列 x_k kin N 定義為 x_kf_k x_k1v_k1 其中 f_kRn_xtimes Rn_vrightarrow Rn_x 是狀態轉移函式，可以是非線性的函式，v_k1kin N 是一個獨立且相同分佈（iid）的過程雜訊序列，n_x 和 n_v 分別代表狀態和過程雜訊向量的維度，N 為自然數的集合。追蹤的目標是要遞迴地從觀測值 y_k 估計出 x_k，而觀測值 y_k 定義為 y_kh_k x_kn_k 其中 h_kRn_xtimes Rn_nrightarrow Rn_y 是觀測函式，可以是非線性的函式，n_kkin N 是一個獨立且相同分佈（iid）的觀測雜訊序列，n_y 和 n_n 分別代表觀測值和觀測雜訊向量的維度。 從貝葉斯理論的觀點來看，追蹤問題是要根據到時間 k 為止的已知資訊 y_1k，遞迴地計算出時間 k 的狀態 x_k 的可信度，這個可信度用機率密度函式 p x_kmid y_1k 來表示。假設初始機率密度函式 p x_0mid y_0equiv p x_0稱為先驗機率 為已知，則利用「預測」和「更新」兩個步驟就能遞迴地計算出機率密度函式 p x_kmid y_1k。 在此假設在時間 k1 的機率密度函式 p x_k1mid y_1k1 為已知。 預測 利用查普曼 科爾莫戈羅夫等式 ChapmanKolmogorov equation，可以由狀態轉移函式與時間 k1 的機率密度函式 p x_k1mid y_1k1，計算出時間 k 的先驗機率 p x_kmid y_1k1 begin align p x_kmid y_1k1 int p x_kx_k1mid y_1k1 d x_k1 int p x_kmid x_k1 y_1k1 p x_k1mid y_1k1 d x_k1 int p x_kmid x_k1 p x_k1mid y_1k1 d x_k1 end align 其中，由於狀態轉移模型被假設為一階馬可夫過程，時間 k1 的狀態只由時間 k 決定，因此 p x_kmid x_k1 y_1k1p x_kmid x_k1。機率模型 p x_kmid x_k1 由狀態轉移函式 x_kf_k x_k1v_k1 和 v_k1 的統計值得到。 更新 在時間 k，我們得到觀測值 y_k，因此可以利用貝氏定理，由先驗機率 p x_kmid y_1k1 得到後驗機率 p x_kmid y_1k，也就是考慮觀測值後得到的機率。 p x_kmid y_1kp y_kmid x_k p x_kmid y_1k1over p y_kmid y_1k1 其中的歸一化常數為 p y_kmid y_1k1int p y_kmid x_k p x_kmid y_1k1 dx_k 其中的似然函式 p y_kmid x_k 由觀測函式 y_kh_k x_kn_k 和 n_k 的統計值得到。 上述「預測」與「更新」的遞迴關係，是貝葉斯最佳解的基本概念，然而公式中運用到的積分，對於一般非線性、非高斯的系統，難以得到解析解，因此需要利用蒙地卡羅方法來近似貝葉斯最佳解。 序列重要性重取樣（Sequential Importance Resampling SIR） 序列重要性取樣（Sequential Importance Sampling SIS） SIR 是由 SIS 加上重取樣（resampling）改良而來，在 SIS 中，我們將後驗機率 p x_kmid y_1k 用 N 個隨機取樣的樣本 稱為粒子 與各自的權重表示為 x_kiw_ki_i1N 其中的權重是根據重要性取樣的規則產生，且必須符合 sum_i1N w_ki1 SIS 是將重要性取樣遞迴執行的一種方法，根據重要性取樣的理論，一個函式 f 的期望值可以用加權平均來近似 int f x_k p x_kmid y_1k dx_kapprox sum_i1N w_ki f x_ki1 在每一次遞迴過程中，我們希望由前一次取樣的權重，計算出下一次取樣的權重。假設取樣的樣本分佈可以表示為 xisim q x i1N 其中 q x 稱為重要性密度（importance density）。若樣本 x_ki 是由重要性密度 q x_kmid y_1k 抽取出來，則權重可表示為 w_kipropto p x_kimid y_1kover q x_kimid y_1k 我們將重要性密度分解為 q x_kmid y_1kq x_kmid x_k1y_1k q x_k1mid y_1k1 再將後驗機率表示為 begin align p x_kmid y_1k p y_kmid x_ky_1k1 p x_kmid y_1k1over p y_kmid y_1k1 p y_kmid x_ky_1k1 p x_kmid x_k1y_1k1 p x_k1mid y_1k1over p y_kmid y_1k1 p y_kmid x_k p x_kmid x_k1 p x_k1mid y_1k1over p y_kmid y_1k1 propto p y_kmid x_k p x_kmid x_k1 p x_k1mid y_1k1 end align 則權重的遞迴式可以表示為 begin align w_ki propto p y_kmid x_ki p x_kimid x_k1i p x_k1imid y_1k1over q x_kimid x_k1iy_1k q x_k1imid y_1k1 w_k1ip y_kmid x_ki p x_kimid x_k1iover q x_kimid x_k1iy_1k end align 重取樣（resampling） SIS 可能會造成退化問題（degeneracy problem），也就是在經過幾次遞迴後，很多粒子的權重都變小到可以忽略不計，只剩少數粒子的權重較大，如此會浪費大量的計算量在幾乎沒有作用的粒子上，而使估計效能下降。由於在遞迴過程中，權重的變異數只會愈來愈大，因此退化問題無法被避免。 為了評估退化問題，我們定義有效粒子數為 widehat N_eff1oversum_i1N w_ki2 在進行 SIS 時，若有效粒子數小於某一閾值，則對粒子做重取樣，即可減緩退化問題。重取樣的概念是去除權重過小的粒子，專注於權重較大的粒子。進行重取樣時，要由現有的粒子分佈取樣，產生一組新的粒子 x_ki_i1N，由於產生出的新樣本為獨立且相同分佈（iid），因此將權重重新設定為 w_ki1over N 。 參見 影像處理 機器學習 機器人學 人工智慧 同時定位與地圖構建 滾動時域估計 參考文獻 M S Arulampalam S Maskell N Gordon and T Clapp A tutorial on particle filters for online nonlinearnonGaussian Bayesian tracking In IEEE Transactions on Signal Processing vol 50 no 2 pp 174188 Feb 2002 A Doucet N de Freitas N Gordon An Introduction to Sequential Monte Carlo Methods In A Doucet N de Freitas N Gordon eds Sequential Monte Carlo Methods in Practice Statistics for Engineering and Information Science Springer New York NY 2001 A Doucet On sequential Monte Carlo methods for Bayesian filtering Dept Eng Univ Cambridge UK Tech Rep 1998 Category 蒙地卡羅方法 Category 計算統計學 Category 控制理論 Category 機器人感應 Category 統計力學