SIGAI深度学习第六集 受限玻尔兹曼机

摘要:
Boltzmann分布网络结构计算特征提取训练算法的隐藏单元的值深度Boltzmann机这一集合总结了Boltzmann分配:可见单元-输入数据(已知)隐藏单元-设计结果二部分图-图的节点集被分为两个不相交的子集:可见单元和隐藏单元的数值服从Boltzmann机器分布(v是可见单位)(可见单位v和隐藏单位h的值)确定的定义:根据v的值确定模型的参数W和h后,h)计算h的值和相应的概率分布(仅取0或1的值):

讲授玻尔兹曼分布、玻尔兹曼机的网络结构、实际应用、训练算法、深度玻尔兹曼机等。受限玻尔兹曼机(RBM)是一种概率型的神经网络。和其他神经网络的区别:神经网络的输出是确定的,而RBM的神经元的输出值是不确定的,以某种概率取到某一个值、以另一种概率取到另一个值,神经元的输出值。各个神经元的输入值服从某种概率分布,所有神经元的输出值服从玻尔兹曼分布。

大纲:

玻尔兹曼分布

网络结构

计算隐藏单元的值

用于特征提取

训练算法

深度玻尔兹曼机

本集总结

玻尔兹曼分布:

玻尔兹曼分布是统计物理中的一种概率分布,描述系统处于某种状态x的概率分布:SIGAI深度学习第六集 受限玻尔兹曼机第1张,z是归一化因子,即x分布的概率之和为1,x是离散型随机变量。

 网络结构:

可见单元-输入数据(已知)

隐藏单元-设计得到的结果

二部图-图的节点集合被划分成两个不相交的子集,这两个子集内的节点之间没有边连接,子集之间的节点之间有边连接,子集之间的节点之间有边连接。

可见单元和隐藏单元的值服从玻尔兹曼机分布(v是可见单元,h是隐藏单元):SIGAI深度学习第六集 受限玻尔兹曼机第2张,其中能量由状态(可见单元v和隐藏单元h的值)决定定义:SIGAI深度学习第六集 受限玻尔兹曼机第3张,归一化因子:SIGAI深度学习第六集 受限玻尔兹曼机第4张

RBM特征自动提取任务:根据v的值得到模型的参数W、h确定之后,根据p(v,h)求出h的值和对应的概率分布(只取0或1的值),这些h的概率取值组成的向量[0,1,0,0,1,...]就是提取出来的特征向量。

 受限玻尔兹曼机的三个要点:

1.随机性的神经网络,每个神经元以某种概率分布取值,只取0或1,如取1概率0.3,或0概率0.7。

2.由可见单元和隐藏单元组成二部图,即连接受限。

3.所有神经元v、h的值(0或1)的取值概率服从玻尔兹曼分布。

 实际例子:即v和h的离散型概率分布,每一行表示已知输入向量和一个特征向量和特征向量取该值时的概率。

SIGAI深度学习第六集 受限玻尔兹曼机第5张

计算隐藏单元的条件:

 v一般是输入数据X,h是从X提出的一个特征向量Y,即给定一个输入X提出的特征向量不是确定的有很多可能,即Y服从某个概率分布,因此要求(v,h)概率分布。

计算隐藏单元的值:实际使用时,给定可见变量的值,根据模型参数可以得到隐藏变量的条件概率密度函数,根据条件概率的计算公式:SIGAI深度学习第六集 受限玻尔兹曼机第6张,将p(v,h)的定义带入上式得:

SIGAI深度学习第六集 受限玻尔兹曼机第7张

 一旦知道了p(v|h),就可以生成特征向量h了。

计算单个隐藏单元的条件概率:

隐含节点之间没有连接,因此这些随机变量是相互独立的,即p(h|v)=p(h1|v)...p(hn|v)。

已知可见变量时某一个隐含变量的值为1的概率:

SIGAI深度学习第六集 受限玻尔兹曼机第8张

会发现该概率服从逻辑斯蒂回归预测函数,二分类问题。

 用于特征提取:

