RBM

article/2025/11/7 0:19:23

目录

总结:

伯努利-伯努利RBM

概念:

公式定义

训练过程

高斯-伯努利RBM

概念:


总结:

  1. RBM是基于能量函数假设的,优化目标是使能量函数最小化,也设定为重构的可见层等于真实值的概率最大化。
  2. 在利用极大似然函数求解最优参数时,由于偏导数中存在模型的联合概率分布,包含归一化因子Z,使得难以准确计算出联合概率分布,因此常采用采样法使用局部值来代替全局值。(对数似然、求导、梯度更新)
  3. 使用采样法中,吉布斯采样根据全局的条件概率已知,但联合分布不知,使用马尔可夫链进行N步采样,最终联合分布趋于一个稳定值,作为最后的全局值用在梯度更新中。(每次更新都需要进行N次吉布斯采样)
  4. 使用吉布斯采样耗费资源(时间长),因此采用对比散度,即只使用一次吉布斯采样,在得到重构的可见层后,带入梯度更新公式进行优化。(主要思想是将每个可见层V都成一组训练样本,进行一部采样后根据重构误差进行权重更新)
  5. 高斯RBM与RBM区别是实值-二值、二值-二值,在隐藏层到可见层状态转化时,使实值概率来代替二值激活函数,从而使输入可以为实值。能量函数和条件概率不相同。

伯努利-伯努利RBM

概念:

还有疑问看这里,包含损失函数等。

Bernoulli-Bernoulli RBM (Restricted Boltzmann Machine) 伯努利-伯努利 限制玻尔兹曼机,简称Bernoulli RBM

Bernoulli RBM是一种图论模型,如下图所示,具有两层结构,可见层v和隐藏层h,可见层与隐藏层之间有权重参数W和两个偏执a,b。注意它们是公用W,但是不共用偏执。

RBM

优化目标: RBM是定义在能量函数上的模型,能量函数越小代表模型越有序分布越集中,反之能量函数越大则表示模型越无序或趋于均匀分布,因此我们的优化目标是最小化能量函数。

公式定义

