MDS, multidimensional scaling, 线性降维方法, 目的就是使得降维之后的点两两之间的距离尽量不变(也就是和在原是空间中对应的两个点之间的距离要差不多)。只是 MDS 是针对欧氏空间设计的,对于距离的计算也是使用欧氏距离来完成的。如果数据分布在一个流形上的话,欧氏距离就不适用了。

1. 所谓 Machine Learning 里的 Learning ,就是在建立一个模型之后,通过给定数据来求解模型参数。

2. Riemannian geometry;

from here.

黎曼空间就是弯曲的空间, 而欧氏空间只算是黎曼空间的一种特例。

在黎曼空间里,坐标线不一定是直的,坐标线的尺规可以不是单位1(可以每个地方都不同),坐标线之间也不一定是垂直的。

流形:流形是啥呢?大家知道足球吧,就那个黑白花纹的,一块一块皮缝出来的球形物体。其实每一块皮基本上都是平的(就是你能理解的那种“平”),但是缝起来就是个足球。流形也是一样,它的比较数学化的表述是,有一个点组成的集合M,M中每一个点的附近都有一个邻域,那个邻域和欧式空间“长”的差不多(数学术语叫同胚,很形象的一个词)。还是刚刚的足球,足球上每一个点都在某块皮上,那块皮扯下来就是个平坦的东西。
直观上来讲,一个流形好比是一个 d 维的空间,在一个 m 维的空间中 (m > d) 被扭曲之后的结果。需要注意的是,流形并不是一个“形状”,而是一个“空间”,如果你觉得“扭曲的空间”难以想象,那么请再回忆之前一块布的例子。
当然,这些都是直观上的概念,其实流形并不需要依靠嵌入在一个“外围空间”而存在,稍微正式一点来说,一个 d 维的流形就是一个在任意点出局部同胚于(简单地说,就是正逆映射都是光滑的一一映射)欧氏空间  。实际上,正是这种局部与欧氏空间的同胚给我们带来了很多好处,这使得我们在日常生活中许许多多的几何问题都可以使用简单的欧氏几何来解决,

度量: 其实度量从它名字来看就能理解,度量度量,就是量一量长度嘛。人类规定了单位米尺的长度,所以我们就可以度量北京到上海的距离,可以度量你一根手指的长度,一根发丝的长度。对于这种规定了怎么量长度的空间,数学上称为度量空间。而我们最熟悉的那种量长度的方式(其实你只知道这一种,相信我),称为欧氏度量。一个例子就是初中的二维的笛卡尔坐标,两个点之间的距离就是他们横纵坐标的差平方和再开方,那就是二维的欧式度量,也是我们认为最自然的度量。但是(凡事都要有个但是),度量并不是唯一的,就是说还存在其他量距离的方式。事实上有无穷多种方式来量,但是它们之中有很多是很无聊的,大家不去研究它们.

事实上,欧氏空间也不过是一种特殊的流形,流形才是最本质的概念。黎曼在一般的流形上定义了一类特殊的度量(就是规定了一种特殊的但是会比较有意思的怎么量距离的方式),我们称为黎曼度量。有了黎曼度量,我们就可以研究这个流形到底是不是弯的?有多弯?我们可以研究上面的“直线”是什么东西,从而我们可以研究怎么才能最短的从一个点到另一个点。

流形没有坐标轴,它的坐标都是局部的。

在流形空间的直线: 测地线。如何测量曲线长度:一条曲线的长度,就是通过它每一点 切向量大小 的积分得到的。

而流形上的“直线”,其实就是这两点间距离最短的那条曲线。既然这么一条曲线是最短的,那我们知道在它周围生活的曲线们都比它长,所以在连接这两个点的所有曲线生活的空间上定义一个函数叫做 求曲线长度函数,那么我们的测地线就是这个 求曲线长度函数 的最小值点。一般来说数学上对于这种最小值,最大值的点,都有办法描述他们,通常是用一些方程来描述。于是,我们的测地线的定义的终极版本粗线了:就是满足某一组特定方程的流形上的曲线。

最短的是测地线,测地线不一定是最短的。

其实很简单,想象一下,你要从北京飞到上海,结果你先从北京飞到了北极,然后越过北极沿着经线继续飞到了南极,再越过南极回到上海。这条路径是大圆上的一段弧,自然是测地线,可是!假如你真这么干……你还说自己走的路最短……我就不做评价了……

测地线是局部最短的。

3. 莫比乌斯环和克莱因瓶

莫比乌斯环是只有一面的曲目。

克莱因瓶:一条边没有,是一个完整的曲面。 克莱因瓶其实在我们的世界里并不存在,存在于四维空间,

References:

Riemannian Geometry:

  1. 浅谈流形学习
  2. Zero谈数学——黎曼几何(1)
  3. Zero谈数学——黎曼几何(2)

  4. Zero谈数学——黎曼几何(3)

  5. 神奇的克莱因瓶和莫比乌斯环

