RBM系列1:预备知识

article/2025/11/6 23:52:55

受限玻尔兹曼机是一种可用随机神经网络来解释的概率图模型。它由Smolensky于1986年在玻尔兹曼机(BM)的基础上提出,所谓“随机”,是指这种网络中的神经元是随机神经元,其输出只有两种状态(激活和未激活),一般用二进制的0和1来表示,而状态的具体取值则根据概率统计法则来决定。

随着计算机计算性能的迅速提高和快速算法的不断发展,RBM在各种相关机器学习算法中已经变得实际可行。尤其是,在Hinton于2006年提出了以RBM为基本构成模块的DBN模型之后,机器学习更是掀起了一股研究RBM理论及应用的热潮。

本文首先讲述RBM模型所涉及到的预备知识点:

1、sigmoid函数

sigmoid函数是神经网络中常用的激活函数之一,其定义为:


该函数的定义域为,值域为(0,1)。下图为sigmoid函数的图像。


2、Bayes定理

贝叶斯定理是英国数学家贝叶斯提出来的,用来描述两个条件概率之间的关系。若记P(A),P(B)分别表示事件A和B发生的概率,P(A|B)表示事件B发生的情况下事件A发生的概率,P(A,B)表示事件A、B同时发生的概率,则有


进一步推导可得:


这就是贝叶斯公式。上式中我们把P(A)称为“先验概率”(prior probability),即在事件B发生之前,我们对事件A发生概率的一个判断。P(A|B)称为“后验概率”(Posterior probability),即在事件B发生之后,我们对事件A发生概率的重新评估。

称为“可能性函数”(likelyhood),这是一个调整因子,使得预估概率更接近真实概率。

3、二分图

二分图又称二部图、双分图或偶图,是图论中的一种特殊模型。设是一个无向图,如果顶点V可分割为两个互不相交的子集V_1和V_2,并且图中每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集,则称图G为一个二分图。

4、MCMC方法

最早的蒙特卡罗方法是由物理学家发明的,旨在于通过随机化的方法计算积分,假设给定函数h(x),我们想计算如下的积分:


如果我们无法通过数学推导直接求出解析解,那么,为了避免对区间(a,b)上所有的x值进行枚举(多数情况下这也是不可能的),我们可以将h(x)分解为某个函数f(x)和一个定义在(a,b)上的概率密度函数p(x)的乘积。这样整个积分就可以写成


这样一来原积分就等同于f(x)在p(x)这个分布上的均值。这时,如果我们从分布p(x)上采集大量的样本点,这些样本符合分布p(x),即对所有的i,有


那么,我们就可以通过这些样本来逼近这个均值


这就是蒙特卡罗方法的思想。近年来,随着随机化模型的流行,蒙特卡罗方法在机器学习领域有着越来越广泛的应用。

假如我们现在已经定义好分布p(x),那么,蒙特卡罗方法的一个核心问题是:如何从这个分布上采集样本?

一般来讲,对于经典的分布,例如对于均匀分布和正态分布等,都已经有比较成熟的算法可以快速地直接生成该分布下的无偏样本。然而,对于任意的分布,我们并不能做到这一点。那么,如何在任意分布下采样?这就是马尔科夫链蒙特卡罗方法(MCMC)需要解决的问题。

简单来说,MCMC的思想就是利用马尔科夫链来产生指定分布下的样本。为此,先简单介绍一下马尔科夫链的基本知识。

5、马尔可夫链

设X_t表示随机变量X在离散时间t时刻的取值。若该变量随时间变化的转移概率仅仅依赖于它的当前取值,即:


则称这个变量为马尔可夫变量,其中具有马尔可夫性质的随机过程称为马尔可夫过程。

由上式可知,对于一个马尔可夫随机变量,我们只需要知道其当前的取值,就足以充分预测其未来的变化趋势。而所谓的马尔可夫链就是指一段时间内随机变量X的取值序列符合上式条件。

一般来说,一个马尔可夫链可通过其对应的转移概率来定义。所谓转移概率,是指随机变量从一个时刻到下一个时刻,从状态s_i转移到另一个状态s_j的概率,即


若记表示随机变量X在时刻t取值s_k的概率,则X在时刻t+1取值为s_i的概率为:


设状态的数目为n,则有


上式也可以写成矩阵向量形式


其中,为行向量,转移概率矩阵

如果存在某个取值,从它出发转移回自身所需要的转移次数总是整数d(>1)的倍数,那么这个马尔可夫过程就具有周期性。如果任意两个数值之间总是能以非0的概率的相互转移,那么该马尔可夫过程就称为不可约(“不可约”是指每一个状态都可来自任意的其他状态)。如果一个马尔可夫过程既没有周期性,又不可约,则称它是各态遍历的





