SVMがまだ最先端のドメインは何ですか?


10

ディープニューラルネットワークやその他のニューラルネットワークベースのモデルが、コンピュータービジョン、オブジェクト分類、強化学習などの現在の多くの領域を支配しているようです。

SVM(または他のモデル)がまだ最先端の結果を生み出しているドメインはありますか?

回答:


12

それがどのように測定されるべきかが明確でないので、最先端技術は厳しいバーです。最先端の技術に似た別の基準は、いつ SVMを試してみたいかを尋ねることです。

SVMにはいくつかの利点があります。

  1. カーネルトリックにより、元の機能セットではなく、機能の多くの非線形の組み合わせでパターンを学習する場合、SVMの実行時間は大幅に増加しません。対照的に、ディープニューラルネットワークのようなより現代的なアプローチでは、同じパターンをモデル化するために深くまたは広くする必要があり、トレーニング時間が長くなります。
  2. SVMは、最大のマージンの仮説を見つけようとするため、「保守的な」仮説を選択することに固有のバイアスがあり、データをオーバーフィットする可能性は低くなります。ある意味で、彼らはOccamのカミソリを「焼き付け」ます。
  3. SVMには2つのハイパーパラメーター(カーネルの選択と正則化定数)しかないため、特定の問題に合わせて調整するのは非常に簡単です。通常は、パラメーター空間を介して単純なグリッド検索を実行することにより、それらを調整するだけで十分です。これは、自動的に実行できます。

SVMにはいくつかの欠点もあります。

  1. SVMには、トレーニングするデータポイントの数を3次的にスケーリングするランタイムがあります(つまり、ランタイム)1。これは、たとえば、時間で実行されるディープニューラルネットワークの一般的なトレーニングアプローチとはよく比較されませんはデータポイントの数、はトレーニングエポックの数、ネットワーク内の重みの数です。一般に、です。O(n3)O(wne)neww,e<<n
  2. カーネルトリックを利用するために、SVMはポイントの2つのペア間のカーネル化された「距離」の値をキャッシュします。つまり、メモリが必要です。これは、実際のほとんどのセットの3次ランタイムよりもはるかに問題が多いです。数千を超えるデータポイントでは、最新のサーバーのほとんどがスラッシング状態になり、効果的な実行時間が数桁増加します。ポイント1と合わせて、これは、SVMが上限で、おそらく5,000〜10,000データポイントを超えるセットでは動作不能に遅くなる傾向があることを意味します。O(n2)

これらすべての要因は、SVMが1つのユースケースに関連していることを示しています。ターゲットパターンが、アプリオリで、多数のフィーチャのいくつかの規則的ではあるが非常に非線形の関数であると考えられる小さなデータセット。このユースケースは実際にはかなり頻繁に発生します。SVMが自然なアプローチであることがわかった最近のアプリケーション例は、機能のペア間の相互作用(具体的には、エージェントのペア間の通信)の結果であることがわかっているターゲット関数の予測モデルを構築していました。したがって、2次カーネルを備えたSVMは、保守的で合理的な推測を効率的に学習できます。


1他の回答に記載されているように、これよりも速くSVMを解決する近似アルゴリズムがあります。


7

ディープラーニングとニューラルネットワークは、この分野での最近の進歩により、最も注目されており、ほとんどの専門家は、それが機械学習の問題を解決する未来であると信じています。

しかし、間違いなく、従来のモデルは依然として優れた結果を生み出し、特定の問題では、ディープラーニングよりも優れた結果を生み出すことができます。

線形回帰は、依然として世界で最も使用されている機械学習アルゴリズムです。

精度は入力データの形状と品質に大きく依存するため、従来のモデルのパフォーマンスが常に向上する特定のドメインを特定することは困難です。

したがって、アルゴリズムとモデルの選択は常にトレードオフです。古典的なモデルがより小さなデータセットでより良いパフォーマンスを発揮するようにすることは、いくぶん正確なステートメントです。ただし、多くの研究が、より少ないデータでディープラーニングモデルのパフォーマンスを向上させることに取り組んでいます。

ほとんどの古典的なモデルは必要な計算リソースが少ないため、目標が速度である場合ははるかに優れています。

また、従来のモデルは実装と視覚化が容易であり、これはパフォーマンスの別の指標となる可能性がありますが、それは目的によって異なります。

無制限のリソース、適切にラベル付けされた大規模な監視可能データセットがあり、問題ドメイン内で正しく実装している場合、ディープラーニングはほとんどの場合により良い結果をもたらすでしょう。

しかし、私の経験では、現実の状況はこれほど完璧ではありません


0

@Johnの回答に完全に同意します。さらにいくつかのポイントでそれを補完しようとします。

SVMのいくつかの利点:

a)SVMは、SMOのように解くための効率的な方法がある凸最適化問題によって定義されます。

b)高次元空間で、また次元数がサンプル数より多い場合に効果的です。

c)決定関数(サポートベクトルと呼ばれる)でトレーニングポイントのサブセットを使用するため、メモリ効率も向上します。

d)決定関数に異なるカーネル関数を指定できます。。最も単純な形で、カーネルトリックは、データのクラス間の明確な分割マージンを持つ別の次元にデータを変換することを意味します。

サポートベクターマシンの短所は次のとおりです。

a)特徴の数がサンプルの数よりはるかに多い場合、カーネル関数と正則化項の選択における過剰適合を回避することが重要です。カーネルモデルは、モデル選択基準の過剰適合に非常に敏感になる可能性があります

b)SVMは確率推定値を直接提供しません。多くの分類問題では、実際にはクラスメンバーシップの確率が必要なので、確率を取得するためにSVMの出力を後処理するのではなく、ロジスティック回帰のような方法を使用する方が良いでしょう。


-1

低次元の表形式データのデータセット用。DNNは、過度の過剰パラメータ化のため、低次元の入力では効率的ではありません。したがって、データセットのサイズが非常に大きくても、各サンプルが低次元のSVMである場合でも、DNNに勝ります。

より一般的には、データが表形式であり、サンプルのフィールド間の相関が弱くノイズが多い場合、SVMは高次元データでもDNNに勝る可能性がありますが、それはデータの特定に依存します。

残念ながら、私は主題に関する特定の論文を思い出すことができないので、それはほとんど常識的な推論であり、あなたはそれを信頼する必要はありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.