静态缓存页面 · 查看动态版本 · 登录
智柴网 登录 | 注册
← 返回话题
✨步子哥 @steper · 2026-07-17 03:50

用"运费"解混信号:最优传输如何让 ICA 不再猜分布

一个 40 年的老问题

1986年,Herault 和 Jutten 提出了独立成分分析(ICA)——给定一组混合信号,能不能把它们拆回独立的源信号?

经典场景是鸡尾酒会问题:两个麦克风录到两个混合信号,每个信号都是两个人说话的叠加。ICA 要从这两个混合信号里恢复出两个原始语音。

数学上,线性 ICA 的模型是:观测向量 x = As,其中 A 是未知的混合矩阵,s 是独立的源信号。目标是找到解混矩阵 B = A⁻¹,使得 y = Bx = s

问题在于,A 不是唯一可识别的——任何对 s 做置换和缩放的矩阵都满足条件。所以 ICA 需要一个"非高斯性"假设:源信号不能都是高斯分布的(因为多个独立高斯变量的线性组合还是高斯,无法区分)。

传统方法的解法是:定义一个"非高斯性度量"作为对比函数(contrast function),然后最大化它。FastICA 用 negentropy 近似,InfoMax 用互信息,JADE 用四阶累积量。这些方法都有效,但都有一个共同的软肋——对比函数是源分布的代理

Ashutosh Jha 和 Bertrand Besserve(马克斯·普朗克智能系统研究所)的论文 OT-ICA 给出了一个不同的答案:不要猜分布,直接用最优传输距离量到高斯的距离

代理函数的根本缺陷

传统 ICA 算法的对比函数都是"代理"——它们不直接度量"这个分布有多非高斯",而是用一个容易计算的近似:

  • FastICA:用 logcosh 或 exp 函数近似 negentropy。对超高斯分布(重尾)效果好,但对次高斯分布(轻尾)效果差。
  • InfoMax:用神经网络估计互信息。灵活但需要训练额外的判别器。
  • JADE:用四阶累积量(kurtosis)。对对称分布有效,但对偏态分布不敏感。
代理函数的根本问题是:它们对某些分布"盲"。FastICA 的 logcosh 对均匀分布和 Beta 分布的区分能力很弱,因为这两种分布的 logcosh 值几乎相同。当混合信号里同时有拉普拉斯、高斯、均匀、学生-t 和 Beta 分布时,FastICA 的对比函数会"看不清"哪些成分是独立的。

Jha 和 Besserve 的核心观察是:Wasserstein 距离(最优传输距离)是一种"无分布假设"的非高斯性度量

最优传输:从"运土"到"辨信号"

最优传输问题的原始形式是 Monge 在 1781 年提出的:给定一堆土和一组坑,怎么运土让总运费最小?这个问题的现代形式(Kantorovich 松弛)定义了两个概率分布之间的距离——Wasserstein 距离。

关键数学事实:一个分布到标准高斯分布的 Wasserstein 距离 W₂²,恰好度量了它的"非高斯性"。

为什么?因为 Wasserstein 距离有显式公式:

W₂²(F, Φ) = ∫₀¹ (F⁻¹(u) - Φ⁻¹(u))² du

其中 F⁻¹ 是源分布的分位数函数(CDF 的逆),Φ⁻¹ 是标准高斯的分位数函数。这个积分的几何含义是:把源分布的每个分位数"搬运"到高斯分布的对应分位数,总搬运成本的平方

  • 如果源分布本身就是高斯,W₂² = 0
  • 如果源分布偏离高斯越远,W₂² 越大
这意味着 W₂² 是一个精确的、无分布假设的非高斯性度量——不需要选择 logcosh、exp 或任何其他代理函数。

OT-ICA 算法:三步解混

OT-ICA 的算法出奇简洁:

步骤 1:白化。先对观测数据做白化(PCA + 标准化),把混合矩阵从任意 A 变成正交矩阵 Q。这一步把搜索空间从 GL(d) 缩小到 O(d)——正交群。

步骤 2:计算 W₂² 对比。对当前解混矩阵 B 的每个输出分量 yᵢ,计算它的经验 CDF 到标准高斯的 W₂² 距离。关键技巧是分位数排序

1. 把 yᵢ 的 N 个样本排序,得到经验分位数 2. 取标准高斯的 N 个等间距分位数 3. W₂² ≈ (1/N) Σⱼ (yᵢ₍ⱼ₎ - zⱼ)²,其中 yᵢ₍ⱼ₎ 是第 j 小的样本,zⱼ 是高斯的第 j 个分位数

这个计算不需要解最优传输问题——排序就是解。因为一维最优传输的解就是分位数匹配。

步骤 3:黎曼梯度上升。在正交群 O(d) 上做梯度上升,最大化 Σᵢ W₂²(yᵢ, Φ)。梯度通过链式法则计算:W₂² 对 yᵢ 的梯度是 2(yᵢ - zᵢ),再回传到 B。正交约束通过黎曼投影维护。

整个算法的伪代码只有 10 行。核心计算就是排序 + 线性代数。

为什么这比代理函数好

论文的定理 3 给出了理论保证:W₂² 对比在独立成分处被最大化,且只在独立成分处被最大化。这意味着 W₂² 是一个"精确对比"——没有代理误差。

FastICA 的 logcosh 对比只在源分布属于某个参数族(如拉普拉斯)时才精确。当源分布是均匀或 Beta 时,logcosh 是"有偏近似"——它最大化的是代理目标,不是真正的非高斯性。

OT-ICA 的优势在异质混合(heterogeneous mixtures)上最为明显。论文测试了五种混合场景:

1. Continuous Only(拉普拉斯 + 学生-t + 高斯)——OT-ICA 比 FastICA 低 40-45% 2. Full Hybrid(拉普拉斯 + 高斯 + 均匀 + 学生-t + Beta)——OT-ICA 比 FastICA 低 2-4 倍 3. Discrete Only(泊松 + 伯努利)——所有方法都失败(E > 0.5) 4. Mixed Continuous + Discrete——OT-ICA 仍最优但优势缩小 5. Heavy-tailed——OT-ICA 和 FastICA 接近

在 Full Hybrid 的 d=30 场景下,FastICA 的 Amari 误差是 0.671(接近失败),OT-ICA 是 0.335(仍在可用范围)。维度越高,代理函数的偏差越累积,OT-ICA 的优势越大

两个真实应用

应用一:EEG 眨眼伪迹去除

脑电信号(EEG)采集时,眨眼产生的肌电信号会混入头皮电极记录。颅骨作为一个线性体积导体,把眨眼信号线性混合到各通道。这是 ICA 的经典应用场景。

OT-ICA 在 MNE 样本数据集上的表现:把眨眼伪迹集中到一个独立成分里,该成分的超额峰度(excess kurtosis)远高于其他四个成分。直接把这个成分置零再反解,眨眼窗口的 RMS 显著降低。

关键优势:不需要指定伪迹的分布模型。传统 ICA 需要假设眨眼是超高斯的(用 logcosh 对比),OT-ICA 直接用 W₂² 自动检测非高斯性。

应用二:金融市场价格发现

在分割的金融市场里,同一个资产在多个交易所交易。Hasbrouck 的信息份额(Information Share, IS)度量每个交易所对价格发现的贡献。IS 的计算需要从观测残差 uₜ = Bεₜ 中恢复结构创新 εₜ,但 B 只识别到一个正交旋转——这是 ICA 问题。

传统方法用 Cholesky 分解,但 Cholesky 依赖交易所的任意排序。OT-ICA 直接从创新的非高斯性恢复 B,不需要排序假设。

在模拟的三市场 VECM 上,OT-ICA 在 500 次 Monte Carlo 运行中恢复的 IS 值与真值偏差小于 0.002。这是一个无排序假设的结构识别——传统方法做不到。

失败的地方:离散源信号

OT-ICA 不是万能的。论文坦率地报告了它的失败模式:纯离散源信号

在 Discrete Only 场景下,OT-ICA 在 d=10 时 Amari 误差 0.706,d=20 时 1.331——都超过 0.5 的失败阈值。FastICA 和 JADE 也失败,但 JADE 在 d=10 时稍好(0.443)。

失败原因不是 W₂² 对比本身——论文证明 W₂² 在泊松分布上仍然有清晰的非高斯性信号(比 logcosh 强 10 倍以上)。问题出在梯度计算:离散分布的 CDF 是阶梯函数,分位数匹配的梯度在阶梯之间为零,导致黎曼求解器停滞。

这提示了一个改进方向:用 Sinkhorn 距离(熵正则化的最优传输)替代精确 W₂²,因为 Sinkhorn 的梯度是光滑的。论文在 Conclusion 中提到了这个方向。

代码实现:简洁但有效

论文开源了代码(github.com/ashutoshjha3103/ot_in_linear_ica)。核心实现 wasserstein_ica/core.py 只有约 200 行 Python,依赖 numpy + scipy。关键函数:

  • compute_w2_squared(y, n_quantiles):计算经验 W₂²,核心是 np.sort(y) 和分位数匹配
  • orth_gradient(B, G):黎曼梯度投影,保证 B 始终在正交群上
  • optimize(B, X, ...):主循环,梯度上升 + 步长衰减
代码的简洁性印证了论文的核心论点:W₂² 是一个"即插即用"的对比函数——不需要训练额外的神经网络,不需要选择核函数,不需要调对比函数的形式。排序 + 线性代数就够了。

更广的启示:从代理到精确

OT-ICA 的方法论价值超出 ICA 本身。很多机器学习问题都有"代理 vs 精确"的权衡:

  • 变分推断:用均值场近似替代真实后验
  • GAN 训练:用 JS 散度替代 Wasserstein 距离
  • 因果发现:用条件独立性检验替代结构方程
代理方法的好处是计算便宜,坏处是引入偏差。OT-ICA 展示了一个有趣的中间路径:当精确度量在一维情况下有 O(N log N) 的显式解时,代理的必要性消失

排序的复杂度是 O(N log N),和 FastICA 的 logcosh 计算复杂度相当。但 W₂² 是精确对比,logcosh 是有偏代理。用同样量级的计算,拿到更精确的对比——这是一个纯粹的赢。

更深的启示是:最优传输在机器学习中的应用远未饱和。Wasserstein 距离在生成模型(WGAN)、域适应、分布匹配里都有应用,但在经典统计方法(ICA、PCA、聚类)中的渗透还很浅。OT-ICA 证明了这个方向的潜力——把代理换成精确,往往能拿到数量级的提升。

下一步看什么?论文提到的 LiNGAM(因果发现)和非线性 ICA 的 OT 扩展。如果 W₂² 能在这些更难的问题上也work,"最优传输替代代理"可能成为一个新的范式。

---

论文: arXiv:2607.14081 作者: Ashutosh Jha, Bertrand Besserve 领域: 统计信号处理 / 最优传输 代码: github.com/ashutoshjha3103/ot_in_linear_ica 核心: W₂² 替代代理对比函数,排序即解

暂无表态