文件交换

图像缩略图

深层神经网络

版本1.19(4.57 MB)由 田中正之
它提供深度信念网络(dbn)的深度学习工具。
4.8
92年评级

86下载

更新2016年8月5日

查看版本历史记录

查看许可证

编者按:受欢迎的文件2018

运行testDNN来尝试!
每个函数都包含描述。请检查它!
它提供了堆叠限制玻尔兹曼机器(RBM)的深度信念网络(DBN)的深度学习工具。它包括伯努利-伯努利RBM、高斯-伯努利RBM、用于无监督预训练的对比发散学习、稀疏约束、用于有监督训练的反投影和退出技术。
MNIST数据集的示例代码包含在MNIST文件夹中。请参阅mnist文件夹中的readme.txt。
Hinton等人,《通过防止特征检测器的共同自适应来改进神经网络》,2012年。
李等人,视觉区域V2的稀疏深度置信网络模型,NIPS 2008。
http://read.pudn.com/downloads103/sourcecode/math/421402/drtoolbox/techniques/train_rbm.m__.htm
修改了辍学的实现。
为神经网络训练增加了交叉熵目标函数的特征。
它包括以下论文的实现。如果你使用这个工具箱,请引用以下论文:
田中正树和大谷正树,受限玻尔兹曼机器的新推论,国际模式识别会议(ICPR2014),2014年8月。
相关的SlideShare和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

ra Adnan

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

张忠木

widi aribowo

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

Nghia

拉普迈万

linwl6666

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

安全蜡

大家好,我需要为预先训练过的AlexNet和deep learning toolbox安装神经网络工具箱,但我遇到了一个问题“社区编写的附加组件暂时不可用”。请帮助我如何安装它,谢谢!

田中正之

嗨,SUNNY NEGI,
我不确定它是否有效。但是,当然,你可以试试。

阳光内基酒店

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

塞尔吉奥·科尔特斯

阿里·萨米尔

亲爱的田中正之爵士:
我想用你们的鳕鱼做降维。如果可能的话,请帮助我

当做

儿子阮

塔拉克·本克朱赫

哈丽莎梅达

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

索引超过了矩阵维度。

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

pretrainDBN中的错误(第25行)
dbn。遏制{我}= pretrainRBM (dbn。遏制{},X,选择);

mainm中的错误(第85行)
dnnm=预训练DBN(dnn,IN,opts)

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

周丽英

法扎德·马吉迪

法扎德·马吉迪

西山沙玛酒店

齐赵

亲爱的Masayuki,

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

吴敏敏

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

蒋怡欢

使用“testDNN”运行脚本时出错。
错误消息:
调用“h2v”期间未分配输出参数“out1”(可能还有其他参数)

预训练RBM中的错误(第195行)
Vis1 = h2v(rbm, bhid0);计算可见节点百分比

pretrainDBN中的错误(第88行)
dbn。遏制{我}= pretrainRBM (dbn。遏制{},X,选择);

testDNN中的错误(第21行)
dnn = pretrainDBN(dnn, IN, opts);

发生了什么事?

银行萨利赫

谢谢教授,应用程序是获取潜在特征用于分类器,请建议,

田中正之

嗨,萨利赫银行,

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

谢谢

银行萨利赫

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

yogapriya年代

你好,教授,
谢谢你的代码。我用你的代码进行语音识别。我的数据库包含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=预训练dbn(dbn,输入数据);
dbn=SetLinearMapping(dbn、inputdata、outputdata);
dbn=trainDBN(dbn,输入数据,输出数据);

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

费尔南多·佩迪戈

MrYJ

李明明

哈利乔

嗨,Masayuki,我已经下载了这些文件,其中包含Zip文件和工具箱中的代码。
我如何使用你在matlab2017中给我们的工具箱?我试过粘贴在一个文件夹,但它不工作。

王燕

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

王燕

非常感谢!

田中正之

嗨,王燕,

我认为数据的标准化非常重要。
可以使用大值规范化数据。

谢谢

王燕

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

田中正之

嗨,王燕,

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

谢谢

王燕

你好
为什么迭代结果保持不变?
的问候!

Payal帕特尔

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

