文件交换

图片缩略图

深度神经网络

版本1.19(4.57 MB)由 小松田中
它提供了深度信念网络(DBN)的深度学习工具。
4.8
92级

96下载

更新05年8月2016年

查看版本历史记录

查看许可协议

编者按:流行文件2018

运行testDNN试试!
每个功能都包括描述。请检查一下!
它提供了堆叠受限玻尔兹曼机器(RBMs)的深度置信网络(dbn)的深度学习工具。它包括伯努利-伯努利RBM、高斯-伯努利RBM、无监督预训练的对比发散学习、稀疏约束、有监督训练的反投影和dropout技术。
MNIST数据集的示例代码包含在MNIST文件夹中。请参阅mnist文件夹中的readme.txt。
Hinton等人,《通过防止特征检测器的共同自适应来改进神经网络》,2012年。
Lee等人,视觉区域V2的稀疏深层信念网络模型,NIPS 2008。
http://read.pudn.com/downloads103/sourcecode/math/421402/drtoolbox/techniques/train_rbm.m__.htm
修改了辍学的实现。
为神经网络的训练增加了交叉熵目标函数的特征。
它包括以下文件的实现。如果您使用此工具箱,请引用以下文章:
田中正之,一种新的受限Boltzmann机器推理,国际模式识别会议(ICPR2014), 2014年8月。
提供相关的幻灯片和pdf。
http://like.silk.to/matlab/dnn.html

引用

田中正树(2021年)。深度神经网络(//www.tianjin-qmedu.com/matlabcentral/fileexchange/42853-deep-neural-network), MATLAB中央文件交换。检索

评论和评级(248.

小松田中

嗨Raaed Adnan,

下面的代码可能会对您有所帮助。注意以下代码需要深度学习工具箱。
https://jp.mathworks.com/matlabcentral/fileexchange/72577-age-and-gender-estimation-from-face?s_tid=prof_contriblnk

拉伊德·阿德南

你好,Masayuki先生,我需要在人脸识别中使用DBNs,你能帮我吗?

zhongmu张

维迪·阿里博沃

你好,教授。。。
谢谢你的代码。
该代码是否可用于设备控制?以及如何生成simulink万博1manbetx

看待

Nghia

圈maivan

linwl6666

Hi Masayuki Tanaka,当用BP训练DNN时,你的工具箱是否需要Matlab中的深度学习工具箱或任何MEX文件?谢谢!

安全蜡

嗨,大家好,我需要安装神经网络工具箱预训练的AlexNet和深度学习的工具箱,但我得到这个问题“社区撰写的插件是暂时不可用。”你会帮助我,请我怎么可以安装它,谢谢!

小松田中

嗨,阳光NEGI,
我不确定它是否有效。当然,你也可以试试。

阳光内基酒店

您好,先生,我们可以将DNN用于基于肌电信号的分类应用吗?

塞尔吉奥·科尔特斯

阿里sameer

亲爱的田中正幸先生
我想用你的好cod来降维。如果可能的话,请帮助我

当做

儿子阮

塔拉克BENKEDJOUH

haritha梅达

你好教授,
谢谢你的代码。
当我用20多张图片训练cnn时,我得到了以下错误。

索引超过了矩阵维度。

预训练RBM中的错误(第125行)
vis0=double(V(bind,:);%设置可见节点的值

pretrainDBN错误(第25行)
dbn.rbm{i}=pretrainRBM(dbn.rbm{i},X,opts);

mainm中的错误(第85行)
dnnm = pretrainDBN(dnn, IN, opts)

先生,请帮我解决这个问题。
谢谢提前

周丽英

法扎德马吉德

法扎德马吉德

NISHANT夏尔马

齐照

亲爱的龟田,

非常感谢您的工作,我正在研究凯斯西储大学的滚珠轴承测试数据。我用1200个大小的窗口划分数据,分别得到500个训练样本和测试样本。使用randDBN(节点,'GBDBN');但测试数据的校准误差率为80%。我找不到问题。你有什么意见吗?谢谢!

敏敏吴

尊敬的教授:
谢谢你的代码。我如何使用这段代码来实现回归?

蒋怡欢

我得到错误时运行脚本与“testDNN”。
错误消息:
"输出参数"out1"(可能还有其他)在调用"h2v"时没有分配。"

pretrainRBM错误(第195行)
vis1=h2v(rbm,bhid0);%计算可见节点

pretrainDBN错误(第88行)
dbn.rbm{i}=pretrainRBM(dbn.rbm{i},X,opts);

testDNN中的错误(第21行)
dnn=预训练DBN(dnn,IN,opts);

发生了什么事?

阿姆罗·萨利赫

谢谢教授。应用是得到潜在特征用于分类器,请指教。

小松田中

嗨,阿姆罗·萨利赫,

我认为修改很大程度上取决于应用。

谢谢,

阿姆罗·萨利赫

谢谢你的工作,我正在做超声图像,我需要的是使用深度置信网络训练选定的特征,然后得到潜在的特征,最后说是隐藏层,然后对图像进行分类,在这个代码中我应该修改什么?

约加布里亚

你好教授,
谢谢你的代码。我已经将你的代码用于语音识别。我的数据库由17个语音信号组成,即17个单词。每个信号具有2880*12的特征。因此,我根据输入修改代码中的一些行,如下所示:
datanum=2880;
outputnum=17;
hiddennum=8;
inputnum = 4;

Inputdata = rand(datanum, inputnum);
outputdata=rand(datanum,outputnum);

dbn=randDBN([inputnum,hiddennum,outputnum]);
DBN = pretrainDBN(DBN,inputdata);
dbn=SetLinearMapping(dbn、inputdata、outputdata);
dbn = trainDBN(dbn, inputdata, outputdata);

估计= v2h(dbn, inputdata);
我得到的结果是2880*17。从这个2880*17中,列(如1,3,7,8,12,14,15)显示二进制值1。其余列显示复数值。我不理解这个输出,也不知道如何测试数据,如何比较数据?请帮我解决这个问题。提前谢谢。

费尔南多Perdigao

MrYJ

明明李

哈里·乔

HI Masayuki我已经下载了这些文件,它们包含了Zip文件和工具箱中的代码。
我如何使用您在matlab 2017中提供给我们的工具箱?我曾尝试粘贴到文件夹中,但不起作用。

王阎

你好!
我修改了这段代码来做线性回归实验。
预训练后的DBN拟合效果较好;但是在下一步训练之后,回归拟合结果是错误的?为什么?
当做

王阎

非常感谢!

小松田中

嗨,王燕,

我认为数据的规范化是非常重要的。
您可以使用较大的值对数据进行规范化。

谢谢,

王阎

你好!
当输入数据较小时,效果较好;
相反,当输入数据较大时,它从一开始就收敛?
当做

小松田中

嗨,王燕,

我认为这取决于初始重量和训练数据。

谢谢,

王阎

你好!
为什么迭代结果保持不变?
当做

帕亚尔·帕特尔

你好
我使用这个代码对我的数据进行分类。但是我对如何在testDNN函数中使用这个IN和OUT变量感到困惑。我也不明白rmse在这里意味着什么。请请帮助!
如果有人有一些想法,请回复此评论。

帕亚尔·帕特尔

你好
我使用这个代码对我的数据进行分类。但是我对如何在testDNN函数中使用这个IN和OUT变量感到困惑。我也不明白rmse在这里意味着什么。请请帮助!

现任谭

非常好!

阿卜杜萨兰国萨拉马

大家好,我想把三列正常数据分为两到三类。该数据由三列2000行组成,代表计算机网络流量。我已经通过模糊完成了这一点,但希望使用深度学习。我试过这些工具包,但对我不起作用。任何帮助吗?利用深度学习神经网络可以将计算机网络数据分类为两类吗?我应该使用什么工具?
顺致敬意,

小松田中

我的工具箱不包括转置的conv2dlayer。
谢谢,

软件

transposedConv2dLayer不适合我??
未定义的函数或变量“transposedConv2dLayer”。
你觉得有什么问题??

阿明

另外,我想知道,我如何才能在线处理这个工具箱?
如果你能给我举个例子,我将不胜感激。
问候
amin

阿明

你好
感谢您的代码和支持。万博1manbetx
如何根据rmse值计算精度?
问候
amin

SAUMENDRA MOHAPATRA

非常感谢。
我想知道我的数据文件的培训和测试数据应该是什么。
你正在服用一些随机数

Huda迪亚布Abdulgalil

您好,谢谢您的代码。你能举例说明如何使用DBN进行特征提取和分类吗?。如果我有EEG数据,它由23个通道组成,我需要使用DBN进行特征提取,因此我应该将数据馈送到网络,其中输入的数量为23,假设为3个隐藏节点,最后将数据馈送到标签,以将这些EEG信号分为2类。请帮忙!

Amirhossein Esmailpour

你好,田中正树,
谢谢你的完美代码。
我想在无监督的情况下使用你的代码。正如您所说,我使用了PretrainDBN,并向其中添加了我的数据集(MovieLens 100k)。我将outputnum设置为2。因为我希望这段代码将我的数据分为4个集群(我认为输出是二进制格式的,所以它将是4个集群)。
但不幸的是,之后运行代码,它将把所有的数据到一个集群!(结果是在754 * 2的格式,所有的值是0.99)!
你能帮我一下吗?

Huda迪亚布Abdulgalil

嗨,有人能帮忙吗?在对模型进行训练和测试后,由于测试得到的输出是复值,所以不能画出混淆矩阵。我不知道该怎么办?请帮忙吗?我们如何评估模型以找到分类的准确性。

SYED FURQAN卡

你好,龟田田中

我正在使用您的代码对CT图像进行基于分类的分割。在培训示例代码中,我在我的数据集上运行,该数据集将整个数据集分布到16×16个补丁中。我正在使用以下代码

节点=[784 800 800 10];%仅为示例!
bbdbn = randDBN(nodes, ' bbdbn '); / /设置节点
nrbm=numel(bbdbn.rbm);

opts.MaxIter=500;
opts.BatchSize=50;
选择。Verbose = true;
选择。StepRatio = 0.1;
opts.object='交叉熵';

选择层=nrbm-1;
数据集:dbn = pretrainDBN(bbdbn, dataset, opts);
dbn= SetLinearMapping(bbdbn, dataset, labels);

选择。层= 0;
bbdbn=trainDBN(bbdbn、数据集、标签、选项);

保存('mnistbbdbn.mat','bbdbn');

我发现了下面这个错误

错误使用*
内部矩阵尺寸必须一致。

v2h中的错误(第43行)
H = sigmoid(bsxfun(@plus, V * dnn。W,款。b));

预训练RBM中的错误(第187行)
hid0=v2h(rbm,vis0);%计算隐藏节点

pretrainDBN错误(第88行)
dbn.rbm{i}=pretrainRBM(dbn.rbm{i},X,opts);

无题错误(第12行)
数据集:dbn = pretrainDBN(bbdbn, dataset, opts);

请帮助。谢谢

Saifuldeen穆罕默德

Huda迪亚布Abdulgalil

大家好,有谁能帮助我理解如何使用DBN对心电信号进行特征提取和分类?该代码可用于心电信号的特征提取和分类。请帮助! !

贾纳丹

见鬼去吧!

如何安装MatConvnet库以使用CNN执行语义分段。非常感谢你的帮助。

秀角墟

小松田中

嗨,布伦特,
它不使用神经网络工具箱。
这个工具箱不同于神经网络工具箱

谢谢,

布伦特F

这是建立在神经网络工具箱上的吗?或者只是作为补充?或替换它吗?

小松田中

你好,阿卜杜勒·阿齐兹,
我认为你可以从“Hall”得到任何隐藏层的输出。

谢谢。

亲爱的龟田,

非常感谢您的工作,代码整洁有序,对我的学术研究有帮助。快速提问,是否可以提取某个隐藏层的输出?我正在考虑修改“trainDBN”以返回“Hall”对象,以便检索输出。

再次感谢。

拉克斯米酒店

请澄清setlinearmapping的用法。它如何改进学习过程?也支持我一些参考。万博1manbetx

小松田中

嗨,你的事迹,
相关论文之一是
Yamashita等人,“受限玻尔兹曼机的伯努利或高斯”,ICPR 2014。
你可以在
http://mprg.jp/en/publications/?y=2014

谢谢,

本尔

您好,有没有可能在时间序列模型构建中实现这一点?

拉克斯米酒店

嗨,Masayuki!你能分享一下你在这里实现的GBDBN和setlinearmapping的参考文献吗。

王红梅

王红梅

非常好!

聚氨酯龚

达米恩·哈顿·皮特林

苗苗

摩押海门塔利布

先生,我想让这个工具箱测试我保存在文件中的图像。mat我可以这样做吗,如何去做,我可以做些什么

摩押海门塔利布

请问如何插入我的图像特征在这

子健乔

摩押海门塔利布

嗨Masayuki
我需要使用DNN识别亚述文本,它会工作

摩押海门塔利布

嗨嗨,龟田

库马尔

你好,先生,
我可以使用给定的语音信号代码吗
我已经试过,但我不明白的rbm.w,B,C中it.can系数u请告诉我,我怎么能利用它们。

范章

ntutangyun

为什么我不能在mist数据上测试?

这是输出

> > testMNIST

在调用“h2v”期间未分配输出参数“out1”(可能还有其他参数)。

pretrainRBM错误(第195行)
vis1=h2v(rbm,bhid0);%计算可见节点

pretrainDBN错误(第88行)
dbn.rbm{i}=pretrainRBM(dbn.rbm{i},X,opts);

误差在trainMNIST(线49)
bbdbn=预训练DBN(bbdbn、列车图像、选项);

testMNIST中的错误

理查德·帕尔默

谢谢。

玛丽

感谢您的代码,我有一个关于代码给出的估计(在提供的示例中)的问题。我相信这是对输出的预测(使用v2h函数计算),这不是预期大致接近输出吗?估计值与输出值相差甚远。
谢谢

只Maaz汗

嗨,有人能帮我写这段代码吗?我怎么能在Simulink中使用它作为模型呢。万博1manbetx

丹尼尔·班达拉

嗨,田中正幸,让我祝贺你这个神奇的工具箱,你让它很容易理解,非常感谢让它开放。
我正在检查代码,因为在尝试复制MNIST示例时,有些东西没有工作,并发现了Giacomo在2014年9月10日报告的相同错误,选项。对象在trainmist的第46行中没有大写。M文件和选项的检查。对象存在于trainDBM的第128和129行。M文件,这让我怀疑你是否上传了一个旧版本的代码,无论如何,如果我错了,请让我知道……作为一个说明,我下载了。zip文件名为DeepNeuralNetwork20160805.zip

当做

丹尼尔

鲁兹贝·达沃迪

谢谢你的代码,我相信你的代码只适用于分类问题,我已经尝试过让它适用于回归问题。但是,它没有。让我知道它是否可以工作的回归任务一些修改?

KK

嗨Masayuki

我是神经网络新手。我刚刚学习了使用神经网络预测“连续结果变量(目标)”。我想知道深层神经网络是否可以用来预测一个连续的结果变量。例如,如果我的目标变量是身体脂肪的连续测量值。我试过用神经网络工具箱来预测结果。我想用深度神经网络来提高性能。

谢谢!

KK

恩佐·奥斯坦托

嗨,Masayuki,

我对整个神经网络和matlab都很陌生。

我想知道,对于数值数据集(而不是图像),是否可以使用一个正常的神经网络(而不是DBN)和辍学。

我已经下载了zip文件。我可以看到MNIST数据集有一些示例。然而,当我想用我自己的数据来更改它时,我会感到困惑,它不起作用。

谢谢你!

恩佐·奥斯坦托

死亡法师

马丁贝克

嗨,Masayuki,

我想知道:你是怎么设置的
+选择MaxIter
+选择。Batchsize
+ opts.StepRatio
+可能还有其他人
对于pretrainDBN和trainDBN,您运行ICPR2014论文的MNIST实验?

在这两种情况下,它们是不同的还是相同的1000,就像例子trainmist…在这里,唯一的选择。图层是交替的吗?

关于布景的一些细节会很有帮助。我们将重用此代码视为数据可视化任务。

谢谢,
马丁

小松田中

嗨,翟,

你可以试试!

谢谢,

亲爱的先生,
请让我知道这是否工具箱可以用于回归。
我的笔记本电脑有AMD驱动程序。
还请确认它是否能在计算机上,而无需使用小数据集GPU使用。

当做

佩德罗Pantalone

可以这样用平行集群使用?喜欢PARFOR?任何企图使集群准备好了吗?

Qianhui广域网

佩德罗Pantalone

佩德罗Pantalone

Mac R2016a:

>>testDNN
在调用“h2v”期间未分配输出参数“out1”(可能还有其他参数)。

pretrainRBM错误(第195行)
vis1=h2v(rbm,bhid0);%计算可见节点

pretrainDBN错误(第88行)
dbn.rbm{i}=pretrainRBM(dbn.rbm{i},X,opts);

testDNN中的错误(第21行)
dnn=预训练DBN(dnn,IN,opts);

小松田中

希布鲁诺·布伦坦,

您可以使用连续数据。

谢谢,

布鲁诺Brentan

这就跟你问声好!
我想了解一下输入数据。
是否有可能采用连续数据或仅二进制数据作为输入?

龟田田中,亲爱的,
谢谢你的工作,
我想知道这个包是否可以用于回归?
谢谢。

runninglu

拉斯洛

嗨,Masayuki,

好吧,所有的指南都是这么说的,没有任何解释:)。然而,如果有“足够的”单位比它们添加的激活(即:出现的概率)的平均值接近二进制激活的平均总和(单位数量越大,平均值就越“稳定”/精确),这意味着你所犯的错误就会变得更小。如果我没看错的话。
谢谢

布莱德

小松田中

嗨Laszio,

您可以使用概率作为抽样值。

谢谢,

拉斯洛

嗨,Masayuki,

对我来说,在GS的第二步(pretrainRBM)中,你取vis1的激活值,并基于它们计算hid1状态(激活)。但这不是取∑(W)的平均值,而是取∑(0):P(v==1)*∑(W)+P(v==0)*∑(0)你取∑(P(v==1)*W+P(v= 0)*0,这两个是不同的(这里为了简单,我去掉了偏差)你能澄清一下吗?
谢谢

贝纳姆·卡泽米瓦什

嗨Masayuki

感谢您分享您的工作,
如果您能指导我如何使用dbn工具箱提取数据集图像(如flickr8k,…)的特征,我将非常高兴。

谢谢

楚YW

小松田中

嗨,阿拉,

谢谢你的评论。
如何使用单层DBN?我认为单层DBN相当于RBM。

谢谢,

阿拉

嗨Masayuki

谢谢你的工作,
事实上,我正在开发人脸识别系统和我已经有自己的特征向量。所以,我想用RBM作为判别模型并工具箱提供这种能力?我通过您的代码去了,我发现这很容易理解,培养DBN,但我怎么能在RBM次列车作为分类?

我想尽快收到你的回信。先谢谢你。

小松田中

刘庆菊你好,,

这取决于应用程序。
简单地说,尝试两种设置!

谢谢,

QINGJU刘

如果您将模式设置为GBRBM,您应该使用第二层的rbmtype(GBRBM)还是使用第二层的BBRBM?我认为在randDBN.m中,可能应该是:

对于i=2:numel(dbn.rbm)-1
%dbn.rbm{i}=randRBM(dims(i),dims(i+1),rbmtype);
dbn.rbm{i}=randRBM(dims(i),dims(i+1),'BBRBM');
结束

小松田中

嗨freecity弗里曼,

感谢您的评论。
选择。层是训练层。如果你想训练所有层,请输入0。
我已经上传了修改了解释的新版本。

谢谢,

弗里曼

你好,
在示例代码中,使用了opts.Layer,但没有解释。你能解释一下这个参数吗?谢谢

小松田中

嗨,光毅,

这取决于问题。但是,你可以试试。
预美白可能对你有帮助。

谢谢,

Guangyi

我想为你们的深层神经网络使用实值图像。您的代码是否会像MNIST中那样为实值而不是二进制值工作?谢谢

Murugesan Thangavel

我希望实现的音频文件像wav或mp3。RBM如何接受输入?哪些特性?

PLP或MFCC

佩德罗·阿吉亚

小松田中

嗨belete·博茹,

我认为这是非常好的一点!
一些研究人员使用BB-RBM,另一些使用GB-RBM。
我不知道哪个更好。

谢谢,

belete·博茹

非常感谢你的辛勤工作!您使用带有灰度图像的MNIST数据集,但使用BBRBM对其进行训练,可以吗?我使用的是实值数据我应该使用GBRBM吗?

小松田中

你好,马克斯,

预培训RBM是一种无监督的学习。pretrainRBM不需要输出。

谢谢,

马克斯

龟田,你好

首先,感谢您的工作!

我有几个关于RBM实现的问题。在“pretrainRBM”的例子中。m”文件:

%例如:
% datanum = 1024;
% output = 16;
% input = 4;

%inputdata=rand(datanum,inputnum);
% outputdata = rand(datanum, outputnum);

% rbm = randRBM(inputnum, outputnum);
%rbm=预训练rbm(rbm,输入数据);

RBM的最终输出为:

成果管理制=

类型:“BBRBM”
W:[4乘16双)
b:[1乘16双]
c:[-0.0552-0.0073-0.0329 0.0276]

但是,在rbm对象中没有输出数据矩阵。这是否意味着1)我必须将权值矩阵乘以输入数据以得到隐藏单元的输出。2)我还需要通过激活函数输出吗?

我对神经网络和深度学习还很陌生所以如果这是一个基本的问题,我很抱歉。谢谢!

多萝西

龟田,你好
非常感谢这项工作!
是否可以使用图像内绘箱的代码?
顺致敬意,
Cande

多萝西

小松田中

嗨Sohanjyoti莫汉蒂,

当然,您可以将工具箱用于其他数据集。

谢谢,

莫汉蒂Sohanjyoti

我可以使用其他图像数据集,如MNIST的这段代码?

小松田中

嗨,Kaneko Masashi,

请通过您的操作系统和文件扩展名谷歌。

谢谢,

Masashi金子

您好,我知道这是很基本的,但我不能正确地解压缩的文件MNIST。请告诉我你是怎么做的方式。谢谢。

Ashutosh Kumar Upadhyay

小松田中

嗨Shivani Ghatge,

我提供了一个示例代码。请检查mnist目录。

谢谢。

希瓦尼·加特格

你好,我是DNN的新手,正在做一个项目。这个工具箱有文档吗?有什么可以指导我如何使用这个吗?

卡拉

zy

我是一名学生,我的工作包括对“卷积深层网络的人脸识别”,我想知道,如果有人可以帮助我得到一些代码或任何其它类似的主题,可以使我更容易,或者帮我在我的工作进展

罗曼杰科汀

陈若泽

你好,你能建议一组合理的参数值非常稀疏的输入-包括层?

同李

嗨,穆斯林尤塞菲,你的问题解决了吗?我也面临着同样的问题。

tariq bdair

嗨,Masayuiki,

感谢您提供了这个有用的工具。
如何在SVM中使用经过训练的dbn, SVM的输入是什么,bbdbn中存储的是W吗?

宋元勇

非常好的演示材料。谢谢你!

lallouani bouchakour

你好

感谢这段代码。
我可以用这个代码进行语音识别
为什么! !
我想用matlab代码和深度神经网络进行语音识别。
如何修改代码?

jeffin

嗨,Masayuiki

感谢这段代码。如果我需要使用这个代码训练颜色数据集,如何继续与代码。请建议我。如何修改代码?

瓦莱里奥·朱夫里达

嗨,Masayuiki,
我正在深入研究你的代码,并试图将理论与实现联系起来。在Hinton(2010)的《受限玻尔兹曼机器训练实用指南》(A Practical Guide to Training Restricted Boltzmann Machines)中,他说,为了避免根据批大小相应地改变学习率参数,可以将学习率除以批大小的数量。

在文件pretrainRBM中,我读取了将StepRatio除以num,这是样本的总数。是搞错了,还是我误解了辛顿?

非常感谢

张贤贤

嗨,龟田,

感谢您的代码。我试图用它的音频分类。我用MFCC特征作为输入(21700×13),并选择“GBDBN”。从前期训练的RMSE是非常小的,但是从训练的suprisely高,并且不改变ITER = 8。能不能请你提出什么可能出错后了吗?我应该如何修改我的数据或代码MATLAB?

非常感谢,
仙县

张贤贤

嗨,龟田,

如果我选择GBDBN,这是否意味着所有的层都将使用GB?如果我希望第一层使用GB,其余的使用BB,我应该如何修改代码?

非常感谢,
仙县

罗一诚

嗨,龟田
谢谢你的密码。

如何在in和ON中输入您自己的数据

输入自己的数据错误:

使用double时出错
无法从结构转换为双精度。

艾瑟伊克巴尔

你好,
我无法运行代码GetDroppedDBN.m,如何在字段中放置参数,它们是什么?

穆斯林尤塞菲

嗨Masayuki
谢谢你的密码。
我为了预测的目的修改了代码。但是,和Sam一样的问题也发生在我身上。训练的结果并不像人们预期的那样有希望(与简单的前馈神经网络相比),当我使用测试数据时,结果几乎是恒定的。虽然代码是为图像处理编写的,但我相信它也可以用于回归。正当我只是不知道我的错误在哪里。可能是数据集的大小吗?我的数据集是1000*32输入和1000*1输出。Tq

拉奇·沃格特

萨姆你好,

难道说你的学习过程中过学习,尝试和拉回来的层数,并设置最大的迭代量较小。此外,如果可能包括更多的训练情况。还可以增加漏失的为0.5的比例

小松田中

嗨,莎玛先生,

输出数据格式是到你的应用程序。

谢谢。

小松田中

嗨,山姆,

我想演示代码只是为了展示用法。输入和输出是随机的。请尝试使用有意义的数据,如mist。

谢谢。

夏尔玛先生

你好,
我只是想知道输入和输出应该是什么样的?可以是不同类别的特征向量吗?你能举个例子吗。

山姆

嗨…我试过你的RBM和DNN代码,顶层是线性回归…但是有两个问题
1.在输出端进行微调后,它不会预测任何东西,只是0或0.5的水平线
2.如果预测输出层的模式,则模式与目标波形完全相同,但如果目标范围从0到1,则输出值的范围将缩小…它很好地预测了模式,但其范围为0.556到0.557

小松田中

嗨拉奇福格特

请使用v2h进行推理

out = v2h(dbn, IN);

谢谢。

拉奇·沃格特

嗨,Masayuki,

对不起,回来给你。
我已经添加了初始化trainDBN.m的代码,它返回相同的错误消息。
然而,我能够使用我的数据在testDNN上训练的算法。已知输入和输出对它进行了训练我如何让它估计给定新输入的输出?是v2h, v2hall还是别的什么?

小松田中

你好,梁妈妈,

我的代码不支持稀疏约束。万博1manbetx

谢谢。

梁马

谢谢分享代码Masayuki。我的问题是给定层间的权重,这也可以看作是特征,如何得到输入的稀疏表示?提前谢谢你的帮助。

小松田中

嗨拉奇福格特

一个例子是
节点=[32 16 8 4];
dnn=randDBN(节点);

请检查testDNN.m

谢谢。

拉奇·沃格特

谢谢你的代码和你的时间田中正幸。你知道如何初始化dbn吗?我浏览了matlab的教科书,并尝试在谷歌上搜索,但没有任何成功。我对机器学习有很好的理解,但对编码却知之甚少。

小松田中

嗨拉奇福格特

您是否初始化了dbn?
请检查它。

谢谢。

拉奇·沃格特

你好

我只是想用样本数据来训练DNB。
[dbn rmse] = trainDBN (dbn,IN, OUT, options)

提示错误信息“未定义函数或变量'dbn'.”。我已经安装了工具箱,你知道命令出了什么问题吗?

赵怡君

顺便说一下,我使用的是GBDBN ....

赵怡君

嗨,我得到的预测(回合)要么都是0,要么都是1。有人有同样的问题吗?有什么建议吗?提前谢谢你的帮助。

宜君

小松田中

嗨,赵怡君,

工具箱不包括交叉验证的代码。如有需要,请自行执行。

非常感谢。

赵怡君

只是想确认给定的输入数据集,我们需要编写验证和测试包装的代码,即代码不提供训练和测试分离。那是正确的吗?

Ramya

看来当我使用压缩文件到现在的工作!我想,当我使用工具箱中,它可能会使用不同的H2V文件已?

Ramya

感谢您正幸为您的工作!
当我尝试对RBM进行预训练或运行testDNN时,出现了一个错误,我不确定如何修复它以开始使用您的代码。请让我知道!
非常感谢你!

h2v错误(第9行)
If isempty(av) % h2v([],main_figure,varnames)

在调用“h2v”期间未分配输出参数“out1”(可能还有其他参数)。

pretrainRBM错误(第195行)
vis1=h2v(rbm,bhid0);%计算可见节点

小松田中

嗨,赵怡君,

这个工具箱的主要重点是分类。

谢谢你!

赵怡君

嗨,Masayuki,

请问这段代码是否可以同时做分类和回归?

谢谢,

宜君

穆斯林尤塞菲

谢谢你提供这个文件。帮了大忙。

小松田中

嗨Leqi朱,

这个工具箱是有监督的培训。预培训采用无监督培训。

谢谢。

小松田中

嗨,山姆,

我认为有几种方法可以应用时间序列数据。但是,它强烈地依赖于应用程序。

谢谢。

小松田中

嗨,光亨正,

这个工具箱是供监督培训使用的。
谢谢。

Leqi朱

我还有一个问题:这个工具箱是否用于无监督学习?如果是,为什么需要我们提供输出数据进行培训?

Leqi朱

嗨,我用你的工具箱做分类。我得到了10种材料,有4个特点。每种材料包含10个样品。当我运行调用v2h的演示时,估计值始终在(0,1)之内。这是什么意思?

山姆

thanku为您的代码。
但我有一个问题,我能用你们的工具箱来解决时间序列预测问题吗?

我必须从5个输入参数预测天气温度。

你能帮我做这件事吗

阿米拉·布奥尔格

谢谢你的代码

KwangHun郑某

啊标签是什么???
我不知道标签的意思…
只是名字?

KwangHun郑某

谢谢你的代码

我找不到目标的内容
我想知道这个工具箱是无人监管的

bbdbn是经过培训的模型吗??
那么我想知道测试是如何可能的

我怎么知道测试结果?
也就是说,测试的输入数据是什么?

KwangHun郑某

我给田中正幸送个信
普拉斯,检查消息

小松田中

嗨,比尔,

在我的实现中,RBM.sig被认为是一个给定的参数。正如您所评论的,该参数没有更新。
但是,GBRBM和BBRBM的更新规则不同。

谢谢。

比尔盖茨

嗨,龟田,

谢谢分享你的代码。

RBM.sig已设置为1,并且从未在任何地方更新。因此,在您的实现中,GBRBM和BBRBM实际上是相同的。你能证明这一点吗?谢谢

克芬格

Lepsoy

你好,田中正树,
首先,感谢你在这里所做的工作。

我希望使用工具箱进行回归。更具体地说,我的输入向量的维数为41,我希望推断的输出节点数为12。由于输入不是(0,1),我使用GBRBM作为输入层和[41 300 12]结构。

我的问题本质上是:我是否需要更改代码中的任何内容,以便能够进行回归而不是分类?

提前谢谢!

小松田中

嗨,阿尔西,

工具箱中有一些GBRBM的错误。我修好了。
请使用DeepNeuralNetwork20150428的最新版本。

谢谢。

小松田中

嗨Bipul Das,

我无法得到的大小64×,其中64代表的意见数量和4代表特征的含义。

输入数据的大小通常为[数据数量]x[特征尺寸]。请检查testDNN。

谢谢。

阿尔西

你好,田中正树,
谢谢你的文件。我已经使用GBRBM来测试我自己的数据(非图像数据)。

但是我的输出在所有行中都有与nirmal所提到的相同的值。
你能提供一些信息吗?

家驹杨

多亏了Morten Kolbæk,现在我可以运行testDNN,但是结果rmse是0.28,这真的太高了。
此外,在pretrainRBM,我找不到西格玛更新,其中住宿1所有time.It真让我为难,因为在一些其他代码它iters变化。
谁能帮我?
非常感谢。

依奇阿卜杜勒

请问有没有人能帮我添加这个工具?

Morten科尔布æk

我经历了和Jiaju Yang一样的关于20131024修订版trainDBN的281行错误。
但是我发现在20131204版本中没有这个错误。我已经“修复”问题,使用从rev. 20131204在rev. 20131024似乎工作的行。这条线是
" deltaW = bsxfun(@rdivide, deltaW, trainDBN.rbm{n}.sig'); "

家驹杨

龟田,你好
谢谢你的工具箱。
但是,当我运行testDNN时,它显示“
trainDBN错误(第281行)
deltaW = bsxfun(@rdivide,detaW,RBM ​​{H}的.sig”);”
我怎样才能解决它?

Bipul Das

龟田,你好

首先感谢你在DNN上的工具箱。这似乎很有用。但在实现代码时,我面临一个问题。

1)我的输入数据的大小是64x4,其中64代表观察次数,4代表特征。

但是您的代码返回的东西既不是输入也不是输出。

所以你能帮我理解我在哪里犯了错误吗

马可

嗨,Masayuki,
我觉得你的工具箱很有趣,但我有两个不同的问题。

第一:如果我运行testDNN,我会得到:
???使用==> randperm错误
输入参数太多。

==> pretrainRBM在172处出错
p = randperm(dimV, DropOutNum);

88处==>pretrainDBN中的错误
dbn.rbm{i}=pretrainRBM(dbn.rbm{i},X,opts);

在21处==>testDNN中出错
dnn=预训练DBN(dnn,IN,opts);

其次,我已经试着按照你的帮助写我的脚本,但它似乎不能正常工作。无论如何,它总是选择一班。实际上

预训练dbn(dbn,训练数据,opts);

返回没有学到任何东西的第一层。我的意思是,不管大小,答案总是这样的(为了空间起见,现在迭代了3次)

1: 57.8774 0.7509
2 : 57.8774 0.7656
3:57.8774 0.7656
1: 0.4938 0.4939
2 : 0.4846 0.5583
3 : 0.4719 0.6207

当自动编码器的神经元的N等于输入的N_时,这看起来很奇怪。

你能帮我一下吗?

p、 这是除了数据加载部分之外的脚本

%设置变量
datanum =大小(train_data, 1);
outputnum=大小(列\目标,2);
inputnum=大小(列数据,2);
hiddennum=32;

选择。Verbose = true;
opts.MaxIter = 10;

dbn = randDBN([192 192 11], type);
dbn2 = pretrainDBN(dbn, train_data, opts);
dbn3 = SetLinearMapping(dbn2, train_data, train_target);
dbn4 = trainDBN(dbn3, train_data, train_target);

列车估计=v2h(dbn4,列车数据);
[~,CM,~,~]=混乱(训练目标,训练估计)
Test_estimate = v2h(dbn4, test_data);
(厘米~,~,~)=混乱(test_target ', test_estimate ')

萨勒姆

嗨,Masayuki,
谢谢回复,我有自己的数据集。因此,我将这段代码应用于它,结果是非常好的,比Conv.Neural Networks好得多。我想再次进行实现,因为结果令人难以置信,我想确保以正确的方式实现。再次感谢分享代码。

小松田中

嗨,塞勒姆,

对于目标检测,我认为卷积网络更好。但是,我希望这段代码也适用于目标检测。

谢谢。

萨勒姆

萨勒姆

嗨,Masayuki,
谢谢分享这项工作。
是否可以使用此代码进行对象检测?
当做

奈姆伊斯兰

非常感谢你,我解决了我的问题

小松田中

嗨“,

我不会就每个具体问题进行咨询。
如果你有任何错误,请报告。如果我有时间,我会修好它的。

