关闭

决策树ID3算法及java实现

标签: java实现id3信息论讲解决策树id3算法ID3算法实例决策树手写字识别
211人阅读 评论(0) 收藏 举报
分类:

0. 信息论

信道模型和信息的含义

信息论是关于信息的本质和传输规律的理论。
信道模型:信源(发送端)-> 信道 -> 信宿(接收端)
1. 通信过程是在随机干扰的环境汇中传递信息的过程
2. 信宿对于信源的先验不确定性:在通信前,信宿不能确切的了解信源的状态;
3. 信宿对于信源的后验不确定性:在通信后,由于存在干扰,信宿对于接收到的信息仍然具有不确定性
4. 后验不确定性总是要小于先验不确定性的。
信息:是消除不确定性的度量。
信息量的大小:由所消除的不确定性的大小来计量。

信息的定量描述

直观理解:
若消息发生的概率很大,受信者事先已经有所估计,则该消息的信息量就很小。
若消息发生的概率很小,受信者感觉到很突然,该消息所含有的信息量就很大。
所以信息量和概率联系在了一起,信息量可以表示为概率的函数。那么怎样的函数可以用来描述信息量呢?函数f(p)应该满足以下条件:
1. f(p)应该是概率p的严格单调递减函数,
2. 当p=1时,f(p)=0
3. 当p=0时,f(p)=
4. 两个独立事件的联合信息量应该等于它们信息量之和。
以下是f(p)=log(p)的图像,满足以上的所有的要求。

自信息和熵的定义

若一个消息x出现的概率为p,那么这个消息所含有的信息量为

I=log(p)

上式称为消息x的自信息,自信息有两种含义:
1. 当该消息发生之前,表示发生该消息的不确定性,
2. 当该消息发生之后,表示消息所含有的信息量。
信源含有的信息量是信源发出的所有可能消息的平均不确定性,香农把信源所含有的信息量称为是指每个符号所含有的信息量(自信息)的统计平均。若X是一个离散随机变量,概率分布为p(x)=P(X=x)xX,那么X的熵为
H(X)=iNp(xi)I(xi)=iNp(xi)logp(xi)

一个随机变量的熵越大,其不确定性就越大,(不管是先验熵,后验熵,还是条件熵都是这样的)正确的估计其值的可能性就越小,越是不确定的随机变量越是需要更大的信息量来确定其值。
结合信道模型,H(X)是信源发出前的平均不确定性,是先验熵。其中,p(xi)越接近,H(X)越大。p(xi)相差越大,H(X)越小。在事件yj出现的条件下,随机事件xi发生的条件概率为p(xi|yj),定义它的条件自信息量为条件概率对数的负值。如下:
I(xi|yj)=logp(xi|yj)

在给定yj的条件下,(xi的条件自信息量为Ixi|yj),此时关于X的不确定性定义为后验熵,(接收到一个输出信号后对于信源的不确定性)。如下:
H(X|yj)=iNp(xi|yj)I(xi|yj)=iNp(xi|yj)log(p(xi|yj))

在给定Y(即各个yj)的条件下,