熵的计算
1.什么是熵,这里只谈计算机领域的信息熵
2.举例,以做选择题为例
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)); } }
相关阅读
评论:
↓ 广告开始-头部带绿为生活 ↓
↑ 广告结束-尾部支持多点击 ↑