博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
受限玻尔兹曼机——用在推荐系统里
阅读量:6873 次
发布时间:2019-06-26

本文共 1182 字,大约阅读时间需要 3 分钟。

from:http://blog.csdn.net/xbinworld/article/details/44901865

需要的背景知识

要学习RBM需要的一些基本的统计学习基础,包括贝叶斯定理,等。这些可以翻阅我之前写的一些博文可以看到相关的介绍,在本文中就不具体展开了。总体来说RBM还是相对比较独立的一个算法,不需要依赖太多的先验知识。

RBM基本概念

受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)是G.Hinton教授的一宝。Hinton教授是深度学习的开山鼻祖,也正是他在2006年的关于深度信念网络DBN的工作,以及逐层预训练的训练方法,开启了深度学习的序章。其中,DBN中在层间的预训练就采用了RBM算法模型。RBM是一种无向图模型,也是一种神经网络模型。

RBM具有两层:可见层(V层),以及隐藏层(H层),网络上比较常见的一张图是[1]: 

这里写图片描述

可以看到,两层神经元之间都是全连接的,但是每一层各自的神经元之间并没有连接,也就是说,RBM的图结构是一种二分图(bipartite graph)。正是这个特点,才叫受限玻尔兹曼及,玻尔兹曼机是允许同一层之间的神经元相连的。RBM其实是一种简化了的BM模型。

还有一个特点,RBM中的神经元都是二值化的,也就是说只有激活和不激活两种状态,也就是0或者1;可见层和隐藏层之间的边的权重可以用WW来表示,WW是一个|V|×|H||V|×|H|大小的实数矩阵。后面一篇讲RBM求解的时候可以看到,算法难点主要就是对WW求导(当然还有bias参数),用于梯度下降的更新;但是因为V和H都是二值化的,没有连续的可导函数去计算,实际中采用的sampling的方法来计算,这里面就可以用比如gibbs sampling的方法,当然,Hinton提出了对比散度CD方法,比gibbs方法更快,已经成为求解RBM的标准解法。RBM求解部分将在下一小篇中具体介绍。

OK,第一篇就到这里。

觉得有一点点价值,就支持一下哈!花了很多时间手打公式的说~更多内容请关注

参考资料 

[1]  
[2] 张春霞,受限波尔兹曼机简介 
[3]  
[4]  
[5] Asja Fischer, and Christian Igel,An Introduction to RBM 
[6] G.Hinton, A Practical Guide to Training Restricted Boltzmann Machines 
[7]  
[8] G.Hinton, Training products of experts by minimizing contrastive divergence, 2002. 
[9] Bengio, Learning Deep Architectures for AI, 2009

你可能感兴趣的文章
获取音视频文件AVMetadata数据
查看>>
sql serve 创建序列
查看>>
模型层的生成
查看>>
关于APP接口设计
查看>>
【VI】如何再执行上一个(历史)命令(已解决)
查看>>
KendoUI系列:DropDownList
查看>>
Axure7.0汉化方法
查看>>
我的MYSQL学习心得(九)
查看>>
JavaScript高级程序设计学习笔记--DOM
查看>>
Python易学就会(五)turtle绘制椭圆与递归
查看>>
echarts map地图设置外边框或者阴影
查看>>
使用vue-cli脚手架+webpack搭建vue项目
查看>>
Docker - 03 编排容器 Docker Compose 指令速查表
查看>>
Mybatis基本映射--INSERT
查看>>
手把手教你理解卷积神经网络
查看>>
猴子都能看懂的《Git 分支管理》
查看>>
【面试算法】链表反转
查看>>
镭速(Raysync)文件传输高可用安装部署介绍!
查看>>
使用 Jaeger 完成服务间的链路追踪
查看>>
Java NIO使用及原理分析 (一)
查看>>