11

對於某些文本處理項目,我們需要在支持向量機和快速人工神經網絡之間做出決定。用於文本處理的支持向量機或人工神經網絡?

它包括上下文拼寫糾正,然後將文本標記爲某些短語及其同義詞。

這將是正確的方法?或者是否有這兩種替代方案......比FANN和SVM更合適?

回答

12

我想你會從兩種算法中得到一個有競爭力的結果,所以你應該彙總結果......想想集成學習。

更新:
我不知道這是不是不夠具體:使用貝葉斯最優分類的預測從每個算法結合起來。您必須訓練兩種算法,然後您必須訓練貝葉斯最優分類器以使用您的算法,並根據算法的輸入做出最佳預測。在3

獨立訓練數據:

  • 第1個數據集將被用來訓練(人工)神經網絡和支持向量機。
  • 第二個數據集將用於訓練貝葉斯最優分類器,通過從ANN和SVM中獲取原始預測。
  • 第三個數據集將成爲您的資格數據集,您將在其中測試您的訓練貝葉斯最優分類器。

更新2.0:
另一種方式來創建的算法的系綜是使用10-fold (or more generally, k-fold) cross-validation

  • 分段數據分成10組大小爲n/10的。
  • 對9個數據集進行訓練並在1上進行測試。
  • 重複10次並取平均準確度。

請記住,您通常可以組合許多分類器和驗證方法以產生更好的結果。這只是找到最適合您的域名的問題。

+0

你能幫我多一點嗎? – Arc

+0

@Akrid我已經更新了我的評論......這是否有幫助,或者您是否需要更多信息? – Kiril

+0

非常感謝Lirik – Arc

8

您可能還想看看maxent classifiers (/log linear models)

它們非常受NLP問題的歡迎。現代實現使用準牛頓方法進行優化,而不是較慢的迭代縮放算法,訓練速度比SVM快。他們似乎也是less sensitive正則化超參數的確切值。如果您想使用內核來免費獲取功能連接,您可能應該只選擇超過maxent的SVM。

對於支持向量機和神經網絡,使用支持向量機可能會比使用人工神經網絡更好。像maxent模型一樣,訓練SVM是一個凸優化問題。這意味着,鑑於數據集和特定的分類器配置,SVM將始終如一地找到相同的解決方案。在訓練多層神經網絡時,系統可以收斂到各種局部最小值。所以,根據您用來初始化模型的權重,您會得到更好或更差的解決方案。使用人工神經網絡,您需要執行多次訓練以評估給定模型配置的好壞。

+1

雖然我喜歡Hal的博客,但在MS Paint中製作的繪圖並不能真正證明Logistic迴歸對超參數選擇不如SVM更敏感。不過,很好的答案。 – Stompchicken

0

您可以使用卷積神經網絡(CNN)或遞歸神經網絡(RNN)來訓練NLP。我認爲CNN現在已經取得了最新的技術。