From Gaussian Mixture Model To Fisher Vector

introduction

本文首先引入Gaussian Mixture Model,然后介绍其具体应用——Fisher Vector。

construction

考虑用隐藏变量 Z 代表不同的高斯分布(比如zj=1是第 j 个高斯分布),而显式变量X服从于这些分布的某种叠加。设对于某个高斯分布有 p(zj=1)=ωj,j=1,,K j=1Kωj=1 ,则关于 Z 的边缘分布可以表示为p(Z)=j=1Kωzjj,同理关于 X 的条件分布可以表示为p(X|Z)=j=1KN(X|μj,Σj)zj

由上面两个式子可得关于 X 的边缘分布为p(X)=Zp(X|Z)p(Z)=j=1KωjN(X|μj,Σj),这意味着此分布中的每一个样本 x 都归属于某一个高斯分布z

另外,我们定义

γ(zi)p(zi=1|X)=p(X|zi=1)p(zi=1)j=1Kp(X|zj=1)p(zj=1)=ωiN(X|μi,Σi)j=1KωjN(X|μj,Σj)
那么 ωi 就是 zi=1 这一事件的先验概率,而 γ(zi) 就是观测到 X={x1,,xN} zi=1 这一事件的后验概率。

而对于单个样本有

γt(zi)p(zi=1|xt)=p(xt|zi=1)p(zi=1)j=1Kp(xt|zj=1)p(zj=1)=ωiN(xt|μi,Σi)j=1KωjN(xt|μj,Σj)
代表该点归属于 zi 类的概率,称为样本的权责(responsibility)。令 Ni=t=1Nγt(zi) ,可以认为这是被分配到第 zi 个高斯聚类的有效点数。

derivation

假设随机变量 X={xt},t=1N 是独立同分布的,其中 xt d 维向量、N为样本个数,由最大似然估计有 L(X|λ)=t=1Nlogp(xt|λ)

现在用混合高斯模型(GMM)来近似这一分布

p(X)=j=1KωjN(X|μj,Σj),j=1Kωi=1
代入上式有 L(X|λ)=t=1Nlog[j=1KωjN(xt|μj,Σj)] ,利用拉格朗日乘子法可得到 ω 确定时 μ,Σ 的最大似然估计。

易求得 Lμi=t=1Nγt(zi)Σ1i(xtμi) ,假设协方差矩阵非奇异,令偏导数为零有 μi=1Nit=1Nγt(zi)xt

同样令 LΣi=0 Σi=1Nit=1Nγt(zi)(xtμi)(xtμi)T 。此形式与单变量高斯分布的方差估计类似,只是每个样本点乘了一个先验概率作为权重。

F=L(X|λ)+β(i=1Kωi1) ,由 Fωi=0 ,得 t=1Npi(xt|λi)j=1Kωjpj(xt|λj)+β=0 。两边同乘 i=1Kωi=1 ,可得 β=N ;两边同乘 ωi 并令 β=N ,易得 ωi=NiN

综上所述,可以得到关于 X 分布全部参数的估计λ={ωi,μi,Σi},i=1,,K。将该模型代入EM算法的框架中,注意到 q(Z)=p(Z),p(Z|X,θ)=γ(Z) ,我们可以分别固定 ω μ,Σ ,将E和M步骤的反复执行,以达到全部参数的最大似然估计。

具体流程:

  1. 选择初始参数 λ0
  2. E步骤:令 p(Z)=γ(Z) ,即
    ωi=γ(zi)=ωiN(X|μi,Σi)j=1KωjN(X|μj,Σj),i=1,,K
  3. M步骤:求 λnew=argmaxθL(X|λold) ,即
    μi=1Nit=1Nγt(zi)xt,Σi=1Nit=1Nγt(zi)(xtμi)(xtμi)T,i=1,,K
  4. 观察 L(X|λ) 是否收敛

其过程类似于K-means算法,不同的是对数据有先验的假设——认为它们属于一个混合高斯模型。另外它相比K-means算法需要更多的计算量和更长的迭代周期来达到收敛,因此通常先利用K-means算法找到合适的初始值 λ0 ,然后再进行EM操作。

application

模式识别方法主要分为两类,一类是生成式方法(如GMM等),主要反映同类数据之间的相似程度,可以处理长度不一的输入数据;一类是判别式方法(如SVM等),主要反映异类数据之间的差异程度,不能处理长度不一的数据但是分类效果较好。Fisher Vector想要结合二者的优势,将生成式的模型用于判别式分类器中。

假设对于一幅图片的多个 D 维同类描述子(SIFT、iDT等)是独立同分布的,可以用一个有对角协方差阵的K维混合高斯模型(probabilistic visual-vocabulary)来进行拟合,即

p(X)=j=1KωjN(X|μj,Σj)

在线下通过大量训练样本采用EM算法得到其参数的最大似然估计。为了使关于 ω 的评价函数的区分度更大,我们引入其softmax形式
ωi=eαij=1Keaj
然后求每一个描述子关于每一个子分布的评价函数,最终得到 (1+2D)K 维的评价矩阵,其元素为
logp(xt)αilogp(xt)μilogp(xt)Σi=γt(zi)ωi=γt(zi)(xtμiσ2i)=γt(zi)[(xtμk)2σ2kσ3k]

如果 K 的值越大,模型与原始分布就越接近,替代效果就越好,当然矩阵的维数也越高——可以将此矩阵作为分类依据,因为它可以看作是图片的一种表达形式,并且不同图片得到的矩阵内容会不一样。

注:这里的训练模型和计算评价的过程是分开的;如果假定对于大容量样本的一系列不同类描述子(随机变量)两两不相关,则协方差矩阵退化为对角阵即Σk=σ2k,这将有助于简化评价函数的表达式。

Fisher Vector包含了比原描述子丰富得多的图像信息,因为它通过将样本转化为模型得到参数,总结了原描述子所遵循的某些规律,得到了更普遍、深刻的图像表达形式,这也是encoding technique的基本思想。

summary

高斯混合模型是单高斯模型的延伸,能够平滑地近似任意形状的密度分布,适用于多类别的划分,也可以应用于复杂对象的建模。

reference

  1. Expectation–Maximization Algorithm
  2. Pattern Recognization and Maching Learning
  3. Image Classification with the Fisher Vector: Theory and Practice
  4. 高斯混合模型(GMM)介绍以及学习笔记
  5. Fisher vector学习笔记
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值