开篇
熵这个词在机器学习中出镜率颇高,机器学习中使用的熵基本是信息熵相关的一些熵,这边博客我会聊到决策树和逻辑回归,至于最大熵,后期我会在这篇博客上补上,当然,我复习到其他机器学习算法用到熵的概念的话,我也会在这篇博客上续上。
熵的定义
什么是熵呢,它为什么又要那么定义呢?熵,就感性的理解来说,它是描述混乱程度的量。什么叫混乱程度呢,我们可以联系到概率上,如果一件事件各个可能性都有,那么说明它就越是混乱,它的不确定性就是越大的。还有一种角度去理解,如果一个事件是确定发生的,那么说明它的熵很小,熵小往往代表着没什么信息量,不需要太多的消耗去处理它。信息论中的编码长度就是由熵来决定的。
不扯远了,讲到这里,大家应该会觉得熵应该是和概率存在某种联系的,而这种联系是成反比的,那么这样的呀,大家很容易想到,我们就干脆把熵定义成 −P(x) − P ( x ) ,那样我们不就成了反比嘛,概率越大,熵越小,包含的信息量越小。这样看似合理,但却存在一定的问题。当同时有两件事情发生的时候,假设它们是相互独立的,那么我们的熵就会表示成 −(P(x)+P(y)) − ( P ( x ) + P ( y ) ) ,很明显,这样是不合常理的,熵代表的混乱程度和信息量的大小,对于独立事件,它们的程度应该是相加的而不是相乘的。所以上面的定义是不合理的。为了满足相加和成反比的性质,我们首先考虑的应该是指数函数,于是有了我们熵的定义: