我来了这个关于 RBM 的 pyLearn2(机器学习库)示例的文档。有人可以告诉我为什么它更容易吗?
# First we want to pull out small patches of the images, since it's easier
# to train an RBM on these
pipeline.items.append(
preprocessing.ExtractPatches(patch_shape=(8, 8), num_patches=150000)
)
对于它的价值,我对RBM并不了解,所以请耐心等待。有关完整代码,请参阅此链接
简而言之,与任何算法一样,您的复杂性随着输入数字的增加而增加。将问题划分为更小的子问题,然后将它们组合起来可能会更快(称为分而治之算法)。
现在,有了这些类型的机器学习算法,对特征的抽象有了额外的需求。您既不想一次输入每个像素(只有局部信息),也不想用单个数字/符号表示整个图像(只有全局信息)。许多方法将这些类型的数据组合成分层表示(通常称为深度学习)。
如果你把这两个概念放在一起,应该很清楚(呃)首先处理小图像补丁会给你更多的本地信息,然后你可以将这些信息结合起来,在以后的阶段推断成全局信息。因此,"因为它更容易"并不是其背后的全部原因。它还使一切表现更好/更准确。
我希望这回答了你的问题,不要太模糊(一个彻底的答案会变得太长)。有关成果管理制的更详细介绍,请查看本页的第7章