熵及相关名称含义

最近在用互信息的一些知识,有些

1.熵(entropy)

系统混乱程度的度量,系统越混乱,熵越大。当完全均匀分布时,这个系统的熵就达到了最大值,也就是说此时的系统越混乱。

对于事件来说,当所有状态概率相等的时候熵最大,这个时候系统对取什么态没有偏向性,所以混乱度最大。

在信息世界,熵越高,则能传输越多的信息,熵越低,则意味着传输的信息越少。(这里指的是信息量)

2.信息熵(information entropy)

信息量的大小的度量,用于描述随机变量的不确定度。事件的不确定性越大,则信息量越大,信息熵越大。

2.1定义

 

2.2性质

(1)对称性:当p(xi)任意变换时,熵函数的值不变

 

(2)确定性:

 

(3)非负性

 

(4)扩展性

 

(5)可加性质

 

(6)强可加性

 

(7)极值性

 

(8)条件减少熵

当人们拥有关于另外一个随机系统的知识的时候,对于人们所关注的随机系统来说,它剩下的不确定性一定不会增加,至少是保持不变,一般情况下不确定性会减少

3.互信息Mutual Information

互信息是两个随机变量间相互依赖性的量度,互信息度量两个随机变量共享的信息——知道随机变量X,对随机变量Y的不确定性减少的程度(或者知道随机变量Y,对随机变量X的不确定性减少的程度,用I(X;Y)表示

3.1定义

对于两个随机变量 和 ,如果其联合分布为 ,边缘分布为 ,则互信息可以定义为:

 

为了理解互信息的涵义,我们把公式中的对数项分解

 

        我们知道概率取负对数表征了当前概率发生所代表的信息量。上式表明,两事件的互信息为各自事件单独发生所代表的信息量之和减去两事件同时发生所代表的信息量之后剩余的信息量,这表明了两事件单独发生给出的信息量之和是有重复的,互信息度量了这种重复的信息量大小。最后再求概率和表示了两事件互信息量的期望。从式中也可以看出,当两事件完全独立时,p ( x , y ) = p ( x ) ⋅ p ( y ) p(x,y)=p(x)\cdot p(y)p(x,y)=p(x)⋅p(y),互信息计算为 0 00,这也是与常识判断相吻合的。(本小节转自信息熵及其相关概念_Northan的博客-CSDN博客_信息熵

4.联合熵 (Joint Entropy)

两个离散随机变量 X XX 和 Y YY 的联合熵为:

 

联合熵表征了两事件同时发生系统的不确定度。

5条件熵(Conditional Entropy)

条件熵H(Y∣X) 表示在已知随机变量 X的条件下随机变量 Y 的不确定性。

 

6.互信息、联合熵、条件熵之间的关系

 

I(X,Y)=H(X)+H(Y)−H(X,Y)=H(Y)−H(YX)=H(X)−H(XY)=H(X,Y)−H(YX)−H(XY)

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

相对熵又称KL散度,用于衡量对于同一个随机变量x的两个分布p(x)和q(x)之间的差异。在机器学习中,p(x)常用于描述样本的真实分布,例如[1,0,0,0]表示样本属于第一类,而q(x)则常常用于表示预测的分布,例如[0.7,0.1,0.1,0.1]。显然使用q(x)来描述样本不如p(x)准确,q(x)需要不断地学习来拟合准确的分布p(x)。

KL散度的公式如下:

 

KL散度的值越小表示两个分布越接近

 

8交叉熵(cross entropy)

我们将KL散度的公式进行变形,得到:

 

前半部分就是p(x)的熵,后半部分就是我们的交叉熵:

 

机器学习中,我们常常使用KL散度来评估predict和label之间的差别,但是由于KL散度的前半部分是一个常量,所以我们常常将后半部分的交叉熵作为损失函数,其实二者是一样的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 信息是用来衡量信息量的一个概念。在信息论中,(entropy)是指一个随机变量所包含的信息量的期望值。信息越高,表示信息的不确定性越大,而信息越低,表示信息的不确定性越小。信息的计算公式为: H(X) = - Σ (P(xi) * log2(P(xi))) 其中,H(X)表示随机变量X的信息,P(xi)表示随机变量X取值为xi的概率。 在Matlab中,可以利用编程实现信息的计算。首先,需要确定随机变量的概率分布。假设随机变量X的可能取值为1、2、3,对应的概率分别为0.3、0.4、0.3。可以定义一个概率分布向量P,如P = [0.3, 0.4, 0.3],然后利用循环和条件语句计算信息: H = 0; % 初始化信息 for i = 1:length(P) if P(i) ~= 0 H = H - P(i) * log2(P(i)); end end 通过以上代码,就可以得到随机变量X的信息H的值。在实际应用中,可以利用Matlab中的统计工具箱函数entropy()来计算信息,这样更加方便和高效。 需要注意的是,在计算信息时,概率P不能为0,否则会出现除零错误。因此,在编程实现过程中,需要进行相关的判断和处理。 ### 回答2: 信息是信息论中一个重要的概念,用来描述一组数据中包含的信息量的多少。在信息论中,信息通常用来衡量一个随机变量的不确定性或者信息量。信息越高,表示数据中的不确定性越大,反之则越低。 在信息论中,信息的计算公式为: H(X) = -Σ(P(x) * log2(P(x))) 其中,H(X)代表随机变量X的信息,P(x)代表X取值为x的概率。 如果使用Matlab来实现信息的计算,可以按照以下步骤进行: 1. 首先,定义一个数组或者向量来表示随机变量的取值。 2. 根据定义的随机变量取值计算每个取值出现的概率。可以使用histcounts函数来计算概率。 3. 根据上述计算得到的概率,使用上述的信息计算公式来计算信息。 下面是一个简单的Matlab代码实例: ```matlab % 定义随机变量的取值 X = [1, 2, 3, 4, 5]; % 定义随机变量的概率 p = [0.2, 0.1, 0.3, 0.2, 0.2]; % 计算信息 H = -sum(p .* log2(p)); % 输出结果 fprintf('信息: %.2f\n', H); ``` 在上述代码中,定义了一个取值为1到5的随机变量X和相应的概率p。然后,根据信息的计算公式,计算了信息H。最后,使用fprintf函数输出计算得到的信息的结果。 总之,信息是用来衡量一组数据中包含的信息量的多少的指标,通过Matlab可以方便地计算信息,并对数据的不确定性进行分析。 ### 回答3: 信息是用来衡量一个随机变量的不确定性或者信息量的度量。在信息论中,信息被定义为一个离散随机变量的分布概率的加权平均数的负对数。信息越大,说明随机变量的不确定性越大,所携带的信息量也越大。 在MATLAB中,可以通过以下步骤来计算信息: 1. 首先,需要计算随机变量的概率分布。假设我们有一个离散随机变量X,它的取值范围是1到n,其中n是变量的取值个数。我们可以使用MATLAB中的histcounts函数来计算每个取值的频数。 2. 接下来,计算每个取值的概率。通过将频数除以总的样本数,可以得到每个取值的概率。 3. 然后,计算每个概率的对数。使用MATLAB中的log函数可以得到每个概率的自然对数。 4. 最后,计算信息。将每个对数概率与概率相乘,并将它们相加,再取相反数即可得到信息。 以下是一个MATLAB代码示例,用来计算一个离散随机变量的信息: ```matlab % 随机变量X的取值 X = [1, 2, 3, 2, 1, 3, 4, 2, 1, 4]; % 计算频数 [counts, ~] = histcounts(X, 'Normalization', 'probability'); % 计算每个概率的对数 log_probs = -log2(counts); % 计算信息 entropy = sum(counts.*log_probs); disp(['信息为:', num2str(entropy)]); ``` 通过运行以上代码,即可得到随机变量X的信息。 总之,信息是用来衡量不确定性和信息量的度量。在MATLAB中,可以通过计算概率和对数等步骤来实现计算信息。以上给出了一个简单的MATLAB代码示例,用来计算离散随机变量的信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值