子空间的距离
在机器学习研究中,我们有时会遇到以“一个集合的向量”而非“一个向量”为基本元素的问题,为此需要定义这些向量集合之间的距离。特别地,如果允许我们直接考虑每个向量集合张成的线性子空间,那么问题就变成了如何度量两个线性子空间之间的距离。
Grassmann Manifold
用数学语言描述,设
从泛函分析的角度来讲,“距离”应该定义在一个集合上。因此,定义 Grassmann manifold 为
Principle Angles
为了寻求
由于这
Grassmann Distance
在 principle angles 的基础上,定义 Grassmann distance 为:
也即向量
事实上,除了 Grassmann distance,基于 principle angles 还可以定义很多距离:
Computation: SVD
至此,虽然我们用
不妨设
综上,principle angles 可以按如下方式计算:
首先对
做 SVD: 其中 且 .计算 principle angles:
简便起见,这两步也可以用一个式子表示:
有了 principle angles,Grassmann distance 就好计算了:
Extension: Different Dimensions
截至目前,我们假设
具体而言,设
于是
值得说明的是,此时
参考资料
- Hamm, Jihun, and Daniel D. Lee. Grassmann discriminant analysis: a unifying view on subspace-based learning. In Proceedings of the 25th international conference on Machine learning, pp. 376-383. 2008. ↩︎
- Ye, Ke, and Lek-Heng Lim. Schubert varieties and distances between subspaces of different dimensions. SIAM Journal on Matrix Analysis and Applications 37, no. 3 (2016): 1176-1197. ↩︎
- Jackson Van Dyke. Distances between subspaces. link ↩︎
- Lek-Heng Lim. distances between objects of different dimensions. link ↩︎