サポートベクターマシンにはどのような学習問題が適していますか?


16

サポートベクターマシンを使用して特定の学習問題に取り組むことができることを示す特徴または特性は何ですか?

言い換えれば、学習の問題を見ると、ニューラルネットワークやデシジョンツリーなどではなく、「これには間違いなくSVMを使用する必要があります」ということになります。


supervised learningSVMは教師なし学習問題でも使用できるため、タグを削除しました。
Dawny33

教師なしの問題に対してsvmを使用する方法と、それを実装するパッケージを説明できますか
GeorgeOfTheRF

@ML_Proコメントに含めたリンクをご覧ください。
Dawny33

3
@ Dawny33、SVMの教師なし学習への適用は例外であり、規則ではありません。SVMは、教師あり学習方法です。
-AN6U5

1
@ AN6U5通知してくれてありがとう:) exceptionでは、あなたはそれが単なる調整であり、慣習ではないことを意味しますか?
Dawny33

回答:


7

SVMは、分類(複数のグループまたはクラスの区別)および回帰(何かを予測するための数学モデルの取得)に使用できます。それらは線形問題と非線形問題の両方に適用できます。

2006年まで、それらは機械学習のための最高の汎用アルゴリズムでした。最も知られているアルゴリズムの多くの実装を比較した論文を見つけようとしていました:svm、ニューラルネット、ツリーなど。申し訳ありません。論文では、ライブラリlibsvmを使用して、最高のパフォーマンスを得たアルゴリズムはsvmでした。

2006年、ヒントンはディープラーニングとニューラルネットを考案しました。彼は現在の最新技術を少なくとも30%改善しました。これは大きな進歩です。ただし、ディープラーニングは、膨大なトレーニングセットに対してのみ良好なパフォーマンスを実現します。小規模なトレーニングセットがある場合は、svmを使用することをお勧めします。

さらに、scikit-learnによるさまざまな機械学習アルゴリズムをいつ使用するかについての有用なインフォグラフィックを見つけることができます。ただし、私の知る限り、科学界の間で問題にX、Y、Zの機能がある場合、svmを使用することをお勧めします。別の方法を試してみることをお勧めします。また、svmまたはニューラルネットはモデルを計算するための単なる方法であることを忘れないでください。使用する機能も非常に重要です。


1
@HoapHumaboid私はSVCとSVRについて知っており、カーネルを使用してSVMをNLPに適用でき、SVMと他の学習アルゴリズムを比較する論文を知っています... SVMで取り組む必要があることは明らかです。言い換えれば、それはあなたが見たときに学習問題は、あなたがああ、私は間違いなく、むしろNNのか、決定木や他の何よりも『』このためのSVMを使用する必要があります」行かせるというものです
ラグナー

@Ragnar私の編集された応答をご覧ください
hoaphumanoid

2

分類設定にいると仮定しましょう。

以下のためにsvm機能工学基礎となるものです。

  • セットは線形に分離可能でなければなりません。それ以外の場合、データを変換する必要があります(カーネルを使用するなど)。これはアルゴ自体によって行われるのではなく、多くの機能を吹き飛ばす可能性があります。
  • svm他の方法論(ツリーアンサンブル)よりも高速にディメンションの数を増やすと、パフォーマンスが低下します。これは、svms を支援する制約付き最適化の問題によるものです。機能の削減が可能な場合もあれば、そうでない場合もあります。これは、svm
  • svmフィーチャの数が観測の数よりもはるかに多いデータセットで苦労する可能性があります。これも、制約付き最適化問題を見ると理解できます。
  • カテゴリ変数は、svmアルゴリズムによってそのまま使用できるわけではありません。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.