10

一部の画像処理アプリケーションでは、SVM とニューラル ネットワークのどちらを使用するかを決定する必要があります。分類器は、ほぼリアルタイムのアプリケーションに十分な速さである必要があり、精度も重要です。これは医療アプリケーションであるため、分類器の故障率が低いことが重要です。

どちらがより良い選択ですか?

4

1 に答える 1

29

いくつかの但し書き:

ML 分類器のパフォーマンスは、(i) 分類器自体のパフォーマンスのいずれかを参照できます。または (ii) 述語ステップのパフォーマンス: モデル構築アルゴリズムの実行速度。特にこの場合、OPでどちらを意図しているかによって答えがかなり異なるので、それぞれ個別に答えます。

次に、Neural Networkでは、最も一般的な実装、つまり、フィードフォワードで逆伝播する単一の隠れ層パーセプトロンについて言及していると仮定します。

トレーニング時間 (モデル ビルダーの実行速度)

NN と比較した SVM の場合: SVM ははるかに低速です。これには単純な理由があります。SVM トレーニングでは、関連するラグランジュ双対 (主問題ではなく) 問題を解く必要があります。これは、変数の数が非常に多い (つまり、トレーニング インスタンスの数 (データ マトリックスの「長さ」) に等しい)二次最適化問題です。

実際には、シナリオに 2 つの要因が存在する場合、この利点が無効になる可能性があります。

  • NN トレーニングは(map reduce を介して) 並列化するのは簡単です。SVM トレーニングの並列化は些細なことではありませんが、不可能でもありません。過去 8 年ほどの間に、いくつかの実装が公開され、機能することが証明されています ( https://bibliographie.uni-tuebingen.de/xmlui/bitstream/handle/ 10900/49015/pdf/tech_21.pdf )

  • 多クラス分類問題SVM は2 クラス分類器 です。多クラス問題に適応できますが、SVM は直接決定関数を使用するため、これは簡単ではありません。(SVM をマルチクラス問題に変更するための優れたソースは、S. Abe 著、Support Vector Machines for Pattern Classification、Springer、2005 年) です。この変更により、SVM が NN よりも優れているパフォーマンスが失われる可能性があります。たとえば、データに 3 つ以上のクラスがあり、データが供給される連続した分類 (1 対多の分類) を使用して SVM を構成することを選択した場合データポイントをクラス Iまたはその他のいずれかに分類する最初の SVM 分類器; クラスが other の場合、データポイントは 2 番目の分類子に渡され、 クラス IIまたはotherなど に分類されます。

予測性能 (モデルの実行速度)

SVM のパフォーマンスは、NN と比較して大幅に高くなります。3 層 (1 つの隠れ層) NN の場合、予測には、入力ベクトルを 2 つの 2D 行列 (重み行列) で連続的に乗算する必要があります。SVM の場合、分類には、特定の点が決定境界のどちら側にあるか、つまりコサイン積を決定することが含まれます。

予測精度

「失敗率」とは、本番環境での分類器の失敗ではなく、エラー率を意味すると思います。後者の場合、SVM と NN の間に違いはほとんどありません。どちらのモデルも一般的に数値的に安定しています。

2 つのモデルの予測精度を比較し、両方が適切に構成およびトレーニングされていると仮定すると、SVM は NN よりも優れています。

SVM と NN の優れた解像度は、科学文献で十分に文書化されています。このような比較は、2 つのモデルのデータ、構成、およびパラメーターの選択に依存することは事実です。実際、この比較は非常に広く研究されており、おそらく考えられるすべてのパラメーター空間にわたって研究されており、その結果は非常に一貫しているため、非現実的な状況下でのいくつかの例外の存在でさえ (私は何も知りませんが) すべきではありません。 SVM が NN よりも優れているという結論に干渉します。

SVM が NN よりも優れているのはなぜですか?

これら 2 つのモデルは、根本的に異なる学習戦略に基づいています。

NN では、ネットワーク出力と実際の値 (ターゲット) の間の平方和誤差が最小になるように、ネットワークの重み (トレーニング中に調整される NN のフィッティング パラメーター) が調整されます。

対照的に、SVM のトレーニングは、トレーニング データから直接決定境界を明示的に決定することを意味します。これはもちろん、SVM モデルを構築するために必要な最適化問題への述語ステップとして必要です: 最大マージン超平面とサポート ベクターの間の総距離を最小化します。

ただし、実際には、アルゴリズムを構成して SVM をトレーニングするのはより困難です。その理由は、(NN と比較して) 構成に必要なパラメーターの数が多いためです。

  • カーネルの選択

  • カーネルパラメータの選択

  • margin パラメータの値の選択

于 2012-05-20T16:01:40.493 に答える