流形学习思想
流形是指连在一起的区域:是一组点的集合,且每个点都有邻域。(也就意味着流形中某个元素可以通过某种方式移动到其邻域位置)
在机器学习中,我们允许流形的维数从一个点到另一个点有所变化。(这通常发生在流形与自身相交的情况。例如数字8,流形大多数位置只有一维,但在中心相交的时候,可移动方向变成两维)。
流形学习算法的假设:Rn中大部分区域是无效输入,有意义的输入只分布在包含少量数据点的子集构成的一组流形中。而在学习函数的输出中有意义的变化都沿着流形的方向。
支持1:至少在图形处理、声音或文本中,流形的假设至少近似是对的。(它们的概率分布都是高度集中的,噪声的均匀分布不会与这类领域的结构化输入的数据分布类似)。
支持2:满足样本分布集中,但满足有邻域且可交换吗?第二个支持是,可以非正式的想象这些邻域与交互:逐渐变亮或变暗,逐步移动或旋转等等
流形算法的优势:当数据位于低维流形中时,使用流形中的坐标比使用Rn的全局坐标来表示数据更为自然和精简。因此可以将流形看作是对数据的压缩映射(在降低维度的同时不会发生信息损失)。数据压缩?
深度学习也是这样,在繁杂的数据中提取数据的内在结构特征。
提取到流形的坐标后(或者得到这种映射方法后),很有可能去现有学习算法,但流形坐标的提取是很有挑战性的任务。
常见的通过流形实现降维映射的方法包括:
比较常见的有
1. 局部改线嵌入(Local Linear Embedding, LLE)[1]
假设数据中每个点可以由其近邻的几个点重构出来。降到低维,使样本仍能保持原来的重构关系,且重构系数也一样。
2. 拉普拉斯特征映射(Laplacian Eigenmaps, LE)[2]
将数据映射到低维,且保持点之间的(相似度)距离关系。即在原空间中相距较远的点,投影到低维空间中,希望它们之间仍相距较远。反之亦然。
3. 局部保持投影(LPP)[3]
4. 等距映射(Isomap)[4]
[1] Roweis, Sam T and Saul, Lawrence K. Nonlinear dimensionality reduction by locally linear embedding. Science, 290(5500). 2000: 2323-2326.
[2] Belkin, Mikhail and Niyogi, Partha. Laplacian eigenmaps for dimensionality reduction and data representation. Neural computation. 15(6). 2003:1373-1396.
[3] He, Xiaofei and Niyogi, Partha. Locality preserving projections. NIPS. 2003:234-241.
[4] Tenenbaum, Joshua B and De Silva, Vin and Langford, John C. A global geometric framework for nonlinear dimensionality reduction. Science, 290(5500). 2000: 2319-2323.