初次接触Deep Learning 任务1的解读

来源:互联网 发布:海鹰数据网 编辑:程序博客网 时间:2024/06/05 22:46

解读Deep Belief Network 的MATLAB代码

刚接触deep learning 某大牛就给了我三个网站让我去下载程序,然后跑程序,最后要明白他的用途。由于MATLAB还没入门,deep learning 也才看了3天,所以这篇博客可能错误连连,希望大神们能帮忙指正,10086个感谢微笑

程序大概就是这样子的。 load 是加载数据文件。  前面对x和y 进行了初始化。因为在给的数据文件中x都是0-255之间的整型,而y都是0或1,所以把他们变成0-1之间的double型。接着rand(‘state’,0)是保证每次运行的结果都和第一次相同。 然后就是一些参数的设定。分别是大小、训练次数、批处理的大小、momentum这个不清楚????alpha,是每次挑一个批次处理。   剩下的就是要建立dbn网络了

这个函数具体的每句话含义还有表示形式我都还没搞清楚,忘大牛赐教!!!!!!!!

然后就开始对dbn进行训练

因为rbm是dbn的组成单元,所以在函数中对RBM的训练函数进行了调用

中间还有两个小函数



在对RBM的训练中,主要是一些逻辑之间的变换和公式的计算。比如由可视层v1得到隐藏层h1,再由h1重构v‘,在用v’生成h‘。这应该就是sleep-weak算法吧。我看的不是太懂。一些公式应该是



运行结果


具体我所理解的就是这了。真心希望好心人能多帮忙解释和指正。


0 0