用傅里叶级数拟合一维概率密度函数
By 苏剑林 | 2024-03-07 | 32263位读者 | 引用在《“闭门造车”之多模态思路浅谈(一):无损输入》中我们曾提到,图像生成的本质困难是没有一个连续型概率密度的万能拟合器。当然,也不能说完全没有,比如高斯混合模型(GMM)理论上就是可以拟合任意概率密度,就连GAN本质上也可以理解为混合了无限个高斯模型的GMM。然而,GMM尽管理论上的能力是足够的,但它的最大似然估计会很困难,尤其是通常不适用基于梯度的优化器,这限制了它的使用场景。
近日,Google的一篇新论文《Fourier Basis Density Model》针对一维情形,提出了一个新的解决方案——用傅里叶级数来拟合。论文的分析过程颇为有趣,构造形式也很是巧妙,值得学习一番。
问题简述
可能有读者质疑:只研究一维情形有什么价值?确实,如果只考虑图像生成场景,那可能真的价值有限,但一维概率密度估计本身有它的应用价值,如数据的有损压缩,所以它依然是一个值得研究的主题。再者,即便我们需要研究多维的概率密度,也可以通过自回归的方式转化为多个一维的条件概率密度来估计。最后,这个分析和构造过程本身就很值得回味,所以哪怕是仅仅作为一道数学分析题来练习也是相当有益的。
狄拉克函数:级数逼近
By 苏剑林 | 2017-01-11 | 46005位读者 | 引用魏尔斯特拉斯定理
将狄拉克函数理解为函数的极限,可以衍生出很丰富的内容,而且这些内容离严格的证明并不遥远。比如,定义
$$\delta_n(x)=\left\{\begin{aligned}&\frac{(1-x^2)^n}{I_n},x\in[-1,1]\\
&0,\text{其它情形}\end{aligned}\right.$$
其中$I_n = \int_{-1}^1 (1-x^2)^n dx$,于是不难证明
$$\delta(x)=\lim_{n\to\infty}\delta_n(x)$$
这样,对于$[a,b]$上的连续函数$f(x)$,我们就得到
$$f(x)=\int_{-1}^1 f(y)\delta(x-y)dy = \lim_{n\to\infty}\int_{-1}^1 f(y)\delta_n(x-y) dy$$
这里$-1 < a < b < 1$,并且我们已经“不严谨”地交换了积分号和极限号,但这不是特别重要。重要的是它的结果:可以看到
$$P_n(x)=\int_{-1}^1 f(y)\delta_n(x-y) dy$$
是$x$的一个$2n$次多项式,因此上式表明$f(x)$是一个$2n$次的多项式的极限!这就引出了著名的“魏尔斯特拉斯定理”:
闭区间上的连续函数都可以用多项式一致地逼近。
斯特灵(stirling)公式与渐近级数
By 苏剑林 | 2016-04-15 | 60390位读者 | 引用斯特灵近似,或者称斯特灵公式,最开始是作为阶乘的近似提出
$$n!\sim \sqrt{2\pi n}\left(\frac{n}{e}\right)^n$$
符号$\sim$意味着
$$\lim_{n\to\infty}\frac{\sqrt{2\pi n}\left(\frac{n}{e}\right)^n}{n!}=1$$
将斯特灵公式进一步提高精度,就得到所谓的斯特灵级数
$$n!=\sqrt{2\pi n}\left(\frac{n}{e}\right)^n\left(1+\frac{1}{12n}+\frac{1}{288n^2}\dots\right)$$
很遗憾,这个是渐近级数。
相关资料有:
https://zh.wikipedia.org/zh-cn/斯特灵公式
https://en.wikipedia.org/wiki/Stirling%27s_approximation
本文将会谈到斯特灵公式及其渐近级数的一个改进的推导,并解释渐近级数为什么渐近。
[欧拉数学]伯努利级数及相关级数的总结
By 苏剑林 | 2016-03-20 | 96608位读者 | 引用最近在算路径积分的时候,频繁地遇到了以下两种无穷级数:
$$\sum_n \frac{1}{n^2\pm\omega^2}\quad \text{和} \quad \prod_n \left(1\pm\frac{\omega^2}{n^2}\right)$$
当然,直接用Mathematica可以很干脆地算出结果来,但是我还是想知道为什么,至少大概地知道。
伯努利级数
当$\omega=0$的时候,第一个级数变为著名的伯努利级数
$$\sum_n \frac{1}{n^2}=1+\frac{1}{4}+\frac{1}{9}+\frac{1}{16}+\dots$$
既然跟伯努利级数有关,那么很自然想到,从伯努利级数的求和入手。
exp(1/2 t^2+xt)级数展开的图解技术
By 苏剑林 | 2015-08-13 | 31405位读者 | 引用本文要研究的是关于$t$的函数
$$\exp\left(\frac{1}{2}t^2+xt\right)$$
在$t=0$处的泰勒展开式。显然,它并不困难,手算或者软件都可以做出来,答案是:
$$1+x t+\frac{1}{2} \left(x^2+1\right) t^2+\frac{1}{6}\left(x^3+3 x\right) t^3 +\frac{1}{24} \left(x^4+6 x^2+3\right) t^4 + \dots$$
不过,本文将会给出笔者构造的该级数的一个图解方法。通过这个图解方法比较比较直观而方便地手算出展开式的前面一些项。后面我们再来谈谈这种图解技术的起源以及进一步的应用。
级数的图解方法:说明
首先,很明显要写出这个级数,关键是写出展开式的每一项,也就是要求出
$$f_k (x) = \left.\frac{d^k}{dt^k}\exp\left(\frac{1}{2}t^2+xt\right)\right|_{t=0}$$
$f_k (x)$是一个关于$x$的$k$次整系数多项式,$k$是展开式的阶,也是求导的阶数。
这里,我们用一个“点”表示一个$x$,用“两点之间的一条直线”表示“相乘”,那么,$x^2$就可以表示成
胡闹的胜利:将算子引入级数求和
By 苏剑林 | 2015-05-26 | 23915位读者 | 引用在文章《有趣的求极限题:随心所欲的放缩》中,读者“最近倒了”提出了一个新颖的解法,然而这位读者写得并非特别清晰,更重要的是里边的某些技巧似乎是笔者以前没有见过的,于是自行分析了一番,给出了以下解释。
胡闹的结果
假如我们要求级数和
$$\sum_{k=0}^n \binom{n}{k}\frac{A_k}{n^k}$$
这里$A_0=1$。一般而言,我们用下标来标注不同的数,如上式的$A_k,\,k=0,1,2,\dots$,可是有的人偏不喜欢,他们更喜欢用上标来表示数列中的各项,他们把上面的级数写成
$$\sum_{k=0}^n \binom{n}{k}\frac{A^k}{n^k}$$
可能读者就会反对了:这不是胡闹吗,这不是让它跟分母的n的k次幂混淆了吗?可是那人干脆更胡闹一些,把级数写成
$$\sum_{k=0}^n \binom{n}{k}\frac{A^k}{n^k}=\left(1+\frac{A}{n}\right)^n$$
看清楚了吧?他干脆把$A$当作一个数来处理了!太胡闹了,$A$是个什么东西?估计这样的孩子要被老师赶出课堂的了。
可是换个角度想想,似乎未尝不可。
从Knotsevich在黑板上写的级数题目谈起
By 苏剑林 | 2015-02-27 | 29713位读者 | 引用在数学分析的级数理论中,有一类常见的题目,其中涉及到
$$\cos\theta+\cos 2\theta+\dots+\cos n\theta\tag{1}$$
和
$$\sin\theta+\sin 2\theta+\dots+\sin n\theta\tag{2}$$
之类的正弦或者余弦级数的求和,主要是证明该和式有界。而为了证明这一点,通常是把和式的通项求出来。当然,该级数在物理中也有重要作用,它表示$n$个相同振子的合振幅。在我们的数学分析教材中,通常是将级数乘上一项$\sin\frac{\theta}{2}$,然后利用积化和差公式完成。诚然,如果仅限在实数范围内考虑,这有可能是唯一的推导技巧的。但是这样推导的运算过程本身不简单,而且也不利于记忆,在大二的时候我就为此感到很痛苦。前几天在看费曼的书的时候,想到了一种利用复数的推导技巧。很奇怪,这个技巧是如此简单——写出来显得这篇文章都有点水了——可是我以前居然一直没留意到!看来功力尚浅,需多多修炼呀。
最近评论