提到机器学习,就不得不提损失函数,提到损失函数,就不得不提交叉熵。
本文章将对这个概念进行详细的分析。
1、信息量
信息量是对事件发生概率的度量,一个事件发生的概率越低,则这个事件包含的信息量越大,这跟我们直观上的认知也是吻合的,越稀奇新闻包含的信息量越大,因为这种新闻出现的概率低。
举个例子,大家都知道猪会跑,但是猪会不会飞就不一定了,毕竟猪在风口上,也能飞上天(手动滑稽)。为了便于理解,我们分别用随机变量 X X X和 Y Y Y来表示猪会不会跑和会不会飞,下标 0 0 0 代表不会, 1 1 1 代表会,且认为 p ( x 1 ) = 0.9 p(x_1)=0.9 p(x1)=0.9, p ( y 1 ) = 0.4 p(y_1)=0.4 p(y1)=0.4,则:
猪会跑: p ( x 1 ) = 0.9 p(x_1)=0.9 p(x1)=0.9,信息量 I ( x 1 ) = − l o g ( 0.9 ) = 0.15 I(x_1)=-log(0.9)=0.15 I(x1)=−log(0.9)=0.15
猪会飞: p ( y 1 ) = 0.4 p(y_1)=0.4 p(y1)=0.4,信息量 I ( y 1 ) = − l o g ( 0.4 ) = 1.32 I(y_1)=-log(0.4)=1.32 I(y1)=−log(0.4)=1.32
显然,猪会飞更稀奇,带给我们的信息量越大。
对于随机变量 X X X,事件 X = x 0 X=x_0 X=x0 的信息量定义为:
I ( x 0 ) = l o g ( 1 p ( x 0 ) ) = − l o g ( p ( x 0 ) ) I(x_0)=log(\frac{1}{p(x_0)})=-log(p(x_0)) I(x0)=log(p(x0)1)=−log(p(x0))
其中p(x_0)为事件 X=x_0发生的概率。
2、熵
熵是一种对不确定性的方法,对于存在不确定性的系统,熵越大表示该系统的不确定性越大,熵为0表示没有任何不确定性。
同样以猪会不会跑,会不会飞为例,刚出生的小猪,以后会不会跑是存在一定不确定性(万一从小自闭,就不会跑了),如何度量这个不确定度,求期望,我们对所有可能结果带来的信息量求期望,其结果就能够衡量出此问题的不确定度了:
H ( X ) = − ( p ( x 0 ) l o g ( p ( x 0 ) ) + ( p ( x 1 ) ) l o g ( p ( x 1 ) ) ) = − ( 0.1