RBM学习笔记
来源:互联网 发布:ubuntu 开不开机 编辑:程序博客网 时间:2024/06/07 20:11
RBM是一种无监督学习算法,参数学习是通过基于能量的概率模型获得。相关知识涉及概率论与数理统计,采样理论等。本文主要是参考peghoty的RBM学习笔记整理而成,主要记录公式结论,供自己理清算法思路。具体推导过程还是得阅读原作者博文。
RBM的Matlab代码:
for i = 1 : opts.numepochs kk = randperm(m); err = 0; for l = 1 : numbatches batch = x(kk((l - 1) * opts.batchsize + 1 : l * opts.batchsize), :); v1 = batch; % 样本数据v h1 = sigmrnd(repmat(rbm.c', opts.batchsize, 1) + v1 * rbm.W'); % 公式3.30 v2 = sigmrnd(repmat(rbm.b', opts.batchsize, 1) + h1 * rbm.W); % 公式3.31 h2 = sigm(repmat(rbm.c', opts.batchsize, 1) + v2 * rbm.W'); % 公式3.30 c1 = h1' * v1; c2 = h2' * v2; rbm.vW = rbm.momentum * rbm.vW + rbm.alpha * (c1 - c2) / opts.batchsize; % 公式6.52 rbm.vb = rbm.momentum * rbm.vb + rbm.alpha * sum(v1 - v2)' / opts.batchsize; % 公式6.53 rbm.vc = rbm.momentum * rbm.vc + rbm.alpha * sum(h1 - h2)' / opts.batchsize; % 公式6.54 rbm.W = rbm.W + rbm.vW; % 梯度上升公式 rbm.b = rbm.b + rbm.vb; rbm.c = rbm.c + rbm.vc; err = err + sum(sum((v1 - v2) .^ 2)) / opts.batchsize; end disp(['epoch ' num2str(i) '/' num2str(opts.numepochs) '. Average reconstruction error is: ' num2str(err / numbatches)]); end
参考:
RBM学习笔记从预备知识讲起,共分八个章节:
http://blog.csdn.net/itplus/article/details/19168937
RBM&DBN算法:
http://blog.csdn.net/itplus/article/details/9079973
DeepLearningMatlabToolbox下载:
https://github.com/rasmusbergpalm/DeepLearnToolbox
0 0
- RBM学习笔记
- 深度学习笔记之RBM
- 受限玻尔兹曼机(RBM)学习笔记
- 限制玻尔兹曼机(RBM)学习笔记
- 受限玻尔兹曼机(RBM)学习笔记(七)RBM 训练算法
- 受限玻尔兹曼机(RBM)学习笔记(八)RBM 的评估
- 受限玻尔兹曼机(RBM)学习笔记(一)预备知识
- 受限玻尔兹曼机(RBM)学习笔记(二)网络结构
- 受限玻尔兹曼机(RBM)学习笔记(一)预备知识
- 受限玻尔兹曼机(RBM)学习笔记(一)预备知识
- 受限玻尔兹曼机(RBM)学习笔记(一)预备知识
- 受限玻尔兹曼机(RBM)学习笔记(一)预备知识
- RBM学习算法
- 【RBM】代码学习--DeepLearningToolBox
- RBM的学习算法
- 深度学习RBM
- 深度学习之RBM
- 深度学习之RBM
- TortoiseGit 使用教程
- Oracle RAC 常用维护工具和命令
- hadoop学习之路(一)
- Linux下面如何查看主板型号
- Visio 2010 UML作图
- RBM学习笔记
- UML逆向工具,小巧好用
- 黑马程序员 -- Java基础学习(4)
- 详解网关和路由器的区别
- 关于Windows的用户帐户控制
- Wooden Sticks
- Cocos2d-x中异步动态加载图片或Plist文件
- 为什么关闭浏览器网页时电脑出现卡屏
- 由ARM-Linux中断知识的拓展