2016-04-23 61 views
-1

我有一個數據集,一個大的數據集。我使用T-SNE繪製數據,我無法找到線性可分的決策邊界,因爲我無法找到它的決策邊界。支持向量機算法是我的模型有效的

我試過SVM,並希望它可以工作,如果它能夠在更高維度上分離超平面。

目前我的訓練準確率達到了94%,但之後我收到了50%的測試誤差,當我將數據集的大小增加了20,000條時,訓練數據的準確性增加到了65%(這也是,交叉驗證或多或少相同),訓練的準確性仍然是93%。 我的問題是,我實際上是否準確解決了這個機器學習問題?還是我在一個錯誤的方向,如果可能的話,請給我一些關於解決問題的實用方法的鏈接。

回答

0

看來你有一個overfitting的數據有問題。基本上,您的SVM正在記憶訓練數據,並且無法正確預測之前未見過的新數據。您可以嘗試使用較小的C來減少過度配合。

我認爲一般來說很難說SVM是否是解決問題的正確方法。有no free lunch theorem,它假設可能沒有一個機器學習算法來解決所有問題,我目前還不知道有任何方法將問題映射到他們的最佳算法。

您可能應該使用SVM修復當前方法中的明顯錯誤,然後研究它在哪裏以及爲何失敗。如果你這樣做了,你可能會選擇另一種算法來解決這些缺點。

+0

感謝您的信息siestschie。我將嘗試向當前問題添加更多數據,然後嘗試使用sklearn庫的網格搜索。將會看到svm如何執行。根據我的看法,SVM在當前情況下是否表現良好,或者在瞭解導致以下問題的原因之後切換到不同的算法。感謝您的建議。 – Hero