应用场景
无监督学习(Unsupervised Learning)的常见应用场景:
- 聚类(Cluster)
- 降维(Dimension Reduction)
- 生成(Generation)
可以总结为“化繁为简”、“无中生有”
Word Embedding
Word Embedding 是将一个单词映射为一个 vector
Count based
词频统计
Prediction based
Neighbor Embedding
Neighbor embedding 是一种非线性降维的方法。
Locally Linear Embedding (LLE)
基本假设:降维前后,一个点和它的 neighbor 的线性关系保持不变
算法步骤:
- 选定一个 neighbor 数量,求解一组 $w_{ij}$ 使得每个点都可以用它的 neighbor 线性组合表示
- 固定 $w_{ij}$ 不变,求解一组降维之后的点 $z_{i}$ ,使得每个点都可以用它的 neighbor 线性组合表示
Laplacian Eigenmaps
t-SNE
(T-distributed Stochastic Neighbor Embedding)
LLE 存在的问题,可以保证同一类的点在空间中相距较近,但是不同类的点可能堆叠在一起
算法思想:降维前后,保证一个点与其它所有点的相似度分布尽可能接近
缺点:不能直接对新来的数据进行降维,t-SNE 常用来作可视化
Auto-Encoder
基本结构
PCA 可以看成只有一个线性隐藏层的 Auto-encoder.
deep auto-encoder 架构
参数对称性不是必须的
De-Noise Auto-encoder
在输入上添加噪声再进行训练
auto-encoder for CNN
Decoder 妙用
利用 decoder 生成图片,左图为 mnist 图片的 encode 结果,右图为从红矩形框均匀采样后再经过 decoder 的结果
应用
- 文本检索(Text Retrieval)
- 图像检索(image search)
- 贪心无监督预训练
Deep Generative Model
PixelRNN
PixelRNN 可以用于图像生成、图像补全
VAE
VAE 也可以用于图像生成,首先训练好 VAE model, 将一个 random vector 给 decoder, 输出就是生成的图片。还可以分析 code 的某一维度对图像的影响
VAE 的优点:
- 在原来 auto-encoder code 上添加噪声进行训练,使得 encoder 更具有鲁棒性
- 可操控
VAE 存在的问题
GAN
参考另一篇 浅谈生成对抗网络