2012-11-19 42 views
1

我精心收集了我正在進行的概念證明研究的數據。數據由40個不同的主題組成,每個主題都有60個時間間隔測量的12個參數,1個輸出參數爲0或1.因此,我構建了一個二元分類器。神經網絡,不支持SVM的好結果;值得關注?

我事先就知道有輸入參數和輸出之間的非線性關係,以便貝葉斯分類器的簡單感知器將無法樣品進行分類。這個假設在初始測試後證明是正確的

所以我去了神經網絡和我希望的效果還不錯。通常結果是約1-5%的誤差。培訓是通過使用70%作爲培訓和30%作爲評估來完成的。通過模型再次運行完整的數據集(100%),我對結果非常滿意。下面是一個典型的混淆矩陣(P =正,N =負):

P N 
P 13 2 
N 3 42 

因此,我很高興,並與我使用的30%用於評價的概念我確信我不嵌合的噪聲。

因此我決定支持向量機的雙重檢查和SVM無法收斂到一個很好的解決方案。大多數時候解決方案都很糟糕(比如90%的錯誤......)。也許我並不完全知道SVM或實現是不正確的,但它讓我感到困擾,因爲我認爲當NN提供了一個好的解決方案時,由於它們的最大邊界超平面,SVM在分離數據方面大部分時間更好。

這對我的結果有什麼影響?我適合噪音嗎?我怎麼知道這是否是正確的結果?

我使用Encog進行計算,但NN效果媲美土生土長的NN模型我做了。

+0

我可以問你用於SVM的內核和參數嗎?神經網絡和支持向量機之間的巨大差異是非常不尋常的。 SVM不一定更好(很大程度上取決於所使用的內核),但無論如何,應該有一個內核可以與ANN產生可比較的結果(有時候更好,有時更糟) – Pedrom

+0

對不起......我忘了提及你,所以你會被通知。仍然習慣了這個stackoverflow的東西:) @avanwieringen – Pedrom

回答

1

如果這是您第一次使用SVM,我強烈建議您參閱着名的SVM包libsvm的作者A Practical Guide to Support Vector Classication。它給出了一系列建議來訓練您的SVM分類器。

  • 變換數據到一個SVM包的格式
  • 行爲簡單的縮放的數據
  • 考慮RBF核
  • 使用交叉驗證來ND的最佳參數C和γ
  • 使用最佳參數C和γ
  • 訓練整套訓練集
  • 測試

總之,嘗試縮放數據並仔細選擇內核和參數。

+1

我讀過它,它真的很有幫助。我能夠正確地訓練我的模型,以達到與NN相當的結果。 – avanwieringen