6、正则分布





其中:




7、Metropolis-Hastings采样








8、Gibbs采样





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

相关文章

深度学习20-限制玻尔兹曼机RBM

玻尔兹曼机来源于玻尔兹曼分布,而玻尔兹曼分布的创立者是路德维希玻尔兹曼,这个原理来源于他首次将统计学用于研究热力学,即物质的状态概率和它对应的能量有关。比如,我们常用熵来形容物体的混乱程度,同时如果我们的定…

【深度学习】受限玻尔兹曼机 (RBM) 初学者指南

一、说明 受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)是一种基于能量模型的人工神经网络。它只有一个隐层,将输入层和隐层中的每个神经元互相连接,但不同层的神经元之间没有连接。RBM是一种无向的概率图模型&am…

matlab rbm 语音,Deep Belief Network 学习笔记-RBM

Deep Belief Network 学习笔记-RBM By Placebo (纯属个人笔记) 第一次知道deep learning,是上学期dengli博士来实验室的一次报告,他讲到,当神经网络的层数大于2时(即一个hidden层,一个输出层,不算输入层,之…

受限玻尔兹曼机(RBM)

受限玻尔兹曼机(RBM) 一起读懂传说中的经典:受限玻尔兹曼机 https://mp.weixin.qq.com/s?__bizMzA3MzI4MjgzMw&mid2650731098&idx1&snc7391caee3a567b4b046406d53f022f2&chksm871b3624b06cbf320f3725fe452d291e04a4a8c1beda…

人工智能(pytorch)搭建模型13-pytorch搭建RBM(受限玻尔兹曼机)模型,调通模型的训练与测试

大家好,我是微学AI,今天给大家介绍一下人工智能(pytorch)搭建模型13-pytorch搭建RBM(受限玻尔兹曼机)模型,调通模型的训练与测试。RBM(受限玻尔兹曼机)可以在没有人工标注的情况下对数据进行学习。其原理类似于我们人类学习的过程&#xff0c…

受限玻尔兹曼机(RBM)原理总结

https://blog.csdn.net/l7H9JA4/article/details/81463954 授权转发自:刘建平《受限玻尔兹曼机(RBM)原理总结》 地址:http://www.cnblogs.com/pinard/p/6530523.html 前 言 本文主要关注于这类模型中的受限玻尔兹曼机(Restrict…

特征工程(七)—特征学习RBM

1、MNIST数据集 """ MNIST数据集,包括6000个0-9手写数字图像,以及学习的真实值此处使用很低级的特征,而不是解释性很好的特征。每一个数据点包括784个特征(灰度图像的像素值) """impor…

特征学习-RBM与PCA应用在LR

Table of Contents 1. 基本信息查询 导入package2. 提取PCA 成分3. 提取RBM主成分 取出前20个最有代表性的特征提取后20个特征4. RBM在machine learning中效果 直接用LR模型采用PCA主成分的LR采用RBM主成分的LR 1. 基本信息查询 导入package import numpy as np import matpl…

受限玻尔兹曼机RBM

基本概念代码 基本概念 受限玻尔兹曼机(RBM)是一个两层神经网络,第一层被称为可见层,第二层被称为隐藏层,因为网络只有两层,所以又被称为浅层神经网络。 该模型最早由 Paul Smolensky 于 1986 年提出&…

理解RBMDBN

RBM 关于受限玻尔兹曼机RBM,网上很多博客[1][2]都总结推导RBM很详细,很少有人能通俗地解释一下RBM的用途和有点,我觉得[2]写得很好,可以参考辅助理解,下面简单总结一下我的理解和一些相关知识。 网络结构 RBM是一个…

中小企业RBM结合VRRP组网

组网拓扑图 FW-A配置: sysname FW1090-A # track 1 interface GigabitEthernet1/0/1 physical ///检测上行口 # track 2 interface GigabitEthernet1/0/2 physical ///检测下行口 # ospf 1 router-id 192.168.10.254 ///OSPF发布于核心互联路由 defa…

RBM受限玻尔兹曼机

受限玻尔兹曼机(RBM) 一、RBM的网络结构 RBM的网络结构如下图所示: RBM中包括两层,即: 可见层(visible layer),图上的___v___隐藏层(hidden layer),图上的___h___ 由上图可知,在同一层中,如…

RBM

目录 总结: 伯努利-伯努利RBM 概念: 公式定义 训练过程 高斯-伯努利RBM 概念: 总结: RBM是基于能量函数假设的,优化目标是使能量函数最小化,也设定为重构的可见层等于真实值的概率最大化。在利用极…

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等均可配置运行 适用 课程设计,大作业,毕业设计,项目练习,学习演示等 功…