谢谢你!

尼马尔

谢谢Masayuki的回复。我不知道错误到底在哪里。我可以告诉你我的输入和输出数据,以便进行培训和测试。

培训

我给训练的输入和输出是

在=

0.0508 0.1028 0.2597 0.3425 0.4421 0.5450 0.6116 0.7312 0.9024 1.0000
0.0573 0.1087 0.2060 0.3443 0.4321 0.5143 0.6097 0.7396 0.8907 1.0000
0.0434 0.1066 0.2399 0.3202 0.4109 0.4947 0.6062 0.6984 0.8613 1.0000
0.0588 0.1160 0.2182 0.3529 0.4726 0.5468 0.6609 0.8125 0.9331 1.0000
0.0497 0.0869 0.2175 0.3110 0.3862 0.4690 0.5324 0.6646 0.8984 1.0000
0.0553 0.1104 0.1955 0.3246 0.4395 0.5263 0.6127 0.7208 0.8704 1.0000
0.0530 0.1022 0.2058 0.3652 0.4738 0.5564 0.6354 0.7720 0.9023 1.0000
0.0533 0.1118 0.2367 0.3263 0.4184 0.5061 0.6123 0.7301 0.8726 1.0000
0.0538 0.1179 0.2293 0.3267 0.4333 0.5230 0.6226 0.7258 0.8801 1.0000
0.0473 0.1111 0.2347 0.3560 0.4627 0.5681 0.6481 0.7799 0.9202 1.0000
0.0481 0.1091 0.1906 0.2956 0.3788 0.4684 0.5427 0.7065 0.8924 1.0000
0.0536 0.1164 0.2625 0.3452 0.4307 0.5382 0.6301 0.7400 0.8729 1.0000
0.0547 0.1109 0.2527 0.3440 0.4316 0.5300 0.6416 0.7294 0.8658 1.0000
0.0459 0.1080 0.2353 0.3129 0.4413 0.5336 0.6143 0.7321 0.8933 1.0000
0.0546 0.1018 0.2035 0.3188 0.4412 0.5370 0.6084 0.7173 0.8851 1.0000
0.0598 0.1121 0.2279 0.3452 0.4224 0.5233 0.6205 0.7327 0.8971 1.0000
0.0465 0.1062 0.2274 0.3396 0.4300 0.5292 0.6130 0.7032 0.8624 1.0000
0.0473 0.1031 0.2673 0.3637 0.4229 0.5268 0.6370 0.7149 0.8271 1.0000
0.0509 0.1024 0.1906 0.3217 0.4049 0.4952 0.5999 0.7157 0.8828 1.0000
0.0482 0.0994 0.1910 0.3368 0.4615 0.5317 0.6292 0.7473 0.8908 1.0000