Payal帕特尔

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

谭晓峰

很好!

阿卜杜萨兰国萨拉马

大家好,我想把三列普通数据分为两到三类。此数据由三列和2000行组成,表示计算机网络流量。我已经做了模糊这一点,但想用深入学习。我试过这些工具包,但不适合我。需要帮忙吗?使用深度学习神经网络可以将计算机网络数据分为两类吗?我应该使用什么工具包?
顺致敬意,

田中正之

我的工具箱不包括transposedConv2dLayer。
谢谢

软件

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

阿明

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

阿明

你好
感谢您的代码和支持。万博1manbetx
如何根据rmse值计算精度?
当做
阿明

谢谢你!
我想知道什么应该是我的培训和测试数据为我的数据文件。
你拿的是一些随机数

阿卜杜勒加利酒店

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

埃斯迈尔普尔酒店

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

阿卜杜勒加利酒店

嗨,有人能帮忙吗。在训练和测试模型之后,我无法绘制混淆矩阵,因为我从测试中得到的输出是复杂值。我不知道该怎么办?请帮忙?我们如何评估模型以发现分类的准确性。

赛义德·福坎·卡德里

你好,田中正树

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

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

选择。马克斯Iter = 500;
opts.BatchSize=50;
opts.Verbose=true;
选择步进比=0.1;
选择。对象=“CrossEntropy”;

选择层=nrbm-1;
bbdbn=pretrainDBN(bbdbn,数据集,opts);
bbdbn=SetLinearMapping(bbdbn、数据集、标签);

选择层=0;
bbdbn = trainDBN(bbdbn, dataset, labels, opts);

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

下面的错误,我发现了

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

v2h中的错误(第43行)
H=乙状结肠(bsxfun(@plus,V*dnn.W,dnn.b));

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

pretrainDBN中的错误(第88行)
dbn。遏制{我}= pretrainRBM (dbn。遏制{},X,选择);

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

请帮忙。谢谢

赛弗丁·穆罕默德

阿卜杜勒加利酒店

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

贾纳丹

见鬼去吧!

我如何安装MatConvnet库执行语义分段与cnn。非常感谢你的帮助。

?萧和Kok回族

田中正之

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

谢谢

布伦特F

这是建立在神经网络工具箱上的吗?或者是为了补充它?还是更换它?

田中正之

你好阿卜杜阿齐兹,
我想你可以从“大厅”得到任何隐藏层的输出。

谢谢

亲爱的Masayuki,

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

再次感谢。

你的事迹Sree B.R

请澄清setlinearmapping的使用。它是如何改善学习过程的?也给我一些万博1manbetx参考。

田中正之

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

谢谢

BenL

嗨,有可能实现这个时间序列模型构建吗?

你的事迹Sree B.R

嗨,龟田!你能在这里分享你实现的GBDBN和setlinearmapping的参考论文吗?

王红梅

王红梅

很好!

蒲公英

damien HATON-PIETRIN

苗苗

moahaimen塔利班成员

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

moahaimen塔利班成员

如何将我的图像功能插入此文件

自建桥

moahaimen塔利班成员

嗨Masayuki
我需要使用dnn来识别亚述文字,这样行吗

moahaimen塔利班成员

嗨Masayuki

库马尔

你好先生,
我能用给定的代码做语音信号吗
我已经试过了,但是我不能理解其中的rbm.w,b,c系数。你能告诉我如何利用它们吗。

张的粉丝

恩图塔吉恩

为什么我不能测试MNIST数据?

这是输出

>>测试者

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

预训练RBM中的错误(第195行)
Vis1 = h2v(rbm, bhid0);计算可见节点百分比

pretrainDBN中的错误(第88行)
dbn。遏制{我}= pretrainRBM (dbn。遏制{},X,选择);

列车列表中的错误(第49行)
bbdbn = pretrainDBN(bbdbn, TrainImages, opts);

testMNIST中的错误

理查德·帕默

谢谢

玛丽

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

马兹汗

嗨,谁能帮我这个代码,我如何在Simulink中使用它作为模型。万博1manbetx

丹尼尔Bandala

