费雪信息 (Fisher information)

费雪信息 (Fisher information)——————————————————————————作者:知乎用户链接:https://www.zhihu.com/question/26561604/answer/33275982来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。——————

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

——————————————————————————

作者:知乎用户
链接:https://www.zhihu.com/question/26561604/answer/33275982
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

——————————————————————————

首先我们看一下 Fisher Information 的定义:
假设你观察到 i.i.d 的数据 X_1, X_2, \ldots X_n 服从一个概率分布f(X; \theta),\theta是你的目标参数(for simplicity, 这里\theta是个标量,且不考虑 nuissance parameter),那么你的似然函数(likelihood)就是:
L(\bold{X};\theta) = \prod_{i=1}^n f(X_i;\theta)
为了解得Maximum Likelihood Estimate(MLE),我们要让log likelihood的一阶导数得0,然后解这个方程,得到\hat{\theta}_{MLE}
这个log likelihood的一阶导数也叫,Score function :
S(\bold{X};\theta) = \sum_{i=1}^n \frac{\partial log f(X_i;\theta)}{\partial \theta}

那么Fisher Information,用I(\theta)表示,的定义就是这个Score function的二阶矩(second moment)I(\theta) = E[S(X;\theta)^2]
一般情况下(under specific regularity conditions)可以很容易地证明,E[S(\bold{X};\theta)]= 0, 从而得到:
I(\theta) = E[S(X;\theta)^2]-E[S(X;\theta)]^2 = Var[S(X;\theta)]
于是得到了Fisher Information的第一条数学意义:就是用来估计MLE的方程的方差。它的直观表述就是,随着收集的数据越来越多,这个方差由于是一个Independent sum的形式,也就变的越来越大,也就象征着得到的信息越来越多。

而且,如果log likelihood二阶可导,在一般情况下(under specific regularity conditions)可以很容易地证明:
E[S(\bold{X};\theta)^2] = -E(\frac{\partial^2}{\partial \theta^2}log L(\bold{X};\theta))
于是得到了Fisher Information的第二条数学意义:log likelihood在参数真实值处的负二阶导数的期望。这个意义好像很抽象,但其实超级好懂。
首先看一下一个normalized Bernoulli log likelihood长啥样:

费雪信息 (Fisher information)对于这样的一个log likelihood function,它越平而宽,就代表我们对于参数估计的能力越差,它高而窄,就代表我们对于参数估计的能力越好,也就是信息量越大。而这个log likelihood在参数真实值处的负二阶导数,就反应了这个log likelihood在顶点处的弯曲程度,弯曲程度越大,整个log likelihood的形状就越偏向于高而窄,也就代表掌握的信息越多。

然后,在一般情况下(under specific regularity conditions),通过对score function在真实值处泰勒展开,然后应用中心极限定理,弱大数定律,依概率一致收敛,以及Slutsky定理,可以证明MLE的渐进分布的方差是
I^{-1}(\theta),即
Var(\hat{\theta}_{MLE}) = I^{-1}(\theta), 这也就是
Fisher Information的第三条数学意义。不过这样说不严谨,严格的说,应该是
\sqrt{n}(\hat{\theta}_{MLE}-\theta) \xrightarrow{D} N(0,I^*(\theta)^{-1}), 这里
I^*(\theta)是当只观察到一个X值时的Fisher Information,当有n个 i.i.d 观测值时,
I^*(\theta) = I(\theta)/n。所以这时的直观解释就是,Fisher Information反映了我们对参数估计的准确度,它越大,对参数估计的准确度越高,即代表了越多的信息。

—————————————————————————–

作者:小Q痴子
链接:https://www.zhihu.com/question/26561604/answer/145734266
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

——————————————————————————

参数估计的本质是,假设样本的数据来自于某一个分布,然后利用样本中蕴含的信息来估计参数。一个自然的问题就是:对于分布里的未知参数,这个样本数据给出了多少信息呢?Fisher Information 就衡量了这样的“信息”。

什么样的样本给出的信息更多?直觉上思考这个问题,如果一个事件发生的概率很大,那发生这件事并不能带来太多信息;相反,如果一个事件发生的概率很小,那发生这件事可以带来比较多的信息。

现在我们再回顾一下最大似然估计(Maximum Likelihood Estimation)的基本思想。对于随机变量X \sim f(x|\theta) ,直觉上,当\theta 取到参数的真实值时,似然函数的值应该很大,最大似然估计的思想就是认为 当\theta 取到参数的真实值时似然函数的值应该取到最大值,或者(对数)似然函数的一阶导数为0。

定义对数似然函数为l (x|\theta)=\log f(x|\theta) ,从而l'(x|\theta)=\frac{\partial}{\partial \theta} \log f(x|\theta) = \frac{f'(x|\theta)}{f(x|\theta)},其中f'(x|\theta)f(x|\theta)关于\theta的导数。

