1

我在 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 并不了解,所以请多多包涵。完整代码请参考此链接

4

1 回答 1

2

简而言之,与任何算法一样,您的复杂性会随着输入数字的增加而增加。将问题划分为更小的子问题并随后将它们组合起来可能会更快(称为分治算法)。

现在,对于这些类型的机器学习算法,还需要对特征进行抽象。您既不想一次输入每个像素(只有局部信息),也不想用单个数字/符号表示整个图像(只有全局信息)。许多方法将这些类型的数据组合成分层表示(主要称为深度学习)。

如果将这两个概念结合在一起,应该清楚(呃)处理小图像块首先会为您提供大量的局部信息,然后您可以将其结合起来以在稍后阶段推断出全局信息。所以“因为它更容易”并不是它背后的全部理由。它还使一切表现更好/更准确。

我希望这可以回答您的问题而不会太含糊(彻底的答案会变得太长)。有关 RBM 的更详细介绍,请参阅本页的第 7 章

于 2015-01-24T14:45:29.387 回答