无监督学习之RBM和AutoEncoder
Posted Young_Gy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无监督学习之RBM和AutoEncoder相关的知识,希望对你有一定的参考价值。
有标签的数据固然好,可是一方面打标签的代价太高,另一方面大部分数据是无标签的。这样就涉及到无监督、半监督、Self-taught学习的问题。本文将介绍两种适用于无标签数据的学习方法,可以找到数据中的隐含模式,包括RBM
和AutoEncoder
。
几种学习方式
以识别猫狗图像为例,区分以下几种学习方式。
- 监督学习:有标签的猫狗数据。
- 无监督学习:无标签的猫狗数据。
- 半监督学习:部分有标签的猫狗数据。
- Transfer Learning:有标签的猫狗数据、有标签的大象老虎的数据。
- Self-taught Learning:有标签的猫狗数据、无标签的大象老虎美女的数据。
半监督学习
有时候,考虑无标签的数据分布,我们可能可以把分类器做得更好。
首先,可以先用有标签的数据训练得到分类器 C0 ,然后用 C0 去预测无标签的数据并打上标签。最后使用全部的数据训练得到分类器 C1 。
Transfer Learning
Transfer Learning,本质上是希望通过与目标对象不那么相关的数据(例如利用大象老虎的图片去分类猫狗的图片)发现潜在的共性特征,利用潜在的共性特征去分类识别。
在图像识别中,经常使用Transfer Learning的方法。其思路是:先利用CNN训练一大堆数据,CNN的隐含层相当于特征提取层。用于新的数据时,保持原来的网络结构的前面部分不变,相当于构建了隐含特征,通过调整后面部分的网络参数实现对新数据的识别。
在日常生活中,也有Transfer Learning的例子。有本叫《爆漫王》的漫画,讲的是一位少年努力成为漫画家的故事。其实漫画家和研究生蛮像的,责编-导师、画分镜-跑实验、投稿jump-投稿期刊。不过,人家的漫画家比咱研究生努力多了,生病住院的时候还在画分镜,研究生很少有住院拿键盘code的吧。
Self-talk Learning
Self-talk Learning与Transfer Learning很像,都有除了猫狗以外的大象老虎的数据。不同之处是:Transfer Learning的大象老虎数据是有标签的,Self-talk Learning的大象老虎数据是无标签的。
Self-talk Learning的例子如下:
- 识别数字0-9,有a-z的无标签的字符数据
- 新闻文本分类,有网络上爬的各种文本
- 汉语识别,有网络上英语、西班牙语的语料数据
乍看之下,Self-talk Learning很难,从不相关的无标签数据中可以获得什么呢?仔细思考下,以图像为例,像素空间的向量分布是很稀疏的,实际空间的维度并不需要这么高。不论是0-9还是a-z都是由不同的笔触组成的,如果可以通过无监督的a-z学习到笔触的表现形式,那么对于0-9的数据,先转化成笔触再进行识别便有可能取得较高的识别精度。
RBM
RBM的类别
RBM属于图模型的一种,具体来说,有:
Boltzmann Machine
Boltzmann Machine,评判了一组集合可能情况的分数,设集合 S=s1,...sK , si∈0,1 ,定义评估函数如下:
E(S)=∑iaisi+∑i<jwijsisj
将评估函数转化成概率的话,公式如下:
P(S)=eE(S)∑S′eE(S′)
从图模型的角度理解,Boltzmann Machine相当于factor graph。对于每个节点 si ,以及每个节点对 (si,sj) ,都有一个factor与之对应。
Restricted Boltzmann Machine
受限玻尔兹曼机,在原玻尔兹曼机的集合 S=s1,...sK 基础上,增加了新的隐含集合 H=h1,...hK 。其本质也是factor graph,factor存在于所有的node上,同时原来玻尔兹曼机中两两相连的node对 si,sj 取消了,换成了node对 si,hj 。其图模型的具体表示为:
RBM或者Restricted RBM主要由三部分组成:
- Evaluation:如何评估当前的状态好坏,对应 E(x,h) 或 P(x,h)
- Inference:给定
x
,计算
P(hj=1|x) - Training:如何训练得到模型的参数 w,b,c
Evaluation
对于RBM:
对于Restricted RBM: