サポートベクターマシンに適した学習問題は何ですか?
-
16-10-2019 - |
質問
サポートベクトルマシンを使用して特定の学習問題に取り組むことができることを示す特徴またはプロパティは何ですか?
言い換えれば、学習の問題を見たとき、「ああ、私は間違いなくこのためにSVMを使用する必要がある」とはどうなりますか?
解決
SVMは、分類(いくつかのグループまたはクラスを区別)および回帰(何かを予測するために数学モデルを取得する)に使用できます。線形問題と非線形問題の両方に適用できます。
2006年まで、それらは機械学習のための最良の汎用アルゴリズムでした。私は、最も知られているアルゴリズムの多くの実装を比較した論文を見つけようとしていました:SVM、ニューラルネット、木などを見つけました。ごめんなさい(あなたは私を信じなければならないでしょう、悪いこと)。論文では、最高のパフォーマンスを得たアルゴリズムは、ライブラリLIBSVMを使用したSVMでした。
2006年、ヒントンは深い学習とニューラルネットを思いつきました。彼は現在の最先端を少なくとも30%改善しました。これは大きな進歩です。ただし、深い学習は、巨大なトレーニングセットでしか良好なパフォーマンスを得ることができます。小さなトレーニングセットがある場合は、SVMを使用することをお勧めします。
さらに、ここでは便利なインフォグラフィックを見つけることができます 異なる機械学習アルゴリズムを使用するタイミング Scikit-Learnによって。しかし、私の知る限り、科学コミュニティの間で、問題にX、Y、Zの機能があるかどうかについての合意はありません。SVMを使用する方が良いです。さまざまな方法を試すことをお勧めします。また、SVMまたはニューラルネットは、モデルを計算する方法であることを忘れないでください。使用する機能も非常に重要です。
他のヒント
私たちが分類設定にいると仮定しましょう。
にとって svm
機能エンジニアリングは礎石です:
- セットは直線的に分離可能でなければなりません。それ以外の場合は、データを変換する必要があります(例:カーネルを使用)。これはアルゴ自体によって行われず、機能の数を吹き飛ばす可能性があります。
- 私はそう言うでしょう
svm
他の方法論(ツリーアンサンブル)よりも速く寸法の数を増やすと、パフォーマンスが低下します。これは、後退する最適化の問題が制約されているためですsvm
s。特徴の削減が実行可能であることもあれば、そうでない場合もあります。svm
svm
機能の数が観測数よりもはるかに大きいデータセットに苦労する可能性があります。これも、制約されている最適化の問題を調べることで理解できます。- カテゴリ変数は、
svm
アルゴリズム。