算法工程狮6、频率派与贝叶斯派

频率派和贝叶斯派是两种不一样的学派。频率派认为事件发生的几率彻底由已有数据决定;而贝叶斯学派认为事件发生的几率自己就符合必定的几率分布,而这个分布是人为主观肯定的,也就称之为先验分布。频率派的表明主要就是极大似然估计(MLE),而贝叶斯学派的表明有极大后验估计和贝叶斯估计。
仍是先复习下贝叶斯公式
$$P(\theta|X)=\dfrac{P(X|\theta)P(\theta)}{\sum_iP(X|\theta_i)P(\theta_i)}$$函数

  • $P(X|\theta)$:似然项,MLE就是极大这个东西
  • $P(\theta)$:先验几率,贝叶斯估计/极大后验估计就须要这个东西
  • $\sum_iP(X|\theta_i)P(\theta_i)$:归一化因子,使其成为一个几率,直观来看就是一个全几率公式
  • $P(\theta|X)$:后验几率

1.频率派-极大似然估计MLE

MLE最大化$L(\theta|D)=\argmax\limits_\theta\prod\limits_{i=1}^{n} P(x_i|\theta)$.MLE是彻底依靠已知数据作出结论,不掺杂任何的先验。当数据量很大时,$\hat{\theta}_{MLE}$会估计的很好;但数据量很小时,可能会获得离谱的不可靠结果事件

举例-抛硬币

设X为硬币正面朝上的几率为$\theta$,正面为1,反面为0,则一次抛硬币事件的几率分布为$P(X=x_i|\theta)\begin{cases} \theta,x_i=1(正面) \\ 1-\theta,x_i=0(反面) \end{cases}$,则:
$$P(X=x_i|\theta)=\theta^{x_i}(1-\theta)^{1-x_i}$$
假设抛了n次硬币,则MLE使如下似然函数最大化:
$$\hat{\theta}_{MLE}=\argmax\limits_{\theta}\prod\limits_{i=1}^{n} P(x_i|\theta)=\argmin\limits_{\theta}-\sum\limits_{i=1}^{n}log P(x_i|\theta)$$
上式对$\theta$求导得:
$$\sum\limits_{i=1}^{n}(\dfrac{x_i}{\theta}-\dfrac{1-x_i}{1-\theta})=0$$
通分化简求$\theta$得:
$$\hat{\theta}_{MLE}=\dfrac{\sum\limits_{i=1}^{n}x_i}{n}$$
这不就是数一数硬币正面朝上得比例嘛,若是硬币抛了两次,所有反面朝上,则获得正面朝上得几率为0......
可是,一旦数据多了起来,则结果会愈来愈准确it

2.贝叶斯派

贝叶斯派与频率派的区别是使用了先验几率,即认为参数得取值符合必定的几率分布,而这个分布是人为选择的,所以称为先验。贝叶斯派又有两种:极大后验估计和贝叶斯估计,两者的区别是贝叶斯估计须要求出具体的几率分布并经过贝叶斯决策获得参数的最优估计,使整体指望风险最小变量

极大后验估计MAP

极大后验估计,和MLE相似,是点估计的一种,在似然项后面跟了先验几率。
$$\hat{\theta}_{MAP}=\argmax\limits_{\theta}\prod\limits_{i=1}^{n} P(x_i|\theta)\cdot P(\theta)=\argmin\limits_{\theta}-\sum\limits_{i=1}^{n}log P(x_i|\theta)\cdot P(\theta)$$lambda

贝叶斯估计

贝叶斯估计则是须要求出参数分布,即求出贝叶斯公式中的后验几率$P(\theta|X)$,而后作一个群体决策,若是用公式表示,则贝叶斯估计求参数以下:
$$\hat{\theta}_{Bayes}=\int\theta P(\theta|X)d\theta$$
固然,这是假设损失函数为均方损失时计算得来的。方法

3.比较

