和多项分布类似的还有Categorical Distribution:
将一个小球放入k个桶,记变量X为k个桶内的小球个数,所以是一个向量,并且是One-hot的形式,因为这个小球只能在一个桶里面,所以是服从Categorical分布;
将n个小球放入k个桶,记变量X为k个桶内的小球个数,是一个向量,并且向量元素的和为n,所以是服从多项分布。
参考:
http://cos.name/2013/01/lda-math-beta-dirichlet/
LDA-math-认识Beta/Dirichlet分布
http://www.cs.cmu.edu/~epxing/Class/10701-08s/recitation/dirichlet.pdf
Dirichlet Distribution, Dirichlet Process and Dirichlet Process Mixture
https://zhuanlan.zhihu.com/p/59550457
Categorical Distribution
Tweedie分布是一种泊松分布和伽马分布的复合分布。
其重要的调节参数p,当p=1,Tweedie就是Poisson分布,当p=2,Tweedie就是Gamma分布。\(1< p < 2\)的时候就变成Poisson和Gamma的复合分布。
https://mp.weixin.qq.com/s/UAXSGp0Lx_-HvIMEH3ttLg
tweedie回归在信贷业务中的应用
https://www.zhihu.com/question/442615310
有没有大佬可以讲解一下Tweedie分布对正态、泊松、伽马分布的统一,和后三个分布间的相互转换与区别?
参考:
http://www.math.wm.edu/~leemis/2008amstat.pdf
Univariate Distribution Relationships
http://www.math.wm.edu/~leemis/chart/UDR/UDR.html
上图的网页版
http://www.wzchen.com/s/probability_cheatsheet.pdf
Probability Cheatsheet v2.0
https://mp.weixin.qq.com/s/svNVryWhiGxWFBz0s0dX5g
概率论简史
https://zhuanlan.zhihu.com/p/158801020
深度学习那些需要掌握的概率分布
统计模拟是数理统计中非常有用的工具之一, 它是利用计算机产生某概率模型的随机数,再通过这些随机数来模拟真实模型。
这方面的书籍首推Sheldon M.Ross所著的《Simulation》。
Sheldon M.Ross,斯坦福大学统计学博士(1968),UCB教授(1976~2004),南加州大学Industrial and Systems Engineering系主任。
以下仅记录一些简单的结论。
通过线性同余生成器(linear congruential generator, LCG)可以生成伪随机数,且该随机数满足均匀分布。
\[x_n=ax_{n-1}\quad \mathrm{modulo} \quad m\]这里的a和m通常都是大质数。
Box-Muller变换:如果随机变量\(U_1,U_2\)独立且\(U_1, U_2 \sim Uniform(0,1)\),
\[\begin{align} Z_0 & = \sqrt{-2\ln U_1} cos(2\pi U_2) \\ Z_1 & = \sqrt{-2\ln U_1} sin(2\pi U_2) \end{align}\]则\(Z_0,Z_1\)独立且服从标准正态分布。
George Edward Pelham Box,1919~2013,英国统计学家。伦敦学院大学博士,先后供职于普林斯顿大学和威斯康辛-麦迪逊大学。Ronald Aylmer Fisher的女婿。英国皇家学会会员,美国统计协会主席,数理统计学会(这是一个国际组织)主席。
Mervin Edgar Muller,俄亥俄州立大学教授。
https://mp.weixin.qq.com/s?__biz=MzI1MTIzMzI2MA==&mid=2650561098&idx=1&sn=675375265279cce7fdb1ecd94fd7a549
生成特定分布随机数的方法
从上面的描述可以看出,统计模拟一般包括两步:
1.生成均匀分布的随机数(Random generator)。例如:numpy.random.rand
或tf.random.uniform
。
2.通过采样(Draw samples)将分布变为特定分布。例如:numpy.random.multinomial
或tf.random.categorical
。
LCG(线性同余发生器,Linear congruential generator)是最古老,也是最知名的伪随机序列生成器算法(Pseudorandom number generator, PRNG)。然而它也有一些缺点:
1.如果用于选择n维空间中的点,那么这些点至多会位于\((n! \cdot m)^{1/n}\)超平面(Marsaglia’s Theorem)。
2.当m为2的幂时,低阶比特周期较短。
PS:998244353是一个有名的质数n,因为n-1有个因数是\(2^23\),方便fft的分治算法。
因此,在Monte Carlo模拟或者加密算法领域,通常要使用更高质量的PRNG。
Mersenne Twister算法是1997年由Makoto Matsumoto(松本 眞)和Takuji Nishimura(西村 拓士)提出的算法。这种算法由于和梅森素数(Mersenne prime)有关,故名。
该算法最常见的实现基于梅森素数\(2^{19937}-1\),因此又被称为MT19937。原始的MT19937可以生成32位的随机数,它还有64位的版本:MT19937-64。
MT算法的实现也很多了,参见原作者的官网:
http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html
除了MT算法之外,Philox算法也是比较常用的,且后者更适合并行,速度也更快。
Philox原作者官网:
http://www.thesalmons.org/john/random123/
Philox算法的实现一般以philox_4x32_10的形式命名,它表明算法一次能生成4个32位的无符号数,10表示运算迭代的次数。
官方的代码由于要考虑各种兼容性,写的复杂无比,这里有一个精简版:
https://github.com/antkillerfarm/antkillerfarm_crazy/blob/master/Tool/Gcc/random/philox.c
还有一个进阶版,增加了多线程并行生成、均匀分布变换、正态分布变换的功能:
https://github.com/antkillerfarm/antkillerfarm_crazy/blob/master/Tool/Gcc/random/philox_1.c
这个算法能够并行的要害在于,它有两个寄存器:种子寄存器和状态寄存器。这两个中任意一个不同,都会生成不同的随机数序列。
类似的,在tf中有两组随机数生成器:tf.random.stateless_xxx
和tf.random.xxx
。
所谓的stateless是指,只要种子确定,每次运行都会生成相同的随机数序列。
CUDA除了Philox算法生成器之外,还有XORWOW生成器和MRG32k3a生成器。
https://zhuanlan.zhihu.com/p/694166229
蒙特卡洛应用
https://bashtage.github.io/randomgen/index.html
这是一个RNG(Random Number Generation)项目,集成了多种算法。
参考:
https://blog.csdn.net/wuha391/article/details/78486021
随机算法mt19937
https://blog.csdn.net/caimouse/article/details/55668071
mt19937是什么鬼?
http://michaelbrundage.com/note/2005/01/05/random-number-generation/
这是一篇RNG方面的综述。
http://www.azillionmonkeys.com/qed/random.html
这篇blog讲述了将随机整数变为浮点数,需要注意的问题。
MCMC和Gibbs Sampling最早都是统计力学的概念,后来才被用于机器学习领域。现将统计力学与组合优化的对应关系罗列如下:
统计力学 | 组合优化 |
---|---|
样本 | 问题实例 |
状态(构形) | 构形 |
能量 | 代价函数 |
温度 | 控制参数 |
基态能量 | 最小代价 |
基态构形 | 最小构形 |
对数学史感兴趣的朋友,可以看看陈希孺院士的《数理统计学简史》一书。rickjin文章的内容有相当部分取自该书。
陈希孺,1934~2005,数理统计学家。1956年毕业于武汉大学数学系,1997年当选为中国科学院院士。
该书中关于频率统计学派和贝叶斯学派的争议,引起了我的注意。
频率统计学派是所谓的正统派,由于其简单且便于理解的特点,多数入门级的数理统计学教程,一般都是按照该学派的思路写的。
而贝叶斯学派可谓另辟蹊径,它和频率统计学派的差异,参见《机器学习(九)》。由于该派系的思想比较新颖,我一度以为它和频率统计学派的关系,就犹如相对论之于经典力学。
然而,陈希孺院士告诉我们,两者各有优劣,尚未到一方决出胜负的阶段。比如,贝叶斯学派的先验估计,既是其成功的奥秘,也是其不成功的软肋。比如,对于“无信息先验分布”,目前尚处于“信则灵,不信则无”的境地。
陈院士的观点是:各取所长,为我所用。
近年来,贝叶斯学派的广泛应用,更多的原因在于计算机的计算能力大幅提升之后,由于随机样本获取成本的下降,导致了蒙特卡洛方法大行其道。
参考:
https://mp.weixin.qq.com/s/uFeyZ-6gFo2oOYKTnt2R9Q
揭示贝叶斯公式应用中的认识误区
https://mp.weixin.qq.com/s/AsZyjwUclEoxxl2VRBekHA
拟合目标函数后验分布的调参利器:贝叶斯优化
https://mp.weixin.qq.com/s/psMlGLOZcmX-SmEKr2gUOg
从贝叶斯定理到概率分布:综述概率论基本定义
http://mp.weixin.qq.com/s/axwRMb8lCyMEh2WGIZR1rA
实例详解贝叶斯推理的原理
https://mp.weixin.qq.com/s/rTpmFvgRC-cKbVxQkygdNQ
从概率论到多分类问题:综述贝叶斯统计分类
https://mp.weixin.qq.com/s/TQfaBddaDh_jIhcaKJFx7w
概率论之概念解析:用贝叶斯推断进行参数估计
https://mp.weixin.qq.com/s/i4G2k5yZZV_Q8U4T30XX2A
概率论之概念解析:边缘化(Marginalisation)
https://mp.weixin.qq.com/s/Jcwxx5oxACjDEVZr9qgPGQ
一个我们几乎每天都在使用的数学工具
https://mp.weixin.qq.com/s/vuFBY99-TDdyQELcUdXjTQ
浅谈贝叶斯和MCMC
https://mp.weixin.qq.com/s/eIiFLW5pShrCnK5mZalLSw
贝叶斯统计数据如何说服我去健身房
Gabriel’s Horn,又名托里拆利小号(Torricelli’s trumpet),是数学史上非常经典的模型。它最早由Evangelista Torricelli提出,故名。
Evangelista Torricelli,1608~1647,意大利物理学家和数学家。主要研究气压、水压,提出了托里拆利原理,并发明了气压计。
上图是Gabriel’s Horn的图像,它由\(y=\frac{1}{x}(x>1)\)绕x轴旋转得到。Torricelli发现Gabriel’s Horn是个体积有限,而表面积无限的形状。
\[V=\pi\int\limits_1^a\left(\frac{1}{x}\right)^2\mathrm{d}x=\pi\left(1-\frac{1}{a}\right)\] \[\lim_{a\to\infty}V=\lim_{a\to\infty}\pi\left(1-\frac{1}{a}\right)=\pi\cdot\lim_{a\to\infty}\left(1-\frac{1}{a}\right)=\pi\] \[A=2\pi\int\limits_1^a {\frac{1}{x}}\sqrt{1+\left(-\frac{1}{x^2}\right)^2}\mathrm{d}x > 2\pi\int\limits_1^a \frac{\mathrm{d}x}{x}=2\pi\ln(a)\] \[\lim_{a\to\infty}A\ge\lim_{a\to\infty}2\pi\ln(a)=\infty\]但是反过来的情况,即表面积有限,而体积无限的情况,也就是所谓的Gabriel’s horn逆现象,是不存在的。——实际上,众所周知的是表面积一定的形状中,球形体积最大。
Gabriel’s horn现象不仅存在于表面积/体积中,也存在于长度/面积中,即所谓的无限长海岸线问题。对此的进一步研究,开拓了数学中的分形几何领域。
您的打赏,是对我的鼓励