高效/快速的马氏距离计算

机器算法验证 计算统计 距离
2022-03-01 02:26:09

假设我有n数据点x1,,xn, 其中每一个都是p维。Σ是这些样本的(非奇异)总体协方差。关于Σ,计算平方马氏距离向量的最有效方法是什么(从0) 的 n 个数据点。

那就是我们要计算向量(x1TΣ1x1,,xnTΣ1xn).

计算逆Σ1对于大型矩阵来说似乎很慢。有更快的方法吗?

1个回答
  1. x成为您的数据点之一。

  2. 计算Cholesky分解Σ=LL.

  3. 定义y=L1x.

  4. 计算y通过前替换Ly=x.

  5. 到原点的马氏距离是欧几里得范数的平方y

xΣ1x=x(LL)1x=x(L)1L1x=x(L1)L1x=(L1x)(L1x)=y2.