作者:相国大人
0. 阅读说明
与LDA紧密相关的必要且最小知识集合为博文的正文。凡是灰色框中的内容为拓展和补充内容,直接跳过并不会影响你的理解。灰色框指的是如下形式的段落:
这是一个灰色框示意段落
这部分内容为补充性内容,直接跳过并不会影响你的理解
1. Γ 函数
1.1 Γ 函数
Γ
函数可以看做是阶乘在实数上的推广。
Γ(x)=∫+∞0tx−1e−tdt=(x−1)!(1.1)
我们这里不加证明的给出性质:
Γ(x)=(x−1)Γ(x−1)⇒Γ(x)Γ(x−1)=x−1(1.2)
想要证明上面这个式子也不难,分布积分就可以了。
整数阶乘其实就是
Γ
函数在整数上的采样:
因此,以后只要看到 Γ(α) ( α 是一个定值),就把它当做定值就可以了。
1.2 用 Γ 函数来扩充定义
请注意:
我们使用
Γ
函数,一个最重要的考量是,它可以把很多离散模型拓展到实数域上。例如,下面的这个密度函数:
f(x)=n!(k−1)!(n−k)!xk−1(1−x)n−k(1.3)
其中 n ,
f(x)=Γ(n+1)Γ(k)Γ(n−k+1)xk−1(1−x)n−k(1.4)
写成这个式子后,我们发现,如果 n,k 仍然取正整数,这个式子就退化为原来的式子,而如果 n,k 取实数,那么这个式子仍然有意义。相当于原来的式子在实数域上的推广。为了好看一些,我们不妨另 α=k,β=n−k+1 ,此时这个在实数域上推广的式子就可以写成:
f(x)=Γ(α+β)Γ(α)Γ(β)xα−1(1−x)β−1,x∈[0,1](1.5)
这个式子就是下一节我们要讲的 β 分布。
1.3 Γ 函数的由来
Γ 函数的由来
原作者:Rickjin
博主相国大人做了一些修改,精简和补充
参考文献:
《 LDA-math-神奇的Gamma函数(1)》作者:Rickjin
《 LDA-math-神奇的Gamma函数(2)》作者:Rickjin
《 LDA-math-神奇的Gamma函数(3)》作者:Rickjin
欧拉发现 n! 可以用如下的一个无穷乘积表达
[(21)n1n+1][(32)n2n+2][(43)n3n+3]⋯=n!(1.6)
即limm→∞1⋅2⋅3⋯m(1+n)(2+n)⋯(m+n)(m+1)n=n!(1.7)
欧拉开始尝试从一些简单的例子开始做一些计算,看看是否有规律可循,欧拉极其擅长数学的观察与归纳。当 n=1/2的时候,带入 (1.7) 式计算,整理后可以得到
(12)!=2⋅43⋅3⋅4⋅65⋅5⋅6⋅87⋅7⋅8⋅109⋅9⋯‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾√(1.8)
然而右边正好和著名的 Wallis 公式关联。Wallis 在1665年使用插值方法计算半圆曲线 y=x(1−x)‾‾‾‾‾‾‾‾√ 下的面积(也就是直径为1的半圆面积)的时候,得到关于 π 的如下结果
2⋅43⋅3⋅4⋅65⋅5⋅6⋅87⋅7⋅8⋅109⋅9⋯=π4(1.9)
于是,欧拉利用 Wallis 公式得到了如下一个很漂亮的结果: (12)!=π√2
对数学家而言,有 π 的地方必然有和圆相关的积分。由此欧拉猜测 n! 一定可以表达为某种积分形式,于是欧拉开始尝试把 n! 表达为积分形式。Wallis 公式计算的是半圆曲线 y=x(1−x)‾‾‾‾‾‾‾‾√ 下的面积,即处理积分 ∫10x12(1−x)12dx .受 Wallis 的启发,欧拉开始考虑如下的一般形式的积分
J(e,n)=∫10xe(1−x)ndx(1.10)
此处n为正整数,e为正实数。迭代地进行分部积分方法,容易得到
J(e,n)=1⋅2⋯n(e+1)(e+2)⋯(e+n+1)(1.11)
即:
n!=(e+1)(e+2)⋯(e+n+1)∫10xe(1−x)ndx(1.12)
欧拉令 e=f/g ,这样有:
J(e,n)=∫10xfg(1−x)ndx=gn+1n![f+(n+1)g](f+g)(f+2g)⋯(f+ng)(1.13)
于是:
n!(f+g)(f+2g)⋯(f+ng)=f+(n+1)ggn+1∫10xfg(1−x)ndx(1.14)
欧拉看到这的时候,就比较激动了,他想,如果令 t=1,g=0 左边就变成了 n! ,可是右边积分变成了:
∫10x10(1−x)n0n+1dx
解这个式子比较困难,于是欧拉又做了一个变换:用 xgf+g 来代替 x ,这样,上面的积分变成:
∫10(1−xgf+g)ngf+gdx(1.15)
故 (1.14) 式变成:
n!(f+g)(f+2g)⋯(f+ng)=f+(n+1)ggn+1∫10(1−xgf+g)ngf+gdx=f+(n+1)g(f+g)n+1∫10(f+g)n+1gn+1(1−xgf+g)ngf+gdx=f+(n+1)g(f+g)n+1∫10⎛⎝⎜⎜(1−xgf+g)g/(f+g)⎞⎠⎟⎟ndx(1.16)
这时,另 f=1,g=0 我们可以得到:
n!=∫10(1−x00)ndx(1.17)
根据洛必达法则,有
limz→01−xzz=洛必达limz→0−xzlnx=−lnx(1.18)
因此
n!=∫10(−lnx)ndx(1.19)
如果令 x=e−t 上式就变成了
n!=∫+∞0tne−tdt(1.20)
这样一来,整数的阶乘被写成了积分的形式,所以我们可以将整数的阶乘推广到实数域里,即定义一个在实数域的阶乘函数, Γ 函数。
欧拉早期定义的 Γ 函数是:
Γ(x)=∫∞0txe−tdt=x!就是上面的阶乘积分式子。但是后来欧拉修改了定义,将 Γ 函数定义为:
Γ(x)=∫+∞0tx−1e−tdt=(x−1)!(1.21)
之所以这样做,有数学家猜测,一个可能的原因是欧拉研究了如下积分:
B(m,n)=∫10xm−1(1−x)n−1dx(1.22)这个函数现在称为Beta 函数。如果Gamma 函数的定义选取满足 Γ(n)=(n−1)! , 那么有
B(m,n)=Γ(m)Γ(n)Γ(m+n)(1.23)
非常漂亮的对称形式。可是如果选取 Γ(n)=n! 的定义,令
E(m,n)=∫10xm(1−x)ndx
则有
E(m,n)=Γ(m)Γ(n)Γ(m+n+1)
这个形式显然不如 B(m,n) 优美,而数学家总是很在乎数学公式的美感的。
1.4 Γ 函数的性质
Γ 函数的性质
作者:相国大人
1. 与欧拉常数的关系
我们把调和级数与自然对数差值的极限叫做欧拉常数 γ :
γ=limn→∞(∑k=1n1k−ln(n))(1.24)
其中:γ=−dΓ(x)dx|x=1(1.25)
为了证明上面这个式子,我们需要做两件事:
第一:我们需要知道dnΓ(x)dxn=∫∞0tx−1e−t(lnt)ndt(1.26)
得到这个式子并不难:
∵Γ(x)=∫+∞0tx−1e−tdt=(x−1)!(1.27)
∴dΓ(x)dx=∫∞0dtx−1dxe−tdt=∫∞0tx−1(lnt)e−tdt(1.26)
同理,以此类推可以得到任意阶导数 (1.26)
第二:我们需要知道dΓ(x)dx|x=1=∫∞0e−xlnxdx(1.27)令 (1.26) 中的 x=1 即可得到此式。
这样,我们只需要证明:
γ=−∫∞0e−xlnxdx(1.28)即可,下面是具体的证明过程。
在证明之前,我们需要知道几个常见的公式:
xn−1=(x−1)(xn−1+xn−2+⋯+x+1)(1.29)
∫10xk−1dx=1k(1.30)
∫n11xdx=lnn(1.31)
证明:
由 (1.24,1.30,1.31) 立即可得
γ=limn→∞(∑k=1n∫10xk−1dx−∫n11xdx)=limn→∞(∫10∑k=1nxk−1dx−∫n11xdx)(1.32)将 (1.29) 代入 (1.32) 立即得到:
(1.32)=limn→∞(∫101−xn+11−xdx−∫n11xdx)=1−x→tlimn→∞(∫101−(1−t)n+1tdt−∫n11xdx)=t→xn+1limn→∞⎛⎝⎜⎜∫n01−(1−xn+1)n+1xdx−∫n11xdx⎞⎠⎟⎟=limn→∞⎛⎝⎜⎜∫101−(1−xn+1)n+1xdx+∫n11−(1−xn+1)n+1xdx−∫n11xdx⎞⎠⎟⎟=limn→∞⎛⎝⎜⎜∫101−(1−xn+1)n+1xdx−∫n1(1−xn+1)n+1xdx⎞⎠⎟⎟(1.33)
把上面的式子极限放到积分里面(之所以可以这样做是因为两部分都有极限)得到:
(1.32)=∫101−e−xxdx−∫∞1e−xxdx=−(∫10e−xlnxdx+∫∞1e−xlnxdx)+(1−e−x)lnx∣∣10−(e−x)lnx∣∣+∞1(1.34)
对于式子 (1.34) ,后面两项均为0:
limx→0(1−e−x)lnx=limx→0lnx11−e−x=洛必达limx→01x−e−x(1−e−x)2=limx→02(1−e−xe−x)−e−x+xe−x=limx→02(1−e−x)x−1=0
limx→+∞(e−x)lnx=limx→+∞lnxex=洛必达limx→+∞1xex=0
因此有:
γ=−∫∞0e−xlnxdx=−dΓ(x)dx|x=1
Γ 函数的其他性质,我们日后会在这里继续补充