可见单元作为输入数据,隐藏单元作为特征向量

计算隐藏层神经元的激励能量SIGAI深度学习第六集 受限玻尔兹曼机第9张

 计算该隐藏单元的条件概率值,即状态为1的概率SIGAI深度学习第六集 受限玻尔兹曼机第10张

 以pi的概率将隐藏层神经元的状态值设置为1,以1-pi的概率将其设置为0。

训练算法:

P(v,h)~(W,b,d),一般概率分布参数值用最大似然估计,但是这里h不知道,因此不可以用,这里用Contrastive Divergence算法,此算法用的不多不必深究。

SIGAI深度学习第六集 受限玻尔兹曼机第11张

 深度玻尔兹曼机:

 同深层自动编码器类似,可以将多个受限玻尔兹曼机层叠加起来使用,通过多层的受限玻尔兹曼机,可以完成数据在不同层次上的特征提取和抽象。

v——>h——>v——>h——>...,一个层的h层作为一次层v的输入值,训练时,也是从前往后逐层训练。

本集总结:

自动编码器、受限玻尔兹曼机,在实际应用中用的很少了,主要是深度学习发展早期的理论性的方法,只需记住他们的精髓就行了。

免责声明:文章转载自《SIGAI深度学习第六集 受限玻尔兹曼机》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇elementui 模态框 拖动介绍并扩展Fitnesse的测试模块化机制:ScenarioTable下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

一句SQL实现获取自增列操作

今天做了一个应用,对TAB_1表进行插入操作的时候,需要获取自增ID的值,插入到TAB_2里面,隐隐约约记得SQL里面有个全局变量@@IDENTITY可以实现这样的业务需要,凭着感觉写了下面的SQL语句。string sql = "INSERT INTO TAB_1(COL_1) VALUES('VALUE_1') \r\n INSERT INTO TAB...

css3中的width:100vh以及calc(100vh + 10px)

转自:https://blog.csdn.net/qq_24581629/article/details/72377300 vh/vw    vh: 相对于视窗的高度, 视窗被均分为100单位的vh;   vw: 相对于视窗的宽度, 视窗被均分为100单位的vw;   vmax: 相对于视窗的宽度或高度中较大的那个。其中最大的那个被均分为100单位的vma...

C#设置System.Net.ServicePointManager.DefaultConnectionLimit,突破Http协议的并发连接数限制

在Http协议中,规定了同个Http请求的并发连接数最大为2. 这个数值,可谓是太小了。 而目前的浏览器,已基本不再遵循这个限制,但是Dot Net平台上的 System.Net 还是默认遵循了这个标准的。 从而造成了,在使用HttpWebRequset 或者 WebClient 利用多线程的方式,访问某个网站时,经常出现 连接被异常关闭 的错误,大大降...

Android 之采用execSQL和rawQuery方法完成数据的添删改查操作

使用 SQLiteDatabase 操作 SQLite 数据库 [java] view plaincopy /*  Android提供了一个名为SQLiteDatabase的类,该类封装了一些操作数据库的API,使用该类可以完成对数据进行添加(Create)、查询(Retrieve)、更新(Update)和删除(Delete)操作(这些操作简称...

PivotGridControl控件应用

一、概述        PivotGridControl是DevExpress组件中的一个重要控件,在数据多维分析方面具有强大的功能,它不仅可以分析数据库中的数据,而且还能够做联机分析处理(OLAP),并且支持多种数据仓库。前面的文章中介绍了如何用PivotGridControl制作交叉表部件,在智能窗体上展示交叉报表。本文将继续对PivotGridCon...

jdk 8 的内存参数修改

jdk内存实际是jvm内存,jvm有一个运行时数据区,其实就是对这一部分的大小分配。运行时数据区通常包括这几个部分:程序计数器(Program Counter Register)、Java栈(VM Stack)、本地方法栈(Native Method Stack)、方法区(Method Area)、堆(Heap) Xss:每个线程的stack大小(栈)Xm...