李宏毅机器学习笔记10(Unsurpervised Learning02——Neighbor Embedding)
Unsurpervised Learning
Neighbor Embedding
1、什么是流形学习
2、LLE(Locally Linear Embedding)
3、LE(Laplacian Eigenmaps)
4、T-SNE(t Stochastic Neighbor Embedding)
Auto-Encoder
1、什么是Auto-Encoder
2、Auto-Encoder+CNN
Neighbor Embedding
1、什么是流形学习
流形:流形是一种空间,直线或者曲线是一维流形,平面或者曲面是二维流形,更高维之后是多维流形。
流形假设:某些高维数据,实际上是一种嵌入在高维空间里的低维流形数据(“嵌入高维空间中的低维流形”),地球表面(球面)就是一个嵌入在三维空间中的二维流形
流形学习:2000年在著名的科学杂志《Science》被首次提出。流形学习可用于降维,简单来说就是基于流形数据进行建模的降维算法,说白了就是找一个从流形到欧氏空间的映射。
2、LLE(Locally Linear Embedding)
LLE(Locally Linear Embedding-局部线性嵌入)是一种非线性降维算法,它能够使降维后的数据较好地保持原有 流形结构
- 寻找每个样本点的k个近邻点;
- 由每个样本点的近邻点计算出该样本点的局部重建权值矩阵;
- 由该样本点的局部重建权值矩阵和其近邻点计算出该样本点的输出值。
3、LE(Laplacian Eigenmaps)
4、T-SNE(t Stochastic Neighbor Embedding)
前面的那些问题是:它只假设相近的点应该要是接近的,但它没有说不相近的点要分开,因此T-SNE可用作数据降维与可视化。
思想:它改变了MDS和ISOMAP中基于距离不变的思想,将高维映射到低维的同时,尽量保证相互之间的分布概率不变,SNE将高维和低维中的样本分布都看作高斯分布,而Tsne将低维中的坐标当做T分布,这样做的好处是为了让距离大的簇之间距离拉大,从而解决了拥挤问题。
Auto-Encoder
1、什么是Auto-Encoder
- Auto-Encoder是一种用神经网络训练的降维方法,但它是无label的,如何训练呢?
- 在PCA中,我们可以经过主成分分析算出w,w与x运算出降维后的c,然后利用c(主成分)反算出x。AE的过程也类似!
- AE实际上是,输入一张图片,经过Encoder后变成一个维度更小的code(相当于图片压缩),然后再经过decoder解码还原照片,最后最小化输出与输入的距离。
实际上Auto-Encoder效果会比PCA好
还可以改进:
2、Auto-Encoder+CNN
处理图像一般会用CNN,现在我们CNN+Auto-Encoder模型中会加入反卷积与反池化,那么这两个表示什么呢?