• 信息 信息熵 信息增益


    最近在学机器学习的相关内容,看到决策树这一块提到了信息增益等内容,在此做下笔记

    信息&信息熵&信息增益

    信息

    所谓信息,引用香农的话,信息即消除不确定性的东西,十分形象

    定义系统(X),发生了事件(x_i),其中(i∈{0,1,2,···,n})

    则从事件(x_i)中可以得到的信息量为

    (I(x_i)=-log_2(P(x_i)))

    解释:概率越接近1可用的信息量就越少,系统就越确定,概率越接近0各种鱼龙混杂的信息就浮现出来了,所以信息量大,至于为什么公式长这个样子,可能它更加契合世界的规律吧。

    信息熵

    和物理学中的熵相似,表示的事物的混乱程度,熵越大,系统就越混乱,信息也是如此。

    信息熵越大,这个系统就越混乱,不确定性就越大,透露出的信息(有用无用的都有)就越多。

    (H(X) = Sigma I(x_i) p_i)

    当概率为0或者1时,信息熵为0,系统确定,在二分问题中概率达到0.5时,信息熵达到最大值1

    信息增益

    指的是增加相关信息所带来的熵的增减

    为了获得信息增益,就必须建立起条件熵的概念

    (H(Y | X)=sumlimits_{i=1}^{n}P(x_i)H(Y|X=x_i))

    其中X表示n个特征组成的特征空间,分别在(x_i)下得到的条件熵的总期望就是总的条件熵。

    然后给定条件X,Y的信息熵是多少,从而得出信息增益

    (IG(X) = H(Y) - H(Y | X))

    举一个网上看到的例子,假如说Y表示的是下雨这一事件,X表示的是阴天这一条件,如果

    (H(Y) = 2),而(H(Y|X)=0.01)

    很明显可以看出,对于增加了阴天这一条件之后信息熵减少了1.99之多,是巨大的,相应的信息增益

    (IG(X) = H(Y)-H(Y|X) = 1.99)

    在古典概型下的信息熵和信息增益

    训练数据的集合D,|D|表示样本的个数,将D划分为k个类((C_1,C_2,C_3,...,C_k)),然后再用特征A将D划分为n个子集((D_1,D_2,D_3,...,D_i)),用(D_{ik})表示(D_i)(C_k)之间的交集,即条件A下还能取到哪些值。

    则信息经验熵

    (H(D) = -sumlimits_{k=1}^{K}frac{|C_k|}{|D|}log_2frac{|C_k|}{|D|})

    选定条件A的经验条件熵

    (H(D|A) = sumlimits_{i=1}^{n}frac{|D_i|}{|D|}H(D_i)=-sumlimits_{i=1}^{n}frac{|D_i|}{|D|}sumlimits_{k=1}^{K}frac{|D_{ik}|}{|D|}log_2frac{|D_{ik}|}{|D|})

    信息增益

    (g(D,A) = H(D) - H(D|A))

  • 相关阅读:
    1. Visual Basic概述
    4. HTML5
    Android 操作SQLite基本用法
    android开发规范
    ListView与ArrayAdapter的搭配使用
    个人笔记——Android网络技术
    Java中forEach, 用来遍历数组
    详细讲解Android的网络通信(HttpUrlConnection和HttpClient)
    简单使用URLConnection、HttpURLConnection和HttpClient访问网络资源
    Http编程之HttpClient
  • 原文地址:https://www.cnblogs.com/seaman1900/p/15314895.html
Copyright © 2020-2023  润新知