PRML Chapter 2. Probability Distributions

PRML Chapter 2. Probability Distributions

P68

conjugate
priors

In Bayesian
probability
 theory, if the posterior
distributions
 p(θ|x)
are in the same family as the prior
probability distribution
p(θ),
the prior and posterior are then called conjugate distributions, and
the prior is called a conjugate prior for
the likelihood. For example, the Gaussian family
is conjugate to itself (or self-conjugate)
with respect to a Gaussian likelihood function: if the likelihood function is Gaussian, choosing a Gaussian prior over the mean will ensure that the posterior distribution is also Gaussian.

exponential
family

The
exponential families include many of the most common distributions, including the normalexponentialgammachi-squaredbetaDirichletBernoullibinomial,multinomialPoissonWishartInverse
Wishart
 and many others.

2012@3@21补充:起先第二章果真没有仔细看好,现在看到狄利克雷分布了,回来再了解一下贝塔分布,发现里面这么关键的内容愣是都没看出来,汗。不过今天22点半了,明天在写咯。

2.1.1 The beta distribution

如果忘记伯努利分布和二项分布是怎么回事了,看这里

书中引出贝塔分布的理由:P70提到,由于最大似然估计在观察数据很少时,会出现严重over-fitting(比如估计抛硬币正反面概率,只有3次抛硬币观察数据,且结果正好都是正面,则模型预测以后所有抛硬币都将是正面)。为了解决这个问题,可以考虑贝叶斯方法,即引入一个先验知识(先验分布p(μ))来控制参数μ,那么如何挑选这个分布呢?

考虑到伯努利分布的似然函数的形式是μx(1−μ)1−x,错!!原先这里看了个似懂非懂,完全写错了,囧死了,得到一个教训,写日志还是要多来回看看,看懂了再写,否则留下笑柄!现在重写如下:应该是,二项分布的似然函数是:μm(1−μ)n (就是二项分布除归一化参数之外的后面那部分,似然函数之所以不是pdf,是因为它不需要归一化),这个函数的形式是μ的m次方乘以1−μ的n次方,记住这个形式,下面要用到。

根据:

posterior=likelihood∗prior

已经知道似然函数的形式,如果选择的先验分布也与 μ
和 (1-μ) 两者的乘方成比例,那么后验分布的函数形式就会跟它的先验函数形式一样了。具体来说,选择prior的形式是w1∗μa(1−μ)b,那么posterior就会变成w2∗μm+a(1−μ)n+b这个样子了(w1,w2为pdf的归一化参数),所以posterior和prior具有相同的函数形式(都是μ和(1-μ)的次方的乘积),这就是所谓的conjugacy。

最终这里的先验和后验就都是贝塔分布了,其中先验的形式如下:

Beta(μ|a,b)=Γ(a+b)Γ(a)Γ(b)μa−1(1−μ)b−1  式2.13

其中Γ(a+b)Γ(a)Γ(b)这玩意就是w1,是为了把整个分布概率归一化,从而使:

∫10Beta(μ|a,b)dμ=1  
 式2.14

在维基里面,有这么一个式子:

B(α,β)=Γ(α)Γ(β)Γ(α+β)≃(α−1α+β−2)

瞬间觉得世界清晰了,因为Γ(n)=(n−1)!,所以其实当上式中α,β为整数时,就是Cα−1α+β−2。因此,其实beta分布就是二项分布推广成实数域上的情况而已!注意,这里曾经把Beta函数写反过,Beta
function 是指B(x,y)=Γ(x)Γ(y)Γ(x+y),而Beta
distribution的pdf公式为Beta(μ|a,b)=1B(a,b)μa−1(1−μ)b−1

从式2.14看出,Beta分布就是一个μ的PDF(概率密度函数)(这个昨天(3@21)刚仔细看过哈),μ本身是二项分布的参数,而a,b由于2.14的归一化过程可以被视作μ的控制参数,因此贝塔分布的a和b就被称作hyperparameters。下面的图是Beta分布的几个例子,其中横轴是μ取值范围,纵轴是PDF取值,PDF的值可以大于1哦。

PRML Chapter 2. Probability Distributions

最后得到的posterior如下:

p(μ|m,l,a,b)∝μm+a−1(1−μ)l+b−1  式2.17,其中l=N-m

要把这个posterior归一化其实可以参照式2.13,式2.17中的m+a等同于2.13中那个a,而l+b就是2.13中那个b,所以:

p(μ|m,l,a,b)=Γ(m+a+l+b)Γ(m+a)Γ(l+b)μm+a−1(1−μ)l+b−1

