[Zhu, Chen and Xing ICML2011]
Infinite SVM: a Dirichlet Process Mixture of
Large-Margin Kernel Machines
2011/07/16
中谷秀洋 @ サイボウズ・ラボ株式会社
@shuyo / id:n_shuyo
References
• [Blei & Jordan 06] Variational inference for Dirichlet process mixtures
• [Jaakkola, Meila & Jebara NIPS99] Maximum entropy discrimination
• [Kurihara, Welling & Teh IJCAI07] Collapsed variational Dirichlet process mixture models
• [Zhu & Xing JMLR09] Maximum entropy discrimination Markov networks
Infinite SVM (iSVM)
• (多クラス)SVM を DPM で混合化
• VB+リスク関数(相対エントロピー を含む)の最小化で推論
• ソフトマージンはslack変数で
• って書いてあるけど、[Zhu & Xing 09] + DPM という方が正しい気がする
Maximum Entropy Discrimination (MED)
• 識別関数 + large margin に確率モデル
を入れて、エントロピー最大原理で解く
– パラメータに事前分布
– 識別関数を logit で定義し、境界条件によっ
て admissible set を記述
– 事前分布P0から射影
(相対エントロピー最小)
[Jaakkola+ 99]
MED (1)
• 識別関数
• Minimum Relative Entropy(MRE)
– 次の制約の下で、KL(P||P0) を最小化
– marginに分布を入れて、ソフトマージン実現
• 𝑃0(𝛾𝑡) = 𝑐𝑒−𝑐 1−𝛾𝑡
1
𝛾𝑡
0
低い確率で 誤判定を許す
MED (2)
• 定理:MRE の解は次の形になる
– ただし λ はラグランジュ乗数であり、
J(λ)=-log Z(λ) の unique maximum
MED (3)
• MED は SVM を special case として含む
– 識別関数
• たとえば 𝑃 𝑋 𝜃𝑦 ∝ exp(1
2𝑦( 𝜃𝑇𝑋 − 𝑏))とおく
– θ~N(0,1), b は無情報事前分布
– このとき J(λ) は次のようになる
iSVM のモデル (1)
• V, Z は Dirichlet Process
ηは後述
V~GEM(α)
点dが属するコンポーネント
iSVM のモデル (2)
• X は指数型分布族、γはその共役事前分布
iSVM のモデル (3)
• 𝑌 ∈ 1,⋯ , 𝑙 を使って識別関数を定義
• Y には分布が入っていない
– ηは(例えば)ガウス分布からサンプリング
予測ルール
• ベイズ予測
推論 / VBパート (1)
• 独立性を仮定して事後分布を推定
– 𝑞 𝑧, 𝜂, 𝛾, 𝑣 =
𝑞 𝑧𝑑𝐷𝑑=1 𝑞 𝜂𝑡
𝑇𝑡=1 𝑞 𝛾𝑡
𝑇𝑡=1 𝑞 𝑣𝑡
𝑇−1𝑡=1
– DPMのトピック数をT(=20)に制限
• vとγは通常のVBでそのまま推論できる
• zとηはできない
– Yに分布が入っていないから
[Blei & Jordan 06]
推論 / VBパート (2)
• 例:q(v)の推論
– 𝑞 𝑧𝑑 = Multi 𝜙𝑑1 , ⋯ , 𝜙𝑑
𝑇 , 𝜙𝑡 = 𝜙𝑑𝑡
𝑑 とすると、
– ln 𝑞(𝑣) = 𝐸𝑞 𝑧,𝜂,𝛾 𝑙𝑛 𝑝 𝑋, 𝑧, 𝜂, 𝑣, 𝛾
= ln 𝑝0 𝑣 + 𝐸𝑧𝑑[ln 𝑝(𝑧𝑑|𝑣)] + 𝑐𝑜𝑛𝑠𝑡.𝑑
ln 𝑞(𝑣𝑡) = ln 𝑝0 𝑣 + 𝜙𝑡 ln 𝑣𝑡 + 𝜙𝑗 ln 1 − 𝑣𝑡𝑇𝑗=𝑡+1 +𝑐𝑜𝑛𝑠𝑡
– 𝑝0 𝑣𝑡 = Beta 1, 𝛼 とおくと、
• 𝑞 𝑣𝑡 = Beta(1 + 𝜙𝑡 , 𝛼 + 𝜙𝑗𝑇𝑗=𝑡+1 )
• q(γ) も同様に計算できる。
(参考)Collapsed variational DPM
• DPMをVBで解くには、トピック数をTで切り詰める
– 単純に 𝑞 𝑣𝑇 = 1 = 1、それ以降の確率は強制的に0
• Collapsed VB DPM [Kurihara+ 07]はvを積分消去することで、切り詰めによる誤差を抑えている?
[Kurihara, Welling & Teh IJCAI07]
推論 / リスク最小化パート (1)
• q(z)とq(η)を推定する
= KL(q(η)||p0(η|β)) + KL(q(z,v)||p(z,v|α))
たぶんq(z)の間違い
= 𝐾𝐿(𝑞(𝑧, 𝛾, 𝑣)||𝑝 𝑧, 𝛾, 𝑣 𝐷 )から 𝛾, 𝑣の寄与分を除いたもの
推論 / リスク最小化パート (2)
[Zhu & Xing 09] = 0 (if y is correct) = 2 (otherwise)
yd
F(y,xd)
margin
≥ 𝑙𝑑∆(𝑦) for all y
推論 / リスク最小化パート (3)
• これを解くと、
– p0 𝜂 = 𝑁 𝜇0, Σ0 , 𝑞 𝜂𝑡 = 𝑁 𝜇𝑡 , Σ0 とすると
– 𝑞 𝑧𝑑 = Multi 𝜙𝑑1 , ⋯ , 𝜙𝑑
𝑇 についても解くと
Experiments (1)
• 人工データ
– MNL = Multinominal Logit
– dpMNL = DP mixture of MNL (Shahbaba+
JMLR09)
Experiments (2)
• images of 13 type animals (SIFT特徴量)
– MMH = multiview method (Chen+ 2010)
– kmeans+SVM = kmeans でクラスタリング+各クラスタを linear SVM
Top Related