出去=

0.0619 0.1074 0.1986 0.2981 0.4495 0.5487 0.7022 0.8203 0.9526 1.0000
0.0495 0.1119 0.1972 0.3024 0.4619 0.5569 0.7223 0.8382 0.9456 1.0000
0.0474 0.1066 0.2208 0.3254 0.4762 0.5625 0.6883 0.7866 0.9373 1.0000
0.0609 0.1016 0.1936 0.2756 0.4321 0.5390 0.6710 0.7997 0.9176 1.0000
0.0646 0.1039 0.2133 0.3243 0.4175 0.5608 0.6469 0.7916 0.9045 1.0000
0.0585 0.1081 0.1846 0.2689 0.4416 0.5450 0.7111 0.8411 0.9702 1.0000
0.0494 0.0918 0.1798 0.3124 0.4554 0.5728 0.7282 0.8470 0.9533 1.0000
0.0597 0.1232 0.2334 0.3116 0.4309 0.5399 0.6387 0.7748 0.9233 1.0000
0.0554 0.1002 0.2053 0.3289 0.4744 0.5669 0.6879 0.8111 0.9494 1.0000
0.0473 0.1111 0.2347 0.3560 0.4627 0.5681 0.6481 0.7799 0.9202 1.0000
0.0481 0.1091 0.1906 0.2956 0.3788 0.4684 0.5427 0.7065 0.8924 1.0000
0.0536 0.1164 0.2625 0.3452 0.4307 0.5382 0.6301 0.7400 0.8729 1.0000
0.0547 0.1109 0.2527 0.3440 0.4316 0.5300 0.6416 0.7294 0.8658 1.0000
0.0459 0.1080 0.2353 0.3129 0.4413 0.5336 0.6143 0.7321 0.8933 1.0000
0.0546 0.1018 0.2035 0.3188 0.4412 0.5370 0.6084 0.7173 0.8851 1.0000
0.0598 0.1121 0.2279 0.3452 0.4224 0.5233 0.6205 0.7327 0.8971 1.0000
0.0465 0.1062 0.2274 0.3396 0.4300 0.5292 0.6130 0.7032 0.8624 1.0000
0.0473 0.1031 0.2673 0.3637 0.4229 0.5268 0.6370 0.7149 0.8271 1.0000
0.0509 0.1024 0.1906 0.3217 0.4049 0.4952 0.5999 0.7157 0.8828 1.0000
0.0482 0.0994 0.1910 0.3368 0.4615 0.5317 0.6292 0.7473 0.8908 1.0000

测试

输入、期望输出(OUT)及系统输出(OUT)

在=

0.0571 0.1051 0.2289 0.3170 0.3904 0.4603 0.5426 0.6916 0.8513 1.0000
0.0600 0.1202 0.1827 0.3124 0.4269 0.4994 0.6124 0.7648 0.8969 1.0000
0.0500 0.1038 0.2320 0.3211 0.4101 0.5151 0.6038 0.7421 0.8818 1.0000
0.0549 0.0942 0.1917 0.3012 0.3757 0.4808 0.6032 0.6957 0.8200 1.0000
0.0519 0.0993 0.1598 0.2916 0.4260 0.4866 0.5815 0.6982 0.8647 1.0000
0.0551 0.1124 0.1759 0.2736 0.3927 0.4553 0.5314 0.7169 0.8839 1.0000
0.0602 0.1062 0.2197 0.3179 0.4412 0.5577 0.6200 0.7419 0.8830 1.0000
0.0588 0.1126 0.1782 0.2953 0.3918 0.4797 0.5877 0.7279 0.8814 1.0000

