无监督学习:Neighbor Embedding(邻域嵌套)
一 Manifold Learning
我们要做的是非线性的降维,data是分布在低维空间里面,只是被扭曲到了高维空间。 比如地球的表面是一个二维平面,但是被塞到一个三维空间中。 Manifold就是把S型摊平,将高维空间内的低维数据展开,这样才能计算点对点的距离。

二 几种方法
2.1 Locally Linear Embedding (LLE)
在原来的空间里面,有某点Xi,然后找到它的neighbor Xj,通过minimizing来找出Wij,再在降维后的空间里,找到基于不变的Wij参数的Zi和Zj。

形象的比喻:

转换过程:找到一个Zi,在原有的Wij不变的参数下,能有一组邻居使该公式minimize

LLE要选一个刚刚好的neighbor,K太大并不好,此时会有一些关系太弱的点,transform后不能被keep住,也就是说他们不是“比翼鸟”与“连理枝”。

2.2 Laplacian Eigenmaps


2.3 T-distributed Stochastic Neighbor Embedding (t-SNE)
t-SNE要解决什么样的问题呢? 前面的有一个最大的问题:他们只假设了相似的点接近,但没有说不同的点就一定要分离。 两个例子,都挤成一团。

那么t-SNE是怎样计算的?

t-SNE similarity的神妙选择,从图中可以看出,使较远的data point距离被拉的更大。

经典实例效果如图:

参考:
http://speech.ee.ntu.edu.tw/~tlkagk/courses/ML_2016/Lecture/tsne%20%28v2%29.pdf
https://blog.csdn.net/soulmeetliang/article/details/73441615
无监督学习:Neighbor Embedding(邻域嵌套)的更多相关文章
- Machine Learning分类:监督/无监督学习
从宏观方面,机器学习可以从不同角度来分类 是否在人类的干预/监督下训练.(supervised,unsupervised,semisupervised 以及 Reinforcement Learnin ...
- 机器学习: t-Stochastic Neighbor Embedding 降维算法 (一)
Introduction 在计算机视觉及机器学习领域,数据的可视化是非常重要的一个应用,一般我们处理的数据都是成百上千维的,但是我们知道,目前我们可以感知的数据维度最多只有三维,超出三维的数据是没有办 ...
- Python 机器学习实战 —— 无监督学习(上)
前言 在上篇<Python 机器学习实战 -- 监督学习>介绍了 支持向量机.k近邻.朴素贝叶斯分类 .决策树.决策树集成等多种模型,这篇文章将为大家介绍一下无监督学习的使用.无监督学习顾 ...
- Python机器学习入门(1)之导学+无监督学习
Python Scikit-learn *一组简单有效的工具集 *依赖Python的NumPy,SciPy和matplotlib库 *开源 可复用 sklearn库的安装 DOS窗口中输入 pip i ...
- <机器学习>无监督学习算法总结
本文仅对常见的无监督学习算法进行了简单讲述,其他的如自动编码器,受限玻尔兹曼机用于无监督学习,神经网络用于无监督学习等未包括.同时虽然整体上分为了聚类和降维两大类,但实际上这两类并非完全正交,很多地方 ...
- 三维点云去噪无监督学习:ICCV2019论文分析
三维点云去噪无监督学习:ICCV2019论文分析 Total Denoising: Unsupervised Learning of 3D Point Cloud Cleaning 论文链接: htt ...
- Python 机器学习实战 —— 无监督学习(下)
前言 在上篇< Python 机器学习实战 -- 无监督学习(上)>介绍了数据集变换中最常见的 PCA 主成分分析.NMF 非负矩阵分解等无监督模型,举例说明使用使用非监督模型对多维度特征 ...
- 【机器学习基础】无监督学习(2)——降维之LLE和TSNE
在上一节介绍了一种最常见的降维方法PCA,本节介绍另一种降维方法LLE,本来打算对于其他降维算法一并进行一个简介,不过既然看到这里了,就对这些算法做一个相对详细的学习吧. 0.流形学习简介 在前面PC ...
- 【机器学习基础】无监督学习(3)——AutoEncoder
前面主要回顾了无监督学习中的三种降维方法,本节主要学习另一种无监督学习AutoEncoder,这个方法在无监督学习领域应用比较广泛,尤其是其思想比较通用. AutoEncoder 0.AutoEnco ...
随机推荐
- 使用python实现二分法查找
最近开始学习mit的python课程,其中手工实现的一个关于二分法查找的练习代码个人感觉比较有参考价值,贴上来分享交流一下. 主要功能是在1-100中自己猜测一个数值,随后系统产生数值看是否符合猜测, ...
- 我的Android进阶之旅------>Android如何去除GridView的按下或点击选中后的背景效果
今天用GridView做了一个界面,自己自定好了一个组件,并且设置好了点击和不点击组件时候的效果,但是运行的时候发现在我定义好的背景下面还有一层不知道哪儿来的背景,严重影响了我自定义的组件的效果. 后 ...
- wireshark 学习 3 display filter
过滤信息,得到想要的帧进行分析. http://www.networkcomputing.com/networking/wifi-troubleshooting-using-wireshark/155 ...
- flask的请求上下文源码解读
一.flask请求上下文源码解读 通过上篇源码分析( ---Flask中的CBV和上下文管理--- ),我们知道了有请求发来的时候就执行了app(Flask的实例化对象)的__call__方法,而__ ...
- Maven简介(五)——pom.xml
6 Maven的pom.xml介绍 6.1 简介 pom.xml文件是Maven进行工作的主要配置文件.在这个文件中我们可以配置Maven项目的groupId.artifactId ...
- callback机制之内核通知链表【转】
本文转载自:http://bbs.chinaunix.net/thread-2011776-1-1.html 1.通知链表简介 大多数内核子系统都是相互独立的,因此某个子系统可能对其它子系统产生 ...
- 基于对话框的Opengl框架
转自:http://blog.csdn.net/longxiaoshi/article/details/8238933 12-11-29 14:55 1198人阅读 评论(6) 收藏 举报 分类: ...
- 分享知识-快乐自己:SpringMVC 底层执行原理解析
底层实现原理图: 观看底层代码: 1):打开 web.xml 文件 2):按住 Ctrl + 鼠标左键 进入底层查看源码 3):按住 Ctrl+o 找到对应的方法doDispatch 5): ...
- LoadRunner监控图表与配置(三)对系统与网络资源进行监控
1.Windows可监控的性能计数器 2.UNIX可监控的性能计数器 3.性能计数器信息说明 Windows 性能对象 计数器 数值说明 System %Total Processor Time 系统 ...
- Tips:PowerDesigner16.5 图表显示Code以及 Columns新增Commet显示