私の同僚と私は、ロジスティック回帰とSVMの違いに頭を抱えようとしています。明らかに、それらは異なる目的関数を最適化しています。SVMは、ヒンジ損失を単に最適化する判別型分類器であると言うほど簡単ですか?それともそれよりも複雑ですか?サポートベクターはどのように機能しますか?スラック変数はどうですか?シグモイドアクティベーション関数を備えたディープニューラルネットワークを構築できないのに、なぜディープSVMを構築できないのですか?
私の同僚と私は、ロジスティック回帰とSVMの違いに頭を抱えようとしています。明らかに、それらは異なる目的関数を最適化しています。SVMは、ヒンジ損失を単に最適化する判別型分類器であると言うほど簡単ですか?それともそれよりも複雑ですか?サポートベクターはどのように機能しますか?スラック変数はどうですか?シグモイドアクティベーション関数を備えたディープニューラルネットワークを構築できないのに、なぜディープSVMを構築できないのですか?
回答:
はい、どちらも識別モデルです。ロジスティック回帰損失関数は、概念的にはすべての点の関数です。正しく分類されたポイントは損失関数にほとんど追加されず、それらが境界に近い場合は追加されます。したがって、境界に近い点は、損失にとってより重要であり、したがって境界がどの程度優れているかを決定します。
SVMはヒンジ損失を使用します。概念的には境界点に重点を置いています。関数の「ヒンジ」(最大)のため、最も近い点よりも遠いものは何も損失に寄与しません。これらの最も近い点は、単純にサポートベクトルです。したがって、実際には、最大のマージンを作成する境界の選択、つまり最も近いポイントまでの距離に削減されます。理論は、境界のケースが一般化に本当に重要なすべてであるということです。
欠点は、ヒンジ損失が区別できないことですが、ラグランジュ乗数を使用して最適化する方法を見つけるには、より多くの計算が必要であることを意味します。データが線形的に分離できない場合は、実際には処理されません。Slack変数は、この可能性を最適化問題に明確に組み込むことができるトリックです。
「ディープラーニング」でヒンジ損失を使用できます。例:http : //arxiv.org/pdf/1306.0239.pdf