前面咱们已经经过三种方法对参数$\theta$作出了估计。此时,若新数据来临,则三种方法作预测的步骤是:
$$\begin{cases} MLE:根据参数直接预测P(X=x^{new}|\theta),参数\theta已知 \\ MAP:根据参数直接预测P(X=x^{new}|\theta),参数\theta已知 \\ Bayes估计: P(x^{new}|X)=\int P(\theta|X)P(x^{new}|X,\theta)d\theta=\int P(x^{new},\theta|X)d\theta,先根据X计算全部\theta,再积分 \end{cases}$$im

4.几率的几率分布

几率的几率分布其实就是小数(0-1之间)的分布,之因此要讲几率的几率分布,是由于有两点好处,一点是几率的几率分布能够由此建模;第二点是用此作先验能够和似然组成共轭分布,使得后验几率与先验几率同分布。经验

Beta分布

$$P(\theta|\alpha,\beta)=\dfrac{\theta^{\alpha-1}(1-\theta)^{\beta-1}}{B(\alpha,\beta)}$$
其中,α和β是两个控制参数,分母是标准化函数,使其成为一个几率分布。Beta分布有以下优势:数据

  • 形状随α和β改变,能够经过参数控制几率峰值
  • $E(\theta)=\dfrac{\alpha}{\alpha+\beta}$,随机变量指望为峰值。假设α=β=100,那么峰值就在0.5处,α=100,β=200,峰值就在0.333处
  • 当似然为伯努利分布时,beta分布与其构成共轭分布
  • beta分布适用于二分类建模
Dirichilet分布

迪利克雷分布与beta分布相似,不过是对多分类参数几率分布建模,且与多项式分布组成共轭分布
$$P(\theta_1,\theta_2,...,\theta_k|\alpha_1,\alpha_2,...,\alpha_k)=\dfrac{1}{B(\alpha_1,\alpha_2,...,\alpha_k)}\prod\limits_{i=1}^{k}\theta_i^{\alpha_i-1}$$标签

5.共轭分布与共轭先验

前面提到过抛硬币,假设抛了m次硬币,其中$m_\alpha$次朝上,$m_\beta$次朝下,则似然项$P(X|\theta)=\theta^{m_\alpha}(1-\theta)^{m_{_\beta}}$。若是此时咱们认为硬币朝上的几率应该简单的认为是数次数,而应该是知足必定的几率分布,那么假设咱们选择beta分布做为先验,依据贝叶斯公式,则后验几率$P(\theta|X)$可表示为:
$$P(\theta|X)\propto P(X|\theta)\cdot P(\theta)$$
若是先验选择Beta分布B(α,β),则后验几率可表示为:
$$\begin{aligned} P(\theta|X) & \propto \theta^{m_\alpha}(1-\theta)^{m_{_\beta}}\cdot \theta^{\alpha-1}(1-\theta)^{\beta-1} \\ & \propto \theta^{m_\alpha+\alpha-1}(1-\theta)^{m_{_\beta}+\beta-1} \end{aligned}$$
会发现,后验分布也符合Beta分布,与先验分布同类,只不过参数有所变化,此时称先验分布和后验分布为共轭分布,先验称为似然的共轭先验
共轭分布有不少好处,最重要的是计算方便。当来了新的观测数据时,咱们只须要简单的修改参数α和β,使之成为新的先验分布

6.先验的做用

Beta分布的参数

加了Beta分布的抛硬币,theta的预测再也不是数次数,而是使用贝叶斯估计,经过积分求指望获得。前面说过,此时的后验几率属于Beta分布,而Beta分布的指望是$\dfrac{\alpha}{\alpha+\beta}$,对于抛硬币来说,参数的估计(指望)变成了$\dfrac{\alpha+m_\alpha}{\alpha+m_\alpha+\beta+m_\beta}$。假设咱们设置α=β=100,即先验认为抛硬币正面朝上的几率最多是0.5,那么经过实验抛硬币,即便开始的几回抛硬币全是反面,那么咱们所得出的结论也不会有太大问题
此外,α和β能够是历史数据,也但是人为设置的初值。更能够说,α和β像是先验强度,当咱们将α和β设置的很大时(好比10000),咱们须要足够多的数据纠正先验(若是先验不正确),若是设置的很小(10),咱们只须要少许数据便可修改先验,或者说咱们对参数的几率分布也不肯定。