manifold learning的更多相关文章

  1. 流形学习(manifold learning)的一些综述

    流形学习(manifold learning)的一些综述 讨论与进展 issue 26 https://github.com/memect/hao/issues/26 Introduction htt ...

  2. 流形学习(manifold learning)综述

    原文地址:https://blog.csdn.net/dllian/article/details/7472916 假设数据是均匀采样于一个高维欧氏空间中的低维流形,流形学习就是从高维采样数据中恢复低 ...

  3. 转载manifold learning一篇

    我恨自己不干活儿,不过也没辙. 早晚要学习流形的,今天先转一篇文章,以后找不到就尿了. 我真羡慕数学系的人,╮(╯▽╰)╭. 发信人: Kordan (K&M), 信区: AI标  题: do ...

  4. 流形学习 (Manifold Learning)

    流形学习 (manifold learning) zz from prfans............................... dodo:流形学习 (manifold learning) ...

  5. Manifold Learning: ISOMAP

    转:http://hi.baidu.com/chb_seaok/item/faa54786a3ddd1d7d1f8cd0b 在常见的降维方法中,PCA和LDA是最为常用的两种降维方法.PCA是一种无监 ...

  6. Manifold learning 流形学习

    Machine Learning 虽然名字里带了 Learning 一个词,让人乍一看觉得和 Intelligence 相比不过是换了个说法而已,然而事实上这里的 Learning 的意义要朴素得多. ...

  7. sklearn 下的流行学习(Manifold Learning)—— sklearn.manifold

    1. t-SNE from sklearn.manifold import TSNE X_proj = TSNE(random_state=123).fit_transform(X) 2. t_sne ...

  8. 机器学习算法总结(十二)——流形学习(Manifold Learning)

    1.什么是流形 流形学习的观点:认为我们所能观察到的数据实际上是由一个低维流行映射到高维空间的.由于数据内部特征的限制,一些高维中的数据会产生维度上的冗余,实际上这些数据只要比较低的维度就能唯一的表示 ...

  9. [原创] 对于深度学习(deep learning)在工业界的应用现状和突破 [by matthewbai]

    现状: 1. 目前大家对于大部分需求,通常采用multiple layer,units in each layer也是人工订好的(虽然可以做稀疏,但是在same layer范围内竞争). 2. 网络结 ...

随机推荐

  1. JS笔记之第一天

    JavaScript:简称JS JS的原名不是JavaScript,而是LiveScript JS分为三个部分 1.ECMAScript  标准→JS的基本的语法 2.DOM——Document Ob ...

  2. JavaScript自学笔记(2)---function a(){} 和 var a = function(){}的区别(javascript)

    function a(){} 和 var a = function(){}的区别: 学习做浮窗,看到别人的代码里有: window.onresize = function(){ chroX = doc ...

  3. 使用IDA pro逆向ARM M系核心的Bin固件

    使用IDA pro逆向ARM M系核心的Bin固件 ​ 物联网和智能设备这两年还是比较火的,我们的手中或多或少都有了几个智能设备,比如手环,智能手表,或者门锁什么之类的东西,但是同学们在做逆向的时候, ...

  4. BFS和队列

    深度优先搜索(DFS)和广度优先搜索(BFS)是基本的暴力技术,常用于解决图.树的遍历问题. 首先考虑算法思路.以老鼠走迷宫为例: (1):一只老鼠走迷宫.它在每个路口都选择先走右边,直到碰壁无法继续 ...

  5. vim编辑器未正常关闭时解决方案

    目录 vim编辑器未正常关闭时解决方案 问题描述 .swp..swo文件产生原因 解决方案 后记 hosts文件 sudo命令小记 vim编辑器未正常关闭时解决方案 问题描述 在mac上的/etc目录 ...

  6. 洛谷【P2022 有趣的数】 题解

    题目链接 https://www.luogu.org/problem/P2022 题目描述 让我们来考虑1到N的正整数集合.让我们把集合中的元素按照字典序排列,例如当N=11时,其顺序应该为:1,10 ...

  7. R语言的内存(小总结)

    memory.size()----->查看当前的内存的使用情况. memory.limit()------->当前的工作空间的最大内存容量. ls()-------->查看当前的内存 ...

  8. Easy_language

    http://www.guosen.com.cn/gxzq/tradestation/help/operate/operate06.html power language https://seekin ...

  9. ubuntu18.04 安装与卸载 php7.2

    安装: 如果之前有其他版本PHP,在这边禁用掉 1 sudo a2dismod php5 再来安装做准备 1234 sudo apt-get install software-properties-c ...

  10. 曼孚科技:AI机器学习领域常用的15个术语

    机器学习是人工智能(AI)的核心,是使计算机具有智能的根本途径.​ 本文整理了一下机器学习领域常用的15个术语,希望可以帮助大家更好的理解这门涉及概率论.统计学.逼近论.凸分析.算法复杂度理论等多个领 ...