图像检索:Fisher Information Matrix and Fisher Kernel
罗纳德·费雪(Sir Ronald Aylmer Fisher, FRS,1890.2.17-1962.7.29),现代统计学与现代演化论的奠基者之一,安德斯·哈尔德称他是“一位几乎独自建立现代统计科学的天才”,理查·道金斯则认为他是“达尔文最伟大的继承者”。
局部特征作为一种强鲁棒性的特征,其与全局特征构成了CV领域图像内容描述的基础。相比于全局特征,局部特征往往在对低层共有模式的表达上可以做到更细的粒度(关于局部和全局在视觉认知上的作用机制,强烈推荐阅读尺度空间理论),但同时也引发了新的问题,即特征处理效率低、存储大等方面的问题。因而需要将局部特征经过某种编码方式,最终表示成一种紧凑的全局特征表示。
Fisher Vector作为连接单向连接局部特征到全局表示的三大特征编码方法之一(另外两种编码方式见图像检索:BoF、VLAD、FV三剑客),无论是在学术研究领域还是在工业实际应用上,都具有很重要的地位。下面内容是小白菜对Fisher Vector中的Fisher信息矩和Fisher核的数学推导及对应物理意义的总结整理。
Fisher信息矩和Fisher核
在空间χχ中,某样本XX存在TT个观测量,记为X={xt,t=1…T}X={xt,t=1…T}。对应到图像上,样本XX为图像II提取到的TT个DD维的局部描述子,比如SIFT。设μλμλ为概率密度函数,该函数包含有MM个参数,即λ=[λ1,…,λM]λ=[λ1,…,λM]。根据生成式原理,空间χχ中的元素XX可以由概率密度函数进行建模。在统计学上,分数函数(score funciton)可以由对数似然函数的梯度给出,即:
GXλ=∇logμλ(X)GλX=∇logμλ(X)
上式对数函数的梯度,在数学形式上为对数似然函数的一阶偏导,它描述了每一个参数λiλi对该生成式过程的贡献度,换言之,该分数函数GXλGλX描述了生成式模型μλμλ为了更好的拟合数据XX,该模型中的参数需要做怎样的调整。又因为GXλ∈RMGλX∈RM是一个维度为MM维的向量,所以该分数函数的维度仅依赖于λλ中参数的数目MM, 而于观测样本的数目TT无关。此外,一般情况下,该分数函数的期望E[GXλ]=0E[GλX]=0,这一点对于下面讲到的Fisher信息矩物理意义的得到非常重要。
根据信息几何理论,含参分布Γ={μλ,λ∈Λ}Γ={μλ,λ∈Λ}可以视为一个黎曼流形MΛMΛ,其局部度量方式可以由Fisher信息矩(Fisher Information Matrix, FIM)Fλ∈RM×MFλ∈RM×M:
Fλ=Ex∼μλ[GXλ(GXλ)T]Fλ=Ex∼μλ[GλX(GλX)T]
从上式可以看到,Fisher信息矩是分数函数的二阶矩。在一般条件下很容易证明(注意E[GXλ]=0E[GλX]=0):
Fλ=Ex∼μλ[GXλ(GXλ)T]=E[(GXλ)2]=E[(GXλ)2]−E[GXλ]2=Var[GXλ]Fλ=Ex∼μλ[GλX(GλX)T]=E[(GλX)2]=E[(GλX)2]−E[GλX]2=Var[GλX]
从上式可以看到,Fisher信息矩是用来估计最大似然估计(Maximum Likelihood Estimate, MLE)的方程的方差。它直观的表述就是,在独立性假设的条件下,随着收集的观测数据越来越多,这个方差由于是一个相加的形式,因而Fisher信息矩也就变的越来越大,也就表明得到的信息越来越多。
注:此处引用了fisher information 的直观意义是什么?
对于两组不同的观察样本XX和YY,Jaakkola和Haussler提出了使用Fisher核来度量它们之间的相似性,其数学表达形式为:
KFK(X,Y)=(GXλ)TF−1λGXλKFK(X,Y)=(GλX)TFλ−1GλX
又因为FλFλ是半正定的,所以其逆矩阵是存在的。使用cholesky分解可以得到F−1λ=(Lλ)TLλFλ−1=(Lλ)TLλ,上式可以写成内积的表示形式:
KFK(X,Y)=(℘Xλ)T℘YλKFK(X,Y)=(℘λX)T℘λY
其中,
℘Xλ=LλGXλ=Lλ∇logμλ(X)℘λX=LλGλX=Lλ∇logμλ(X)
上式是LλLλ对GXλGλX的归一化,我们将℘Xλ℘λX称为Fisher向量,该Fisher向量℘Xλ℘λX等于梯度向量GXλGλX的维度,又由于GXλGλX的维度仅与概率密度函数的参数数目MM有关,所以空间χχ中任意样本XX的TT个观测量最终都可以表示成一固定维度的向量。通过使用℘Xλ℘λX算子,使得非线性核相似性度量问题转化为线性问题。这种变换带来的一个明显的优势是,在分类的时候可以采用更高效的线性分类器。
from: http://yongyuan.name/blog/fim-fisher-kernel.html
图像检索:Fisher Information Matrix and Fisher Kernel相关推荐
- Fisher Information(费雪信息)详解
Fisher Information(费雪信息) 定义 Fisher Information 是一种衡量"随机观测样本携带的未知参数 θ \theta θ的信息量"的方法,其中 θ ...
- 深度模型从研者 眼里的 似然估计 Hessain 海森矩阵 Fisher Information (费雪信息)...
2019独角兽企业重金招聘Python工程师标准>>> 深度模型的训练的基本依据是最小化模型拟合数据的误差.旨在不仅知其然(如何构建和训练一个深度模型),还应知其所以然(为什么这样训 ...
- 似然估计 Hessain Fisher Information
深度模型的训练的基本依据是最小化模型拟合数据的误差.旨在不仅知其然(如何构建和训练一个深度模型),还应知其所以然(为什么这样训练,可以做哪些优化).我们就会发现,有很多研究者,在面向一些特定问题下,深 ...
- Fisher information(费雪信息)和费雪信息矩阵
费雪信息 在数理统计学,费雪信息 (有时简称为 信息)是一种度量随机变量 X 所含有的关于其自身随机分布函数的未知参数 θ 的信息量.严格地说,它是分数对方差或观测信息的期望值.Fisher信息在最大 ...
- 费雪信息 (Fisher information)
------------------------------------------------------------------------------ 作者:知乎用户 链接:https://ww ...
- Fisher information解释和数学意义
** Fisher information解释和数学意义 在数理统计学,费雪信息 (有时简称为 信息)是一种度量随机变量 X 所含有的关于其自身随机分布函数的未知参数 θ 的信息量.严格地说,它是分数 ...
- fisher information 的直观意义
作者:知乎用户 链接:https://www.zhihu.com/question/26561604/answer/33275982 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...
- matlab fisher检验,模式识别中Fisher分类器的Matlab实现及测试
模式识别中Fisher分类器的Matlab实现及测试 Fisher分类器用于解决二类线性可分问题. Fisher准则基本原理:找到一个最合适的投影轴,使两类样本在该轴上投影之间的距离尽可能远,而每一类 ...
- Fisher Vector费舍尔向量and FIsher Kernel费舍尔核
之前想了解Fisher Vector(以下简称FV)和 Fisher Kernel(以下简称FK) ,花了很长时间查论文看博客,总算明白了点皮毛,为了以后自己能够记得起来,决定用自己能懂的话码出来. ...
最新文章
- YOLObile:面向移动设备的「实时目标检测」算法
- 解决python3 UnicodeDecodeError: 'gbk' codec can't decode byte
- python语言入门详解-python初级教程:入门详解
- 全球与中国成品家具市场发展现状与战略规划布局策略分析报告2022-2028年版
- redis学习及实践5---redis相关资料参考文献
- [LOJ#6068]. 「2017 山东一轮集训 Day4」棋盘[费用流]
- 区块链在供应链领域的应用
- Java知识点总结(Java容器-ArrayList)
- win 7系统连接WIFI
- matlab2c使用c++实现matlab函数系列教程-eye函数
- java中对数组进行排序_如何在Java中对数组排序
- ubuntu查看 固态硬盘位置_Linux的硬盘使用情况、挂载、SSD挂载(查看df -h不能看到的卷)...
- Promise.then(a, b)与Promise.then(a).catch(b)问题详解
- linux内核异常解析,内核异常分析方法
- 北峰通信为安徽监狱管理局构建无盲区数字对讲通信调度系统
- (百例编程)76.小明买书
- 可能有用的技术社区(转载)
- Python数据挖掘(2)简单的分类问题
- HBuilder(uniapp) 配置android模拟器
- 高新技术企业补贴如何申请?
热门文章
- spring security oauth2 架构---官方
- logback--How do I configure an AsyncAppender with code? 转载
- How to allow/block PING on Linux server – IPTables rules for icmp---reference
- 【开发工具】学习记录 初学MATLAB
- Ubuntu18.04安装Dlib-19.19.0成功
- tensorflow中的seq2seq例子为什么需要bucket? 有关tensorflow 的sequence2sequence例子,为什么需要用到buckets,rnn不是可以处理任意长度的数据吗
- 99%创业会失败 去中心化是良药么?
- 抢椅子游戏java_游戏教案小班抢椅子
- JVM - 结合代码示例彻底搞懂Java内存区域_对象在堆-栈-方法区(元空间)之间的关系
- Redis-09Redis的基础事务