1、信息熵
欲理解ID3算法,首先需要了解一下信息学里的信息熵概念。
信息熵是对当前信息情况复杂度、未知度的一种度量,当前情况越复杂,即未知度越高,熵值就越大。
举个例子,小明今晚要去电影院看电影,我们想要了解的情况是小明会坐在电影院的哪个位置,这时候有三种情况:
1、电影院没有别人,全场50个座位任小明挑选;
2、电影院只剩两个处于同个区域的座位;
3、电影院一样只剩两个座位,但这两个座位一个在影院的正中间,一个在最角落。
以上三种情况里,我们很容易能看出来,第三种情况对我们来说是最友好的(我们的目标是了解小明会坐在哪里),而第一种情况是最不友好的。放在熵(entropy)的数值上来比较,就是Ent1>Ent2>Ent3。
从1、2种情况的比较,我们能知道,信息熵的大小应该跟事件的数量有关,事件(可选座位)越多,信息熵越大。
从2、3种情况的比较,我们还能知道,信息熵的大小还跟事件发生的概率有关,像2、3虽然都只有两个事件(座位),但2的座位可能选择的概率是五五开,而3的概率可能是99%和1%,当然我们默认一般人都是喜欢坐在正中间的位置看电影的。
所以我们知道,信息熵的大小应该跟可能事件的数量和概率相关。
接着我们来看一下信息熵的计算公式: