首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >高斯-伯努利RBM高重建误差

高斯-伯努利RBM高重建误差
EN

Stack Overflow用户
提问于 2014-07-10 15:03:46
回答 1查看 1.8K关注 0票数 1

我按照大多数文献中的建议,将我的数据归一化为零均值和单位方差,以预训练GB-RBM。但无论我选择什么样的学习率,不管是多少次,我的平均重建误差都不会低于0.6左右。层叠BB-RBMs的重建误差很容易在几个时期内下降到0.01。我使用了几个工具包,它们实现了http://www.cs.toronto.edu/~hinton/absps/guideTR.pdf中提到的GBRBM,但都有相同的问题。我是不是遗漏了什么,或者重建误差应该保持在50%以上?

我通过减去平均值并除以输入向量每个维度上的标准差来归一化我的数据:

大小(Mfcc) --> mlength行数x 39个字节

代码语言:javascript
复制
mmean=mean(mfcc);
mstd=std(mfcc);
mfcc=mfcc-ones(mlength,1)*mmean;
mfcc=mfcc./(ones(mlength,1)*mstd);

这确实在每个维度上给出了零均值和单位变量。我尝试过不同的数据集、不同的功能和不同的工具包,但对于GBRBM,我的重构误差从未低于0.6。谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-08-18 04:46:46

我猜您使用exp()作为sigmoid,然后使用第三方库来执行矩阵函数?

如果上述情况属实,我会猜测第三方库正在接受exp()溢出错误,但仍然停止计算,因此隐藏/重新创建的向量是无效的。

根据下面的评论进行编辑:

theano.tensor.nnet.sigmoid()使用的是exp(),所以我首先尝试切换到hard_sigmoid()。它不会是一条很好的曲线,但它不会溢出/下溢,所以你可以看到这是否是错误的来源。

我假设你尝试过其他数据预处理,但仍然有很高的重建误差?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24670374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档