先验的做用

先验就是在数据少时防止推断出过于不可靠的结果,换句话说,先验是在数据量不多时对误差的修正。具体来讲,若是贝叶斯作参数估计,或者说作预测(预测新硬币正面朝上的几率和估算硬币正面朝上的几率参数等价),则:
$$\hat{\theta}_{Bayes}=\int\theta P(\theta|X)d\theta=\dfrac{\alpha+m_\alpha}{\alpha+m_\alpha+\beta+m_\beta}$$
当使用MLE作预测,似然函数以下:
$$\prod\limits_{i=1}^{n} P(x_i|\theta)=\theta^{m_\alpha}(1-\theta)^{m_{_\beta}}$$
参数估计以下:
$$\hat{\theta}_{MLE}=\argmax\limits_{\theta}\prod\limits_{i=1}^{n} P(x_i|\theta)=\argmin\limits_{\theta}-\sum\limits_{i=1}^{n}log P(x_i|\theta)$$
求导后,解得最优θ为$\dfrac{m_\alpha}{m_\alpha+m_\beta}$
两者进行比较,能够发现,在前期数据少的时候,先验主导了参数估计,使得预测不至于太差;而随着数据量增多,先验知识逐渐减弱,数据的重要性逐渐加强,所以,数据量比较小的时候,先验每每可以带来好处

7.Laplace平滑

Laplace平滑在朴素贝叶斯里面会用到的一种方法,理论正好是这篇文章中写的,就顺便在这里先写了。
多分类场景下,咱们要预测各个类别可能的几率。则贝叶斯作以下估计:
$$P(\theta_1,\theta_2,...,\theta_k|X)\propto P(X|\theta_1,\theta_2,...,\theta_k)P(\theta_1,\theta_2,...,\theta_k)$$
其中,似然项为多项式分布:$P(X|\theta_1,\theta_2,...,\theta_k)=\theta_1^{m_1}\theta_2^{m_2}...\theta_k^{m_k}$,先验为迪利克雷分布:$P(\theta_1,\theta_2,...,\theta_k)=\theta_1^{\alpha_1-1}\theta_2^{\alpha_2-1}...\theta_k^{\alpha_k-1}$,则后验分布与先验分布组成共轭分布:
$$P(\theta_1,\theta_2,...,\theta_k|X)\propto \theta_1^{m_1+\alpha_1-1}\theta_2^{m_2+\alpha_2-1}...\theta_k^{m_k+\alpha_k-1}$$
当作预测时X属于第j类:
$$\begin{aligned}P(Y=c_j|X) & =\int P(Y=j,\theta_j|X)d\theta_j \\ & =\int P(Y=j,|X,\theta_j)P(\theta_j|X)d\theta_j \\ &=\int \theta_jP(\theta_j|X)d\theta_j\end{aligned}$$
咱们看到,第二步向第三步转化是由于$\theta_j$自己就表明属于第J类的几率
所以预测即求指望的过程,而迪利克雷的指望为:
$$P(Y=c_j|X)=\dfrac{m_j+\alpha_j}{\sum\limits_{i=1}^{k}(m_i+\alpha_i)}=\dfrac{m_j+\alpha_j}{N+\sum\limits_{i=1}^{k}\alpha_i}$$
当咱们简单的认为每一个类别出现的几率一致,即α为λ,则公式化简为:$P(Y=c_j|X)=\dfrac{m_j+\lambda}{N+k\lambda}$。当λ取值为1时,则称为Laplace平滑,当λ为0时,则不掺先验,变成了MLE。
注意,朴素贝叶斯参数估计为贝叶斯估计,而标签训练为极大后验估计

8.贝叶斯推断

贝叶斯推断就是更新数据认知的过程。新数据来了后,计算后验,而后经过后验更新先验。
或者说贝叶斯推断就是经过反复使用贝叶斯定理,持续更新对未知变量的认知的过程

9.其余

结构风险-MLE指望风险-Bayes经验风险-MAP

相关文章
相关标签/搜索