深度学习方法:受限玻尔兹曼机RBM(二)网络模型
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld。
技术交流QQ群:433250724,欢迎对算法、技术、应用感兴趣的同学加入
上解上一篇RBM(一)基本概念,本篇记叙一下RBM的模型结构,以及RBM的目标函数(能量函数),通过这篇就可以了解RBM到底是要求解什么问题。在下一篇(三)中将具体描述RBM的训练/求解方法,包括Gibbs sampling和对比散度DC方法。
RBM模型结构
因为RBM隐层和可见层是全连接的,为了描述清楚与容易理解,把每一层的神经元展平即可,见下图[7],本文后面所有的推导都采用下图中的标记来表示。
再重提一下,经典的RBM模型中的神经元都是binary的,也就是说上面图中的神经元取值都是{0,1}的。实际上RBM也可以做实数性的model,不过这一块可以先放一放,先来看binary的基本model。
RBM能量函数
RBM是一个能量模型(Energy based model, EBM),是从物理学能量模型中演变而来;能量模型需要做的事情就是先定义一个合适的能量函数,然后基于这个能量函数得到变量的概率分布,最后基于概率分布去求解一个目标函数(如最大似然)。RBM的过程如下:
我们现在有的变量是(v,h),包括隐层和可见层神经元;参数包括θ=(W,a,b)。能量函数定义:
如果写成向量/矩阵的形式,则为:
那么,可以得到变量(v,h)的联合概率分布是:
其中,Zθ称为归一化因子,作用是使得概率之和(或者积分)为1,形式为:
在上面所有算式中,下标θ都表示在参数θ=(W,a,b)下的表达,为了书写的简洁性,本文余下部分如果没有特殊指定说明,就省略下标θ了,但含义不变。
OK,当我们有了联合概率分布,如果想求观察数据(可见层)的概率分布P(v),则求边缘分布:
相对应的,如果想求隐层单元的概率分布P(h),则求边缘分布:
当然,我们不太可能直接计算Z,因为Z的求和中存在指数项种可能——2nv+nh种取值。接下来考虑条件概率,即可见层神经元状态给定时,(任意)隐藏层神经元状态为1的概率,即P(hk=1|v)。类似的也可以求P(vk=1|h),方法也是差不多的,下面就只对P(hk=1|v)进行描述。我们可以推导出:
以及
可以直接知道结果即可,证明可以跳过。这里我们可以看到,sigmoid是一种激励函数,因此才把RBM也叫做一种神经网络模型。
证:以下记h−k表示隐藏层神经元k以外的神经元。
因为假设同层神经元之间相互独立,所以有:
RBM目标函数
假设给定的训练集合是S={vi},总数是ns,其中每个样本表示为vi=(vi1,vi2,…,vinv),且都是独立同分布i.i.d的。RBM采用最大似然估计,即最大化
RBM的求解问题就是如何最大化似然估计,在下一篇中我会描述常用的求解方法:Gibbs Sampling以及对比散度方法,算是RBM的核心吧。本篇就到这里。
觉得有一点点价值,就支持一下哈!花了很多时间手打公式的说~更多内容请关注Bin的专栏
参考资料
[1] http://www.chawenti.com/articles/17243.html
[2] 张春霞,受限波尔兹曼机简介
[3] http://www.cnblogs.com/tornadomeet/archive/2013/03/27/2984725.html
[4] http://deeplearning.net/tutorial/rbm.html
[5] Asja Fischer, and Christian Igel,An Introduction to RBM
[6] G.Hinton, A Practical Guide to Training Restricted Boltzmann Machines
[7] http://blog.csdn.net/itplus/article/details/19168937
[8] G.Hinton, Training products of experts by minimizing contrastive divergence, 2002.
[9] Bengio, Learning Deep Architectures for AI, 2009
深度学习方法:受限玻尔兹曼机RBM(二)网络模型的更多相关文章
- 深度学习方法:受限玻尔兹曼机RBM(一)基本概念
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入. 最近在复习经典机器学习算法的同 ...
- 基于受限玻尔兹曼机(RBM)的协同过滤
受限玻尔兹曼机是一种生成式随机神经网络(generative stochastic neural network), 详细介绍可见我的博文<受限玻尔兹曼机(RBM)简介>, 本文主要介绍R ...
- 深度学习方法:受限玻尔兹曼机RBM(四)对比散度contrastive divergence,CD
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入 上篇讲到,如果用Gibbs Sa ...
- 深度学习方法:受限玻尔兹曼机RBM(三)模型求解,Gibbs sampling
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入. 接下来重点讲一下RBM模型求解 ...
- 受限玻尔兹曼机RBM
相关算法 python代码参考http://blog.csdn.net/zc02051126/article/details/9668439#(作少量修改与注释) #coding:utf8 impor ...
- 受限玻尔兹曼机RBM—简易详解
- 受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)
这篇写的主要是翻译网上一篇关于受限玻尔兹曼机的tutorial,看了那篇博文之后感觉算法方面讲的很清楚,自己收获很大,这里写下来作为学习之用. 原文网址为:http://imonad.com/rbm/ ...
- 关于”机器学习方法“,"深度学习方法"系列
"机器学习/深度学习方法"系列,我本着开放与共享(open and share)的精神撰写,目的是让很多其它的人了解机器学习的概念,理解其原理,学会应用.如今网上各种技术类文章非常 ...
- 受限玻尔兹曼机(Restricted Boltzmann Machine)
受限玻尔兹曼机(Restricted Boltzmann Machine) 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 1. 生成模型 2. 参数学 ...
随机推荐
- HDU 1002 (高精度加法运算)
A + B ProblemII Time Limit: 2000/1000 MS(Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ...
- atom的快捷键,你hold住吗?
命令面板:Ctrl+Shift+P设置窗口:Ctrl+,另存为: Ctrl+Shift+S添加文件:Ctrl+O添加文件夹:Ctrl+Alt+O工程内查找 :Cmd+Shift+F a,m,delet ...
- hdu5652:India and China Origins(并查集)
倒序操作用并查集判断是否连通,新技能get√(其实以前就会了 这题细节很多...搞得整个程序都是调试输出,几度看不下去想要重写 并查集到现在大概掌握了两个基本用途:判断是否连通 / 路径压缩(上一篇b ...
- 四连测Day1
题目:链接: https://pan.baidu.com/s/163ycV64ioy7uML7AvRDTGw 密码: p86i T1: 倍增求LCA,minn数组记录最小值 #include<i ...
- SQL_MODE
一 声明 标红部分为重点了解 原文:https://segmentfault.com/a/1190000005936172 二 SQL_MODE参数值 官方手册专门有一节介绍 https://dev. ...
- 如何将javascript对象转换成字符串
将后台程序(如php)发送过来的json数据转化为javascript的数组或者对象的方法十分简单,代码如下: 1 // 假设后台发送的json数据为 '{a:2,b:1}' 存储于str中 2 va ...
- CMDB资产管理系统开发【day26】:批准资产入库
刚才都是一条像内存,硬盘,网卡.多条的话如何操作 只有一条数据 下面的是有多条数据的 硬盘必须字段的验证 def __create_disk_component(self): disk_info = ...
- HDU1164
//HDU 1164 //输入一个数(1<x<=65535) 转化为素数的乘积() #include "iostream" #include "cstdio& ...
- 省队集训 Day3 杨北大
[题目大意] 给出平面上$n$个点$(x_i, y_i)$,请选择一个不在这$n$个点之内的点$(X, Y)$,定义$(X, Y)$的价值为往上下左右四个方向射出去直线,经过$n$个点中的数量的最小值 ...
- Chrome 浏览器 autocomplete off无效
在表单填写时突然发现autocomplete 失效了 网上搜索后得出大概意思是在某些情况下确实无效[捂脸] 解决方案 大致原因是浏览器默认为type为password的input标签自动填充密码 这样 ...