1

我正在嘗試使用線性支持向量機進行多類對象類別識別。到目前爲止,我所理解的是,主要有兩種方法 - 一種是對所有(OVA)和一種對一種(OVO)。 但我很難理解它的實現。我的意思是我認爲使用的步驟是:多支持對象分類支持向量機

  • 首先,我們要說SIFT的特徵描述符。所以我有一個128XN的特徵向量。
  • 接下來爲一個特定對象類別(比如說汽車)準備一個SVM分類器模型,我將50張圖像的汽車作爲正面訓練集合,並從每個類別中隨機抽取50個剩餘類別的圖像(這部分是否正確?) 。我爲所有這些類別準備了這些模型(比如說其中的5個)。
  • 接下來,當我有一個輸入圖像時,是否需要將圖像輸入到所有5個模型中,然後檢查這些模型中每個模型的值(+ 1/-1)?我很難理解這部分。

回答

2

在一對一的方法,你必須檢查所有5個模型。然後你可以用最有信心的價值來做出決定。 LIBSVM給出了概率估計。

在一對一的方法中,你可以佔多數。例如,您測試1對2,1對3,1對4和1對5.您在3種情況下將其分類爲1。你對其他4個班級也一樣。假設其他四個類別的值爲[0, 1, 1, 2]。因此,1級獲得了最多的次數,使這個班級成爲最後一堂課。在這種情況下,你也可以做總概率估計。取最大值。除非在一對中分類非常錯誤,否則這將起作用。例如,在1對4中,它將信度爲0.7的分類爲4(真實類別爲1)。然後,僅僅因爲這個決定,你的總概率估計可能會爆發並給出錯誤的結果。這個問題可以通過實驗來檢查。

LIBSVM使用一對一。你可以檢查推理here。你也可以閱讀this論文,他們捍衛一個對所有分類方法,並得出結論認爲它是而不是必然比一對一更差。

2

總之,您的正面訓練樣本總是相同的。在一對一中,你訓練n個分類器,分別從每個負面類別中抽取負面樣本。在一個或所有你將所有負面樣本集合在一起並訓練一個分類器。前一種方法的問題是你必須考慮所有n個結果來決定課程。後一種方法的問題在於,集合負類對象類創建可能會創建難以處理和分析的非同類類。