出去=

0.0537 0.1227 0.2162 0.3215 0.4550 0.5871 0.7132 0.8521 0.9558 1.0000
0.0633 0.1196 0.1881 0.2807 0.4691 0.5499 0.6738 0.8023 0.9324 1.0000
0.0613 0.1148 0.1805 0.2892 0.4700 0.5843 0.7635 0.8470 0.9414 1.0000
0.0653 0.1402 0.2052 0.2768 0.4669 0.5362 0.7040 0.8622 0.9405 1.0000
0.0648 0.1156 0.1807 0.2804 0.4378 0.5466 0.7169 0.8337 0.9482 1.0000
0.0593 0.1175 0.1746 0.2710 0.4707 0.5343 0.7108 0.8234 0.9452 1.0000
0.0558 0.1104 0.2144 0.3186 0.4410 0.5616 0.6886 0.7815 0.9127 1.0000
0.0594 0.1193 0.1956 0.3045 0.4722 0.5430 0.7349 0.8158 0.9345 1.0000

OUT =

0 1.0000 00 1.0000 1.0000 1.0000 1.0000 0.9968
0 1.0000 00 1.0000 1.0000 1.0000 1.0000 0.9968
0 1.0000 00 1.0000 1.0000 1.0000 1.0000 0.9968
0 1.0000 00 1.0000 1.0000 1.0000 1.0000 0.9968
0 1.0000 00 1.0000 1.0000 1.0000 1.0000 0.9968
0 1.0000 00 1.0000 1.0000 1.0000 1.0000 0.9968
0 1.0000 00 1.0000 1.0000 1.0000 1.0000 0.9968
0 1.0000 00 1.0000 1.0000 1.0000 1.0000 0.9968

节点信息:节点=[10,15,10];

如果你能帮我

小松田中

嗨“,

如果你有任何错误,请报告。如果我有时间,我会修好它的。

谢谢你!

尼马尔

嗨,Masayuki,
感谢分享这项工作,这是非常好的确实如此。

我试图用M*N矩阵训练一个M*N矩阵,即输入和输出都是M*N矩阵,它们都包含浮点数正和负。

当我在M'*N点上测试系统时,所有的行都有相同的值

示例的输出

0.9942 0.0001 0.9998 0.0001 0.1693 0.0026 0.2899 0.0002
0.9942 0.0001 0.9998 0.0001 0.1693 0.0026 0.2899 0.0002
0.9942 0.0001 0.9998 0.0001 0.1693 0.0026 0.2899 0.0002
0.9942 0.0001 0.9998 0.0001 0.1693 0.0026 0.2899 0.0002
0.9942 0.0001 0.9998 0.0001 0.1693 0.0026 0.2899 0.0002

这里每一行都是一样的,即使我输入的值不一样。你能帮我一下吗

小松田中

嗨,Omrah,

这是一个预处理问题。我认为这超出了我的范围。但是,一个简单的方法是应用填充。
请试一试。

谢谢你!

omrah

你好,
我尝试了基质构建测试与DNN。但我有一个问题;
我有大小从200列到1200列不等的向量。每个向量代表一个手写字(5000mot)的特征。如何使向量规范化以用于RBM和DBN。
对于MNIST来说,这并不构成问题,因为图像的大小是相同的28 * 28,这给了我们784列网络输入。
我希望我能找到解决办法。
谢谢您的合作。

小松田中

嗨,Omrah,

我想你可以用我的代码来处理你的数据。我提供了MNIST手写数字的样本。
请检查它!

谢谢你!

omrah

龟田,你好
我尝试在我的研究工作中使用你的代码,但我有错误!!
这是我的问题;
在从数据库中提取在线手写单词的特征后,我获得了由每个单词的真实数据组成的特征向量,但它们的大小是可变的。我还准备了表示每个单词标签的权益向量。
我可以使用你建议的DBN-DNN来做我的数据吗?
谢谢

乔威尔

Masayuki田中,谢谢!

小松田中

嗨,乔威尔,

您可以从我的网页下载作者的预印本:

http://www.ok.ctrl.titech.ac.jp/~mtanaka/publication2014.html

谢谢!

乔威尔

你好,田中正树,我在谷歌schoolar网站上找不到你的论文“受限玻尔兹曼机器的新推论,模式识别国际会议(ICPR2014),2014年8月。”你能把它发送到我的电子邮件吗。
另外,我想知道这个算法是否也适用于语音处理,比如语音特征提取或者音频分类。谢谢你!

小松田中

嗨Giacomo,

谢谢你的评论和bug报告!
你说得对。那是一只虫子。我已经修复了它并更新了代码。
请使用最新版本。

谢谢你!

Giacomo

龟田田中,嗨
首先感谢您的工作:)。我刚刚在代码中发现了一个bug。如果不正确,请让我知道(并忽略它)。

文件:trainDBN.m
行数:128129
opts的matlab结构有一个字段'object',里面的字母'o'没有大写。代码实际上检查'Object'(大写)是否是一个现有字段,如果为真,它将比较opts的内容。对象-不是大写的-。这总是导致默认值OBJECTSQUARE,即使你设置字段'object'等于'CrossEntropy'。

再次感谢你,
Giacomo

小松田中

嗨,首尔,

感谢您的评论。

我认为这取决于训练数据。

如果你发现任何与这个现象相关的观察,请告诉我。

谢谢,

首尔

我有个问题
成果管理制总是好的
有时这将不会得到反向传播的工作
为什么呢?


例如
rbm=历元:500反向传播=2000历元
节点结构[784 1568 1568 10]
iter: 1 -> traindata MSE = 0.8
ITER:2 - > MSE = 0.8



iter: 1000 -> MSE = 0.8

梁邹

小松田中

嗨,首尔,

这是一个很好的问题。
BBRBM基本上是在假设二进制输入的情况下开发的。但是,我们可以计算0到1之间的实值。这是我2014年ICPR论文的重点之一。如果您有兴趣,请查看以下文章:

田中正之,一种新的受限Boltzmann机器推理,国际模式识别会议(ICPR2014), 2014年8月。

谢谢。

首尔

为什么要让一个可见神经元也能识别0到1 BBRBM之间的真实值
做得好吗?

首尔

俊星

小松田中

你好安德烈折叠布,

说实话,我不知道你想要什么样的网络结构。但是,如果在创建DBN时设置[10,2],则表示10个节点输入,2个节点输出,没有隐藏节点。

谢谢。

小松田中

你好,阿里,

我已经运行了testDNN。但是,我无法重现你提到的错误。

谢谢。

小松田中

你好阿勒娜,

Readme.txt文件在mnist文件夹中。请检查它!

谢谢。

阿勒娜

你能给我发一份详细的说明文件吗?我无法下载自述文件。非常感谢!

安德烈·菲利佩

你好,

