1 / 13
文档名称:

深度学习笔记 - RBM.docx

格式:docx   大小:475KB   页数:13页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

深度学习笔记 - RBM.docx

上传人:分享精品 2017/11/26 文件大小:475 KB

下载得到文件列表

深度学习笔记 - RBM.docx

相关文档

文档介绍

文档介绍:深度学****读书笔记
by 北流浪子
博客地址:http://blog./mytestmy/article/details/9150213

(RBM)使用方法
RBM的使用说明
一个普通的RBM网络结构如下。
以上的RBM网络结构有m个可视节点和n个隐藏节点,其中每个可视节点只和n个隐藏节点相关,和其他可视节点是独立的,就是这个可视节点的状态只受n个隐藏节点的影响,对于每个隐藏节点也是,只受m个可视节点的影响,这个特点使得RBM的训练变得容易了。
RBM网络有几个参数,一个是可视层与隐藏层之间的权重矩阵Wn×m,一个是可视节点的偏移量b=(b1,b2⋯bm),一个是隐藏节点的偏移量c=(c1,),这几个参数决定了RBM网络将一个m维的样本编码成一个什么样的n维的样本。
RBM网络的功能有下面的几种,就简单地先描述一下。
首先为了描述容易,先假设每个节点取值都在集合{0,1}中,即∀i,j,vj∈0,1,hi∈{0,1}。
一个训练样本x过来了取值为x=(x1,x2⋯xm),根据RBM网络,可以得到这个样本的m维的编码后的样本y=(y1,y2⋯yn),这n维的编码也可以认为是抽取了n个特征的样本。而这个
m维的编码后的样本是按照下面的规则生成的:对于给定的x=(x1,x2⋯xm),隐藏层的第i个节点的取值为1(编码后的样本的第i个特征的取值为1)的概率为phi=1v=σ(j=1mwij×vj+ci),其中的v取值就是x,hi的取值就是yi,其中σx=1/(1+e-x),是sigmoid函数。也就是说,编码后的样本y的第i个位置的取值为1的概率是p(hi=1|v)。所以,生成yi的过程就是:
i)先利用公式phi=1v=σ(j=1mwij×vj+ci),根据x的值计算概率p(hi=1|v),其中vj的取值就是xj的值。
ii)然后产生一个0到1之间的随机数,如果它小于p(hi=1|v),yi的取值就是1,否则就是0(假如p(hi=1|v)=,这里就是因为yi的取值就是1的概率是,,;,就是这个事件发生了,那就可以认为yi的取值是1这个事件发生了,所以把yi取值为1)。
反过来,现在知道了一个编码后的样本y,想要知道原来的样本x,即解码过程,跟上面也是同理,过程如下:
i)先利用公式pvj=1h=σ(i=1nwij×hi+bj),根据y的值计算概率p(vj=1|h),其中hi的取值就是yi的值。
ii)然后产生一个0到1之间的随机数,如果它小于p(vj=1|h),vj的取值就是1,否则就是0。
对于(ii)的说明:不说别的——比如吧,你现在出去逛街,走到一个岔路口,你只想随便逛逛,,;但是你不知道怎么选择哪个路,所以你选择了抛硬币,正面朝上你就向左,反面朝上就向右。现在你只抛一次,发现他是正面朝上的,你就向左走了。
——回到上面的问题,(假如),也可以看做一个找不均匀的硬币,,;现在要给节点A取值,就拿这个硬币抛一下,正面朝上就取值1,反面朝上就取值0,这个就相当于抛硬币决定走哪个路的那个过程。
——现在假如找不到这样的不均匀的硬币,就拿随机数生成器来代替(生成的数是0-1之间的浮点数);,。
RBM的用途
RBM的用途主要是两种,一是对数据进行编码,然后交给监督学****方法去进行分类或回归,二是得到了权重矩阵和偏移量,供BP神经网络初始化训练。
第一种可以说是把它当做一个降维的方法来使用。
第二种就用途比较奇怪。其中的原因就是神经网络也是要训练一个权重矩阵和偏移量,但是如果直接用BP神经网络,初始值选得不好的话,往往会陷入局部极小值。根据实际应用结果表明,直接把RBM训练得到的权重矩阵和偏移量作为BP神经网络初始值,得到的结果会非常地好。
这就类似爬山,如果一个风景点里面有很多个山峰,如果让你随便选个山就爬,希望你能爬上最高那个山的山顶,但是你的精力是有限的,只能爬一座山,而你也不知道哪座山最高,这样,你就很容易爬到一座不是最高的山上。但是,如果用直升机把你送到最高的那个山上的靠近山顶处,那你就能很容易地爬上最高的那座山。
这个时候,RBM就的角色就是那个直升机。
其实还有两种用途的,下面说说。
第三种,RBM可以估计联合概率p(v,h),如果把v当做训练样本,h当成类别标签(隐藏节点只有一个的情况,能得到一个隐藏节点取值为1的概率),就可以利用利用