使用卡方距離比較兩個直方圖
我想比較兩張人臉圖像。我計算了他們的 LBP 直方圖。所以現在我需要比較這兩個直方圖並得到一些東西來說明這些直方圖有多少相等(0 - 100%)。
有很多方法可以解決這個問題,但 LBP 方法的作者強調(Face Description with Local Binary Patterns: Application to Face Recognition. 2004)卡方距離比直方圖交集和對數似然統計更好。
作者還展示了卡方距離的公式:
在哪裡是箱的數量,是第一個 bin 的值,是第二個 bin 的值。
在一些研究中(例如 The Quadratic-Chi Histogram Distance Family)我看到卡方距離的公式是:
還有http://www.itl.nist.gov/div898/handbook/eda/section3/eda35f.htm我看到卡方距離的公式是:
我堅持了下來。我有幾個問題:
- 我應該使用什麼表達方式?
- 我應該如何解釋差異的結果?我知道等於 0 的差異意味著兩個直方圖相等,但是我怎麼知道兩個直方圖何時完全不同?我需要使用卡方表嗎?還是我需要使用閾值?基本上我想將差異映射到百分比。
- 為什麼這三種表達方式不同?
@Silverfish 要求對 PolatAlemdar 的答案進行擴展,但沒有給出,所以我將在此處嘗試對其進行擴展。
為什麼叫卡方距離?列聯表的卡方檢驗基於 $$ \chi^2 = \sum_{\text{cells}} \frac{(O_i-E_i)^2}{E_i} $$ 所以想法是保持這種形式並將其用作距離度量。這給出了 OP 的第三個公式,其中 $ x_i $ 解釋為觀察和 $ y_i $ 作為預期,這解釋了 PolatAlemdar 的評論“它用於離散概率分佈”,例如在擬合優度測試中。第三種形式不是距離函數,因為它在變量中是不對稱的 $ x $ 和 $ y $ . 對於直方圖比較,我們需要一個對稱的距離函數 $ x $ 和 $ y $ ,前兩種形式給出了這個。它們之間的差異只是一個常數因素 $ \frac12 $ ,只要您始終選擇一種形式,這並不重要(儘管具有額外因素的版本 $ \frac12 $ 如果您想與不對稱形式進行比較,則更好)。注意這些公式與平方歐式距離的相似性,即不是巧合,卡方距離是一種加權歐式距離。因此,OP 中的公式通常放在根號下以獲得距離。下面我們就按照這個來。
卡方距離也用於對應分析。要查看與那裡使用的表格的關係,讓 $ x_{ij} $ 是列聯表的單元格 $ R $ 行和 $ C $ 列。表示行總計為 $ x_{+j}=\sum_i x_{ij} $ 列總計 $ x_{i+}=\sum_j x_{ij} $ . 行之間的卡方距離 $ l,k $ 是(誰)給的 $$ \chi^2(l,k) = \sqrt{\sum_j \frac1{x_{+j}}\left(\frac{x_{lj}}{x_{l+}}-\frac{x_{kj}}{x_{k+}} \right)^2 } $$ 對於只有兩行(兩個直方圖)的情況,這些恢復了 OP 的第一個公式(以根符號為模)。
EDIT
在下面的評論中回答問題:一本對卡方距離進行了長時間討論的書是 Michael Greenacre (Chapman & Hall) 的“CORRESPONDENCE ANALYSIS in PRACTICE (Second Edition)”。這是一個成熟的名稱,因為它與列聯表使用的 chisquare 相似。它有什麼分佈?我從來沒有研究過,但可能(在某些條件下……)它大約會有一些卡方分佈。證明應該類似於列聯表,大多數關於對應分析的文獻都沒有進入分佈理論。一篇具有一些可能相關的理論的論文是ALTERNATIVE METHODS TO MULTIPLE CORRESPONDENCE ANALYSIS IN RECONSTRUCTING THE RELEVANT IN A BURT’S TABLE中的信息。對於本網站上的其他一些相關帖子。