概率向量的频谱——FFT 作为特征表示
004 用三色球实验把概率单纯形变成了 log-ratio 平面。但还有另一种视角:对概率向量本身做傅里叶变换。DC = 总概率。高频 = 非均匀度。这背后的数学不是巧合。
从三色球到 FFT
三色球分布
$$p = [0.6, 0.3, 0.1]$$:
import numpy as np
p = np.array([0.6, 0.3, 0.1])
F = np.fft.fft(p) # 概率 → 频谱
p_recovered = np.fft.ifft(F).real # 频谱 → 概率
表1 偏斜分布 p=[0.6, 0.3, 0.1] 的 FFT:
| 频率分量 | 值 | 含义 |
|---|---|---|
| F[0] = 1.0 | DC 分量 | 总概率=1,守恒量 |
| F[1] = 0.40 − 0.17j | 基频 | 分布不均匀的证据 |
| F[2] = 0.40 + 0.17j | 倍频 | F[1] 的共轭,源自概率的实值性 |
表2 均匀分布 p=[1/3, 1/3, 1/3] 的 FFT:
| 频率分量 | 值 | 含义 |
|---|---|---|
| F[0] = 1.0 | DC 分量 | 总概率=1 |
| F[1] = 0 | 基频 | 零能量 ← 均匀分布 |
| F[2] = 0 | 倍频 | 零能量 |
均匀分布的频谱只有 DC 分量——和常数信号在 DFT 中只产生 DC 是完全一致的。概率分布的非均匀度编码在非零频率分量的幅度里。
为什么 FFT 对概率有意义?
FFT 能捕捉到 “分布均匀与否”,有数学基础:
-
DC 分量 = 总概率和:
$$F[0] = \sum p_i = 1$$,天然守恒。
-
实值性 = 共轭对称:概率都是实数,所以
$$F[k] = \overline{F[N-k]}$$。
-
非零高频 = 非均匀分布:如果分布"偏斜"(某些类比其他类更可能),FFT 的高频能量不为零。
这些性质背后是概率论的特征函数理论:
$$\varphi(t) = \mathbb{E}[e^{itX}] = \sum_k p_k e^{itk}$$当 t 取离散等间距点时,
$$\varphi(t)$$恰是 FFT 在那些频率上的取值。FFT 就是特征函数在单位根上的采样。
类别顺序的重要性:一个限制
FFT 对概率向量施加了一个隐含假设:类别的排列有顺序(甚至是循环结构)。
对于三色球 [黑, 白, 灰],排列成 [黑, 灰, 白] 会产生不同的频谱。在离散分类任务中,类别通常没有自然顺序(不像时间序列)。这意味着:
DFT 频率的"高低频"解释依赖于类别排列的选择。它不是物理频率,而是在选定排列基底下的代数表示。
在使用 FFT/DFT 分析类别分布时,必须说明排列方式。通常采用默认的自然顺序(如词汇表索引),并接受这种解释是工具性的而非绝对物理含义。
FFT 和 Softmax:两个域的桥梁
| FFT | Softmax | |
|---|---|---|
| 本质 | 线性变换 | 非线性(指数+归一化) |
| 复杂度 | O(N log N) | O(N) |
| 逆 | IFFT(精确) | log-ratio(到平移等价类) |
| 从 | 离散信号 | logits |
| 到 | 复频谱 | 概率分布 |
| 代表 | 特征函数采样 | 玻尔兹曼分布 |
两者都把一个"测度"变换到另一个空间去观察。FFT 提供频率结构,softmax 提供概率结构。它们互补而不互斥。
信号与概率:一个启发式类比
信号处理里,FFT 告诉我们信号包含哪些频率成分——但不知道它们何时出现。短时傅里叶变换(STFT)为解决这个问题引入时间窗口。
NLP 里,词袋模型告诉我们哪些词常出现——但不知道它们怎么排列。Transformer 的 Self-Attention 可以类比为 STFT:每个 token 通过
$$QK^T$$在局部窗口内选择要关注的上下文。
信号 → STFT: 窗口1→低频强 | 窗口2→高频强 | 窗口3→中频强
序列 → Attention: 位置1关注k | 位置2关注v | 位置3关注q
但必须强调:Attention 数学上不是傅里叶变换。它做的是基于相似度的加权求和,不产生正交频率基。这个类比只在"动态、局部的加权视图"这个意象上成立。
结论
| 观察 | 结论 |
|---|---|
| FFT 的 DC = 总概率 | 概率性守恒律在频域里变成 DC |
| FFT 高频 = 非均匀度 | 分布的偏斜程度可由频谱幅度度量 |
| 均匀分布只有 DC | 类似常数信号的 DFT |
| FFT = 特征函数的离散采样 | 离散特征函数即 DFT(单位根采样) |
概率的 FFT 不是一个巧合,而是概率论和信号处理共享的同一个数学框架——谱分解——在两个领域里的各自浮现。
May the Code be with us.
License: GPLv3
本文《Watermelon》系列采用 GNU 通用公共许可证第三版 (GNU General Public License v3.0) 协议进行开源发布与分发。