根据上面的两段分析,如果l'(x|\theta)非常接近于0,这将是意料之中的事情,因此样本没有带来太多关于参数\theta的信息;相反,如果|l'(x|\theta)|很大,或者说[l'(x|\theta)]^2很大,那么样本就提供了比较多的关于参数\theta的信息。所以,我们可以用[l'(x|\theta)]^2来衡量X提供的信息(information)。但是X是个随机变量,于是我们就考虑[l'(x|\theta)]^2的期望值。

于是就有了Fisher Information的定义(1):
I(\theta)=E{[l'(X|\theta)^2]}=\int [l'(X|\theta)^2] f(x|\theta) dx
如果假设可以交换求导和积分的顺序,那么
\int f'(x|\theta)dx=\frac{\partial}{\partial \theta} \int f(x|\theta) dx =0
\int f''(x|\theta)dx=\frac{\partial^2}{\partial \theta^2} \int f(x|\theta) dx =0
容易看出,
E[l'(X|\theta)]=\int l'(x|\theta)f(x|\theta)dx=\int \frac{f'(x|\theta)}{f(x|\theta)}f(x|\theta)dx=\int f'(x|\theta)dx=0

所以Fisher Information的定义(1)可以改写成定义(2):
I(\theta)=Var [l'(X|\theta)]

(其中用到Var[l'(X|\theta)]=E [l'(X|\theta)]^2 - E^2 [l'(X|\theta)]。)
注意到
l''(x|\theta)=\frac{\partial}{\partial \theta} [\frac{f'(x|\theta)}{f(x|\theta)}]=\frac{f''(x|\theta)f(x|\theta)-[f'(x|\theta)]^2}{[f(x|\theta)]^2}=\frac{f''(x|\theta)}{f(x|\theta)}-[l'(x|\theta)]^2
因此
E[l''(x|\theta)]=\int [\frac{f''(x|\theta)}{f(x|\theta)}-[l'(x|\theta)]^2] f(x|\theta)dx=\int f''(x|\theta)dx - E[l'(x|\theta)]^2=-I(\theta)

至此我们有了关于Fisher Information的第(3)个表达式:
I(\theta)=-E[l''(x|\theta)]=-\int [\frac{\partial ^2}{\partial \theta ^2} \log f(x|\theta)] f(x|\theta) dx
综上所述,我们有三个办法来计算Fisher Information。实际上在大多数问题中,(3)将是最方便的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192063.html原文链接:https://javaforall.net

(0)
上一篇 2026年1月19日 下午11:01
下一篇 2026年1月19日 下午11:43


相关推荐

  • C++ 字符串转时间 与 时间转转字符串[通俗易懂]

    C++ 字符串转时间 与 时间转转字符串[通俗易懂]1、常用的时间存储方式1)time_t类型,这本质上是一个长整数,表示从1970-01-0100:00:00到目前计时时间的秒数,如果需要更精确一点的,可以使用timeval精确到毫秒。2)tm结构,这本质上是一个结构体,里面包含了各时间字段structtm{inttm_sec;/*secondsafterthe…

    2022年6月2日
    320
  • Service中bindService

    Service中bindService最近有用到Activity需要不断的从Service中获取数据,第一个想法肯定就是通过bind回调机制了,有几点概念模糊特此记录下:单独使用bindService(),unbindService()会经历:->onCreate()->onBind()->Servicerunning->onUnbind()->onDestroy()。单独使用startSer…

    2022年6月10日
    51
  • C++ inline 函数简介

    C++ inline 函数简介inline 函数由 inline 关键字定义 引入 inline 函数的主要原因是用它替代 C 中复杂易错不易维护的宏函数

    2026年3月26日
    2
  • c语言图书管理系统出现的问题,C语言图书管理系统中的问题「建议收藏」

    c语言图书管理系统出现的问题,C语言图书管理系统中的问题「建议收藏」系统使用细分的功能模块c语言图书管理系统,分别在main.c文件中调用.开发环境为Win7,Netbeans8.0.2这是main.c#include#include#include#include“bmenu.h”#include“search_allinformation.h”typedefstructbookinfo{字符数[20];/*书号*/字符名称[40];/*书…

    2022年10月11日
    3
  • 数据结构和算法——线性表

    数据结构和算法——线性表

    2022年3月2日
    38
  • 数据库表设计之用户权限表[通俗易懂]

    数据库表设计之用户权限表[通俗易懂]需求分析1、管理员给用户分配权限,权限数据写到数据库中。2、认证服务在进行用户认证时从数据库读取用户的权限数据(动态数据)user:用户表,存储了系统用户信息,用户类型包括:学生、老师、管理员等role:角色表,存储了系统的角色信息,学生、老师、教学管理员、系统管理员等user_role:用户角色表,一个用户可拥有多个角色,一个角色可被多个用户所拥有menu:记录了菜单及菜单下的权限role_permission:角色权限表,一个角色可拥有多个权限,一个权限可被多个角色所拥有…

    2026年4月17日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号