美文网首页大虾带着小虾米
信息熵:当n=3时的三维曲面可视化表示

信息熵:当n=3时的三维曲面可视化表示

作者: 龙鹰图腾223 | 来源:发表于2019-06-27 00:15 被阅读16次

    文中的代码为matlab代码。关于信息熵的概念由于本文非科普向就不介绍了。基于python的代码可以参见参考资料1.

    文中的第三部分为信息熵事件数为3时的三维空间可视化表示。

    1  信息熵的公式表示

    p:该类别占比的概率,也可以理解为纯度,纯度越高,占比越大

    信息熵越大,能给我们利用的信息就越少。

    2  n=2时的信息熵图像

    单看组成函数x*log(x),其图像和代码如下,不过不存在只有n=1的情况,因为此时p=1,信息熵始终为0,表示确定事件:


    x=[0:0.002:1];

    y=-x.*log(x);

    figure;

    plot(x,y)

    title('y=-x*log(x)')


    函数的图像

    而当只有两个事件或两个类时,信息熵的表示如下:


    x=[0:0.002:1];

    y=-x.*log(x)+-1*(1-x).*log(1-x);

    figure;

    plot(x,y)

    title('y=-(x.*log(x)+(1-x).*log(1-x))');


    y轴表示信息熵

    3  n=3时的信息熵图像

    用matlab画三维的信息熵图像时,遇到了值域的问题:

    x+y+z=1

    x+y<=1

    0<=x,y,z<=1

    eoi=-(x.*log(x)+y.*log(y)+(1-x-y).*log(1-x-y))

    代码画图如下:


    X=[0:0.002:1];

    Y=[0:0.002:1];

    [x,y]=meshgrid(X,Y);

    z=1-x-y;

    z(z<=0)=0;

    eoi=-(x.*log(x)+y.*log(y)+z.*log(z));

    eoi((x+y)>1)=NaN;

    figure;

    mesh(X,Y,eoi);


    z轴表示信息熵

    热力表示如下:

    z轴表示信息熵

    通过二维和三维的信息熵图像可以发现,当各类出现的概率相同时,信息熵的值最大,相应的提供的信息最少。

    4  决策树和信息熵

    基于信息熵这一概念,可以实现决策树的算法,决策树根据使用信息熵方式的不同,可以分为ID.3、C4.5和CART

    ID.3:信息增益

    C4.5:信息增益比

    CART:基尼系数

    参考资料:

    【1】https://blog.csdn.net/qq_26972735/article/details/84618931  Matplotlib画图----信息熵函数图像(python环境)

    【2】https://www.jianshu.com/p/a546022061e0  决策树节点划分时的特征选择依据

    相关文章

      网友评论

        本文标题:信息熵:当n=3时的三维曲面可视化表示

        本文链接:https://www.haomeiwen.com/subject/bnweqctx.html