您的位置:首页 > 其它

关于RBM的一点笔记

2017-03-19 10:11 253 查看
来自贴吧click4i:

你有些20维的数据想用五个维度来表示,这就是降维。这五个维度可能跟原来的20个维度完全不一样,而是用另一种类型的坐标系统。不同的算法(如PCA, RBM,等)等于是给你不同的途径去找新的理想坐标系统。这些新的坐标系统也就是所谓的“特征"。

这样去看的话,隐藏层有五个神经元就代表你新坐标系统的五个维度。所以只要你的隐藏层的神经元数目比可见层少的话原则上就是降维。如何透过学习资料找到最优坐标系统则是另外一回子事。

DL的逐层预训练效果很好因而突破了以前的困境,可是却没人能清楚的解释为什么效果会这么好。即使是大佬们也只能模模糊糊的用些抽象语言去解释。无法导数学公式来证明这些效应想必对大佬们是很痛苦的事。

RBM autoencoder 如果不用激活函数(或是线性激活函数)的话原则上和PCA等价,不过得到的结果不一定一样。Autoencoder 如果用上非线性激活函数的话则能够解决非线性的问题,这不是标准PCA可以办得到的。也有人把autoencoder称为非线性PCA。



图片来自于:http://deeplearning.net/tutorial/rbm.html

我的理解是,比如1应该可以还原成1,2可以还原成2,……,9可以还原成9,0可以还原成0。但是真正运行的时候,发现最终的结果(上图),基本很多还原得到的结果都是错的。比如1成了6,7成了9,0成了8,3成了8之类的。所以让我有点质疑,RBM的实用性究竟如何?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: