老衛帶你學---模式分類中的特徵融合方法以及各種方法的總結

概念、基本術語

信息融合:將來源不同的信息整合到一起,去冗餘;得到的融合信息將利於我們之後的分析處理。
信息融合分爲三個層次:數據融合,特徵融合,決策融合。如下圖所示:

在這裏插入圖片描述

特徵融合的分類

特徵融合算法主要可以分爲三類:
1.基於貝葉斯決策理論的算法
2.基於稀疏表示理論的算法
3.基於深度學習理論算法

基於貝葉斯理論的特徵融合算法

已知模式空間包含種模式,記爲:,未知樣本由維實值特徵組成,記爲.根據最小錯誤率的貝葉斯決策理論,若將樣本分爲第類,則該類就是在已知樣本條件下後驗概率最大的模式類,這個決策過程可以表示爲:

其中:表示第類的後驗概率,

分類器的乘法規則和加法規則

假定將看做分類器的輸出結果,就可以得到貝葉斯理論的的分類器融合算法。假定有個分類器,那麼每個分類器都會輸出一個結果,因此得到此時的特徵爲:.那麼對於一個未知樣本y,決策過程可以表示爲:

其中:表示在已知個分類器輸出結果的條件下第類的後驗概率,.在此基礎之上引入分類器獨立性假設並結合下式:

就可以得到分類器融合的乘法規則:

上面這個會有一個問題,就是當爲0時會出問題。再在乘法規則的基礎上,再引入先驗概率和後驗概率近似相等:

其中:是一個很小的值。
最終可以推導出,分類器融合的加法規則:

基於線性特徵依賴模型的特徵融合算法

由於分類器獨立性假設與先驗概率和後驗概率近似相等都有相應的成立條件,在一些場景中不一定通用。因此需要將其進行進一步泛化。這個公式有點多,就不貼上來的,主要的思路還是一樣的。

基於稀疏表示理論的特徵融合算法

稀疏表示的基本思想是使用數據稀疏這一先驗知識,從一個超完備字典中找到儘可能少的原子對目標信號進行線性表示。稀疏表示問題可以表示爲,對於向量和矩陣,我們希望找到一個向量,使得並且向量的的範數(0範數表示向量中非零元素的個數,1範數表示元素絕對值之和)要儘可能小。用公式表示爲:

基於稀疏表示理論的特徵融合算法是對樣本提取多特徵後建立特徵聯合稀疏矩陣,這個矩陣就是多特徵融合的結果。就是將不同類型的特徵的字典進行融合。

基於深度學習理論的特徵融合算法

就是將多個神經網絡得到的特徵進行融合就得到了融合的特徵。

總結方法:

對於經典的模式識別方法,我們都主要是按照預處理、特徵提取、特徵選擇(降維)、訓練分類器(或分類),後處理幾部分構成。在實際操作中,我們會經常發現我們會將不同的特徵結合起來共同使用。比如對於視頻領域的Mo-SIFT特徵其實就是將SIFT特徵和光流特徵結合而來。再比如對於人臉識別,我們很可能會將塊紋理特徵(和LBP、Haar)和梯度直方圖特徵結合。在這些結合中我們都產生了關於不同類型特徵結合的樸素思想,最簡單的就是將不同的特徵連在一起編程一個特徵向量。這些思想都是有效且合理的。在這篇博客中,我們僅僅將這些樸素的思想進行總結。

我們基於特徵聯合發生在模式識別的不同階段,將其主要分爲三個層次。第一個層次是特徵層,第二個層次是特徵分數層,第三個是分類結果層。對於每個不同層次又有數中簡單可行的方法同大家分享。

1.第一層——特徵層

特徵層的思想就如上面我們舉的例子一樣,非常簡單。把不同的特徵聯合在一起。但我們應該是什麼是聯合呢?假設我們有兩類特徵A和B,那我們是應該先將它們聯合在一起形成一個統一的特徵向量C,在對C進行特徵選擇(降維),還是先分別對A和B進行特徵選擇(降維)然後再將他們聯合成爲一個特徵向量C呢?其實就是我們的特徵聯合應該是發生在降維前還是降維後的問題。在此,我們將發生在降維前的方法稱爲BFS(before feature selection),將先降維再聯合的方法稱爲AFS(after feature selection)。我想這兩種方法沒有具體的優劣之分,具體問題具體分析。

2.第二層——特徵分數層

其實我們在此是通過一系列的方法將兩種特徵歸一化到相同指數。常用的有函數法,和概率密度法。

2.1 常用函數法。

我們常用的歸一函數主要有一下幾個:

(1)最大-最小函數。主要用於把原輸入信號形狀不變的拉伸或壓縮到特定尺度。

(2)mean-std,即通過統計的只是將特徵歸一到統一均值和方差的一個範圍中來。

(3)Med-MAD,他同mean-std比較類似。只不過這裏採用中值Med和標準中值MAD代替了mean裏面的均值和方差。標準中值即表示各個特徵到中值的
距離所組成的距離集合的中值。

(4)雙曲sigmoid函數。

(5)tanh函數

在此我們可以對tanh這種方法進行變型,讓其具有統計的意義,如下所示

這裏的Med和MAD也可以被均值和方差所替換

2.2 常用的概率密度估計方法。

其實這種方法總的來說就是用訓練樣本中的各個特徵訓練一組分類器,然後將分類器輸出的概率值作爲新的特徵向量。舉例如下:

我們有兩種特徵:A=[a1,a2,a3,a4…an]和B=[b1,b2,b3,b4…bm];

對於A特徵,我們訓練n個分類器記爲f1,f2…fn,然後進行如下運算

xi = fi(ai) i=1.2.3…n

對於B特徵,我們訓練m個分類器記爲g1.g2…gn,然後進行如下運算

yi = gi(bi) i = 1.2.3…n

在這裏我們的兩個分類器g和f選擇爲相同的模型,例如同爲貝葉斯或者同爲svm,並且不把分類器的輸出設爲類別,而爲某一類別的概率。這樣自然而然就可以得到概率密度作爲聯合的特徵如下

C=[x1.x2.x3…xn.y1.y2.y3…ym]

3. 分類層

其實分類層的特徵結合就是分別對不同類型的特徵進行分類,然後結合分類的結果。這種結合方法裏最樸素的應該就是投票或者二分類中的與(或)判別。投票呢就是分別對不同類別的特徵進行分類,最終類別由各個分類器的分類結果進行投票決定。而與判別就是必須所有分類器都認爲真,才最終判決爲真。而或判決則是只要有任意一個分類器判決爲真就爲真。

更爲複雜的我們可以將其與決策樹或者boosting這樣的分類器進行類比。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章