zoukankan      html  css  js  c++  java
  • 最大熵模型(一)熵是什么及如何表示熵

    主要参考源:
    http://www.zhizhihu.com/html/y2011/3489.html
    http://blog.sina.com.cn/s/blog_73361fab0100zi8x.html


    1.0 熵的概念
    如果一个系统ξ有多个事件S={E1,E2...En},每个事件的概率分布为P={p1,p2...pn}
    则每个事件本身的信息量为:
                      
    为整个系统的平均信息量:
                      
                      熵越大,事件越不确定。熵为0,事件是确定的。

    2.0 如何理解熵?
    1 先看两个例子
      例1:
        称硬币的问题,说有5个硬币,其中有一个是假的,这个假硬币的重量很轻,所以打算用一个天平称称,问需要最少称几次就能够保证把这个假硬币给找出来?
      例2:
        毒水和白鼠的问题,5瓶水其中一瓶有毒,用最少几只白鼠能够保证把毒水找出来?

      这类问题的解法:对半分,二叉树,二进制。
      硬币问题解法:
        拿硬币的例子,可以取四个放在天平两端,如果相等那么剩下的那个就是假的。
        如果不相等,把轻的一端的两个硬币再称一次就知道假的了。
        因为这样称两次就能够保证把假硬币找出来了。
        这里称的事件是有三个结果的:左边重、相等、右边重
      毒水与白鼠问题:
        那么把水分成两组,一组两瓶,一组三瓶,让一只小白鼠和一组,如果中毒,假设是三瓶的那一组,那么再递归的讲这三瓶分组,最坏情况下是用3只小白鼠。
        这里小白鼠的事件只有两个结果:中毒、健康
    2 归纳一下
      我们假设那些毒水的序号为,x∈X={1, 2, 3, 4, 5}。y是第i只小白鼠的症状。y∈Y={1, 2} , 1健康,2中毒
      用二进制的思想的话就是设计编码y1y2...yn使能够把x全部表示出来。
      2 * 2 * 2 = 23=|Y|3=8>5
      3 * 3 = |Y|2=9>5
      我们只用到了x,y的状态,并为用到x,y的内容及意义(我们不关心毒水还是硬币,也不关心中毒,健康)
      也就是说之用到了Y的描述能力,X的‘总不确定度’
      例如小白鼠的例子:
          X的总不确定度H(X)=log|X|=log5,
          Y的描述能力H(Y)=log|Y|=log2
          所以至少要用多少个Y才能把X准确的表达出来?
          
          
          称硬币的问题,Y的表示能力强,log3的表示能力,所以表示x仅需要1.46个y就可以了,即称两次。
      “不确定度”和“描述能力”都表达了一个变量所能变化的程度。在这个变量是用来表示别的变量的时候,这个程度是表达能力。
      在这个变量是被表示变量的时候,这个程度是不确定度。而这个可变化程度,就是一个变量的熵(Entropy)
      显然:熵与变量本身含义无关,仅与变量的可能取值范围有关。

    3 变种
      已知第一个硬币是假硬币的概率是三分之一;第二个硬币是假硬币的概率也是三分之一,其他硬币是假硬币的概率都是九分之一。
      


      

  • 相关阅读:
    mongodb studio 3t 破解无限使用脚本
    香港低价linux虚拟主机,
    c#4.0 Task.Factory.StartNew 用法
    系统进不去怎么办?教你利用bootice工具引导修复系统
    用一个URL加一个JAVA壳做成一个安卓应用
    ANDROID开机动画分析
    你的Android不好用,都是因为这几点原因
    横竖屏切换时不销毁当前activity 和 锁定屏幕
    APP流氓大法之apk 静默安装
    设备管理器勾选后不能再取消了
  • 原文地址:https://www.cnblogs.com/i80386/p/3323555.html
Copyright © 2011-2022 走看看