匹配追蹤

匹配追蹤(matching pursuit, MP)最早是時頻分析的分析工具，目的是要將一已知訊號拆解成由許多被稱作為原子訊號的加權總和，而且企圖找到與原來訊號最接近的解。其中原子訊號為一極大的原子庫中的元素。以數學式子表示可以得到： f ( t ) = ∑ n = 0 + ∞ a n g γ n ( t ) {\displaystyle f(t)=\sum _{n=0}^{+\infty }a_{n}g_{\gamma _{n}}(t)} 其中， a n {\displaystyle a_{n}} 是權重， g γ n {\displaystyle g_{\gamma _{n}}} 是由字典 D {\displaystyle D} 中獲得的原子訊號。 如同傅立葉級數將一訊號拆解成一系列的正弦波的相加，其中每個成分擁有不同的係數作為權重，其數學式子如下： f ( x ) = ∑ n = − ∞ ∞ c n e i n x {\displaystyle f(x)=\sum _{n=-\infty }^{\infty }c_{n}e^{inx}} 而匹配追蹤也具有將訊號拆解成一系列原子相加的意涵，甚至可以使用匹配追蹤去描述傅立葉級數，也就是原子庫對應到的所有正弦函數的集合。 為了找到最符合原訊號的一組原子加權總合，如果對原子庫進行所有組合的嘗試過於耗費時間。在1993年由Mallat S和Zhang Z的論文[1]中，提出了一個貪婪演算法（Greedy Algorithm），並大幅降低找出近似解的時間。其作法首先在原子庫中尋找與原訊號內積結果最大的原子 g γ n {\displaystyle g_{\gamma _{n}}} ，找到此訊號以及其內積結果 a n {\displaystyle a_{n}} 之後再將原訊號減掉 a n g γ n {\displaystyle a_{n}g_{\gamma _{n}}} 作為下一次重複運算的原始訊號，如此反覆做下去即可得到一系列的 a n {\displaystyle a_{n}} 以及原子 g γ n {\displaystyle g_{\gamma _{n}}} ，直到達到停止條件為止，其詳細的演算法如下： 輸入：Signal: f ( t ) {\displaystyle f(t)} , dictionary D {\displaystyle D} . 輸出：List of coefficients: ( a n , g γ n ) {\displaystyle \left(a_{n},g_{\gamma _{n}}\right)} . 初始化： R 1 ← f ( t ) {\displaystyle R_{1}\,\leftarrow \,f(t)} ; n ← 1 {\displaystyle n\,\leftarrow \,1} ; 重複： 寻找 g γ n ∈ D {\displaystyle g_{\gamma _{n}}\in D} 具有最大内积 | ⟨ R n , g γ n ⟩ | {\displaystyle |\langle R_{n},g_{\gamma _{n}}\rangle |} ; a n ← ⟨ R n , g γ n ⟩ {\displaystyle a_{n}\,\leftarrow \,\langle R_{n},g_{\gamma _{n}}\rangle } ; R n + 1 ← R n − a n g γ n {\displaystyle R_{n+1}\,\leftarrow \,R_{n}-a_{n}g_{\gamma _{n}}} ; n ← n + 1 {\displaystyle n\,\leftarrow \,n+1} ; 直到達到停止條件（例如： ‖ R n ‖ < t h r e s h o l d {\displaystyle \|R_{n}\|<threshold} ） 在信號處理的許多應用中，需要將信號分解為一群在時域和頻域都具有良好局部性(集中在某一範圍)的函數，這些函數稱為時頻原子(time-frequency atom)。 選擇不同的時頻原子時，分解方式的特性會有很大的差異。窗函數傅立葉轉換(window Fourier transform)和小波轉換(wavelet transform)都是時頻信號分解的方法。 通常一個時頻原子群可以由單一的窗函數 g ( t ) ∈ L 2 ( R ) {\displaystyle g(t)\in L^{2}(R)} 經過scale、translation和modulation產生，令 g ( t ) ∈ O ( 1 t 2 + 1 ) {\displaystyle g(t)\in O({\frac {1}{t^{2}+1}})} 為一個實數的連續可微函數，且限制 ‖ g ‖ = 1 {\displaystyle \|g\|=1} 、 g ( t ) {\displaystyle g(t)} 的積分不為零、 g ( 0 ) ≠ 0 {\displaystyle g(0)\neq 0} 。 以 γ = ( s , u , ξ ) {\displaystyle \gamma =(s,u,\xi )} 表示scale參數 s ( s > 0 ) {\displaystyle s(s>0)} 、translation參數 u {\displaystyle u} 和modulation參數 ξ {\displaystyle \xi } ，定義 g γ ( t ) {\displaystyle g_{\gamma }(t)} 為 g γ ( t ) = 1 s g ( t − u s ) e i ξ t {\displaystyle g_{\gamma }(t)={\frac {1}{\sqrt {s}}}g({\frac {t-u}{s}})e^{i\xi t}} 其中 γ {\displaystyle \gamma } 是集合 Γ = R + × R 2 {\displaystyle \Gamma =R^{+}\times R^{2}} 中的元素， 1 s {\displaystyle {\frac {1}{\sqrt {s}}}} 使得 ‖ g ‖ = 1 {\displaystyle \|g\|=1} 。 事實上，函數群 D = ( g γ ( t ) ) γ ∈ Γ {\displaystyle D={(g_{\gamma }(t))}_{\gamma \in \Gamma }} 含有許多冗餘的元素，對於任何函數 f ( t ) {\displaystyle f(t)} ，更有效率的表示方法是，在原子 ( g γ n ( t ) ) n ∈ N {\displaystyle {(g_{\gamma _{n}}(t))}_{n\in N}} 中，只選取適當數量的子集合，其中 γ n = ( s n , u n , ξ n ) {\displaystyle \gamma _{n}=(s_{n},u_{n},\xi _{n})} ，則 f ( t ) {\displaystyle f(t)} 可以表示為 f ( t ) = ∑ n = − ∞ + ∞ a n g γ n ( t ) {\displaystyle f(t)=\sum _{n=-\infty }^{+\infty }a_{n}g_{\gamma _{n}}(t)} 在窗函數傅立葉轉換中，所有原子 g γ n {\displaystyle g_{\gamma _{n}}} 具有相同的scale參數 s n = s 0 {\displaystyle s_{n}=s_{0}} ，因此主要分布在一個大小為 s 0 {\displaystyle s_{0}} 倍數的區間內，由於上述特性，窗函數傅立葉轉換無法準確地描述比 s 0 {\displaystyle s_{0}} 大許多或小許多的函數結構。 小波轉換將信號分解為不同尺度的時頻原子，稱為小波(wavelet)，小波群 ( g γ n ( t ) ) n ∈ N {\displaystyle {(g_{\gamma _{n}}(t))}_{n\in N}} 的建構方法是令 ξ n = ξ 0 / s n {\displaystyle \xi _{n}=\xi _{0}/s_{n}} ，其中 ξ 0 {\displaystyle \xi _{0}} 是一個常數。小波轉換可以分析不同尺寸的信號成分，然而，受限於參數 ξ n {\displaystyle \xi _{n}} 和 s n {\displaystyle s_{n}} 必須成反比的條件，小波轉換的係數無法精準估計傅立葉轉換後具有良好局部性的頻率成分。 自適應時頻分解(adaptive time-frequency decomposition)的目的是將信號展開到一組波形(waveform)上，這些波形選自一個數量龐大的冗餘字典，而匹配追蹤是能達到自適應分解的一種方法。 一個希爾伯特空間可表示為 L 2 ( R ) {\displaystyle L^{2}(R)} ，其組成的複數函數 f {\displaystyle f} 必須滿足 ‖ f ‖ = ∫ − ∞ + ∞ | f ( t ) | 2 d t < + ∞ {\displaystyle \|f\|=\int _{-\infty }^{+\infty }{|f(t)|}^{2}dt<+\infty } 令 H {\displaystyle H} 代表一個希爾伯特空間，則將「字典」定義為 H {\displaystyle H} 中的一個向量群 D = ( g γ ) γ ∈ Γ {\displaystyle D={(g_{\gamma })}_{\gamma \in \Gamma }} ，滿足 ‖ g γ ‖ = 1 {\displaystyle \|g_{\gamma }\|=1} ，其中 γ {\displaystyle \gamma } 是集合 Γ = R + × R 2 {\displaystyle \Gamma =R^{+}\times R^{2}} 中的元素。 V {\displaystyle V} 代表字典向量的封閉線性生成空間(closed linear span)，在空間 V {\displaystyle V} 中，集合 D {\displaystyle D} 之向量的有限線性展開(finite linear expansion)是稠密(dense)的，如果 V = H {\displaystyle V=H} ，則稱此字典具有完備性(completeness)。對於「時頻原子分解」段落所描述的字典， H = L 2 ( R ) {\displaystyle H=L^{2}(R)} ，在空間 L 2 ( R ) {\displaystyle L^{2}(R)} 中，時頻分子的有限線性展開是稠密的，因此該字典具有完備性。 假設有一信號 f ∈ H {\displaystyle f\in H} ，欲將其線性展開到由集合 D {\displaystyle D} 中選出的一組向量上，使得結果最匹配原來的信號結構。匹配追蹤的方法是連續地將 f {\displaystyle f} 以其在集合 D {\displaystyle D} 中元素的正交投影(orthogonal projection)近似。 令 g γ 0 ∈ D {\displaystyle g_{\gamma _{0}}\in D} ，向量 f {\displaystyle f} 可以被分解為 f = ⟨ f , g γ 0 ⟩ g γ 0 + R f {\displaystyle f=\langle f,g_{\gamma _{0}}\rangle g_{\gamma _{0}}+Rf} 其中 R f {\displaystyle Rf} 是將 f {\displaystyle f} 以 g γ 0 {\displaystyle g_{\gamma _{0}}} 的方向近似後的剩餘向量(residual vector)，由於 g γ 0 {\displaystyle g_{\gamma _{0}}} 和 R f {\displaystyle Rf} 正交，可得下式 ‖ f ‖ 2 = | ⟨ f , g γ 0 ⟩ | 2 + ‖ R f ‖ 2 {\displaystyle {\|f\|}^{2}={|\langle f,g_{\gamma _{0}}\rangle |}^{2}+{\|Rf\|}^{2}} 為了最小化 ‖ R f ‖ {\displaystyle \|Rf\|} ，必須選取 g γ 0 ∈ D {\displaystyle g_{\gamma _{0}}\in D} 使得 | ⟨ f , g γ 0 ⟩ | {\displaystyle |\langle f,g_{\gamma _{0}}\rangle |} 最大化。在某些情況下，只能找到近似最佳的向量 g γ 0 {\displaystyle g_{\gamma _{0}}} ，符合 | ⟨ f , g γ 0 ⟩ | ≥ α   sup γ ∈ Γ | ⟨ f , g γ ⟩ | {\displaystyle |\langle f,g_{\gamma _{0}}\rangle |\geq \alpha \ {\underset {\gamma \in \Gamma }{\sup }}|\langle f,g_{\gamma }\rangle |} 其中 0 < α ≤ 1 {\displaystyle 0<\alpha \leq 1} ，在選擇向量 g γ 0 {\displaystyle g_{\gamma _{0}}} 時，並非隨機選擇，而是由一個選擇函數 C {\displaystyle C} 決定。 重複上述步驟，疊代地將剩餘向量 R f {\displaystyle Rf} 投影到集合 D {\displaystyle D} 中最匹配 R f {\displaystyle Rf} 的向量，並將 R f {\displaystyle Rf} 分解。 匹配追蹤的步驟可以由數學歸納法來表示 令 R 0 f = f {\displaystyle R^{0}f=f} 假設已經計算第 n {\displaystyle n} 次的剩餘向量 R n f {\displaystyle R^{n}f} ， n ≥ 0 {\displaystyle n\geq 0} 根據選擇函數 C {\displaystyle C} ，選取一個最匹配 R n f {\displaystyle R^{n}f} 的元素 g γ n ∈ D {\displaystyle g_{\gamma _{n}}\in D} | ⟨ R n f , g γ n ⟩ | ≥ α   sup γ ∈ Γ | ⟨ R n f , g γ ⟩ | {\displaystyle |\langle R^{n}f,g_{\gamma _{n}}\rangle |\geq \alpha \ {\underset {\gamma \in \Gamma }{\sup }}|\langle R^{n}f,g_{\gamma }\rangle |} 剩餘向量 R n f {\displaystyle R^{n}f} 被分解為 R n f = ⟨ R n f , g γ n ⟩ g γ n + R n + 1 f {\displaystyle R^{n}f=\langle R^{n}f,g_{\gamma _{n}}\rangle g_{\gamma _{n}}+R^{n+1}f} 由於 g γ n {\displaystyle g_{\gamma _{n}}} 和 R n + 1 f {\displaystyle R^{n+1}f} 正交，可得下式 ‖ R n f ‖ 2 = | ⟨ R n f , g γ n ⟩ | 2 + ‖ R n + 1 f ‖ 2 {\displaystyle {\|R^{n}f\|}^{2}={|\langle R^{n}f,g_{\gamma _{n}}\rangle |}^{2}+{\|R^{n+1}f\|}^{2}} 當分解到第 m {\displaystyle m} 次時， f {\displaystyle f} 被分解為 f = ∑ n = 0 m − 1 ( R n f − R n + 1 f ) + R m f = ∑ n = 0 m − 1 ⟨ R n f , g γ n ⟩ g γ n + R m f {\displaystyle {\begin{aligned}f&=\sum _{n=0}^{m-1}(R^{n}f-R^{n+1}f)+R^{m}f\\&=\sum _{n=0}^{m-1}\langle R^{n}f,g_{\gamma _{n}}\rangle g_{\gamma _{n}}+R^{m}f\\\end{aligned}}} ‖ f ‖ 2 {\displaystyle {\|f\|}^{2}} 被分解為 ‖ f ‖ 2 = ∑ n = 0 m − 1 ( ‖ R n f ‖ 2 − ‖ R n + 1 f ‖ 2 ) + ‖ R m f ‖ 2 = ∑ n = 0 m − 1 | ⟨ R n f , g γ n ⟩ | 2 + ‖ R m f ‖ 2 {\displaystyle {\begin{aligned}{\|f\|}^{2}&=\sum _{n=0}^{m-1}({\|R^{n}f\|}^{2}-{\|R^{n+1}f\|}^{2})+{\|R^{m}f\|}^{2}\\&=\sum _{n=0}^{m-1}{|\langle R^{n}f,g_{\gamma _{n}}\rangle |}^{2}+{\|R^{m}f\|}^{2}\\\end{aligned}}} 此公式具有能量守恆的意義，原來的向量 f {\displaystyle f} 被分解為許多字典中元素的總和。 當信號存在的空間 H {\displaystyle H} 具有有限的維度 N {\displaystyle N} 時，匹配追蹤方法會有特殊的特性。在字典 D {\displaystyle D} 中，可能含有無限多的元素，假設此字典具有完備性，此時可以用一種有效率的匹配追蹤方法，剩餘向量的範數(norm)會以指數方式下降。 當字典含有非常多冗餘的元素時，要尋找和剩餘向量最匹配的向量，通常可以只限制在一個子字典 D α = ( g γ ) γ ∈ Γ α ⊂ D {\displaystyle D_{\alpha }={(g_{\gamma })}_{\gamma \in {\Gamma _{\alpha }}}\subset D} 中尋找，假設 Γ α {\displaystyle \Gamma _{\alpha }} 是一個包含於 Γ {\displaystyle \Gamma } 的有限索引集，使得對於所有信號 f ∈ H {\displaystyle f\in H} ，滿足 sup γ ∈ Γ α | ⟨ f , g γ ⟩ | ≥ α   sup γ ∈ Γ | ⟨ f , g γ ⟩ | {\displaystyle {\underset {\gamma \in \Gamma _{\alpha }}{\sup }}|\langle f,g_{\gamma }\rangle |\geq \alpha \ {\underset {\gamma \in \Gamma }{\sup }}|\langle f,g_{\gamma }\rangle |} 依據 Γ α {\displaystyle \Gamma _{\alpha }} 的大小和字典 D {\displaystyle D} 的冗餘程度，集合 Γ α {\displaystyle \Gamma _{\alpha }} 可以比 Γ {\displaystyle \Gamma } 小許多。 以數學歸納法表示此處的匹配追蹤方法 計算內積 ( ⟨ f , g γ ⟩ ) γ ∈ Γ α {\displaystyle {(\langle f,g_{\gamma }\rangle )}_{\gamma \in \Gamma _{\alpha }}} 假設已經計算 ( ⟨ R n f , g γ ⟩ ) γ ∈ Γ α {\displaystyle {(\langle R^{n}f,g_{\gamma }\rangle )}_{\gamma \in \Gamma _{\alpha }}} ， n ≥ 0 {\displaystyle n\geq 0} 從子字典 D α {\displaystyle D_{\alpha }} 中找出一個元素 g γ n ~ {\displaystyle g_{\tilde {\gamma _{n}}}} ，使得 | ⟨ R n f , g γ n ~ ⟩ | = sup γ ∈ Γ α | ⟨ R n f , g γ ⟩ | {\displaystyle |\langle R^{n}f,g_{\tilde {\gamma _{n}}}\rangle |={\underset {\gamma \in \Gamma _{\alpha }}{\sup }}|\langle R^{n}f,g_{\gamma }\rangle |} 為了從字典中找到一個比 g γ n ~ {\displaystyle g_{\tilde {\gamma _{n}}}} 更匹配 f {\displaystyle f} 的元素，可以利用牛頓法(Newton’s method)，在 Γ {\displaystyle \Gamma } 中尋找 γ n ~ {\displaystyle {\tilde {\gamma _{n}}}} 的鄰近索引 γ n {\displaystyle \gamma _{n}} ，使得內積達到局部最大值，在此情況下，可以得出下式 | ⟨ R n f , g γ n ⟩ | ≥ | ⟨ R n f , g γ n ~ ⟩ | ≥ α   sup γ ∈ Γ | ⟨ R n f , g γ ⟩ | {\displaystyle |\langle R^{n}f,g_{\gamma _{n}}\rangle |\geq |\langle R^{n}f,g_{\tilde {\gamma _{n}}}\rangle |\geq \alpha \ {\underset {\gamma \in \Gamma }{\sup }}|\langle R^{n}f,g_{\gamma }\rangle |} 在此處，選擇函數 C {\displaystyle C} 與希爾伯特空間中的匹配追蹤不同，必須進行二次搜尋。 在選出一個 g γ n ~ {\displaystyle g_{\tilde {\gamma _{n}}}} 後，必須計算新的剩餘向量 R n + 1 f {\displaystyle R^{n+1}f} 和任何 g γ ∈ D α {\displaystyle g_{\gamma }\in D_{\alpha }} 的內積，更新公式如下 ⟨ R n + 1 f , g γ ⟩ = ⟨ R n f , g γ ⟩ − ⟨ R n f , g γ n ⟩ ⟨ g γ n , g γ ⟩ {\displaystyle \langle R^{n+1}f,g_{\gamma }\rangle =\langle R^{n}f,g_{\gamma }\rangle -\langle R^{n}f,g_{\gamma _{n}}\rangle \langle g_{\gamma _{n}},g_{\gamma }\rangle } 由於先前的計算已經得到 ⟨ R n f , g γ ⟩ {\displaystyle \langle R^{n}f,g_{\gamma }\rangle } 和 ⟨ R n f , g γ n ⟩ {\displaystyle \langle R^{n}f,g_{\gamma _{n}}\rangle } ，因此上式的更新只需要計算 ⟨ g γ n , g γ ⟩ {\displaystyle \langle g_{\gamma _{n}},g_{\gamma }\rangle } 。 對於一個給定的信號 f {\displaystyle f} ，要對其剩餘向量分解多少次，決定於要求的精準度 ϵ {\displaystyle \epsilon } ，重複的次數為能夠滿足下式的最小值 p {\displaystyle p} ‖ R p f ‖ = ‖ f − ∑ n = 0 p − 1 ⟨ R n f , g γ n ⟩ g γ n ‖ ≤ ϵ ‖ f ‖ {\displaystyle \|R^{p}f\|=\|f-\sum _{n=0}^{p-1}\langle R^{n}f,g_{\gamma _{n}}\rangle g_{\gamma _{n}}\|\leq \epsilon \|f\|} 根據能量守恆，此公式等價於 ‖ f ‖ − ∑ n = 0 p − 1 | ⟨ R n f , g γ n ⟩ | 2 ≤ ϵ 2 ‖ f ‖ {\displaystyle \|f\|-\sum _{n=0}^{p-1}{|\langle R^{n}f,g_{\gamma _{n}}\rangle |}^{2}\leq \epsilon ^{2}\|f\|} 由於在此方法中，每一次重覆計算時，並沒有計算剩餘向量 R n f {\displaystyle R^{n}f} ，因此只根據上式來判斷是否達到停止分解的條件。 重複次數 p {\displaystyle p} 決定於 ‖ R n f ‖ {\displaystyle \|R^{n}f\|} 的下降速率，依據信號的不同， p {\displaystyle p} 可以有很大的變化，但在一般情況下， p {\displaystyle p} 會比空間 H {\displaystyle H} 的維度 N {\displaystyle N} 小很多。 任何訊號 f {\displaystyle f} 都會在由原子庫所張的空間中找到收斂的解。 稀疏性：當原子庫很大的時候，MP演算法找出來的最佳吻合解，其中的大部分原子訊號的係數可能都是0，只有少部分的係數不為0，此性質稱為稀疏代表性，而此特性對於影像或視訊編碼和壓縮很有幫助。 匹配追蹤演算法的靈活性和效率在訊號處理領域中越來越重要，尤其在以下幾種領域中更有其重要的應用： 在視訊編碼和影像壓縮上，對於運動的影像估計和補償，在提出新的原子庫或是擴展的演算法之後，有相當的改良。在影像辨識和形狀辨認上，匹配追蹤演算法的稀疏性對於同樣具有稀疏性的圖像提供新的研究方向。另外在音樂、語音方面，最早即在時頻分析上作為MP演算法研究對象。 壓縮感知 [1] S. G. Mallat and Z. Zhang, "Matching pursuits with time-frequency dictionaries," in IEEE Transactions on Signal Processing, vol. 41, no. 12, pp. 3397-3415, Dec 1993. [2] Jian-Jiun Ding, Time frequency analysis and wavelet transform class note,the Department of Electrical Engineering, National Taiwan University (NTU), Taipei, Taiwan, 2012. [3] B. Torresani, "Wavelets associated with representations of the affine Weyl-Heisenberg group," 1. Math. Physics, vol. 32, pp. 1273-1279, May 1991.