精华内容
下载资源
问答
  • 信息熵·互信息代码

    2018-10-22 20:39:02
    可以利用此代码完成信息熵及其互信息直接的计算,解决的·互信息在实际计算中不好求解的情况。此代码在matlab中可正常运行。
  • 互信息计算matlab代码互信息代码 互信息的计算代码是用Matlab编写的。 互信息是衡量一个随机变量告诉我们另一个变量的数量的其中之一。 它是具有(通常)比特单位的无量纲量,并且可以被认为是在已知另一个随机变量...
  • 信息熵、自信息与互信息

    千次阅读 2021-01-12 21:09:15
    信息熵 对某件事件的不确定性叫做熵,熵值单位为byte,计算公式为:。它是统计平均意义下的不确定性,包括熵,条件熵,联合熵。 例如对于一道选择题A、B、C、D四个选项,后面的百分数为选该选项的概率,假设如下...

    信息熵

    对某件事件的不确定性叫做熵,熵值单位为bit,计算公式为:H(x) = log_{2}N 。它是统计平均意义下的不确定性,包括熵,条件熵,联合熵。

    例如对于一道选择题A、B、C、D四个选项,后面的百分数为选该选项的概率,假设如下我们来分析熵值:

    A:25%  B:25%  C:25%  D:25% 

    四种等可能,log4=2bit,可以理解为需要两个比特位来表示ABCD分别为00、01、10、11;当然也可以理解为要选出任意一个选项,需要抛两次硬币来确定,先后顺序为:正反、正正、反正,反反;

    A:100%  B:0%  C:0%  D:0% 

    log1=0,熵值为0,可以理解为无需抛硬币就知道答案。

    个人理解:熵越大,越不确定,我们越懵逼,但是蕴含的信息量也越大,我们可以更加求知进步探索文明;相反:熵越小,事件越确定,我们对事物更加可知甚至完全认识,所蕴含的信息量更小。举个栗子,小明说明天太阳从东方升起,这句话熵几乎为0,没有携带什么信息量;但是被告知明天太阳从西方升起,这句话所含的信息量就非常大了,若真则颠覆世界,若假至少能说明小明是个神经病!

    如果是不等概率,如何计算熵值?公式如下:

    H(x)=-\sum_{x\epsilon X}^{p}p(x)log_{2}p(x) 其实这个公式只是\bg_white log_{2}N的一般化,假如 p(x) 为等概率都为 1/N 那么推导一下就为:  \bg_white \fn_jvn H(x)= -\sum_{i}^{N}\frac{1}{N}log_{2}\frac{1}{N} = \sum_{i=1}^{N}\frac{1}{N}log_{2}N=log_{2}N   

    熵一般有两种解释:(1)熵是不确定性的度量;(2)熵是信息的度量 

    具体参考:苏剑林. (Dec. 01, 2015). 《“熵”不起:从熵、最大熵原理到最大熵模型(一) 》[Blog post]. Retrieved from https://spaces.ac.cn/archives/3534

    信息:能消除熵的数据叫做信息。

    例如对于一道选择题A、B、C、D四个选项,后面的百分数为选该选项的概率,假设如下有人告诉说D选项是错误的。

    A:25%  B:25%  C:25%  D:25%   变为  A:33%  B:33%  C:33%  D:0%  即计算熵值为log3=1.58,很明显通过被告知的信息使得熵值减少了0.42的熵,那也就说明这则信息提供了0.42的数据量。

     

    噪音:不能消除信息熵的数据叫做噪音。

    例如被告知ABCD中有一个是正确答案。

     

    之间的关系

    熵和信息数量相等,意义相反;信息用来消除熵(不确定性);

    熵在等概率时达到最大。

    概率是某件事情某个可能情况的确定性,而熵是某人对某件事到底是哪种情况的不确定性。

    信息是相对的,相对于观察者对该事物的了解程度而言。若会这道题ABCD,则别人提供的正确答案提供的信息量为0bit。若不会,则提供了2bit。

    先讲一个例子

    下面以一个例子进行说明,假设一个暗箱有3个红球,2个黑球,5个白球,假设取到红球的记为事件X,取到黑球记为事件Y,要求我们在箱子中无放回取出三个球;

    在概率论中我们明白\bg_white p(x_{1}):表示取到一个红球的概率(先验概率),p(x_{1}|y_{2})表示条件概率(后验概率),在取到两个黑球的条件下取到一个红球的概率。类似于这个,后面会涉及到先验和后验两个词。

     

    自信息

    未经统计平均的不确定性,包括自信息量、条件自信息量、联合自信息量;自信息的概念有点像熵,都是表示不确定性的一个量,自信息不是信息,互信息量才是信息,而是先验不确定性,另外注意与熵的联系与区别。 \bg_white I(x_{k}) : 表示x_{k}的先验不确定性,也称为\bg_white x_{k}的自信息量。公式为: I(x_{k})=-log_{2}p(x_{k}),即概率得倒数取对数。由此看出概率越大,自信息(不确定性)越小 。其实信息熵说到底就是自信息的期望!!!如下图告知了明天的天气概率求自信息:

    自信息即概率得倒数求对数,分别为 1bit,2bit,3bit,3bit ; 一般以2为底数,当然也可以以其他数为底数,单位相应变化如下:

    ​                                 

     

     

     

    互信息

    互信息(Mutual Information)是度量两个事件集合之间的相关性(mutual dependence);

    上面我们谈到自信息,即对某件事情的不确定性。\bg_white I(x_{i})表示取到i个红球的不确定性,即取到i个红球的自信息。\bg_white I(x_{i})也常常称为先验不确定性,\bg_white I(x_{i}|y_{j}) 称为后验不确定性。结合以上例子基础知识,接下来我们需要说明如何计算互信息量。互信息是从一件事物中获取关于另外一件事的信息量,单位也是bit。公式如下:

    y_{i}中获取关于x_{i}的信息\bg_white I(x_{i};y_{j}) =x_{i}的先验不确定性-y_{j}的后验不确定性   = I(x_{i})-I(x_{i}|y_{j})    

    通过下面特性互易性推算我们可以得到  \bg_white I(x_{i};y_{j})=I(y_{j};x_{i})

    假设一个暗箱有3个红球,2个黑球,5个白球,假设取到红球的记为事件X,取到黑球记为事件Y,要求我们在箱子中无放回取出三个球;

    那么X可取0、1、2、3,Y可取0、1、2,求I(X;Y)可通过最上面第一个公式求和得出。

    特性

    当互信息量为正则意味不确定性更小,互信息量为负不确定性更大。

     

                                                                             例题

                                                               (1):

                                                              (2):

     

     

     

     

     

     

     

     

     

    展开全文
  • 互信息公式及概述

    千次阅读 2021-01-14 13:22:49
    在概率论和信息论中,两个随机变量的互信息(Mutual Information,简称MI)或转移信息(transinformation)是变量间相互依赖性的量度。不同于相关系数,互信息并不局限于实值随机变量,它更加一般且决定着联合分布 p(X,Y...

    在概率论和信息论中,两个随机变量的互信息(Mutual Information,简称MI)或转移信息(transinformation)是变量间相互依赖性的量度。不同于相关系数,互信息并不局限于实值随机变量,它更加一般且决定着联合分布 p(X,Y) 和分解的边缘分布的乘积 p(X)p(Y) 的相似程度。互信息(Mutual Information)是度量两个事件集合之间的相关性(mutual dependence)。互信息最常用的单位是bit。

    互信息的定义

    正式地,两个离散随机变量 X 和 Y 的互信息可以定义为:

    其中 p(x,y) 是 X 和 Y 的联合概率分布函数,而p(x)和p(y)分别是 X 和 Y 的边缘概率分布函数。

    在连续随机变量的情形下,求和被替换成了二重定积分:

    其中 p(x,y) 当前是 X 和 Y 的联合概率密度函数,而p(x)和p(y)分别是 X 和 Y 的边缘概率密度函数。

    互信息量I(xi;yj)在联合概率空间P(XY)中的统计平均值。 平均互信息I(X;Y)克服了互信息量I(xi;yj)的随机性,成为一个确定的量。如果对数以 2 为基底,互信息的单位是bit。

    直观上,互信息度量 X 和 Y 共享的信息:它度量知道这两个变量其中一个,对另一个不确定度减少的程度。例如,如果 X 和 Y 相互独立,则知道 X 不对 Y 提供任何信息,反之亦然,所以它们的互信息为零。在另一个极端,如果 X 是 Y 的一个确定性函数,且 Y 也是 X 的一个确定性函数,那么传递的所有信息被 X 和 Y 共享:知道 X 决定 Y 的值,反之亦然。因此,在此情形互信息与 Y(或 X)单独包含的不确定度相同,称作 Y(或 X)的熵。而且,这个互信息与 X 的熵和 Y 的熵相同。(这种情形的一个非常特殊的情况是当 X 和 Y 为相同随机变量时。)

    互信息是 X 和 Y 联合分布相对于假定 X 和 Y 独立情况下的联合分布之间的内在依赖性。于是互信息以下面方式度量依赖性:I(X; Y) = 0 当且仅当 X 和 Y 为独立随机变量。从一个方向很容易看出:当 X 和 Y 独立时,p(x,y) = p(x) p(y),因此:

    此外,互信息是非负的(即 I(X;Y) ≥ 0; 见下文),而且是对称的(即 I(X;Y) = I(Y;X))。

    与其他量的关系

    互信息又可以等价地表示成

    其中H(X)和H(Y) 是边缘熵,H(X|Y)和H(Y|X)是条件熵,而H(X,Y)是X和Y的联合熵。注意到这组关系和并集、差集和交集的关系类似,用Venn图表示:

    于是,在互信息定义的基础上使用琴生不等式,我们可以证明 I(X;Y) 是非负的,因此H(X)>=H(X|Y),这里我们给出 I(X;Y) = H(Y) – H(Y|X) 的详细推导:

    上面其他性质的证明类似。

    直观地说,如果把熵 H(Y) 看作一个随机变量不确定度的量度,那么 H(Y|X) 就是 X 没有涉及到的 Y 的部分的不确定度的量度。这就是“在 X 已知之后 Y 的剩余不确定度的量”,于是第一个等式的右边就可以读作“Y的不确定度,减去在 X 已知之后 Y 的剩余不确定度的量”,此式等价于“移除知道 X 后 Y 的不确定度的量”。这证实了互信息的直观意义为知道其中一个变量提供的另一个的信息量(即不确定度的减少量)。

    注意到离散情形 H(X|X) = 0,于是 H(X) = I(X;X)。因此 I(X;X) ≥ I(X;Y),我们可以制定”一个变量至少包含其他任何变量可以提供的与它有关的信息“的基本原理。

    展开全文
  • 基于互信息的特征选择算法MATLAB实现

    万次阅读 多人点赞 2018-08-08 11:10:34
    在概率论和信息论中,两个随机变量的互信息(Mutual Information,简称MI)或转移信息(transinformation)是变量间相互依赖性的量度。不同于相关系数,互信息并不局限于实值随机变量,它更加一般且决定着联合分布 p...

    在概率论和信息论中,两个随机变量的互信息(Mutual Information,简称MI)或转移信息(transinformation)是变量间相互依赖性的量度。不同于相关系数,互信息并不局限于实值随机变量,它更加一般且决定着联合分布 p(X,Y) 和分解的边缘分布的乘积 p(X)p(Y) 的相似程度。互信息(Mutual Information)是度量两个事件集合之间的相关性(mutual dependence)。互信息最常用的单位是bit。

    互信息的定义
    正式地,两个离散随机变量 X 和 Y 的互信息可以定义为:

    其中 p(x,y) 是 X 和 Y 的联合概率分布函数,而p(x)和p(y)分别是 X 和 Y 的边缘概率分布函数。
    这里写图片描述
    在连续随机变量的情形下,求和被替换成了二重定积分:
    这里写图片描述
    其中 p(x,y) 当前是 X 和 Y 的联合概率密度函数,而p(x)和p(y)分别是 X 和 Y 的边缘概率密度函数。

    互信息量I(xi;yj)在联合概率空间P(XY)中的统计平均值。 平均互信息I(X;Y)克服了互信息量I(xi;yj)的随机性,成为一个确定的量。如果对数以 2 为基底,互信息的单位是bit。

    直观上,互信息度量 X 和 Y 共享的信息:它度量知道这两个变量其中一个,对另一个不确定度减少的程度。例如,如果 X 和 Y 相互独立,则知道 X 不对 Y 提供任何信息,反之亦然,所以它们的互信息为零。在另一个极端,如果 X 是 Y 的一个确定性函数,且 Y 也是 X 的一个确定性函数,那么传递的所有信息被 X 和 Y 共享:知道 X 决定 Y 的值,反之亦然。因此,在此情形互信息与 Y(或 X)单独包含的不确定度相同,称作 Y(或 X)的熵。而且,这个互信息与 X 的熵和 Y 的熵相同。(这种情形的一个非常特殊的情况是当 X 和 Y 为相同随机变量时。)

    互信息是 X 和 Y 联合分布相对于假定 X 和 Y 独立情况下的联合分布之间的内在依赖性。于是互信息以下面方式度量依赖性:I(X; Y) = 0 当且仅当 X 和 Y 为独立随机变量。从一个方向很容易看出:当 X 和 Y 独立时,p(x,y) = p(x) p(y),因此:
    这里写图片描述
    此外,互信息是非负的(即 I(X;Y) ≥ 0; 见下文),而且是对称的(即 I(X;Y) = I(Y;X))。

    更多互信息内容请访问:http://www.omegaxyz.com/2018/08/02/mi/

    互信息特征选择算法的步骤
    ①划分数据集
    ②利用互信息对特征进行排序
    ③选择前n个特征利用SVM进行训练
    ④在测试集上评价特征子集计算错误率
    代码
    注意使用的数据集是dlbcl,大概五千多维,可以从UCI上下载,最终选择前100特征进行训练。

    主函数代码:

    clear all
    close all
    clc;
    [X_train,Y_train,X_test,Y_test] = divide_dlbcl();
    Y_train(Y_train==0)=-1;
    Y_test(Y_test==0)=-1;
    % number of features
    numF = size(X_train,2);
    
    
    
    [ ranking , w] = mutInfFS( X_train, Y_train, numF );
    k = 100; % select the Top 2 features
    svmStruct = svmtrain(X_train(:,ranking(1:k)),Y_train,'showplot',true);
    C = svmclassify(svmStruct,X_test(:,ranking(1:k)),'showplot',true);
    err_rate = sum(Y_test~= C)/size(X_test,1); % mis-classification rate
    conMat = confusionmat(Y_test,C); % the confusion matrix
    fprintf('\nAccuracy: %.2f%%, Error-Rate: %.2f \n',100*(1-err_rate),err_rate);

    mutInfFS.m

    function [ rank , w] = mutInfFS( X,Y,numF )
    rank = [];
    for i = 1:size(X,2)
        rank = [rank; -muteinf(X(:,i),Y) i];
    end;
    rank = sortrows(rank,1);    
    w = rank(1:numF, 1);
    rank = rank(1:numF, 2);
    
    end

    muteinf.m

    function info = muteinf(A, Y)
    n = size(A,1);%实例数量
    Z = [A Y];%所有实例的维度值及标签
    if(n/10 > 20)
        nbins = 20;
    else
        nbins = max(floor(n/10),10);%设置区间的个数
    end;
    pA = hist(A, nbins);%min(A)到max(A)划分出nbins个区间出来,求每个区间的概率
    pA = pA ./ n;%除以实例数量
    
    i = find(pA == 0);
    pA(i) = 0.00001;%不能使某一区间的概率为0
    
    od = size(Y,2);%一个维度
    cl = od;
    %下面是求实例不同标签的的概率值,也就是频率
    if(od == 1)
        pY = [length(find(Y==+1)) length(find(Y==-1))] / n;
        cl = 2;
    else
        pY = zeros(1,od);
        for i=1:od
            pY(i) = length(find(Y==+1));
        end;
        pY = pY / n;
    end;
    p = zeros(cl,nbins);
    rx = abs(max(A) - min(A)) / nbins;%每个区间长度
    for i = 1:cl
        xl = min(A);%变量的下界
        for j = 1:nbins
            if(i == 2) && (od == 1)
                interval = (xl <= Z(:,1)) & (Z(:,2) == -1);
            else
                interval = (xl <= Z(:,1)) & (Z(:,i+1) == +1);
            end;
            if(j < nbins)
                interval = interval & (Z(:,1) < xl + rx);
            end;
            %find(interval)
            p(i,j) = length(find(interval));
    
            if p(i,j) == 0 % hack!
                p(i,j) = 0.00001;
            end
    
            xl = xl + rx;
        end;
    end;
    HA = -sum(pA .* log(pA));%计算当前维度的信息熵
    HY = -sum(pY .* log(pY));%计算标签的信息熵
    pA = repmat(pA,cl,1);
    pY = repmat(pY',1,nbins);
    p = p ./ n;
    info = sum(sum(p .* log(p ./ (pA .* pY))));
    info = 2 * info ./ (HA + HY);%计算互信息

    前100个特征的效果:

    Accuracy: 86.36%, Error-Rate: 0.14

    选择前两个特征进行训练(压缩率接近100%,把上述代码中的K设为2即可)的二维图:
    这里写图片描述
    Accuracy: 75.00%, Error-Rate: 0.25

    更多内容访问omegaxyz.com
    网站所有代码采用Apache 2.0授权
    网站文章采用知识共享许可协议BY-NC-SA4.0授权
    © 2018 • OmegaXYZ-版权所有 转载请注明出处

    展开全文
  • 信息论:熵与互信息

    万次阅读 多人点赞 2016-11-25 21:18:43
    这篇文章主要讲:熵, 联合熵(joint entropy),条件熵(conditional entropy),相对熵(relative entropy,KL 距离),互信息(mutual information),交叉熵(cross entropy),困惑度(perplexity)。 ...

    http://blog.csdn.net/pipisorry/article/details/51695283

    这篇文章主要讲:熵, 联合熵(joint entropy),条件熵(conditional entropy),相对熵(relative entropy,KL 距离),互信息(mutual information),交叉熵(cross entropy),困惑度(perplexity)。

    熵/信息熵

    在信息论中,熵是接收的每条消息中包含的信息的平均量,又被称为信息熵、信源熵、平均自信息量。这里, 消息代表来自分布或数据流中的事件、样本或特征。在信息世界,熵越高,则能传输越多的信息,熵越低,则意味着传输的信息越少。

    和热力学熵的联系:在1948年,克劳德·艾尔伍德·香农将热力学的熵,引入到信息论,因此它又被称为香农熵。物理学家和化学家对一个系统自发地从初始状态向前演进过程中,遵循热力学第二定律而发生的熵的变化更感兴趣。在传统热力学中,熵被定义为对系统的宏观测定,并没有涉及概率分布,而概率分布是信息熵的核心定义。

    信息熵公式的来源

    信息:信息量可以被看成在学习 x 的值的时候的“惊讶程度”。如果有人告诉我们一个相当不可能的时间发生了,我们收到的信息要多于我们被告知某个很可能发生的事件发生时收到的信息,如果我们知道某件事情一定会发生,那么我们就不会接收到信息。于是,我们对于信息内容的度量将依赖于概率分布 p(x) ,因此我们想要寻找一个函数 h(x) ,它是概率 p(x) 的单调递减函数,表达了信息的内容。 h(·) 的形式可以这样寻找:如果我们有两个不相关的事件 x 和 y ,那么我们观察到两个事件同时发生时获得的信息应该等于观察到事件各自发生时获得的信息之和,即 h(x, y) = h(x) + h(y) {采用概率分布的对数作为信息的量度的原因是其可加性。例如,投掷一次硬币提供了1 Sh的信息,而掷 m 次就为 m 位。更一般地,你需要用 log2(n) 位来表示一个可以取 n 个值的变量。}。两个不相关事件是统计独立的,因此 p(x, y) = p(x)p(y) 。根据这两个关系,很容易看出 h(x) 一定与 p(x) 的对数有关,满足这两个条件的函数肯定是负对数形式。因此,我们有

    h(x) = − log 2 p(x)                                (1.92)

    负号确保了信息一定是正数或者是零。注意,低概率事件 x 对应于高的信息量。

    假设一个发送者想传输一个随机变量的值给接收者。这个过程中,他们传输的平均信息量通可以通过求公式(1.92)关于概率分布 p(x) 的期望得到。即事件的概率分布和每个事件的信息量构成了一个随机变量,这个随机变量的均值(即期望)就是这个分布产生的信息量的平均值(即)。

     

    熵的定义

    依据Boltzmann's H-theorem,香农把随机变量 X 的熵值 Η(希腊字母Eta)定义如下,其值域为 {x1, ...,xn}:

    \Eta(X) = \mathrm{E}[\mathrm{I}(X)] = \mathrm{E}[-\ln(\mathrm{P}(X))].

    其中, P 为 X 的概率质量函数(probability mass function),E 为期望函数,而 I(X) 是X 的信息量(又称为自信息)。I(X) 本身是个随机变数。

    当取自有限的样本时,熵的公式可以表示为:

    \Eta(X) = \sum_{i} {\mathrm{P}(x_i)\,\mathrm{I}(x_i)} = -\sum_{i} {\mathrm{P}(x_i) \log_b \mathrm{P}(x_i)},

    熵又称为自信息(self-information),表示信源 X 每发一个符号(不论发什么符号)所提供的平均信息量。

    熵可以理解为不确定性的量度(或者说是多样性diversity的度量),因为越随机的信源的熵越大。熵可以被视为描述一个随机变量的不确定性的数量。一个随机变量的熵越大,它的不确定性越大。那么,正确估计其值的可能性就越小。越不确定的随机变量越需要大的信息量用以确定其值。

    熵和最短编码长度的这种关系是一种普遍的情形。无噪声编码定理(oiselesscodingtheorem)(Shannon,1948)表明,熵是传输一个随机变量状态值所需的比特位的下界。

    熵的单位

    单位取决于定义用到对数的底。当b = 2,熵的单位是bit;当b = e,熵的单位是nat;而当b = 10,熵的单位是 Hart。

    熵的取值范围

    从定义式,我们可以看出,虽然信息熵经常被称为负熵,但是其取值恒为正,这是因为pi恒小于1。不过,由于信息的接受就是不肯定性的消除,即熵的消除(此处的熵取“热力学熵”中“熵”的含义),所以信息熵才常被人称作负熵。

    熵的取值范围为[0~lgK]。

    其中|X|是X的取值个数。

    由于 0 ≤ p i ≤ 1 ,因此熵是非负的。当 p i = 1 且所有其他的 p j̸ = i = 0 时,熵取得最小值0

    在概率归一化的限制下,使用拉格朗日乘数法可以找到熵的最大值。因此,我们要最大化

    可以证明,当所有的 p(x i ) 都相等,且值为 p(x i ) = 1/M 时,熵取得最大值当且仅当X的分布是均匀分布时右边的等号成立。即当X服从均匀分布时,熵最大)。其中, M 是状态 x i 的总数。此时对应的熵值为 H = ln M 。这个结果也可以通过 Jensen 不等式推导出来。

    [Lecture 4 Shannon Information Entropy Maximum and Minimum]

    熵的特性

    任何满足这些假设的熵的定义均正比以下形式

    -K\sum _{​{i=1}}^{n}p_{i}\log(p_{i})

    其中,K是与选择的度量单位相对应的一个正比常数。下文中,pi = Pr(X = xi)且\mathrm{H} _{n}(p_{1},\ldots ,p_{n})=\mathrm{H} (X)

    连续性

    该量度应连续,概率值小幅变化只能引起熵的微小变化。

    对称性

    符号xi重新排序后,该量度应不变。

    \mathrm{H} _{n}\left(p_{1},p_{2},\ldots \right)=\mathrm{H} _{n}\left(p_{2},p_{1},\ldots \right)等。

    极值性

    所有符号等可能出现的情况下,熵达到最大值(所有可能的事件等概率时不确定性最高)。

    \Eta_n(p_1,\ldots,p_n) \le \Eta_n\left(\frac{1}{n}, \ldots, \frac{1}{n}\right) = \log_b (n)

    等概率事件的熵应随符号的数量增加。

    {\displaystyle \mathrm {H} _{n}{\bigg (}\underbrace {​{\frac {1}{n}},\ldots ,{\frac {1}{n}}} _{n}{\bigg )}=\log _{b}(n)<\log _{b}(n+1)=\mathrm {H} _{n+1}{\bigg (}\underbrace {​{\frac {1}{n+1}},\ldots ,{\frac {1}{n+1}}} _{n+1}{\bigg )}.}

    可加性

    熵的量与该过程如何被划分无关。

    最后给出的这个函数关系刻画了一个系统与其子系统的熵的关系。如果子系统之间的相互作用是已知的,则可以通过子系统的熵来计算一个系统的熵。

    给定n个均匀分布元素的集合,分为k个箱(子系统),每个里面有 b1, ..., bk 个元素,合起来的熵应等于系统的熵与各个箱子的熵的和,每个箱子的权重为在该箱中的概率。

    对于正整数bi其中b1 + ... + bk = n来说,

    \Eta_n\left(\frac{1}{n}, \ldots, \frac{1}{n}\right) = \Eta_k\left(\frac{b_1}{n}, \ldots, \frac{b_k}{n}\right) + \sum_{i=1}^k \frac{b_i}{n} \, \Eta_{b_i}\left(\frac{1}{b_i}, \ldots, \frac{1}{b_i}\right)

    选取k = nb1 = ... = bn = 1,这意味着确定符号的熵为零:Η1(1) = 0。这就是说可以用n进制熵来定义n个符号的信源符号集的效率。[信息冗余]

    进一步性质

    香农熵满足以下性质,借由将熵看成“在揭示随机变量X的值后,从中得到的信息量(或消除的不确定性量)”,可来帮助理解其中一些性质。

    • 增减一概率为零的事件不改变熵:

    \mathrm{H} _{​{n+1}}(p_{1},\ldots ,p_{n},0)=\mathrm{H} _{n}(p_{1},\ldots ,p_{n})

    • 可用琴生不等式证明

    \mathrm{H} (X)=\operatorname {E}\left[\log _{b}\left({\frac  {1}{p(X)}}\right)\right]\leq \log _{b}\left(\operatorname {E}\left[{\frac  {1}{p(X)}}\right]\right)=\log _{b}(n)

    具有均匀概率分布的信源符号集可以有效地达到最大熵logb(n):所有可能的事件是等概率的时候,不确定性最大。

    • 计算 (X,Y)得到的熵或信息量(即同时计算XY)等于通过进行两个连续实验得到的信息:先计算Y的值,然后在你知道Y的值条件下得出X的值。写作

    \Eta(X,Y)=\Eta(X|Y)+\Eta(Y)=\Eta(Y|X)+\Eta(X)

    • 如果Y=f(X),其中f是确定性的,那么Η(f(X)|X) = 0。应用前一公式Η(X, f(X))就会产生

    \mathrm{H} (X)+\mathrm{H} (f(X)|X)=\mathrm{H} (f(X))+\mathrm{H} (X|f(X)),

    所以Η(f(X)) ≤ Η(X),因此当后者是通过确定性函数传递时,变量的熵只能降低。

    • 如果XY是两个独立实验,那么知道Y的值不影响我们对X值的认知(因为两者独立,所以互不影响):

    \Eta(X|Y)=\Eta(X)

    • 两个事件同时发生的熵不大于每个事件单独发生的熵的总和,且仅当两个事件是独立的情况下相等。更具体地说,如果XY是同一概率空间的两个随机变量,而 (X,Y)表示它们的笛卡尔积,则

    \Eta(X,Y)\leq \Eta(X)+\Eta(Y)

    [熵 (信息论)]

     

    熵的示例

    示例1

    至于是如何编码使其平均长度最小的,参考[哈夫曼编码]就知道了。

    示例2

    皮皮blog

    微分熵

    由来

    量化连续变量 x :只要 x 落在第 i 个箱子中,我们就把 x 赋值为 x i 。

    我们看到,熵的离散形式与连续形式的差是ln ∆ ,这在极限 ∆ → 0 的情形下发散。这反映出一个事实:具体化一个连续变量需要大量的比特位。

     省略公式(1.102)右侧的第二项 − ln ∆ ,然后考虑极限 ∆ → 0 。

    微分熵的取值范围

    连续变量的最大熵:当一阶和二阶矩受限且保留归一化的限制时,最大化微分熵的分布是高斯分布。

    Note: 这里熵的单位是nat(底为ln),如果熵的单位是bit(底为lg2),那么最大微分熵会不会是均匀分布?lz没有证实。

    可得高斯分布的微分熵:

    因此我们看到熵随着分布宽度(即 σ 2 )的增加而增加。这个结果也表明,与离散熵不同,微分熵可以为负,因为对于公式(1.110),当

     

     

    熵的计算

    。。。

    给csdn跪了,写的博客自己少了一大半!!!!

     

     

    香农熵的变型

    联合熵(joint entropy)

    \

    联合熵实际上就是描述一对随机变量平均所需要的信息量。

    条件熵(conditional entropy)

    可理解为给定X的值前提下随机变量Y的随机性的量。

    \

    条件熵由来的解释:

    假设我们有一个联合概率分布 p(x, y) 。我们从这个概率分布中抽取了一对 x 和 y 。如果 x 的值已知,那么需要确定对应的 y 值所需的附加的信息就是 − ln p(y | x) 。因此,用来确定 y 值的平均附加信息可以写成

    \

    因此,描述 x 和 y 所需的信息是描述 x 自己所需的信息,加上给定 x 的情况下具体化 y 所需的额外信息

    皮皮blog

     

     

    相对熵(relative entropy, 或称 Kullback-Leiblerdivergence, KL 距离)

    考虑某个未知的分布 p(x) ,假定我们已经使用一个近似的分布 q(x) 对它进行了建模。如果我们使用 q(x) 来建立一个编码体系,用来把 x 的值传给接收者,那么,由于我们使用了 q(x) 而不是真实分布 p(x) ,因此在具体化 x 的值(假定我们选择了一个高效的编码系统)时,我们需要一些附加的信息。我们需要的平均的附加信息量(单位是 nat )为

    lz:同时,从这可以看出,只有p(x)的积分是一个定值,所以比较不相似度时也可以去掉第二项,就发现第一项其实就是交叉熵!交叉熵实际上是更广泛的相对熵的特殊情形。

    \ 注意这个定义前面是没有-号的!!!

    可以把 Kullback-Leibler 散度(KL 散度之所以不说距离,是因为不满足对称性和三角形法则)。看做两个分布 p(x) 和 q(x) 之间不相似程度的度量。相对熵常被用以衡量两个随机分布的差距。当两个随机分布相同时,其相对熵为0。当两个随机分布的差别增加时,其相对熵也增加。当q=p时,该度量的结果是0,而其它度量的结果为正值。直观上,它度量了使用q而不是p的压缩损失(以二进制)的程度。

    \

    假设数据通过未知分布 p(x) 生成,我们想要对 p(x) 建模。我们可以试着使用一些参数分布 q(x | θ) 来近似这个分布。 q(x | θ) 由可调节的参数 θ 控制(例如一个多元高斯分布)。一种确定 θ 的方式是最小化 p(x) 和 q(x | θ) 之间关于 θ 的 Kullback-Leibler 散度。我们不能直接这么做,因为我们不知道 p(x) 。但是,假设我们已经观察到了服从分布 p(x) 的有限数量的训练点 x n ,其中 n = 1, . . . , N 。那么,关于 p(x) 的期望就可以通过这些点的有限加和,使用公式(1.35)来近似,即

    公式(1.119)右侧的第二项与 θ 无关,第一项是使用训练集估计的分布 q(x | θ) 下的 θ 的负对数似然函数。因此我们看到,最小化 Kullback-Leibler 散度等价于最大化似然函数。

     

    交叉熵(cross entropy)

    如果一个随机变量 X ~ p(x),q(x)为用于近似 p(x)的概率分布,那么,随机变量 X 和模型 q 之间的交叉熵定义为:

    \

    交叉熵的概念用以衡量估计模型与真实概率分布之间的差异。

    \

    困惑度(perplexity)

    在设计语言模型时,我们通常用困惑度来代替交叉熵衡量语言模型的好坏。PPL是用在自然语言处理领域(NLP)中,衡量语言模型好坏的指标。它主要是根据每个词来估计一句话出现的概率,并用句子长度作normalize,公式为

    或者等价地,

    即给定语言L的样本

    \

    语言模型设计的任务就是寻找困惑度最小的模型,使其最接近真实的语言。困惑度越低,说明语言模型面对一句话感到困惑的程度越低,语言模型就越好。说模型的PPL下降到90,可以直观地理解为,在模型生成一句话时下一个词有90个合理选择,可选词数越少,我们大致认为模型越准确。这样也能解释,为什么PPL越小,模型越好。

    互信息(mutual information)

    如果 (X, Y) ~ p(x, y), X, Y 之间的互信息 I(X; Y)定义为:

    Note: 互信息 I (X; Y)取值为非负。当X、Y相互独立时,I(X,Y)最小为0。

    互信息实际上是更广泛的相对熵的特殊情形

    如果变量不是独立的,那么我们可以通过考察联合概率分布与边缘概率分布乘积之间的 Kullback-Leibler 散度来判断它们是否“接近”于相互独立。此时, Kullback-Leibler 散度为

    这被称为变量 x 和变量 y 之间的互信息( mutual information )。根据 Kullback-Leibler 散度的性质,我们看到 I[x, y] ≥ 0 ,当且仅当 x 和 y 相互独立时等号成立。

    使用概率的加和规则和乘积规则,我们看到互信息和条件熵之间的关系为

    可以把互信息看成由于知道 y 值而造成的 x 的不确定性的减小(反之亦然)(即Y的值透露了多少关于X 的信息量)。

    \

    \

    点互信息PMI(Pointwise Mutual Information)

    PMI(Pointwise Mutual Information)这个指标来衡量两个事物之间的相关性(比如两个词)。

    其原理很简单,公式如下:

    在概率论中,我们知道,如果x跟y不相关,则p(x,y)=p(x)p(y)。二者相关性越大,则p(x,y)就相比于p(x)p(y)越大。用后面的式子可能更好理解,在y出现的情况下x出现的条件概率p(x|y)除以x本身出现的概率p(x),自然就表示x跟y的相关程度。 这里的log来自于信息论的理论,可以简单理解为,当对p(x)取log之后就将一个概率转换为了信息量(要再乘以-1将其变为正数),以2为底时可以简单理解为用多少个bits可以表示这个变量。(更正式的解释请阅读信息论相关理论)

    点互信息PMI其实就是从信息论里面的互信息这个概念里面衍生出来的。其衡量的是两个随机变量之间的相关性,即一个随机变量中包含的关于另一个随机变量的信息量。所谓的随机变量,即随机试验结果的量的表示,可以简单理解为按照一个概率分布进行取值的变量,比如随机抽查的一个人的身高就是一个随机变量。可以看出,互信息其实就是对X和Y的所有可能的取值情况的点互信息PMI的加权和,而点互信息只是对其中两个点进行相关性判断。因此,点互信息这个名字还是很形象的。

    [点互信息(PMI,Pointwise Mutual Information) ]

    互信息、条件熵与联合熵的区别与联系

    venn图表示关系

     

    \

    由于 H(X|X) = 0, 所以, H(X) = H(X) – H(X|X) = I(X; X)

    这一方面说明了为什么熵又称自信息,另一方面说明了两个完全相互依赖的变量之间的互信息并不是一个常量,而是取决于它们的熵。

    从图中可以看出,条件熵可以通过联合熵 - 熵( H(X|Y) = H(X, Y) - H(Y) )表示,也可以通过熵 - 互信息( H(X|Y) = H(X) - I(X; Y) )表示。

    皮皮blog

     

     

     

     

    加权熵

    香农的经典信息论“只计字数、不计内容”的信息量计算前提,不考虑人的主体意识和状态差别,忽视了不同受信者的这些差别对信息价值和信息量的根本影响,所以没有涉及信息的本质意义。可认为香农的经典信息论只能算作“信号论”、“通信论”或“符号信息论”,香农的“信息量”充其量只能算作信息的“数据量”。

    有人研究发现,同一个随机事件发生,对每一个收信人都有不同的意义。如果每一个收信人对各事件都考虑一个意义的因素,定量地给出该事件的权重,那么香农的信息熵(平均信息量)就应该修正为加权熵。于是有了加权熵的定义:

    设一个随机变量X包含了一系列(q个)随机事件

    (1)

    对于某收信人来说,每个事件权重相应的为

    (2)

    如果事先知道每个事件发生的概率依次为

    (3)

    且这些概率满足完备条件

    (4)

    即所有可能的事件发生的概率总和为1,则这个随机变量X可用下述的概率空间来描述:

    (5)

    那么,加权熵定义为

    (6)

    特殊地,如果收信人对信源发生的每一个事件都不感兴趣,或没有意义,也就是说在收信人看来各个事件的权重都为0,即

    (7)

    那么即使香农信息熵不为0,按照加权熵定义式(6)计算出来的意义信息量也为0。这就是我们日常生活中司空见惯的“垃圾信息”!

    可见,意义信息的加权熵考虑了收信人的关注程度和事件发生对收信人的重要程度,计算出来的平均信息量与香农的信息熵相比更接近实际了一步。

    但实际生活中信息的价值和效用不是仅仅用一个权重就可以描述清楚的,况且每个事件的权重也不是都可以用一个数字来定量描述的。所以采用加权熵来描述信息量的作法仍然有其局限性。

    [意义信息与加权熵]

     

    雷尼熵/瑞利熵/莱利熵/Renyi熵 Renyi entropy

    在信息论中,Renyi系列熵包括香农熵,Hartley熵,最小熵和冲突熵。熵量化了一个系统的多样性,不确定性或者随机性。Renyi熵由Alfred Renyi的名字命名。香农熵只是Renyi熵系列中的一种熵。Renyi熵是对通常的香农熵的扩展,算是q阶广义熵。

    设有一离散变量的概率分布(p1,p2,...,pn),Renyi信息熵定义为:

    R(q)=\frac{\log(\sum_{i=1}^{n}p_i^q)}{1-q}

    其中,q为一个可取任意实数的一个参数。

    当q=0的时候,R(q)=log(n),即计算出了元素的个数的对数。

    当q=1的时候,分子和分母同时趋近于0,于是,可以通过络必达法则求它的极限为:

    \lim_{q\rightarrow 1}R(q)=-\sum_{i=1}^{n}p_i \log(p_i)

    即,当q=1的时候,Renyi熵变成了Shannon信息熵。(证明wiki

    [wikipedia Rényi entropy]
    [Renyi熵]

    diversity

    exp(entropy)

    renyi entropy-based diversity:

    {}^{q}\!D={1 \over M_{q-1}}={1 \over {\sqrt[{q-1}]{\sum _{i=1}^{R}p_{i}p_{i}^{q-1}}}}=\left({\sum _{i=1}^{R}p_{i}^{q}}\right)^{1/(1-q)}

    皮皮blog

     

     

     

     

    熵求解示例

    熵计算示例1

    \

    \

    \

    \

    \

    熵计算示例2

    \

    注意,这里的边缘概率是基于每个音节的,其值是基于每个字符的概率的两倍,因此,每个字符的概率值应该为相应边缘概率的1/2,即:
    p: 1/16 t: 3/8 k: 1/16 a: 1/4 i: 1/8 u: 1/8

    求联合熵可以有几种方法,以下我们采用连锁规则方法可以得到:

    \

    \

    \

    皮皮blog

     

     

    熵的编程实现及拓展包

    python实现熵的计算

    [Scipy教程 - 统计函数库scipy.stats ]

    renyi熵的实现

    renyi_entropy_func = lambda pij: 1 / (1 - q) * (np.log2((np.array(pij) ** q).sum()))

    [dit/dit: Python package for information theory]

    from: http://blog.csdn.net/pipisorry/article/details/51695283

    ref: [http://zh.wikipedia.org]

    [信息论基础 Tomas Cover]

     

    展开全文
  • 作为文本分类中常用的特征选择方法,互信息在进行特征权重计算时,未考虑特征的正、负相关性及其影响程度的不同,同时也忽略了特征在类别中的分布情况。针对以上不足,通过分别引入权重差异因子和类别关联因子进行...
  • sklearn:点互信息互信息

    万次阅读 2017-06-03 00:07:53
    1、点互信息PMI 机器学习相关文献里面,经常会用到点互信息PMI(Pointwise Mutual Information)这个指标来衡量两个事物之间的相关性(比如两个 词)。 其原理很简单,公式如下: 在概率论中,我们知道,如果x跟y不...
  • 最大互信息系数

    千次阅读 2019-12-22 18:54:15
    对最大互信息系数的一些思考 最大互信息系数(MIC) MIC(Maximal Information Coefficient)最大互信息系数。用来衡量两个特征变量之间的关联程度(线性或非线性关系),相较于Mutual Information(MI)互信息而言...
  • 列向量互信息计算通用MATLAB代码

    千次阅读 热门讨论 2018-08-16 17:28:20
    互信息的定义 正式地,两个离散随机变量 X 和 Y 的互信息可以定义为: 其中 p(x,y) 是 X 和 Y 的联合概率分布函数,而p(x)和p(y)分别是 X 和 Y 的边缘概率分布函数。 其中 p(x,y) 当前是 X 和 Y 的联合概率密度...
  • 条件互信息的理解(Conditional Mutual Information)

    千次阅读 多人点赞 2019-10-25 11:39:03
    在概率论,尤其是信息论中,条件互信息的基本形式是在给定第三个变量值的情况下,两个随机变量互信息的期望值。 对于离散随机变量X,Y,Z,其条件互信息为: 用图形表示条件互信息为: 具体的定义等后续补充。 ...
  • 使用互信息进行特征选择

    千次阅读 2019-06-27 18:14:19
    特征提取 1.TF-IDF学习 之前已经总结过TF-IDF相关的内容了。...本质内容就是一个公式的问题。 然后现在主要总结的就是关于TF-IDF相关的代码分析。先总结出特征提取的流程,然后将相关的内容以代码的形式体现出来...2....
  • 互信息(Mutual Information)介绍

    千次阅读 2021-01-23 17:48:09
    在概率论和信息论中,两个随机变量的互信息(Mutual Information,简称MI)或转移信息(transinformation)是变量间相互依赖性的量度。不同于相关系数,互信息并不局限于实值随机变量,它更加一般且决定着联合分布 p...
  • MICMIC 即:Maximal Information Coefficient 最大互信息系数。 使用MIC来衡量两个基因之间的关联程度,线性或非线性关系,相较于Mutual Information(MI)互信息而言有更高的准确度。MIC是一种优秀的数据关联性的计算...
  • 关系,得到配准后的大图,分别计算按照各个候选子图配准情况下的待配准图的互信息,得到最大的互信息所对应的子图,确定最终的配 准结果。实验结果表明,该方法在对灰度差较大的图像进行配准时,能够获得良好的效果...
  • 归一化的互信息

    千次阅读 2019-11-15 15:09:02
    (1)信息熵:对信息进行量化度量,在信源中,考虑的不是某一单个符号发生的不确定性,而是要考虑这个信源所有可能发生情况的平均不确定性。若信源符号有n种取值:U1…Ui…Un,对应概率为:P1…Pi…Pn,且各种符号的...
  • 机器学习,信息理论,信息熵的定义、条件熵的定义、联合熵的定义、互信息的定义、条件互信息的定义
  • 互信息互信息互信息PMI 机器学习相关文献里面,经常会用到点互信息PMI(Pointwise Mutual Information)这个指标来衡量两个事物之间的相关性(比如两个词)。 其原理很简单,公式如下: 在概率论中,我们...
  • 互信息(Mutual Information)的介绍

    千次阅读 2020-06-16 22:02:30
    互信息,Mutual Information,缩写为MI,表示两个变量X与Y是否有关系,以及关系的强弱。如果 (X, Y) ~ p(x, y), X, Y 之间的互信息 I(X; Y)定义为:Note: 互信息 I (X; Y)可为正、负或0。互信息实际上是更广泛的...
  • PMI(Pointwise Mutual Information)点互信息:这一指标用来衡量两个事物之间的相关性。 如下: 在概率论中,如果x和y无关,p(x,y)=p(x)p(y);如果x和y越相关,p(x,y)和p(x)p(y)的比就越大。从后两个条件概率可能...
  • 互信息的深度理解(总结的不错值得一看)

    万次阅读 多人点赞 2018-07-30 09:37:37
    1.互信息的定义  正式地,两个离散随机变量 X 和 Y 的互信息可以定义为:  其中 p(x,y) 是 X 和 Y 的联合概率分布函数,而p(x)和p(y)分别是 X 和 Y 的边缘概率分布函数。  在连续随机变量的...
  • 举例说明信息熵、互信息的计算过程

    千次阅读 多人点赞 2020-04-26 11:23:47
    目录一、 计算公式1、信息熵H(X)2、联合熵H(X,Y)3、互信息I(X,Y)4、条件熵H(X|Y)二、举例说明1、信息熵H(X)2、联合熵H(X,Y)3、互信息I(X,Y)4、条件熵H(X|Y)总结 一、 计算公式 在shannon提出信息论到现在已经有70...
  • 互信息量的理解

    万次阅读 多人点赞 2018-05-26 14:39:49
    我们仅仅停留在随机变量X与Y是否相关这个非黑即白的问题上,而引入信息论中的互信息量,我们不仅可以说明随机变量X与Y之间是否相关,更可以反映随机变量之间相关性的强弱。我们定义信源X发出的消息 a i 通过信道后,...
  • 互信息介绍

    千次阅读 2019-01-05 10:48:05
    为什么–为什么要用互信息互信息用在哪里; 是什么–互信息的定义是什么,如何理解; 怎么办–如何进行互信息的计算,具体的示例; 1.2 背景 不知道大家有没有看过《非诚勿扰》这个电视相亲节目?非诚勿扰节目中,...
  • 信息论的基本想法是一个不太可能的事件居然发生了,要比一个非常可能的事件发生...非常可能发生的事件信息量要比较少,并且极端情况下,确保能够发生的事件应该没有信息量。 较不可能发生的事件具有更高的信息量。 ...
  • 互信息六. 信道容量 一. 信息量 1. 定义 信息量是对事件的不确定性的度量,单位bit。 定义:在随机变量X中,事件x的(自)信息量I(X=x)I(X=x)I(X=x)简写为I(x)=−log2p(x)I(x)=−log_2 p(x)I(x)=−log2​p(x),单位...
  • 提出了一种基于互信息与边缘互距离信息的医学图像配准新测度。...实验证明这种测度得到的配准参数曲线光滑且峰值尖锐,收敛范围宽,对图像大小有更强的鲁棒性,在图像互信息值一样的情况下,仍有辨识能力。
  • 互信息因为还包含了图像各自的熵,能较好地避免这种情况互信息还有一个定义与KL距离相关,KL距离用来度量两个分布之间的距离,设有分布 p p p , q q q ,则它们的KL距离为 ∑ i p ( i ) log ⁡ p ( i ) q ( ...
  • 文本特征选择-互信息

    千次阅读 2017-06-03 16:30:59
    在做文本挖掘,特别是有监督的学习时,常常需要从文本中... 一个常用的方法是计算文档中的词项t与文档类别c的互信息MI,MI度量的是词的存在与否给类别c带来的信息量,互信息的基本定义如下:  应用到文本特征选择:

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 102,270
精华内容 40,908
关键字:

互信息最好的情况

友情链接: bbpress.2.1.zip