你好,田中正之,让我祝贺你这个神奇的工具箱,你让它很容易理解,非常感谢让它开放。
我正在检查代码,因为在尝试复制MNIST示例时,有些东西不起作用,并且发现了与Giacomo在2014年9月10日报告的相同的错误,在trainMNIST.m文件的第46行中opts.object no大写,在trainDBM.m文件的第128和129行中检查opts.object是否存在,这让我想知道,也许你上传了一个旧版本的代码,无论如何,请让我知道,如果我错了。。。作为说明,我下载了名为DeepNeuralNetwork20160805.zip的.zip文件

的问候。

丹尼尔

鲁兹贝·达沃迪

感谢您的代码,我相信您的代码只适用于分类问题,我已尝试使其适用于回归问题。但事实并非如此。让我知道它是否可以通过一些修改用于回归任务?

嗨Masayuki

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

谢谢

恩佐·奥斯坦托

嗨,龟田,

我对整个神经网络和matlab都是新手。

我想知道它是可能使用一个正常的神经网络(不是DBN)辍学的数字数据集(不是一个图像)。

我已经下载了zip文件。我可以看到有一些MNIST数据集的例子。当我想用我自己的数据来改变它的时候,我就会感到困惑,它不能工作。

非常感谢。

恩佐·奥斯坦托

死亡法师

马丁·贝克尔

嗨,龟田,

我想知道:你是怎么设置的
+选择。麦克斯特
+选择批大小
+选择步进比
+,可能还有其他
对于pretrainDBN和trainDBN,您运行ICPR2014论文的MNIST实验?

在这两种情况下,它们是不同的还是相同的。。。这里,只有选项。层是否已替换?

有关设置的一些详细信息将非常有用。我们考虑重新使用这一代码的数据可视化任务。

谢谢
马丁

田中正之

嗨,查克斯,

你可以试试!

谢谢

查克斯

亲爱的先生:,
请让我知道这个工具箱是否可以用于回归。
我的笔记本电脑有AMD驱动。
还请确认是否可以在不使用GPU的机器上使用小型数据集。

问候,

佩德罗潘托内

这可以用于并行集群吗?像帕弗?是否尝试使其群集就绪?

千惠湾

佩德罗潘托内

佩德罗潘托内

Mac R2016a:

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

预训练RBM中的错误(第195行)
Vis1 = h2v(rbm, bhid0);计算可见节点百分比

pretrainDBN中的错误(第88行)
dbn。遏制{我}= pretrainRBM (dbn。遏制{},X,选择);

testDNN中的错误(第21行)
dnn = pretrainDBN(dnn, IN, opts);

田中正之

希布鲁诺·布伦坦,

您可以使用连续数据。

谢谢

布鲁诺·布伦坦

你好
我想知道有关输入数据的信息。
是否可以使用连续数据或仅二进制数据作为输入?

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

润宁路

拉兹洛

嗨,龟田,