由于RBM可见层之间单元无连接(相互独立),同理隐藏层也是,只有可见层与隐藏层之间有关联。

  • 能量函数:E(v,h)=-(a^{T}v + b^{T}h +h^{T}Wv)

  • 联合分布:P(v,h) = \frac{exp(-E(v,h))}{Z}

  • 归一化因子Z(常数):Z = \sum_{v,h}e^{-E(v,h)}

  • 可见层的边缘概率分布:P(v) = \frac{1}{Z}\sum_{h}e^{-E(v,h)}

  • 条件概率分布:\left\{\begin{matrix} P(h_{i}=1|v) = sigmoid(Wv+a) \\ P(v_{i}=1|h) = sigmoid(Wv+b) \end{matrix}\right.

  • 优化目标:  可见层概率最大值==能量函数最小值== 可见层概率的对数似然函数

我们使用极大似然估计法求使可见层概率最大时的模型参数\Theta =(W,a,b),如下所示:

训练过程

吉布斯采样:

 

在使用极大似然函数优化时,由于归一化因子难以计算,因此通常采取采样法采取局部值来近似代替全局值。使用N步采样就可以近似得到分布,但是耗时长。

对比散度:

参考:

[1] https://blog.csdn.net/zhihua_oba/article/details/69487730?utm_source=blogxgwz4

[2]https://blog.csdn.net/scythe666/article/details/78830340

[3]https://zhuanlan.zhihu.com/p/28548493

https://blog.csdn.net/zb1165048017/article/details/66473906

https://blog.csdn.net/bingo_csdn_/article/details/79443332?utm_source=blogxgwz9

https://blog.csdn.net/xingzhedai/article/details/53068019?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

吉布斯采样:https://blog.csdn.net/pipisorry/article/details/51373090

推导;https://blog.51cto.com/13345387/1971665

来源(能量函数):https://blog.csdn.net/scythe666/article/details/78830340

高斯-伯努利RBM

概念:

Bernoulli RBM基本定义相同,只不过Bernoulli RBM对可见层和隐藏层都使用二进制单位,并假设其服从伯努利分布,即0-1分布。但在许多应用中,可见层的观测数据是非二进制的,比如连续值等实值,Gaussian RBM通过规范化观测数据,利用二值可见单元的实值概率取代激活情况,使得输入可以为实值。(本质上是对观测数据做了一个变化)

高斯和二值 两个地方不一样,一个是能量函数,另一个是从隐含层到可见层的时候,使用的是高斯分布函数作为激活函数。二值都是使用sigmoid。

服从于

 


http://chatgpt.dhexx.cn/article/FxirfE2g.shtml

相关文章

DL:RBM 简介、网络结构

在学习Hinton的stack autoencoder算法(论文 Reducing the Dimensionality of Data with Neural Networks)之前需要了解什么是RBM,现在就我学习的情况,查找的资料(大部分来自博客、论文),简单介绍…

RBM的理解

前言 对RBM(Restricted Boltzmann Machine)的理解进行简单的总结。   主要涉及RBM的图结构,为什么场能E(v,h)要如此定义,优化的思路到底是怎么来的,MRF与MC在优化时起到怎么样的作用,CD的意义,RBM的实现。 RBM RB…

受限玻尔兹曼机(RBM)理解

受限玻尔兹曼机(RBM)多见深度学习,不过笔者发现推荐系统也有相关专家开始应用RBM。实际上,作为一种概率图模型,用在那,只要场景和数据合适都可以。有必要就RBM做一个初步了解。 1、 RBM定义 RBM记住三个要…

RBM(受限玻尔兹曼机)解析

1.RBM结构 RBM包括隐层、可见层和偏置层。 与前馈神经网络不一样,RBM在可见层和隐层间的链接方向不定的(即可以双向传播:隐层—>可见层和可见层—>隐层)和完全链接的。如下图表示了一个微型的RBM 如上图所示,…

深度学习 --- 受限玻尔兹曼机详解(RBM)

本节终于来到了重头戏受限玻尔兹曼机,为了能深入理解本节,我们深入讲了很多基础知识,这些基础知识很重要,是理解本节的基础,同时也是你学习其他算法的基础如强化学习、自然语言处理等。本节的安排是先对比一下受限玻尔…

超市进销存管理系统软件(JFrame简版)

出于对桌面软件的爱好,学习过程中使用swing做了一个简单系统,所有布局代码自己手写,未使用swing构建工具,swing构建工具会产生的代码非常糟糕 想要快速构建好看的UI组件,可以使用NetBeans,或者idea等相关插件 有兴趣…

基于javaweb的超市进销存管理系统(java+ssm+jsp+bootstrap+jquery+mysql)

基于javaweb的超市进销存管理系统(javassmjspbootstrapjquerymysql) 运行环境 Java≥8、MySQL≥5.7、Tomcat≥8 开发工具 eclipse/idea/myeclipse/sts等均可配置运行 适用 课程设计,大作业,毕业设计,项目练习,学习演示等 功…

Java项目:ssm超市进销存管理系统

作者主页:夜未央5788 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 ssm超市进销存管理系统 项目介绍 超市进销存管理系统,主要分为管理员与员工两种角色:管理员主要功能模块有: 进货管理:进…

基于Spring+SpringMVC+MyBatis超市进销存管理系统

基于SSM超市进销存管理系统 一、系统介绍二、功能展示1.进货信息2.退货信息3.商品信息4.商品类别5.库存信息6.库存预警7.临期商品8.销售信息9.客户退货信息10.客户信息11.供应商信12.用户信息管理(管理员) 三、获取源码 一、系统介绍 系统主要功能&…

Java编写的超市进销存管理系统 功能非常齐全,代码可直接运行

今天为大家分享一个java语言的超市进销存管理系统,目前系统已经完成了初步功能,后续会进一步完善。整个系统界面漂亮,有完整得源码,希望大家可以喜欢。喜欢的帮忙点赞和关注。一起编程、一起进步 开发环境 开发语言为Java&#xf…

基于ThinkPHP5+MySQL的超市进销存管理系统

目 录 摘 要 I Abstract II 1 前 言 1 1.1 项目开发背景 1 1.2 项目开发意义 1 1.3 主要工作 1 2 系统分析 2 2. 1 需求分析 2 2. 2 可行性分析 2 2.2.1 经济可行性 2 2.2.2 技术可行性 2 2.2.3 操作可行性 2 2.2.4 社会可行性 2 3 开发环境 3 3.1 开发工具 3 3.1.1 操作系统 3…

计算机毕业设计系列基于SSM的超市进销存管理系统

目录 一、项目介绍 二、开题报告 三、项目截图 四、源码获取 一、项目介绍 计算机毕业设计系列基于SSM的超市进销存管理系统 本项目是一款基于SSM的超市进销存管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的 Java 学习者。 1. 包含&…

毕设-基于SpringBoot超市进销存管理系统

环境:开发工具:idea,数据库:MySQL5.7 jdk1.8 架构:SpringBoot,前端html 主要功能 货物管理员:进货管理、退货管理等; 商品管理员:管理商品、商品类别、供应商、客户、商品…

【附源码】Java计算机毕业设计小超市进销存管理系统(程序+LW+部署)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: java mybatis Maven等等组成,B/S模式 Maven管理等…

【java毕业设计】基于B/S结构+mysql的超市进销存管理系统设计与实现(程序源码)-超市进销存管理系统

基于B/S结构mysql的超市进销存管理系统设计与实现(程序源码毕业论文) 大家好,今天给大家介绍基于B/S结构mysql的超市进销存管理系统设计与实现,本论文只截取部分文章重点,文章末尾附有本毕业设计完整源码及论文的获取方…

基于PHP的超市进销存管理系统

一 项目介绍 此超市进销存管理系统比较基础,系统分为前后台,前台商品展示及下单,后台为商品的进销存管理。可搭建在phpstudy下快速部署!(附带系统说明书和PPT介绍) 技术栈: 原生phpmysqlvscode 二 主要功能 前台 1 …

java毕业设计基于ssm框架的生鲜超市进销存管理系统

目前超市越来越多,越来越普及,如何高效的管理经营超市才是成功的关键,其中对于中小型超市来说,在降低成本的前提下使用最有效的管理方式是非常重要的,所以开发中小型超市管理系统既考虑了成本相对较低又非常实用的特点。中小型超市管理系统主要包含以下几个模块:商品…

基于SSM框架的超市进销存管理系统

开发语言:Java 开发工具:IDEA 数据库:MYSQL5.7 应用服务:Tomcat8 使用框架:spring、springmvc、mybatis JDK版本:jdk1.8 系统功能: 管理员:进货管理模块、商品管理模块、库存管理模块、销售管理模块、客户管理模块、供应商模块、员工管…

[附源码]java毕业设计校园超市进销存管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

基于Java的超市进销存管理系统的设计与实现

技术:Java、JSP等 摘要:随着市场经济的发展,市场竞争压力加大,超市想要生存发展,就必须在各个方面加强管理,着重要求企业有更高的信息化集成能力,能够对企业的整体资源进行集成管理。在当今社会…