- 伯努利实验
- 伯努利分布
- 二元分类
- 指数族函数
- sigmoid 函数的推导
1、伯努利实验
在介绍伯努利分布之前,先介绍一个有名的实验 – 伯努利实验。在概率统计理论中,伯努利试验是一个随机实验,恰好有两种可能的结果,即 “成功” 和 “失败”,其中每次实验时成功的概率都是相同的。比如,对于一个随机变量 x,随机变量只能有两个值,一个结果是 x = 1,另一种结果是 x = 0;两种结果对应的概率为:
在日常生活中,抛硬币就是一个伯努利实验,其只有两个结果,正面或者反面。
2、伯努利分布
伯努利分布(Bernoulli distribution),又称为两点分布或者 0-1 分布。它是一个离散概率分布,来源于伯努利实验。当随机变量 x 的值为 1 时,及伯努利实验成功的时候,概率为 p;当随机变量 x 的值为 0 时,即伯努利实验失败的时候,概率为 1 - p。即满足下面式子:
两个式子结合一下就是下面这个公式:
3、二元分类
在深度学习中,最著名的二元分类的例子,就是吴恩达大神的鉴别图像中有无猫的例子了。在该例子中,如果一个图像中有猫,则结果输出结果为 1;如果图像中没有猫,则输出结果为 0。可以发现这个例子,或者说所有的二元分类都可以看成是伯努利分布,因为二元分类只输出两种结果。
4、指数族分布
再耐心一点点,铺垫就要完成了。在推导 sigmoid 函数之前。再提一下指数族分布的概念。
指数族分布(Exponential family Distribution )是在给定参数 η 后,基于 x 的分布。定义式如下所示:
其中 x 可以为标量也可以为向量,可以是离散的,也可以是连续的。η 表示分布的自然参数。μ(x) 是关于 x 的函数。函数 g(η) 可以解释为确保分布标准化的系数,它满足下面式子:
没有懂也没关系,主要的是公式,后面会用于推导。
5、sigmoid 函数的推导
在做二元分类或者逻辑回归的时候,我们都会使用 sigmoid 这个函数作为激活函数,但知道为什么使用 sigmoid 函数吗?现在我们看看 sigmoid 函数的推导过程,就可以理解了。
再次回到伯努利分布的式子:
将其 log 化后,再以指数函数进行转换可以得到(用另一种表达形式):
将该式子与下面的指数族函数公式对比,发现是符合指数族分布的特征的。其中,因为 μ(x) 是关于 x 的函数,所以,可以得出 η = ln(μ/1-μ),再将其转换回指数函数的类型,可以得到:eη = μ/1-μ。最后可以得出求解概率参数 μ 的式子:μ = 1/(1+e-η), 其范围也符合 0 <= μ <= 1 。这个式子是不是很熟悉,这个就是我们一直使用的 sigmoid 函数。
用 σ(η) 来表示 sigmoid 函数,即为 σ(η) = 1/(1+e-η)。所以伯努利分布也可以表示成这样:
根据公式也能发现这样的特性:1 − σ(η) = σ(−η),所以指数族分布的相关函数可以表示成:μ(x) = x ;h(x) = 1;g(η) = σ(−η)。
以上过程,可以自己按照公式推一遍,就会恍然大悟(x)。
同样地,使用相同的方法,也可以推导出 softmax 函数。