DBN (deep belief network,深度置信网络),是使用RBM(Restricted Boltzmann Machines,受限波尔兹曼机 )构成的一种深度神经网络。

1. RBM简介

RBM属于一种无监督学习的方法,无监督学习的目的是最大可能地拟合训练数据。

下图为RBM的结构,其中下层神经元组成显层 (visible layer),由显元 (visible units) 组成,用于输入数据;上层神经元组成隐层(Hidden layer),由隐元 (hidden units) 组成,用于特征提取。


2. 训练DBN

训练 DBN 的过程是一层一层地进行的。在每一层中,用数据向量来推断隐层,再把这一隐层当作下一层 (高一层) 的数据向量。

经典的DBN网络结构是由若干层 RBM 和一层 BP 组成的一种深层神经网络, 结构如下图所示.


DBN 在训练模型的过程中主要分为两步:

第1步:按照顺序依次训练每一层RBM网络,确保特征向量映射到不同特征空间时,能保留尽可能多的特征信息;

第2步:在DBN最后一层设置BP网络,同时将最后一个RBM的输出特征向量作为BP网络的输入特征向量,有监督地训练实体关系分类器。接着反向传播网络将错误信息自顶向下传播至每一层 RBM,微调整个 DBN 网络。

在训练模型中,第1步称作预训练,第2步称作微调。有监督学习不一定是BP网络,可以根据需要换成任何分类器模型。

DBN算法本质

从其非监督学习的部分来讲,目的是尽可能地保留原始特征的特点,同时降低特征的维度;

从其有监督学习的部分来讲,目的在于使得分类错误率尽可能地小。

不论是监督学习还是非监督学习,DBN算法本质都是Feature Learning的过程,即如何得到更好的特征表达。

深度置信网络(DBN)相关推荐

  1. 【DBN分类】基于matlab深度置信网络DBN变压器故障诊断【含Matlab源码 2284期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[DBN分类]基于matlab深度置信网络DBN变压器故障诊断[含Matlab源码 2284期] 获取代码方式2: 付费专栏Matlab智 ...

  2. 深度学习基础--不同网络种类--深度置信网络(DBN)

    深度置信网络(DBN)   RBM的作用就是用来生成似然分布的互补先验分布,使得其后验分布具有因子形式.   因此,DBN算法解决了Wake-Sleep算法表示分布难以匹配生成分布的难题,通过RBM使 ...

  3. 【总结】关于玻尔兹曼机(BM)、受限玻尔兹曼机(RBM)、深度玻尔兹曼机(DBM)、深度置信网络(DBN)理论总结和代码实践

    近期学习总结 前言 玻尔兹曼机(BM) 波尔兹曼分布推导过程 吉布斯采样 受限玻尔兹曼机(RBM) 能量函数 CD学习算法 代码实现受限玻尔兹曼机 深度玻尔兹曼机(DBM) 代码实现深度玻尔兹曼机 深 ...

  4. Python 3深度置信网络(DBN)在Tensorflow中的实现MNIST手写数字识别

    任何程序错误,以及技术疑问或需要解答的,请扫码添加作者VX:1755337994 使用DBN识别手写体 传统的多层感知机或者神经网络的一个问题: 反向传播可能总是导致局部最小值. 当误差表面(erro ...

  5. 基于深度学习的安卓恶意应用检测----------android manfest.xml + run time opcode, use 深度置信网络(DBN)...

    基于深度学习的安卓恶意应用检测 from:http://www.xml-data.org/JSJYY/2017-6-1650.htm 苏志达, 祝跃飞, 刘龙     摘要: 针对传统安卓恶意程序检测 ...

  6. 深度学习 --- 基于RBM的深度置信网络DBN-DNN详解

    上一节我们详细的讲解了受限玻尔兹曼机RBM的原理,详细阐述了该网络的快速学习原理以及算法过程,不懂受限玻尔兹曼机的建议先好好理解上一节的内容,本节主要讲解的是使用RBM组成深层神经网络的深度置信网络D ...

  7. 深度学习DBN深度置信网络

    之前的文章有些地方不太完善,故补充完善一下. 2017-4-10. 深度信念网络,DBN,Deep Belief Nets,神经网络的一种.既可以用于非监督学习,类似于一个自编码机:也可以用于监督学习 ...

  8. 【DBN分类】基于matlab麻雀算法优化深度置信网络SSA-DBN数据分类【含Matlab源码 2318期】

    ⛄一.DBN DBN由数个RBM堆叠构成,通常会在顶层加入一个BPNN来实现有监督的分类,DBN中下一层的隐藏层就是上一层的可见层.图1所示的DBN即由两个RBM和顶层一个BPNN构成. 图1 深度置 ...

  9. 回归预测 | MATLAB实现DBN多层深度置信网络多输入单输出回归预测

    回归预测 | MATLAB实现DBN多层深度置信网络多输入单输出回归预测 目录 回归预测 | MATLAB实现DBN多层深度置信网络多输入单输出回归预测 预测效果 基本介绍 模型描述 程序设计 参考资 ...

  10. DBN【深度置信网络】【受限玻尔兹曼机深层】详解

    深度神经网路已经在语音识别,图像识别等领域取得前所未有的成功.本人在多年之前也曾接触过神经网络.本系列文章主要记录自己对深度神经网络的一些学习心得. 简要描述深度神经网络模型. 1.  自联想神经网络 ...

最新文章

  1. PHP通过DOM操作XML
  2. 意料之外,也是情理之中 - 我的自由职业之旅
  3. JDK在centos和Ubuntu 三种安装方式
  4. MFC(WTL)编辑框长度限制
  5. c语言编程矩阵乘积的程序,c语言矩阵相乘
  6. 算法设计与分析——贪心算法——汽车加油问题
  7. Java容器的遍历之增强for循环
  8. sql注入攻击实例mysql_MySQL 处理SQL注入攻击
  9. STM32工作笔记0061---通用定时器基本原理
  10. java sleep 精度,java – Thread.sleep(x)是否足以在Android中用作时钟?
  11. CentOs虚拟机NAT模式下静态IP的配置
  12. [Icehouse][cinder] volume状态为 error_deleting无法删除 的解决方案
  13. Laravel 教程 - 实战 果酱社区 开源电商 API 系统
  14. Android自定义一个对话框,属于自己的Android对话框(Dialog)自定义集合
  15. 孤独最高境界:这款单人VR游戏竟能带来多人组队体验
  16. bat脚本打开cmd执行命令
  17. jQuery cdn加速
  18. 行高line-height,以及基线、顶线、中线和底线,还有内容区域、行内框和行框 by 豆豆猫的窝...
  19. 个人对系统拆分的理解
  20. PHP开发B2C商城 微信小程序商城系统源码+数据库,轻量级前后端分离的电商系统,支持微信小程序 + H5+ 公众号 + APP

热门文章

  1. Android 项目之电话拨号器
  2. 做一个有批判性思维的程序员!
  3. MATLAB【工具箱下载】汇总
  4. 定制WES7紧急修复U盘
  5. 金字塔原理读书笔记 一 为什么使用金字塔结构
  6. 普元的ajax,普元EOS平台介绍
  7. 如何查看浏览器Cookie数据(以360为例)
  8. Qunee for HTML5的学习与使用笔记(一)
  9. cad---菜单,工具栏,屏幕菜单,增强工具栏
  10. Halcon 3D 1 读取3d数据