SVMは一度に1つの例を学習することができますか?


33

ストリーミングデータセットがありますが、例は一度に1つずつ入手できます。それらに対してマルチクラス分類を行う必要があります。学習プロセスにトレーニング例を提供したらすぐに、その例を破棄する必要があります。同時に、ラベルなしデータの予測を実行するために最新のモデルも使用しています。

私の知る限り、ニューラルネットワークは、サンプルを1つずつフィードし、そのサンプルで順伝播と逆伝播を実行することにより、ストリーム学習を行うことができます。

SVMは一度に1つの例を学習するストリームを実行し、すぐに例を破棄できますか?


2
受け入れられた回答を更新する必要があります。現時点では、SVMオンライン学習アルゴリズムをサポートするライブラリがいくつかあるようです。Vowpal wabbitにはsvmの削減があり、他の選択肢は次のとおりです:scikit-learn、sofia-ml、およびRのkernlabパッケージにはオンライン学習のためのいくつかのオプションがあります。
マーベル

回答:


22

機械学習のストリーミング設定は「オンライン学習」と呼ばれます。オンライン設定には正確なサポートベクターマシンはありません(目的関数の定義は本質的にバッチ設定のためです)。おそらく、SVMの最も簡単な一般化されたオンライン設定は、パッシブアグレッシブアルゴリズムです。コードはhttp://webee.technion.ac.il/people/koby/code-index.htmlにあり、関連する論文はhttp://eprints.pascal-network.org/archive/00002147/01/CrammerDeKeShSi06にあります。 pdf

(x,y)Rd×[k]xRkWtRk×dtxty^t=WxtWt


1
(+1)サイトへようこそ、マーク。
枢機

11

私はいつも、明示的な更新フレームワークよりも暗黙的な更新フレームワーク(ここで別の回答で言及されている受動的攻撃的アルゴリズムを含む)が不必要に複雑であることを発見しました(暗黙的な更新が暗黙的な更新のための閉じた形式のソリューションが利用可能です)。

オンライン重要度重み更新は、暗黙的な対応よりも単純で、高速で、より柔軟な(複数の損失関数、複数の罰則、コストに敏感な学習などをサポートする)最新の明示的な更新アルゴリズムの例です。ただし、この論文では線形モデルのみを扱います(線形svmは、2次ペナルティを伴うヒンジ損失関数の場合に対応します)

マルチクラス分類が必要なため、1つのアプローチはvowpal wabbitの「リダクション」機能を使用することです(ペーパーからのアプローチの上に構築されます)。


8

LASVMは、SVMの最も人気のあるオンライン学習バリアントの1つです。

線形SVMは、線形モデルと同様に、確率的勾配降下法を使用してトレーニングすることもできます。


わかりやすくするために、SGDを使用して線形モデルをトレーニングすることはできません。少なくとも特定の形式の目的(付加損失関数)を仮定する必要があります
-lejlot

6

バイナリ分類のためのオンラインSVMを提案した論文SVM Incremental Learning、Adaptation、and Optimizationを参照してください。

上記の論文のコードはこちらにあります。コードでは、オンライントレーニングの2つの方法が紹介されています。

  1. を呼び出してsvmtrain()、一度に1つの例についてSVMを徐々にトレーニングします。
  2. を呼び出して、バッチトレーニングを実行し、すべてのトレーニングサンプルを同時にソリューションに追加しsvmtrain2()ます。

質問に戻ると、一度に1つの例を学習するストリーム学習の答えは明らかにYESです。また、このコードは、例を正確に解く(破棄する)こともできます。つまり、正確かつ近似的なleave-one-out(LOO)誤差推定です。例。


(+1)当サイトへようこそ!
whuber

0

カーネルを使用したオンライン学習では、一般的なカーネル設定でのオンライン学習について説明します。

要約からの抜粋-

" サポートベクターマシンなどのカーネルベースのアルゴリズムは、すべてのトレーニングデータが事前に利用可能なバッチ設定のさまざまな問題で大きな成功を収めています。サポートベクターマシンは、いわゆるカーネルトリックと大きなマージンのアイデアを組み合わせています。リアルタイムアプリケーションに適したオンライン設定でこれらのメソッドを使用することはほとんどありませんこのペーパーでは、リプロダクションカーネルヒルベルト空間でのオンライン学習を検討します特徴空間内の古典的な確率的勾配降下といくつかの簡単なトリックの使用、分類、回帰、ノベルティ検出などの幅広い問題に対応する、シンプルで計算効率の高いアルゴリズムを開発しています。

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