zoukankan      html  css  js  c++  java
  • 熵和基尼不纯度

    1、信息熵:

    一个随机变量 X 可以代表n个随机事件,对应的随机变为X=xi,
    那么熵的定义就是 X的加权信息量。
    H(x) = p(x1)I(x1)+...+p(xn)I(x1) 
            = p(x1)log2(1/p(x1)) +.....+p(xn)log2(1/p(xn))
            = -p(x1)log2(p(x1)) - ........-p(xn)log2(p(xn))
    其中p(xi)代表xi发生的概率
    例如有32个足球队比赛,每一个队的实力相当,那么每一个对胜出的概率都是1/32
    那么 要猜对哪个足球队胜出 非常困难,
    这个时候的熵H(x) = 32 * (1/32)log2(1/(1/32)) = 5
     
    熵也可以作为一个系统的混乱程度的标准;
     
    2、基尼不纯度:
          基尼不纯度的大概意思是 一个随机事件变成它的对立事件的概率
          例如 一个随机事件X ,P(X=0) = 0.5 ,P(X=1)=0.5
          那么基尼不纯度就为   P(X=0)*(1 - P(X=0)) +   P(X=1)*(1 - P(X=1))  = 0.5
     
           一个随机事件Y ,P(Y=0) = 0.1 ,P(Y=1)=0.9
          那么基尼不纯度就为P(Y=0)*(1 - P(Y=0)) +   P(Y=1)*(1 - P(Y=1))  = 0.18
         很明显 X比Y更混乱,因为两个都为0.5 很难判断哪个发生。而Y就确定得多,Y=0发生的概率很大。而基尼不纯度也就越小。
        所以基尼不纯度也可以作为 衡量系统混乱程度的 标准
  • 相关阅读:
    C#学习-多态
    C#学习-子类的初始化顺序
    C#学习-面向对象
    Python数据类型知识点全解
    python 复制图片到剪贴板
    pyperclip
    pyautogui
    多线程代码案例
    常用正则表达式最强整理(速查手册)
    python os
  • 原文地址:https://www.cnblogs.com/dylan9/p/9324081.html
Copyright © 2011-2022 走看看