一文帮你理解什么是深层置信网络(DBN)-阿里云开发者社区

开发者社区> 隐士2018> 正文

一文帮你理解什么是深层置信网络(DBN)

简介:
+关注继续查看

随着机器学习的进步和深度学习的出现,一些工具和图形表示被逐渐用来关联大量的数据。深度置信网络(Deep Belief Networks)本质上是一种具有生成能力的图形表示网络,即它生成当前示例的所有可能值。


深度置信网络是概率统计学与机器学习和神经网络的融合,由多个带有数值的层组成,其中层之间存在关系,而数值之间没有。深层置信网络主要目标是帮助系统将数据分类到不同的类别。



深度信念网络如何演进?


第一代神经网络使用感知器,通过考虑“权重”或预先馈送的目标属性来识别特定的物体或其他物体。然而,感知器只能在更基本的层面上有效,并不能提高识别的技术。


为了解决这些问题,第二代神经网络引入了反向传播的概念,将得到的输出与期望的输出进行比较,最终目标是使误差值减小到零。支持向量机通过引用先前测试用例的输入来创建和理解更多的测试用例。


接下来是针对信念网络的非循环图。这种图能够帮助解决与推理那些和学习问题有关的问题。随后是深度置信网络,它帮助创建存储在叶节点中的无偏值。



受限玻尔兹曼机


深度置信网络由诸如波尔兹曼机无监督网络组成。在这里,每个子网络的不可见层是下一层的可见层。隐藏层或不可见的层并不是相互连接,而是有条件互相独立的。


联合配置网络的可见层和隐藏层上的概率,取决于联合配置网络的能量与其他所有联合配置网络的能量。



训练深度置信网络


训练网络层属性的第一步是直接从像素获取输入信号。下一步是将此图层的值作为像素,并在第二个隐藏层从先前获取的特征中学习特征。每当另一层的属性或特征被添加到深度置信网络时,训练数据集的对数概率的下限就会有所改善。


例如:

0?wx_fmt=png


实施


MATLAB可以很容易地将可见层,隐藏层和权重表示为矩阵形式并高效地执行矩阵算法。因此,我们选择MATLAB来实现深度置信网络。


选用这些MNIST9的手写数字,然后用作深度置信网络的计算,以便与其他分类器的性能进行比较。


MNIST9可以被描述为是一个手写数字的数据库,有6万个训练样本和1万个数字测试样本。手写数字是从0到9,并且在每个图像表现出各种的形状和位置特征。每一张图像都被标准化,并以28x28像素为中心被标记。


决定这些权重更新频率的方法是-在线学习,或采用小批量和全批量数据大小。


在线学习需要最长的计算时间,因为在每个训练数据实例之后,它才完成权重的更新。全批量处理通过训练数据并更新权重,但是,建议不要将其用于大数据集。


小批量处理是把数据集分成较小的数据块,并对每个数据块进行学习操作,这种方法需要更少的计算时间。因此,我们使用小批量学习来实现。


需要记住的一个重要的问题是,实现一个深层置信网络需要对每层波尔兹曼机进行训练。


为此,首先需要初始化网络单位和参数。其次是对比散度算法的两个阶段--正相和负相阶段。在正相阶段,隐藏层的二进制状态可以通过权重的计算和可见单位的概率来获得。由于增加了训练数据集的概率,因此称为正相。负相阶段会降低模型生成样本的概率。


贪婪学习算法被用来训练整个深度置信网络。它一次训练一个波尔兹曼机,直到所有的波尔兹曼机都被训练为止。

转自:http://blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/79043835

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10084 0
带你读《C#神经网络编程》之二:构建第一个神经网络
本书旨在为C#程序员使用神经网络、CNTK等C#库和TensorFlowSharp解决复杂的计算问题时,提供实践指导。本书从神经网络入门知识开始,详细介绍如何使用Encog、Aforge和Accord搭建一个神经网络,帮助你深入理解神经网络相关概念和技术,例如深度网络、感知器、优化算法、卷积网络和自动解码器。此外,还详细讲解如何向.NET应用程序中添加智能特性,例如面部和运动检测、对象检测和标注、语言理解、知识和智能搜索。
1808 0
介绍常见的几款瞻博网络Juniper光模块型号
JuniperNetworks(台湾公司名称:瞻博网络)NASDAQ:JNPR是一家网络通讯设备公司,创立于1996年2月,总部位于美国加利福尼亚州。 Juniper的主要产品线包括广域网络加速、VF系列、E系列、J系列、M系列、T系列路由器产品家族,SRX系列防火墙,EX系列网络交换机及SDX服务部署系统等。
662 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13890 0
JavaScript轻应用网络模块介绍
JavaScript轻应用提供了网络管理相关的功能,APP可以通过JSAPI获取网络相关的信息,并且可以接收网络连接、断开的事件。
49 0
一篇文章教会你理解Scrapy网络爬虫框架的工作原理和数据采集过程
今天小编给大家详细的讲解一下Scrapy爬虫框架,希望对大家的学习有帮助。 1、Scrapy爬虫框架 Scrapy是一个使用Python编程语言编写的爬虫框架,任何人都可以根据自己的需求进行修改,并且使用起来非常的方便。
1252 0
深入理解uwsgi和gunicorn网络模型
前言:        去年10月份建了一个python技术群,到现在为止人数已经涨到700人了。最一开始我经常在群里回应大家的问题,不管是简单还是困难的,我都会根据自己的经验来交流。
2639 0
+关注
隐士2018
蹭热度,自学AI
325
文章
2
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载