最后,如果我们已经有观察数据D,要估计μ,即p(μ|D),我们可以得到:

p(x=1|D)=m+am+a+l+b  式2.20

可以发现这个式子比最大似然估计的结果m/(m+l)多了a和b,也就是先验知识的影响。

2012@4@17补充:事实上这种给参数加先验的方法叫做Maximum
a posterior(MAP),而PRML里的这章没有明显的提到,刚从《Parameter estimation of text analysis》里看到,在这里提一下

2013@4@22
在评论中有同学指正,2.20的结果不应该是MAP,输出期望的应是Bayesian inference。MAP结果应为(m+a-1)/(m+a+l+b-2)。当时并没有搞清楚这个两者的区别。在此纠正。非常感谢评论中的同学!!鉴于经常被发现错误,我打算近期写完论文检查一下所有博客。

2.2
Multinomial Variables

Multinomial Variables说白了就是多种选择选其一。比如随机变量X有三种取值x1,x2,x3,那么用一个三维向量表示Multinomial
的取值就是{1,0,0},{0,1,0},{0,0,1}分别代表选中x1,x2,x3,即必须选中一个,同时只能选一个这样的意思。

如果用μk表示xk=1时的概率,那么对于随机变量x的取值的概率分布可以表示为:

p(x|μ)=∏k=1Kμxkk

其实这个式子的意思就是当K取值k的时候,只有xk是1,其他都是0,所以这个p(x|μ)的值就是μk的值而已,因为一个数的0次方是1,所以对于其他xi(i≠k)的那部分μi全部都乘以了一个1而已。搞了这么一个玄乎的式子,应该是为了数学表示全面点,事实上直接理解就是p(x|μ)
= μk。

上面所讲的这些其实只是多项分布的一次事件(或一次观察),如果有N多次观察,那么就需要用多项分布来描述了。就像伯努利分布只是描述一次抛硬币,而二项分布是描述N次抛硬币的一样。

对于Multinomial 的极大似然估计其实可想而知,就是数数xk的个数然后取占整个集合的比例作为概率了。式(2.31)给了数学上的likelihood的式子,但是那个什么拉格朗日乘子λ我已经没啥概念了,只知道是用来求函数极值的,这里记着点以后到高数里去看。2012@4@4补充,大致看了一下拉格朗日乘数法,没有想象中的复杂,就是用来求一个条件极值,在这里

2.3
The Gaussian Distribution

这章的公式太唬人了,西方人的数学功底感觉很好,虽然这些数学都挺简单,但是我没有全局了解的那种观念,所以有些东西没法一下子理解了。多元高斯分布里面的矩阵的东西不太好懂。

P80讲的是多元高斯分布通过正交向量ui 线性变换为以 y=U(x−μ) 
 为基的向量空间,大概也只能明白这点了。在这样一个基上,高斯分布是一个椭圆(当所有特征值λi都是正数的时候)

P82有讲到关于 moment这个就是矩,k阶中心矩(The
kth central
moment
)为 E((X−μ)k)

P84讲高斯分布的缺点,,然后说到可以引入隐含随机变量来解决高斯分布模型表示能力不强的问题。可以用一系列离散的隐含变量混合高斯分布,可以用连续隐含变量,用来干嘛不太理解。

再后面已经完全不知所云了。所以只能Skip了。

2012@11@30

时隔8月,偶终于回来把这些东西都看懂了!其实并没有那么虎,只不过PRML讲得不是那么细而已。只要翻《Methods
of Multivariate Analysis》,这些东西其实相对来说还是easy的!链接

2.5 Nonparametric Methods

这章主要介绍两种无参方法:核方法和近邻法。

P122 开始介绍核密度估计时,从公式2.242到2.246都是为了推导未知概率密度p(x)的估计。

最后推导得到式2.246如下:

p(x)=KNV

其中V是x附近区域R的体积,K则是落入x附近区域R中的数据点个数,由此导出了两种不同的密度估计方法:

(1)如果固定K而估计V的大小,那么就是kNN算法(k固定而根据选定最近的k个数据来评估R的体积)

(2)如果固定V而估计K的大小,那么就是核密度估计,用一个核函数表示一个固定的体积V,然后数数这个体积里面数据点K的个数

这就是对这两种无参数方法比较深入的理解,很好。

关于核密度估计,虽然还不是很清楚,但是可以知道其实它的道理跟P121的histogram approach是一样的,只不过核密度估计是高维的而已

上一篇:Go 语言入门(三)并发


下一篇:《Linux内核设计与实现》Chapter 3 读书笔记