バックプロパゲーションを介してSVMをトレーニングする方法は?


10

バックプロパゲーションを使用してSVMをトレーニングする(たとえば、物事を簡単にするために線形のものにする)ことが可能かどうか疑問に思いましたか?

現在、分類器の出力

f(x;θ,b)=sgn(θx(b+1))=sgn(g(x;θ,b))

したがって、「後方パス」(伝播エラー)を計算して計算すると、 以降の誘導体 sgnxdsgnx

Ex=Ef(x;θ,b)f(x;θ,b)x=Ef(x;θ,b)sgn(g(x;θ,b))g(x;θ,b)g(x;θ,b)x=δdsgn(z)dzθ=δ0θ=0
sgn(x)
dsgn(x)dx={0if x02δ(x)if x=0

同様に、であることがわかります。これは、情報を返したり、勾配の更新を実行したりできないことを意味します。E/θ=E/b=0

何ができますか?

回答:


14

SVMの精度をトレーニングケース(0-1損失とも呼ばれます)で直接最適化しようとすると、勾配が消えます。これが人々がそうしない理由です。:)

しかし、あなたがやろうとしていることは、まだ実際にはSVMではありません。それはむしろ一般的な線形分類器です。特に、SVMは、0-1の損失関数をヒンジ損失と呼ばれる凸型の代理関数に置き換えると発生します。これは、SVMのアイデアの中核となるマージン最大化のアイデアに相当します。この損失関数は(ほぼ)微分可能です。唯一の問題は、出力がヒンジポイントに正確にあるかどうかです。これは、(a)最も妥当な仮定の下で確率ゼロで発生し、(b)導関数として0または1のいずれか(またはその間のすべて)を使用できます。どちらの場合、技術的には亜勾配降下を行っています。

バックプロパゲーションについて話をしているので、ニューラルネットワークの最適化について少なくとも少しは理解していると思います。同じ問題がニューラルネットワーク分類器でも発生します。これが、人々がそこで他の損失関数も使用する理由です。


だから私があなたを正しく理解していれば、線形SVMは1層NNと考えることができると本当に言っています-単一層は単なる線形変換であり、ヒンジ損失があります関数?Ax+b
StevieP 2015年

1
はい、線形SVMは基本的に、出力ノードで線形アクティブ化があり、ヒンジ損失を介してトレーニングされる1層NNと同等です。
Dougal 2015年

5

線形の場合のみに関心がある場合は、ロジスティック回帰(LR)が凸と分析の両方であるため、より適切な選択です(正則化に関心がある場合は、それを隆起させることができます)。しかし、ノンリニアに行くときは、そこからトリッキーな部分が浮かび上がります。非線形の場合、凸面と分析の両方を維持するための合理的な方法はありません。2つのうちの1つを犠牲にする必要があります。ニューラルネットでは凸性を犠牲にし、svmsでは正則性を犠牲にします。

厳密に言うと、LRとSVMの間に違いはありません。svmsは、ポイントがラインのどちら側にあるかを予測するだけです。LRは、境界からどれだけ離れているかを考慮します(境界マージンラインでは、シグモイドによって確率0.5が与えられます。 LRの場合)。非線形カーネルの場合、湾曲した超平面からの距離の直観(代数多様性の方が適切です)は、線形の場合と同じではないため、SVMはこの妥協を余儀なくされます。実際には、超曲面からの最短距離を解決するという問題があります。特定の点への移動は非常に難しい(SVM自体よりも難しい)が、一方、Vapnikは、O(1)時間のように、点が境界のどちら側にあるかを予測するだけで非常に簡単です。これはSVMの背後にある真の洞察であり、統計学習理論で利用できる唯一の凸最適化の選択肢になります。しかし、私の感情はあなたが少し多めに犠牲にして、正則性と確率論的性質の両方が失われているということです。しかし、グラウンドトゥルーシングのような特定のケースでは、SVMは非常に信頼性が高く、非凸型の代替とは異なり、完全に偽造可能な科学モデルでもあります。

Tldr:はい、平均値の定理は非分析関数を救うようになります。凸非分析の場合、平均値thoremは不等式に変わり、副勾配にいくつかの境界条件を使用して、副勾配を適切に実行します


1
LRとはどういう意味ですか?
Sycoraxによると、モニカ

@Sycoraxロジスティック回帰
フランクダーノンコート2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.