引言
发现对概率论的基本概念理解不是很深入,导致看后面的东西时常有些莫名其妙的疑惑,回头来看看概率论与统计
1. 累积分布函数(CDF – Cumulative distribution function 或直接就叫 distribution function)
CDF其定义为
FX(x)=P(X≤x)
正如统计学完全教程里说的,这个CDF函数是很有迷惑性的,有必要仔细理解它。我以前每次看这个表达式都是一闪而过,没有好好理解,而它的真正的意义应该是表示随机变量小于或等于其某一个取值x的概率。设一个例子,抛一枚均匀的硬币两次,设随机变量X表示出现正面的次数,那么 P(X=0)=P(X=2)=1/4 , P(X=1)=1/2 ,所以这个函数的曲线如下图:
对于这个图,要想清楚清楚如下两个问题:
1)为什么函数始终是右连续的? 因为根据CDF的表达式中的小于等于号,当X=x时,P(X=x)的那部分应该被加到 FX 上,因此在X=x处有一个值的跃升。如X=1时,P(X=1)已经是1/2了
2)为什么 FX(1.4)=0.75 ? 要注意 P(1≤X<2)=1/2 (虽然其实X只能取整数值),但是 FX 是值x之前所有概率的累加,所以 FX(1.4) 可不是1/2,而是3/4 !!
因此F函数始终是非降的,右连续的,且 limx→∞F(x)=1
2. 概率密度函数(PDF – Probability density function)
对于离散随机变量的PDF为:
fX(x)=P(X=x)
对于连续随机变量,若存在一个函数 fX 对所有x均满足 fX(x)≥0 , ∫bafX(x)dx=1 ,并且有
P(a<X<b)=∫bafX(x)dx
则 fX 就是 FX(x) 的PDF,并且 FX(x)=∫x−∞fX(t)dt , fX(x)=ddxFX(x)
表面看起来这个定义简单,但是要深入理解这些式子的含义,这个定义对后面整个机器学习的内容都是最基础最重要的。
其实后面所谓的 density estimation(EM algorithm和Sampling Methods)都是要估计出一个PDF来。
最简单的PDF就是比如翻硬币的例子,假如翻正面概率0.4,反面0.6,则这个模型的PDF就是{0.4, 0.6}
稍微复杂点的PDF就是univariate Gaussian啦,其实也不复杂,高中就见过
3. 伯努利、二项分布、多项分布
伯努利分布就是对单次抛硬币的建模,X~Bernoulli(p)的PDF为 f(x)=px(1−p)1−x ,随机变量X只能取{0, 1}。对于所有的pdf,都要归一化!而这里对于伯努利分布,已经天然归一化了,因此归一化参数就是1。
很多次抛硬币的建模就是二项分布了。注意二项分布有两个参数,n和p,要考虑抛的次数。
二项分布的取值X一般是出现正面的次数,其PDF为:
f(x)=P(X=x)=P(X=x|n,p)=Cxnpx(1−p)n−x
Cxn 就是二项分布pdf的归一化参数。如果是beta分布,把 Cxn 换成beta函数分之一即可,这样可以从整数情况推广为实数情况。所以beta分布是二项分布的实数推广!
多项分布则更进一层,抛硬币时X只能有两种取值,当X有多种取值时,就应该用多项分布建模。
这时参数p变成了一个向量 p⃗ =(p1,…,pk) 表示每一个取值被选中的概率,那么X~Multinomial(n,p)的PDF为:
f(x)=P(x1, …, xk|n,p⃗ )=(nx1, …, xk)px11…pxkk=n!∏ki=1xi!pxix
2.1.1 The beta distribution
如果忘记伯努利分布和二项分布是怎么回事了,看这里。
书中引出贝塔分布的理由:P70提到,由于最大似然估计在观察数据很少时,会出现严重over-fitting(比如估计抛硬币正反面概率,只有3次抛硬币观察数据,且结果正好都是正面,则模型预测以后所有抛硬币都将是正面)。为了解决这个问题,可以考虑贝叶斯方法,即引入一个先验知识(先验分布p(μ))来控制参数μ,那么如何挑选这个分布呢?
根据:
postprior=likelihood∗prior
已经知道似然函数的形式,如果选择的先验分布也与 μ 和 (1-μ) 两者的乘方成比例,那么后验分布的函数形式就会跟它的先验函数形式一样了。具体来说,选择prior的形式是 w1∗μa(1−μ)b ,那么postprior就会变成 w2∗μm+a(1−μ)n+b 这个样子了( w1,w2 为pdf的归一化参数),所以postprior和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哦。
最后得到的postprior如下:
p(μ|m,l,a,b)∝μm+a−1(1−μ)l+b−1 式2.17,其中l=N-m
要把这个postprior归一化其实可以参照式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,也就是先验知识的影响。
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补充,大致看了一下拉格朗日乘数法,没有想象中的复杂,就是用来求一个条件极值,在这里。
Dirichlet分布可以看做是分布之上的分布。如何理解这句话,我们可以先举个例子:假设我们有一个骰子,其有六面,分别为{1,2,3,4,5,6}。现在我们做了10000次投掷的实验,得到的实验结果是六面分别出现了{2000,2000,2000,2000,1000,1000}次,如果用每一面出现的次数与试验总数的比值估计这个面出现的概率,则我们得到六面出现的概率,分别为{0.2,0.2,0.2,0.2,0.1,0.1}。现在,我们还不满足,我们想要做10000次试验,每次试验中我们都投掷骰子10000次。我们想知道,出现这样的情况使得我们认为,骰子六面出现概率为{0.2,0.2,0.2,0.2,0.1,0.1}的概率是多少(说不定下次试验统计得到的概率为{0.1, 0.1, 0.2, 0.2, 0.2, 0.2}这样了)。这样我们就在思考骰子六面出现概率分布这样的分布之上的分布。而这样一个分布就是Dirichlet分布。
首先用上面这一段来点直观印象,然后列一些资料:
维基里面对于狄利克雷分布貌似介绍的挺复杂,不够基础。我找到了一个CMU的PPT:Dirichlet Distribution, Dirichlet Process and Dirichlet Process Mixture,找到一篇华盛顿大学的《Introduction to the Dirichlet Distribution and Related Processes》介绍。
发现CMU那个ppt里面讲到,Beta is the conjugate prior of Binomial,有一种原来如此的感觉。嗯,原来贝塔分布是二项分布的共轭先验分布,那么狄利克雷分布就是多项分布的共轭先验分布。所以要看狄利克雷分布,就要先了解多项分布,然后呢,想要了解狄利克雷之于多元的关系,就要先看贝塔分布和伯努利分布的关系。所以,二项分布、beta分布、以及共轭这三点是理解狄利克雷分布的关键基础知识,这个基础知识记录在这里(PRML2.1整小章介绍了这个)。
下面正式进入狄利克雷分布介绍,首先说一下这个多项分布的参数μ。在伯努利分布里,参数μ就是抛硬币取某一面的概率,因为伯努利分布的状态空间只有{0,1}。但是在多项分布里,因为状态空间有K个取值,因此μ变成了向量 μ ⃗ =(μ1, …, μk)T 。多项分布的likelihood函数形式是 ∏ k=1Kμmkk ,因此就像选择伯努利分布的共轭先验贝塔函数时那样,狄利克雷分布的函数形式应该如下:
p(μ|α)∝∏k=1Kμαk−1k 式2.37
上式中, ∑kμk=1 , α⃗ =(α1, …, αk)T 是狄利克雷分布的参数。最后把2.37归一化成为真正的狄利克雷分布:
Dir(μ|α)=Γ(α0)Γ(α1)…Γ(αk)∏k=1Kμαk−1k
其中 α0=∑k=1Kαk 。这个函数跟贝塔分布有点像(取K=2时就是Beta分布)。跟多项分布也有点像。就像Beta分布那样,狄利克雷分布就是它所对应的后验多项分布的参数 μ ⃗ 的分布,只不过μ是一个向量,下图是当 μ ⃗ =(μ1,μ2,μ3) 时,即只有三个值时狄利克雷概率密度函数的例子。其中中间那个图的三角形表示一个平放的Simplex,三角形三个顶点分别表示 μ⃗ =(1,0,0) , μ⃗ =(0,1,0) 和 μ ⃗ =(0,0,1) ,因此三角形中间部分的任意一个点就是 μ⃗ 的一个取值,纵轴就是这个 μ⃗ 的Simplex上的概率密度值(PDF)。
对于参数 μ⃗ 的估计时,可知 后验=似然*先验 的函数形式如下:
p(μ|D,α)∝(D|μ)p(μ|α)∝∏k=1Kμαk+mk−1k
从这个形式可以看出,后验也是狄利克雷分布。类似于贝塔分布归一化后验的方法,我们把这个后验归一化一下,得到:
p(μ|D,α)=Dir(μ|α+m)=Γ(α0+N)Γ(α1+m1)…Γ(αK+mK)∏k=1Kμαk+mk−1k
2.3 The Gaussian Distribution
1. preliminary (Matrix Algebra — Methods of Multivariate Analysis C H A P T E R 2)
加入一些其他内容,调整至http://www.xperseverance.net/blogs/2012/12/1579/
2.多元情况下的协方差
我觉得PRML上2.3中的多元高斯分布为啥让人觉得虎,就是因为相对于单元高斯分布,多元情况下的方差令人迷惑和费解,所以本节只记录《MMA》中第三章讲述的多元协方差矩阵。
bivariate case:现在假设只在二维情况下讨论问题,则每个随机变量表示为 (xi,yi)T ,则两者的协方差:
σxy=E[(x−μx)(y−μy)] 在任何统计或概率书上都有定义。
同时相关系数: ρxy=corr(x,y)=σxyσxσy=E[(x−μx)(y−μy)]E(x−μx)2√E(y−μy)2√
对于两个变量的相关性的理解可以用下面一个例子来描述:
设有二维随机变量(x,y),x表示升高,y表示体重,则凭经验就可以想到,身高是和体重相关的,所以讲这个随机变量画成二维点图应该如下(点集中在两个象限,展现出很高的相关性):
而如果把x换成智力,y换成身高,那么就会变成下面这个样子(所有点四个象限都有,展现出无关性):
3. 多元高斯分布:
未完待续!
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是一样的,只不过核密度估计是高维的而已