有一件事我不明白。假设我有一个输入=[兰德(100,2)*0.1+0.3;兰德(100,2)*0.1+0.6],输出=[零(100,1),一(100,1);一(100,1),零(100,1)];我想创建一个具有两层的DBM(依次为10和2个节点)。节点不应该等于[10 2]吗?目前,它在v2h处给出了一个内部矩阵误差。请帮忙

ari.

ari.

你好,
谢谢分享这段代码。我下载了最新版本,并尝试按照建议运行testDNN。我犯了以下错误:
???使用==> randperm错误
输入参数太多。

==> pretrainRBM在172处出错
p = randperm(dimV, DropOutNum);

88处==>pretrainDBN中的错误
dbn.rbm{i}=pretrainRBM(dbn.rbm{i},X,opts);

在21处==>testDNN中出错
dnn=预训练DBN(dnn,IN,opts);

谢谢,
ari.

hiba

你好,你能把这个项目的技术报告发给我吗?

庞玉腾

悉达多

所以当我在MATLAB中运行田中正树的代码时

我用实值输入样本和二进制隐藏单元训练RBM。

现在我想输入一个新的样本来知道分类。

我应该使用工具箱中的哪个文件中的代码
calRMSE是它

它给出的值也是小数

那么我怎么知道我的输入样本被分类到哪一类呢

示例代码

rbm=randRBM(3,3, 'GBRBM')

V = [0.5 -3 1; -0.5 2 0; -0.25 -0.44 1];

遏制疟疾行动= pretrainRBM, V)

现在,一旦我接受了培训,我应该使用
V2hall (rbm, [-0.5 -0.5])

在新的输入向量上

文科硕士

嗨,Tanaka,我使用这个工具箱来训练GBRBM,而在你的代码h2v。M,没有高斯分布:
n * n. (n.)W ', dnn.sig);
V=bsxfun(@plus,h,dnn.c);
我认为应该有一个高斯采样:normrnd(h+dnn.c,dnn.sig)

悉达多

嗨,我只有一个问题
我使用的是GBRBM类型的rbm。

所以我给它一个训练集,训练它,它得到一个rbm带有W b c sig

现在,当我给它一个新的输入时,输出应该是一个二进制向量,等于隐藏神经元的长度。因为它将分类哪个神经元更符合输入

那么,如何养活新的输入,是我的方法正确

感谢分享简单易用的软件包。
它工作得很好。
我有一个问题,除了设置opts.maxIter,我还没有找到停止训练的其他标准。如何决定何时停止训练?

对不起,我错了。它应该是nrbm-1

TabZim

非常感谢您通过这段注释良好的代码增强我们的理解。我有一个关于RBM(即pretrainRBM函数)中施加的稀疏性约束的问题。为了根据稀疏约束更新隐藏的偏移,为什么要将渐变乘以2。

dsW = dsW + SparseLambda * 2.0 * bsxfun(@times, (SparseQ-mH)', svdH)';

dsB=dsB+SparseLambda*2.0*(SparseQ mH)。*sdH;

这与Lee等人给出的任何更新方程都不匹配。你能详细说明一下吗?很多谢谢!

Sanjanaashree

您好先生,我在机器音译工作,因为我是DBN的新手,我想知道是否能够使用这个代码创建的矩阵使用一次热的数据表示。

小松田中

嗨,永和,

感谢您的评论。
线性映射只是一种选择。你不需要用这个。但是,训练需要初始参数。我认为线性映射是初始参数的候选之一。
如果你知道更好的初始参数设置,请告诉我。

谢谢。

勇何

你好,

你的代码对我很有帮助。

但是在理解代码的过程中,我想知道为什么要使用线性映射来计算TrainLabels和最后隐藏节点之间的权重?

使用线性映射有什么好处吗?

小松田中

嗨,阿德尔,

感谢您的评论和良好的评价!
但是,我的代码不包括稀疏RBM特性。

谢谢!

阿德尔

尊敬的教授:。

我使用了图书馆,它非常有用,很容易使用。但当我读报纸的时候

“Lee等人,视觉区域V2的稀疏深层信念网络模型,NIPS 2008。”

我发现它使用稀疏RBM。我想知道如何在我的应用程序中应用和使用稀疏RBM,如上述文章所述。

我很感激任何关于这方面的帮助或建议。

谢谢

小松田中

嗨,乌斯曼,

我认为你可以用高斯RBM代替伯努利RBM。

谢谢你!

ashkan abbasi

谢谢你的慷慨!

乌斯曼

嗨,小王,

您只需要运行output=v2h(bbdbn, testages)来获得输出标签。
将它们与“TestLabels”匹配以验证输出

乌斯曼

你好,
我正在使用这个工具箱,将语音识别功能作为输入/可见单元。然而,我的特征是消极和积极的,并且大于1,-1。你能帮我解决一下,我是否可以使用-ve值作为可见单位,或者我是否必须将特征规格化到o和1之间。此外,如何满足零均值和单位方差标准化,因为标准化使数据大于1,而标准化使其失去了零均值单位方差分布。

小王

我已经阅读了你的MNIST代码部分,有一些问题。你只是使用变形和可训练标签来训练DNN,但我没有看到使用测试来测试和计算与测试标签相比的误差?我不是很出名DNN,也许我错了…

元帅(新马)

这是一个很棒的工具箱。

但是你能上传一个类似教程的文件吗?

这将是对我们更有帮助。

非常感谢!!

小松田中

嗨Arjun,

谢谢你的错误报告!
我修复了这个bug并进行了更新。请使用DeepNeuralNetwork20131204.zip

谢谢你!

阿琼

在使用GBDBN时,trainDBN.m中的第205行似乎有一个bug。

学识渊博

它工作了!很棒的实现!

前夕

非常感谢雅之!!!!:-)

小松田中

嗨,西格德,

谢谢你的评论。我认为testDNN中的随机输入和输出产生了这样的训练结果。例如,如果您使用MNIST数据集进行培训,我相信您将得到一个合理的模型。

你可以从以下途径获取MNIST数据集:
http://yann.lecun.com/exdb/mnist/

谢谢!

西格德

你好,

感谢您提供代码。

在运行测试dnn时,经过训练的网络似乎并没有模拟数据。1) v2h(dnn,IN)产生输出层为(几乎)恒定的所有输入2)RMSE等于(有时大于!)数据的标准偏差。3)

…只是有点困惑到底发生了什么。。。

欢呼,
西格德

俺答

小松田中

嗨,伊芙,

非常感谢您的评论。那是臭虫。我已经修复了那个bug。
请使用DeepNeuralNetwork20131105

再次感谢你!

前夕

你好,

我尝试运行testDNN.m,但在v2h.m第39行中出现了一个错误,因为V和dnn.W的大小不匹配??这是一个新的错误吗?
谢谢

小松田中

冲,非常感谢!
我已经修好并更新了密码。

如果(Object=OBJECTSQUARE)?????
der=derSgm.*der;
结束

江华

好极了!

MATLAB版本兼容性
使用R2012a创建
与任何版本兼容
平台的兼容性
视窗 马科斯 Linux

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始打猎吧!