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

article/2025/11/7 2:14:44

1.RBM结构

RBM包括隐层可见层偏置层

与前馈神经网络不一样,RBM在可见层和隐层间的链接方向不定的(即可以双向传播:隐层—>可见层和可见层—>隐层)和完全链接的。如下图表示了一个微型的RBM
在这里插入图片描述
如上图所示,每一层的节点之间没有链接,第一层是可见层,及输入层(v)第二层是隐藏层(h),如果假设所有节点都是随机二进制变量节点(只能取0或1值),同时假设全概率分布p(v,h)满足Boltzmann分布,这个模型就叫RBM。

在这里插入图片描述
在这里插入图片描述

2.数学知识:

2.1全概率公式:
在这里插入图片描述
2.2 贝叶斯公式:
在这里插入图片描述
2.3 全概率公式结合贝叶斯公式:
在这里插入图片描述
有了先验数学知识就容易了,假设RBM网络结构有n个节点m个隐藏节点,其中每个可视节点只和相应的隐藏节点有关系,其他可视节点是对立的,互补干扰的,就是这个可视节点只受m个隐藏节点的影响,对于每个隐藏节点也是,这个特点使得RBM的训练变得容易了。

RBM网络有几个参数,一个是可视层与隐藏层之间的权重矩阵Wm x n,一个是可视节点的偏移量b=(b1,b2,…,bn),一个是隐藏节点的偏置值(c1,c2,…,cm),这几个参数决定了RBM网络将一个n维的样本编码成一个什么样的m维样本。

因此,当输入v的时候,通过p(h|v) 可以得到隐藏层h,而得到隐藏层h之后,通过p(v|h)又能得到可视层,通过调整参数,我们就是要使得从隐藏层得到的可视层v1与原来的可视层v如果一样,那么得到的隐藏层就是可视层另外一种表达,因此隐藏层可以作为可视层输入数据的特征,所以它就是一种Deep Learning方法。

3、DBN训练方法:

DBN 是由多层 RBM 组成的一个神经网络,它既可以被看作一个生成模型,也可以当作判别模型,其训练过程是:使用非监督贪婪逐层方法去预训练获得权值。

训练DBN的过程是一层一层地进行的。其中,上一个RBM的隐层即为下一个RBM的显层上一个RBM的输出即为下一个RBM的输入训练过程中,需要充分训练上一层的RBM后才能训练当前层的RBM,直至最后一层。
在这里插入图片描述
第 1 步:(预训练)
分别单独无监督地训练每一层 RBM 网络,确保特征向量映射到不同特征空间时,都尽可能多地保留特征信息;(H0可以看作H1的可见层)‘’

第 2 步:(微调)
在 DBN 的最后一层设置 BP 网络,接收 RBM 的输出特征向量作为它的输入特征向量,有监督地训练实体关系分类器.

每一层 RBM 网络只能确保自身层内的权值对该层特征向量映射达到最优,并不是对整个 DBN 的特征向量映射达到最优,所以反向传播网络还将错误信息自顶向下传播至每一层 RBM,微调整个 DBN 网络.

RBM 网络训练模型的过程可以看作对一个深层 BP 网络权值参数的初始化,使DBN 克服了 BP 网络因随机初始化权值参数而容易陷入局部最优和训练时间长的缺点.这可以很直观的解释,DBNs的BP算法只需要对权值参数空间进行一个局部的搜索,这相比前向神经网络来说,训练是要快的,而且收敛的时间也少。

4.总结:

深度置信网络(Deep Belief Networks)DBN算法是机器学习之神经网络的一种,既可以用于非监督学习,也可以用于监督学习。DBN是一个概率生成模型,与传统的判别模型的神经网络相对,生成模型是建立一个观察数据和标签之间的联合分布。通过训练其神经元间的权重,可以让整个神经网络按照最大概率来生成训练数据。


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

相关文章

深度学习 --- 受限玻尔兹曼机详解(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等 摘要:随着市场经济的发展,市场竞争压力加大,超市想要生存发展,就必须在各个方面加强管理,着重要求企业有更高的信息化集成能力,能够对企业的整体资源进行集成管理。在当今社会…

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

作者主页:夜未央5788 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 超市进销存管理系统,分为管理员与普通员工两种角色; 管理员主要功能包括: 员工管理:员工的添加、编辑、删除&a…

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

1,项目功能: (1)进货管理:用户可以在该模块中进行进货信息添加,进货信息查看,进货信息修改以及进货信息查看操作。 (2)商品信息管理:用户可以在该模块中进行…

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

资源下载地址:https://download.csdn.net/download/sheziqiong/86791265 资源下载地址:https://download.csdn.net/download/sheziqiong/86791265 目录 第一章需求分析 1 1需求分析 1 1.2 用例模型及分析类图的描述 1 1.2.1 用例 1 1.2.2 用例图 1 1.3分…

Java项目:超市进销存管理系统(java+SpringBoot+Html+Layui+echarts+mysql)

源码获取:博客首页 "资源" 里下载! 项目介绍 超市进销存管理系统,分为管理员与普通员工两种角色; 管理员主要功能包括: 员工管理:员工的添加、编辑、删除; 普通员工主要功能包括:…