深度学习笔记-RBM详解.docx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
深度学习笔记-RBM详解

深度学习读书笔记by 北流浪子博客地址:/mytestmy/article/details/9150213三.限制波尔兹曼机3.1限制波尔兹曼机(RBM)使用方法3.1.1 RBM的使用说明一个普通的RBM网络结构如下。以上的RBM网络结构有m个可视节点和n个隐藏节点,其中每个可视节点只和n个隐藏节点相关,和其他可视节点是独立的,就是这个可视节点的状态只受n个隐藏节点的影响,对于每个隐藏节点也是,只受m个可视节点的影响,这个特点使得RBM的训练变得容易了。RBM网络有几个参数,一个是可视层与隐藏层之间的权重矩阵,一个是可视节点的偏移量,一个是隐藏节点的偏移量,这几个参数决定了RBM网络将一个m维的样本编码成一个什么样的n维的样本。RBM网络的功能有下面的几种,就简单地先描述一下。首先为了描述容易,先假设每个节点取值都在集合中,即。一个训练样本过来了取值为,根据RBM网络,可以得到这个样本的m维的编码后的样本,这n维的编码也可以认为是抽取了n个特征的样本。而这个m维的编码后的样本是按照下面的规则生成的:对于给定的,隐藏层的第i个节点的取值为1(编码后的样本的第i个特征的取值为1)的概率为,其中的v取值就是x,hi的取值就是yi,其中,是sigmoid函数。也就是说,编码后的样本y的第i个位置的取值为1的概率是。所以,生成yi的过程就是:i)先利用公式,根据x的值计算概率,其中vj的取值就是xj的值。ii)然后产生一个0到1之间的随机数,如果它小于,yi的取值就是1,否则就是0(假如p(hi=1|v)=0.6,这里就是因为yi的取值就是1的概率是,0.6,而这个随机数小于0.6的概率也是0.6;如果这个随机数小于0.6,就是这个事件发生了,那就可以认为yi的取值是1这个事件发生了,所以把yi取值为1)。反过来,现在知道了一个编码后的样本y,想要知道原来的样本x,即解码过程,跟上面也是同理,过程如下:i)先利用公式,根据y的值计算概率,其中hi的取值就是yi的值。ii)然后产生一个0到1之间的随机数,如果它小于,vj的取值就是1,否则就是0。对于(ii)的说明:不说别的——比如吧,你现在出去逛街,走到一个岔路口,你只想随便逛逛,所以你是有0.5的概率往左边的路,0.5的概率往右边的路;但是你不知道怎么选择哪个路,所以你选择了抛硬币,正面朝上你就向左,反面朝上就向右。现在你只抛一次,发现他是正面朝上的,你就向左走了。——回到上面的问题,某节点A取值为1的概率是0.6(假如),也可以看做一个找不均匀的硬币,正面朝上的概率是0.6,反面朝上的概率是0.4;现在要给节点A取值,就拿这个硬币抛一下,正面朝上就取值1,反面朝上就取值0,这个就相当于抛硬币决定走哪个路的那个过程。——现在假如找不到这样的不均匀的硬币,就拿随机数生成器来代替(生成的数是0-1之间的浮点数);因为随机数生成器取值小于0.6的概率也是0.6,大于0.6的概率是0.4。3.1.2 RBM的用途RBM的用途主要是两种,一是对数据进行编码,然后交给监督学习方法去进行分类或回归,二是得到了权重矩阵和偏移量,供BP神经网络初始化训练。第一种可以说是把它当做一个降维的方法来使用。第二种就用途比较奇怪。其中的原因就是神经网络也是要训练一个权重矩阵和偏移量,但是如果直接用BP神经网络,初始值选得不好的话,往往会陷入局部极小值。根据实际应用结果表明,直接把RBM训练得到的权重矩阵和偏移量作为BP神经网络初始值,得到的结果会非常地好。这就类似爬山,如果一个风景点里面有很多个山峰,如果让你随便选个山就爬,希望你能爬上最高那个山的山顶,但是你的精力是有限的,只能爬一座山,而你也不知道哪座山最高,这样,你就很容易爬到一座不是最高的山上。但是,如果用直升机把你送到最高的那个山上的靠近山顶处,那你就能很容易地爬上最高的那座山。这个时候,RBM就的角色就是那个直升机。其实还有两种用途的,下面说说。第三种,RBM可以估计联合概率p(v,h),如果把v当做训练样本,h当成类别标签(隐藏节点只有一个的情况,能得到一个隐藏节点取值为1的概率),就可以利用利用贝叶斯公式求p(h|v),然后就可以进行分类,类似朴素贝叶斯、LDA、HMM。说得专业点,RBM可以作为一个生成模型(Generative model)使用。第四种,RBM可以直接计算条件概率p(h|v),如果把v当做训练样本,h当成类别标签(隐藏节点只有一个的情况,能得到一个隐藏节点取值为1的概率),RBM就可以用来进行分类。说得专业点,RBM可以作为一个判别模型(Discriminative model)使用。3.2限制波尔兹曼机(RBM)能量模型3.2.1 能量模型定义在说RBM之前,先来说点其他的,就是能量模型。能量模型是个什么样的东西呢?直观上的

文档评论(0)

1520520 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档