2016-04-23 10 views
-1

私は大きなデータセットであるデータセットを持っています。私はT-SNEを使ってデータをプロットしました。線形の分離可能な決定境界を見つけることができませんでした。なぜなら、その中に決定境界を見つけることができなかったからです。SVMアルゴリズムが有効なモデルです

私はSVMを試してみましたが、より高次元でハイパープレーンを分けることができればうまくいくと思いました。

現在、私は94%のトレーニング精度を得ていますが、データセットのサイズを20,000エントリ増加させたときに50%のテストエラーが発生しました。トレーニングデータの精度は65%クロス検証において多かれ少なかれ)、トレーニングの精度は93%です。 私の質問は、私は実際に問題を正確に学習するこのマシンを解決していますか?私は間違った方向に向いています。可能であれば、問題を解決するための実践的なアプローチについていくつかのリンクを教えてください。

答えて

0

overfittingのデータに問題があるようです。基本的にあなたのSVMは訓練データを記憶しており、これまで見たことのない新しいデータが正しく予測されません。 Cを小さくすることで、誇張を減らすことができます。

私は一般に、SVMがあなたの問題の正しいアプローチであるかどうかは言い難いと思います。 no free lunch theoremには、すべての問題を解決するためのアルゴリズムを学習する機械が1つもないと仮定されていますが、現時点では、問題を最適なアルゴリズムにマッピングする方法については現在認識していません。

現在のアプローチでは、SVMを使用して明白なエラーを修正してから、どこで失敗するのかを調べるべきでしょう。これを済ませれば、これらの欠点に対処できる別のアルゴリズムを選択できる可能性があります。

+0

siestschieさん、ありがとうございます。私は現在の問題にさらにデータを追加しようとし、次にsklearnライブラリのグリッド検索を試みます。 svmの動作を確認します。それに応じて、SVMが現在の状況でうまく動作するか、別のアルゴリズムに切り替わるかどうかを確認します。あなたの提案をありがとう。 – Hero