您的位置:首页 > 理论基础 > 计算机网络

GitHub深度神经网络DBNs有关输入矩阵,标签矩阵,相关参数设置疑问,求指点!!!!!

2016-03-16 10:02 387 查看
rand('state',0)
%train dbn
dbn.sizes = [100 100];
opts.numepochs =   1;
opts.batchsize = 100;
opts.momentum  =   0;
opts.alpha     =   1;
dbn = dbnsetup(dbn, train_x, opts);
dbn = dbntrain(dbn, train_x, opts);

%unfold dbn to nn
nn = dbnunfoldtonn(dbn, 10);
nn.activation_function = 'sigm';

%train nn
opts.numepochs =  1;
opts.batchsize = 100;
nn = nntrain(nn, train_x, train_y, opts);
[er, bad] = nntest(nn, test_x, test_y);

assert(er < 0.10, 'Too big error');

应用方向:生物信号模式分类(八种模式)

参考源码:https://github.com/rasmusbergpalm/DeepLearnToolbox

相关问题:
1、输入矩阵train_x结构:
        行:样本数量,即每一种N个,一共8×N行样本,本人研究中:N=53
        列:每一个样本的属性,即一个样本提取的M个特征,即深度网络有M个输入神经元,在本人研究中有M=68,矩阵为:424×68
        
       疑问:请问这个矩阵设置是否有问题?

2、目标矩阵train_y结构:
        每一行代表一个样本,比如第一种模式即:[0 0 0 0 0 0 0 1],则前N行均为[0 0 0 0 0 0 0 1],第二个N行为[0 0 0 0 0 0 1 0],依次类推……本人研究中这个矩阵为:424×8

        疑问:经测试,这个矩阵设置有问题,这个矩阵该如何设置

3、dbn.sizes:隐含层结点数,依次为第一个隐含层,第二个隐含层…………
4、opts.numepochs :迭代次数,这个有点不懂求指教????
5、opts.batchsize :每一次取batchsize个样本训练,不明这个参数,这个参数该如何设置????知乎(http://www.zhihu.com/question/32673260)上有一些解释,但是我改如何根据实际情况来设置
6、opts.momentum:这个参数不懂什么意思,求指教????
7、opts.alpha  :学习率 迭代下降的速率

       疑问:请问上述三个被标红的参数如何设置?求指教

       疑问:Demo中test_x(10000*784), test_y(10000*10)这个两个矩阵与train_x(60000*784), train_y(60000*10)两个矩阵中的10000与60000应该是样本数量的不一致,?

      注:深度神经网络的训练采用的是单隐含层神经网络的训练方式来进行训练,以上输入矩阵的设置方法是按照单隐含层的神经网络的方法设置
http://blog.csdn.net/tandyky/article/details/44184175  
http://www.pudn.com/downloads718/sourcecode/m https://github.com/sunbow1/SparkMLlibDeepLearn http://blog.csdn.net/sunbow0/article/details/46377785 http://blog.csdn.net/dark_scope/article/details/9447967
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息