java计算信息熵_熵的计算

本文介绍了信息熵在计算机领域的概念,并通过具体的选择题例子展示了如何使用Java代码计算信息熵。文章详细展示了不同选项概率下的熵计算过程,包括4个选项等概率、1个选项有50%概率、3个选项等概率、2个选项等概率以及只剩1个正确选项的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.什么是熵,这里只谈计算机领域的信息熵

8fd5ccbd9cffa8cf6560a74f5c9dd025.png

2.举例,以做选择题为例

ea54963f88fdbb9238e5be986882449b.png

3.代码,用Java代码来计算熵,还是计算上图的例子

package net.highersoft.ml;

public class Shang {

public static void main(String[] args) {

// 一道选择题,4个选项,选项都可能是答案。

//熵=A+B+C+D=A*4

double total=(1.0/4)*(Math.log(4)/Math.log(2))*4 ;

System.out.println(total);

//C选项有50%可能性是答案

//熵=C+(A+B+D)=C+3*A

double ratA=1.0/3*(1.0/2);

double s2=total-1.0/2*(Math.log(2)/Math.log(2))+ratA*(Math.log(1/ratA)/Math.log(2))*3;

System.out.println(s2);

//D选项是错的

//熵=A*3

double s3=1.0/3*(Math.log(3)/Math.log(2))*3;

System.out.println(s3+"即提供的信息为:"+(total-s3));

//D选项是错的,且A选项是错的

//熵=B*2

double s4=1.0/2*(Math.log(2)/Math.log(2))*2;

System.out.println(s4+"即提供的信息为:"+(s3-s4));

//D选项是错的,且A选项是错的,且B选项是错的

//熵=C

double s5=1.0/1*(Math.log(1)/Math.log(2));

System.out.println(s5+"即提供的信息为:"+(s4-s5));

}

}

评论:

840af79b707682b8e4f5cd094b05c52f.png

提交

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值