从伯努利分布到交叉熵(一)


前言

  通信转数据挖掘不久,发现自己在一些机器学习概念问题有些模糊,不同的教科书的公式形式有些出入,稍有混乱。本文总结了自己对交叉熵这个概念的一些物理意义方面的理解,尝试将这些概念融会贯通。由于水平实在不高,只是把想到的东西简单堆砌,简单梳理了一下逻辑,看起来比较啰嗦.同时有不对之处(有些数学定义都是我自己的理解),希望不吝赐教。

伯努利分布

  伯努利分布,又称0-1分布。这个离散分布非常直观,在中学我们就学过。但是,把这个分布复习一下,对后面一些理解大有裨益。对于一个伯努利试验,它只有两个结果1或0。通常,取1的概率为 $p$,取0的概率为$1-p$。$p$就是该伯努利分布的参数。

  对于随机变量$X$服从伯努利分布,$\Pr(X=1)=p,\Pr(X=0)=q=1-p,0<p<1$.可以发现,对于伯努利分布,本来是需要两个参数的$p$和$q$的,但是由于$p$ 和 $q$相关,只有一个自由度.所以一般用 $p$ 来表示就足够了.相应的概率质量函数(pmf)为:

$$ f(x;p)=\left\{
\begin{aligned}
&p ,&x=1, \\
&1-p, &x=0.
\end{aligned}
\right.
$$

这种pmf用分段函数的形式简单易懂,但是分段函数对于后续推导来说比较麻烦.所以伯努利分布的另外一种pmf的形式出现了:

$$f(x;p)=p^{x}(1-p)^{1-x},x={0,1}.$$

这种形式相当漂亮,一个表达式中包含了两种情况. 由于 $x$ 取值非1即0,对于特定的x取值,这个表达式中每次仅有部分起作用.(当 $x=1$, $(1-p)$ 的部分的指数项为0, 所以表达式的值为 $p$,和上面的分段函数等价).这里唯一需要注意的是定义域的取值,只能是0或1.(对于二分类的问题,标签有时会取值 $\pm1$. 题外话,通信原理里处理数字信号调制,正交码时候也经常遇到这种问题,有时是0,1,有时是 $\pm1$.)

广义伯努利分布

  事实上,伯努利分布的只能取布尔值,可以对应于二分类问题.对于多分类问题,对应的是广义伯努利分布,也就是随机变量的取值个数不局限于2个.关于广义伯努利分布见wiki:

Inprobability theoryandstatistics, acategorical distribution(also called ageneralized Bernoulli distribution,multinoulli distribution[1]) is adiscrete probability distributionthat describes the possible results of a random variable that can take on one ofKpossible elementary events (single outcomes of the discrete sample space, often referred to as categories), with the probability of each elementary event separately specified.

BTW,独立重复试验的话,伯努利分布进化为二项分布;广义伯努利分布进化为多项分布.

  由于广义伯努利分布和多分类有着密切关系,我们简单看看它.首先确认的是它有几个参数?回想伯努利分布,有两个参数 $p$ 和 $q$, 由于相关, 只要一个 $p$就够了.类似,广义伯努利分布有 $k$ 个参数$p_1,p_2,\dots,p_k$,分别代表取值为 $i,i\in\{1,2,\dots,k\}$的概率.由于概率和为1的导致相关,只有 $k-1$ 个自由度,只要 $k-1$ 个参数就够了.但是,最后一个参数是这么表示的 $p_k=1-p_1-\dots-p_{k-1}$,写起来太麻烦,还不如直接用 $k$ 个参数来表示.好了,广义伯努利分布的pmf是什么呢?类似的可以这么写

$$f(x;p_1,\dots,p_k)=p_i,\hspace{10pt}x=i,\hspace{10pt}i\in\{1,2,\dots,k\}.$$

这里虽然表达式只有一行,但却是一个不折不扣的分段函数,因为函数的值 $p_i$随着 $x$的定义域的每个值上都不同.那么我们想使用上面那个漂亮的非分段函数,使得函数的值在$x$的定义域可以用个同一的表达式表示.但是,这里遇到了一个困难.因为对于伯努利分布, $x\in\{0,1\}$时, $x$ 和 $1-x$互斥且完备(我等于1,你就不等于1;还要满足一个,我和你必有一个发生,即和为1)(这也是为啥 $x$取0,1的好处).

  而对于广义伯努利分布, $x$的取值比较随意,一般是$\{1,2,\dots,k\}$,我们也希望找到一组互斥且完备的量来写出那个漂亮的非分段函数的pmf.如何做到呢?我们先引入一个示性函数.

示性函数

  示性函数(指示函数)就是这么一个函数能满足我们的所有诉求.看看wiki:

Inmathematics, anindicator functionor acharacteristic functionis afunctiondefined on asetXthat indicates membership of anelementin asubsetAofX, having the value 1 for all elements ofAand the value 0 for all elements ofXnot inA.

我在测度论和概率论的课程里面第一次接触到这个简单函数(原谅我测度论学的一塌糊涂).它和伯努利分布有着天然的契合性.这是一个定义在集合 $X$ 上的函数,映射到 $\{0,1\}$. 它表示集合$X$中有哪些元素属于某个子集 $A$,定义为

$$ {I}_{A}(x)=\left\{
\begin{aligned}
&1 ,&x\in A, \\
&0, &x\notin A.
\end{aligned}
\right.
$$

它有个性质,就是它的期望等于$A$的概率:$$E(I_A) =\int _X I_A(x) \mathrm{d}\mathbb{P}=\int _A \mathrm{d}\mathbb{P}=P(A).$$

这个性质涉及到测度和测度积分,也不是我短时间说清楚的,有疑问的翻书吧.那么有了这个函数, 定义集合$X=\{0,1\}$,定义子集 $A=\{1\}$,则$\bar{A}=\{0\}$,我们能够将伯努利分布的非分段函数的pmf改写为

$$f(x;p)=p^{I_A(x)} (1-p)^{I_{\bar{A}}(x)},x={0,1}.$$

  类似的,我们可以对广义伯努利函数这么定义.定义集合$X=\{0,1,\dots,k\}$,将全集 $X$划分为 $k$ 个互斥的子集$A_1=\{1\}$,$A_2=\{2\}$,...,$A_k=\{k\}$.可以得到 $k$个互斥且完备的示性函数,以第一个为例:

$$ {I}_{A_1}(x)=\left\{
\begin{aligned}
&1 ,&x\in A_1, \\
&0, &x\in A_2,or, A_3,..,or,A_k.
\end{aligned}
\right.
$$

可以发现,当 $x\in A_1$时,仅有$I_{A_1}(x)=1$,其他的$I_{A_i}(x)=0,i\neq1.$那么广义伯努利函数的非分段函数的pmf可以表示为

$$\begin{aligned}f(x;p_1,\dots,p_k)=
&p_1^{I_{A_{1}} (x)} \dots p_k^{I_{A_{k}} (x)},x=\{0,1,\dots,k\}\\
=&\prod_{i=1}^k p_i^{I_{A_i}(x)},x=\{0,1,\dots,k\}.
\end{aligned}
$$

这个连积的形式很简洁.特别强调的是Notation的问题,这里的所有下标和机器学习的下标没关系,纯粹就是伯努利分布自己参数的下标.后面的推导的时候,我还会特别强调各个上下标是什么意思.

  至此,伯努利分布和广义伯努利分布的pmf都可以用一个统一的表达形式.值得注意的是,示性函数的引入,使我们不必固定随机变量的取值.想想也是,伯努利分布中,只有唯一的参数 $p$,和$x$的定义域的取值无关.

优质内容筛选与推荐>>
1、linux opencv版本查询
2、关于LPC MUD的关键字及其它重要术语
3、数据结构系列(5)之 红黑树
4、模拟手指轻点、长按、滑动屏幕(七)
5、Java package 包的命名规范。


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号