好吧,所有的指南都没有说明:)。但是,如果有“足够”的单位超过其添加的激活(即:开启的概率)平均值,接近二进制激活的平均值(单位数越大,平均值越“稳定”/“精确”,这意味着你犯的错误越小。如果我没看错的话。
谢谢

布拉德

田中正之

嗨,拉齐奥,

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

谢谢

拉兹洛

嗨,龟田,

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

贝纳姆·卡泽米瓦什

嗨Masayuki

感谢您分享您的工作,
我将很高兴,如果你可以指导我如何提取数据集图像的特征(如flickr8k,…)通过DBN工具箱。

谢谢

朱宇

田中正之

嗨,阿拉,

谢谢你的评论。
使用单层DBN怎么样?我认为单层DBN相当于RBM。

谢谢

阿拉

嗨Masayuki

谢谢你的工作,
事实上,我正在开发一个人脸识别系统,我已经有了自己的特征向量。所以,我想把RBM作为一个区分模型,你们的工具箱是否提供了这种能力?。我仔细阅读了您的代码,发现理解和训练DBN很容易,但是我怎么能只训练RBM作为分类器呢?

我期待尽快收到你的来信。先谢谢你。

田中正之

嗨QINGJU刘,

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

谢谢

刘庆菊

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

For 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');
终止

田中正之

你好,弗里曼,

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

谢谢

弗里曼

你好
在示例代码中,选择。层使用,但没有解释。你能解释一下这个参数吗?谢谢

田中正之

嗨,光毅,

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

谢谢

广益

我想用真实的图像来描述你的深度神经网络。你的代码是否可以处理真实值,而不是像在MNIST中那样处理二进制值?谢谢

穆鲁盖桑·桑加维尔

我希望实现音频文件,如wav或mp3。RBM如何接受输入?哪些功能?

PLP或MFCC

佩德罗·阿吉亚

tajul miftahushudur

田中正之

你好,贝莱特·博鲁,

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

谢谢

贝莱特·博鲁

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

田中正之

嗨,马克斯,

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

谢谢

马克斯

你好,Masayuki,

首先,感谢您的工作!

关于成果管理制的实施,我有几个问题。在“pretrainRBM.m”文件中的示例中:

%的例子:
%datanum=1024;
%outputnum=16;
%inputnum=4;
%
% inputdata = rand(datanum, inputnum);
%outputdata=rand(datanum,outputnum);
%
%rbm=randRBM(inputnum,outputnum);
%rbm=预训练rbm(rbm,输入数据);

成果管理制的最终产出是:

成果管理制=

类型:“BBRBM”
W:[4x16双精度]
b:[1x16双精度]
c:[-0.0552-0.0073-0.0329 0.0276]

但是,rbm对象中没有输出数据矩阵。这是否意味着1)我必须将权重矩阵乘以输入数据,才能得到隐藏单位的输出。2)我是否仍然需要通过激活功能输出?

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

多萝西

你好,Masayuki,
非常感谢这项工作!
是否可以在喷漆箱中使用图像代码?
顺致敬意,
坎德

多萝西

田中正之

嗨Sohanjyoti Mohanty,

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

谢谢

苏汉约蒂·莫汉蒂

对于此代码,我可以使用其他图像数据集(如MNIST)吗?

田中正之

嗨Masashi金子,

请用谷歌搜索你的操作系统和文件扩展名。

谢谢

金谷正树

嗨,我知道这是非常基本的,但我不能正确解压mnist文件。请告诉我你是怎么做的。谢谢。

田中正之

嗨Shivani Ghatge,

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

谢谢

希瓦尼·加特格

你好,我是DNN的新员工,正在做一个项目。这个工具箱有一些文档吗?有什么能指导我怎么用的吗?

卡拉

齐德

我是一名学生,我的工作是“用于人脸识别的卷积深度网络”,我想知道是否有人可以帮助我获得一些代码或任何其他类似的主题,使我更容易,或帮助我在工作中取得进展

罗曼杰科汀

陈若泽

您好,您能为非常稀疏的输入(包括图层)建议一组合理的参数值吗?

李同文

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

塔里克巴达尔酒店

嗨,Masayuiki,

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

宋元勇

非常好的演讲材料。非常感谢。

拉洛瓦尼·布查库尔

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

杰芬

嗨Masayuiki

谢谢你的代码。如果我需要使用此代码来训练颜色数据集,如何继续使用此代码。请推荐我。如何修改代码?

瓦莱里奥·朱夫里达

嗨,Masayuiki,
我正在深入研究您的代码,并试图将理论与实现联系起来。在Hinton(2010)的《训练受限Boltzmann机器实用指南》中,他说,为了避免根据批量大小改变学习率参数,将学习率除以批量大小的数量。

在pretrainRBM文件中,我读到您将StepRatio除以num,这是样本总数。这是一个错误,还是我对辛顿的理解有误?

谢谢

张贤贤

嗨,Masayuki,

感谢代码。我尝试使用它进行音频分类。我使用MFCC功能作为输入(21700 x 13),并选择“GBDBN”。预培训的RMSE非常小,但培训的RMSE非常高,并且在iter=8后不再发生变化。您能建议可能出现的问题吗?我应该如何修改数据或matlab代码?

谢谢,
xianxian

张贤贤

嗨,Masayuki,

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

谢谢,
xianxian

罗一诚

嗨,Masayuki
谢谢你的代码。

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

输入他们自己的数据错误:

