Daibingh Less is more, slow is fast.

浅谈无监督学习

2018-11-03
hdb
DL

应用场景

无监督学习(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

参考另一篇 浅谈生成对抗网络


Similar Posts

Comments