machine-learning - 受限玻尔兹曼机中 "extracting 8x8 patches"背后的原因是什么?

标签 machine-learning rbm pylearn

我阅读了有关 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 不太了解,所以请耐心等待。完整代码请引用this link

最佳答案

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

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

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

我希望这能回答您的问题,但不要太含糊(彻底的答案会变得太长)。有关 RBM 的更详细介绍,请参阅例如第 7 章对此 page

关于machine-learning - 受限玻尔兹曼机中 "extracting 8x8 patches"背后的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28115561/

相关文章:

machine-learning - 迭代应用 keras 模型 fit() 时的学习率状态如何?

python - 在 pylearn2 中使用 RBM 预训练 ANN

python - pylearn2 CSV数据集类型错误

python - 如何在多个目标变量上训练我的 pylearn2 神经网络?

matlab - HMAX模型中C2层之后使用osusvm进行人脸识别

machine-learning - 深度置信网络与卷积神经网络在非图像分类任务上的性能比较

algorithm - 非技术的Adaboost算法演练

matlab - Gaussian-RBM 在一个简单的例子上失败

python - 使用 sklearn 包的吉布斯采样