使用double时出错
不能从struct转换为double。

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

穆斯林尤塞菲

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

Lachie沃格特

嗨,山姆,

可能是因为您在学习过程中过度拟合,尝试减少层数并设置较小的最大迭代次数。如果可能,还包括更多培训案例。您还可以将辍学率从0.5提高到0.5

田中正之

嗨Mridusmita Sharma,

输出数据表单取决于您的应用程序。

谢谢

田中正之

嗨,山姆,

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

谢谢

Mridusmita沙玛

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

山姆

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

田中正之

嗨,拉奇·沃格特,

请使用v2h进行类似的推理

out=v2h(dbn,IN);

谢谢

Lachie沃格特

嗨,龟田,

很抱歉再次回到你身边。
我已经添加了初始化trainDBN.m的代码,它返回相同的错误消息。
然而,我能够在testDNN上使用我的数据,因此有了经过训练的算法。如果它是由已知的输入和输出训练的,我如何要求它估计给定新输入的输出?是v2h,v2hall还是别的什么?

田中正之

马良你好,,

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

谢谢

梁马

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

田中正之

嗨,拉奇·沃格特,

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

请检查testDNN.m

谢谢

Lachie沃格特

谢谢你的代码和你的时间田中真幸。您知道如何初始化dbn吗?我已经翻阅了matlab教科书,并尝试用谷歌搜索,但没有成功。我对机器学习有很好的理解,但对编码的理解要少得多。

田中正之

嗨,拉奇·沃格特,

初始化dbn了吗?
请检查一下。

谢谢

Lachie沃格特

你好

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

然后显示错误消息“未定义的函数或变量'dbn'。”。我已经安装了工具箱你知道这个命令出了什么问题吗?

赵怡君

顺便说一句,我正在使用GBDBN。。。。

赵怡君

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

田中正之

嗨,赵怡君,

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

非常感谢。

赵怡君

只想确认给定一个输入数据集,我们需要围绕代码编写验证和测试包装,即代码不提供培训和测试拆分。对吗?

拉姆亚

现在,当我使用压缩文件时,它似乎可以工作了!我想当我使用工具箱时,它可能使用了不同的h2v文件?

拉姆亚

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

h2v中的错误(第9行)
如果为空(av)%h2v([],主数字,变量名)

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

预训练RBM中的错误(第195行)
Vis1 = h2v(rbm, bhid0);计算可见节点百分比

田中正之

嗨,赵怡君,

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

非常感谢。

赵怡君

嗨,龟田,

你能澄清一下这个代码是否可以同时进行分类和回归吗?

谢谢

穆斯林尤塞菲

谢谢你的文件。伟大的帮助。

田中正之

朱乐琪你好,,

这个工具箱是监督培训。无监督训练用于训练前。

谢谢

田中正之

嗨,山姆,

我认为有几种方法可以应用时间序列数据。但是,这在很大程度上取决于应用程序。

谢谢

田中正之

嗨,光亨正,

此工具箱用于监督培训。
谢谢

朱乐琪

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

朱乐琪

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

山姆

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

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

你能帮我做这件事吗

阿米拉bouallegue

谢谢你的代码

光亨正

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

光亨正

谢谢你的代码

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

bbdbn是经过培训的模型吗??
然后我想知道测试是怎么可能的

我怎么知道测试结果?
即测试输入数据的分类是什么?

光亨正

我给田中真幸发了条短信
普拉斯,检查消息

田中正之

嗨,比尔,

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

谢谢

比尔盖茨

嗨,Masayuki,

谢谢分享你的代码。

RBM.sig已经被设置为一个,从来没有得到更新的任何地方。因此,在您的实现中,GBRBM和BBRBM实际上是相同的。你能证明这一点吗?谢谢

克芬格

麻风豆

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

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

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

提前谢谢!

田中正之

嗨,新闻,

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

谢谢

田中正之

嗨,Bipul Das,

我无法理解64x4大小的含义,其中64表示观察次数,4表示特征。

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

谢谢

阿尔西

龟田田中,你好
谢谢你的档案。我使用GBRBM测试了我自己的数据(非图像数据)。

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

杨家驹

