java计算信息熵_熵的计算
1.什么是熵,這里只談?dòng)?jì)算機(jī)領(lǐng)域的信息熵
2.舉例,以做選擇題為例
3.代碼,用Java代碼來(lái)計(jì)算熵,還是計(jì)算上圖的例子
package net.highersoft.ml;
public class Shang {
public static void main(String[] args) {
// 一道選擇題,4個(gè)選項(xiàng),選項(xiàng)都可能是答案。
//熵=A+B+C+D=A*4
double total=(1.0/4)*(Math.log(4)/Math.log(2))*4 ;
System.out.println(total);
//C選項(xiàng)有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選項(xiàng)是錯(cuò)的
//熵=A*3
double s3=1.0/3*(Math.log(3)/Math.log(2))*3;
System.out.println(s3+"即提供的信息為:"+(total-s3));
//D選項(xiàng)是錯(cuò)的,且A選項(xiàng)是錯(cuò)的
//熵=B*2
double s4=1.0/2*(Math.log(2)/Math.log(2))*2;
System.out.println(s4+"即提供的信息為:"+(s3-s4));
//D選項(xiàng)是錯(cuò)的,且A選項(xiàng)是錯(cuò)的,且B選項(xiàng)是錯(cuò)的
//熵=C
double s5=1.0/1*(Math.log(1)/Math.log(2));
System.out.println(s5+"即提供的信息為:"+(s4-s5));
}
}
評(píng)論:
提交
總結(jié)
以上是生活随笔為你收集整理的java计算信息熵_熵的计算的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【八】自定义Git
- 下一篇: sigmoid函数求导_交叉熵损失函数的