机器学习之DBN(Deep Belief Network,深度信念网络)
2016-06-24 12:45
776 查看
最近一直在学习DBN这个网络,前几天把RBM的一些自己了解的知识写了一下,今天就跨入主题,说一下DBN。DBN是由两部分组成,一部分是底层网络,一部分是顶层网络。按底层网络的不同,DBN可以分为MLP(多层感知器)信念网络和RBM(受限玻尔兹曼机)信念网络。
由于本人学识有限,就先暂时只说一下RBM信念网络。所谓RBM信念网络就是底层网络采用RBM,当然底层网络的层数是自己可选的。既然底层网络是多层的,那就必须要说一下堆叠方式(也就是RBM之间的连接)了。
在这个网络中,输入数据data作为最底层RBM的输入,通过这一次RBM的训练,然后把输出作为第二层的输入,依次类推直到第n-1层。最后再把这第n-1层的输出作为顶层网络的输入。
这是我自己画的一个RBM连接图,这样会更容易理解吧。
接下来就是训练过程了,其实DBN的训练过程跟RBM的训练过程差不多,先是初始化RBM的权重w和偏差b,接着使用数据一层层地训练,到达第n-1层时,使用反向传播反过来再一层层向下优化权重和偏差,然后再用数据向上训练……
等权重和偏差达到一个稳定的值之后,把n-1层的输出传递给顶层网络,再训练顶层网络就可以了。
至于顶层网络,理论上是可以选择任何一个网络,如SVM、HMM、Logistic、Linear等。
至于DBN优点呢,就是不用我们靠经验来提取数据特征,还有就是经过底层网络的自动提炼,把提炼的特征应用到别的网络上会比我们手动提取特征的结果好很多。
本人的一些拙见,勿喷
由于本人学识有限,就先暂时只说一下RBM信念网络。所谓RBM信念网络就是底层网络采用RBM,当然底层网络的层数是自己可选的。既然底层网络是多层的,那就必须要说一下堆叠方式(也就是RBM之间的连接)了。
在这个网络中,输入数据data作为最底层RBM的输入,通过这一次RBM的训练,然后把输出作为第二层的输入,依次类推直到第n-1层。最后再把这第n-1层的输出作为顶层网络的输入。
这是我自己画的一个RBM连接图,这样会更容易理解吧。
接下来就是训练过程了,其实DBN的训练过程跟RBM的训练过程差不多,先是初始化RBM的权重w和偏差b,接着使用数据一层层地训练,到达第n-1层时,使用反向传播反过来再一层层向下优化权重和偏差,然后再用数据向上训练……
等权重和偏差达到一个稳定的值之后,把n-1层的输出传递给顶层网络,再训练顶层网络就可以了。
至于顶层网络,理论上是可以选择任何一个网络,如SVM、HMM、Logistic、Linear等。
至于DBN优点呢,就是不用我们靠经验来提取数据特征,还有就是经过底层网络的自动提炼,把提炼的特征应用到别的网络上会比我们手动提取特征的结果好很多。
本人的一些拙见,勿喷
相关文章推荐
- 用Python从零实现贝叶斯分类器的机器学习的教程
- My Machine Learning
- 机器学习---学习首页 3ff0
- Spark机器学习(一) -- Machine Learning Library (MLlib)
- bp神经网络及matlab实现
- 反向传播(Backpropagation)算法的数学原理
- 关于SVM的那点破事
- 也谈 机器学习到底有没有用 ?
- TensorFlow人工智能引擎入门教程之九 RNN/LSTM循环神经网络长短期记忆网络使用
- TensorFlow人工智能引擎入门教程之十 最强网络 RSNN深度残差网络 平均准确率96-99%
- TensorFlow人工智能引擎入门教程所有目录
- 如何用70行代码实现深度神经网络算法
- 量子计算机编程原理简介 和 机器学习
- 近200篇机器学习&深度学习资料分享(含各种文档,视频,源码等)
- 已经证实提高机器学习模型准确率的八大方法
- 基于神经网络的预测模型
- 详细解读神经网络十大误解,再也不会弄错它的事情原理
- 初识机器学习算法有哪些?
- 机器学习相关的库和工具
- 人工智能扫盲漫谈篇 & 2018年1月新课资源推荐