多亏了Morten Kolbæk,现在我可以运行testDNN,但是结果rmse是0.28,这真的太高了。
另外,在pretrainRBM中,我找不到sigma的更新,它一直保持在1。这让我很困惑,因为在其他一些代码中,它随iters而变化。
有人能帮我吗?
谢谢。

伊兹阿卜杜勒

请问有人帮我添加工具吗?

莫滕·科尔布克

我和杨家驹一样,在20131024修订版的trainDBN第281行遇到了一个错误。
但是,我发现该错误在修订版20131204中不存在。我已经通过使用rev的行“修复”了这个问题。20131204修订版。20131024这似乎有效。电话是
“deltaW=bsxfun(@rdivide,deltaW,trainDBN.rbm{n}.sig')

杨家驹

你好,Masayuki,
谢谢你的工具箱。
但是,当我运行testDNN时,它显示“
trainDBN中的错误(第281行)
deltaW=bsxfun(@rdivide,detaW,rbm{h}.sig');"
我该怎么解决呢?

双联Das

你好,Masayuki,

首先,感谢您提供有关DNN的工具箱。它似乎很有用。但在实现代码时,我面临一个问题。

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

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

那么你能帮我理解我在哪里犯错吗

马可

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

首先:如果我运行testDNN,我得到:
??? 使用==>randperm时出错
输入参数太多。

172处==>pretrainRBM中的错误
p=randperm(dimV,辍学人数);

88处==>pretrainDBN中的错误
dbn。遏制{我}= pretrainRBM (dbn。遏制{},X,选择);

在21处==>testDNN中出错
dnn = pretrainDBN(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_u时。

你能帮我做这个吗?

附注:这里是除了数据加载部分之外的脚本

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

opts.Verbose=true;
opts.MaxIter=10;

dbn=randDBN([192-11],类型);
dbn2=预训练dbn(dbn,训练数据,opts);
dbn3=SetLinearMapping(dbn2,列车数据,列车目标);
dbn4=列车DBN(dbn3,列车数据,列车目标);

Train_estimate = v2h(dbn4, train_data);
[~,CM,~,~] =混乱(train_target', train_estimate')
测试估计=v2h(dbn4,测试数据);
[~,CM,~,~]=混淆(测试目标,测试估计)

塞勒姆

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

田中正之

嗨,塞勒姆,

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

谢谢

塞勒姆

塞勒姆

嗨,龟田,
感谢分享。
是否可以将此代码用于目标检测?
问候,

奈姆伊斯兰

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

田中正之

嗨,尼马尔,

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

非常感谢。

尼马尔

感谢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

出去=

0 1.0000 0 0 1.0000 1.0000 1.0000 1.0000 1.0000 0.9968
0 1.0000 0 0 1.0000 1.0000 1.0000 1.0000 1.0000 0.9968
0 1.0000 0 0 1.0000 1.0000 1.0000 1.0000 1.0000 0.9968
0 1.0000 0 0 1.0000 1.0000 1.0000 1.0000 1.0000 0.9968
0 1.0000 0 0 1.0000 1.0000 1.0000 1.0000 1.0000 0.9968
0 1.0000 0 0 1.0000 1.0000 1.0000 1.0000 1.0000 0.9968
0 1.0000 0 0 1.0000 1.0000 1.0000 1.0000 1.0000 0.9968
0 1.0000 0 0 1.0000 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,

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

非常感谢。

乌姆拉

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

田中正之

嗨Omrah,

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

非常感谢。

乌姆拉

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

乔威尔

田中正之,谢谢你!

田中正之

嗨,乔威尔,

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

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

谢谢

乔威尔

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

田中正之

嗨,贾科莫,

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

非常感谢。

贾科莫

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

文件:trainDBN.m
行数:128129
描述:opts matlab结构的字段“object”中字母“o”未大写。代码实际上检查“Object”-大写-是否是现有字段,如果为true,则比较opts.Object-not capitalized-的内容。即使您将字段“object”设置为“CrossEntropy”,这始终会导致默认值OBJECTSQUARE。

再次感谢大家,,
贾科莫

田中正之

嗨,首尔,

谢谢你的评论。

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

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

谢谢

首尔

我有个问题
RBM总是好的
有时这不会得到反向传播的工作
这是为什么呢?


例如
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论文的重点之一。如果您有兴趣,请查看以下文件:

田中正树和大谷正树,受限玻尔兹曼机器的新推论,国际模式识别会议(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处给出了一个内部矩阵误差。请帮忙

阿里

阿里

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

172处==>pretrainRBM中的错误
p=randperm(dimV,辍学人数);

88处==>pretrainDBN中的错误
dbn。遏制{我}= pretrainRBM (dbn。遏制{},X,选择);

在21处==>testDNN中出错
dnn = pretrainDBN(dnn, IN, opts);

谢谢
阿里

希巴

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

pangyuteng

悉达多

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

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

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

我应该使用工具箱中的哪个文件
是什么

它给出的值也是小数

那么,我如何知道我的输入样本被分类到了哪个类呢

示例代码

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

V=[0.5-31;-0.52;-0.25-0.44];

rbm=训练前rbm(rbm,V)

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

关于新的输入向量

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

悉达多

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

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

现在,当我给它一个新的输入,输出应该是一个二进制向量,等于隐藏神经元的长度。因为它会对与输入相对应的神经元进行分类

那么,我如何提供新的输入,我的方法是否正确

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

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

塔布齐姆

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

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

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

这与Lee等人给出的任何更新公式都不匹配。您能详细说明一下吗?非常感谢!

桑贾纳什雷

您好,先生,我从事机器音译,因为我是DBN的新手,我想知道是否能够将此代码用于使用热数据表示创建的矩阵。

田中正之

嗨勇,

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

谢谢

永和

你好

你的代码对我很有帮助。

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

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

田中正之

嗨,阿德尔,

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

谢谢

阿德尔

亲爱的教授。

我使用了这个图书馆,它非常有用,也很容易使用。但当我读到报纸时:

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

我发现它使用稀疏RBM。我想知道我如何应用和使用稀疏RBM在我的应用,如在提到的论文。

我非常感谢您对我的帮助和建议。

谢谢

田中正之

嗨,乌斯曼,

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

非常感谢。

阿什坎·阿巴斯

谢谢你的慷慨!

乌斯曼

嗨,小王,

您只需运行output=v2h(bbdbn,TestImages)即可获得输出标签。
将这些与“TestLabels”匹配以验证输出

乌斯曼

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

小王

我已经阅读了您的MNIST代码部分,有一些问题。您只是使用tranimages和trainlabels来训练DNN,但我没有看到testimages被用于测试和计算与testlabels一致的错误率?我不太清楚,也许我错了。。。

元帅(新马)

这是一个很棒的工具箱。

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

那将对我们更有帮助。

非常感谢!!

田中正之

嗨,阿琼,

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

非常感谢。

阿琼

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

明菊

它工作了!很棒的实现!

前夕

非常感谢Masayuki!!!!:-)

田中正之

嗨,西格德,

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

您可以从以下位置获取MNIST数据集:
http://yann.lecun.com/exdb/mnist/

谢谢

西格德

你好

感谢您提供代码。

运行testDNN时,经过训练的网络实际上似乎并没有对数据进行建模。1) v2h(dnn,IN)将输出层作为(几乎)常数,用于所有输入2)RMSE等于(有时甚至大于!)数据的标准偏差。3)

...只是对发生了什么有点困惑……

干杯
西格德

阿尔坦

田中正之

嗨前夕,

非常感谢您的评论。这是错误。我已经修复了这个bug。
请使用DeepNeuralNetwork20131105

再一次感谢您!

前夕

你好

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

田中正之

庄,谢谢你!
我已经修复并更新了代码。

if(Object = OBJECTSQUARE)????? . if(Object = OBJECTSQUARE
der = derSgm .* der;
终止

Hwa-Chiang

不错,不错!

MATLAB版本兼容性
创建R2012a
与任何版本兼容
平台兼容性
窗户 macOS Linux
致谢

受到启发的:图像的小波变换,深度学习工具

社区寻宝

在MATLAB Central中查找宝藏,了解社区如何帮助您!

开始打猎吧!