使用 sklearn.neural_network.BernoulliRBM 进行在线培训?

Posted

技术标签:

【中文标题】使用 sklearn.neural_network.BernoulliRBM 进行在线培训?【英文标题】:online training with sklearn.neural_network.BernoulliRBM? 【发布时间】:2013-10-29 17:48:23 【问题描述】:

我想知道我们是否可以使用 fit() 方法 sklearn.neural_network.BernoulliRBM 来进行在线培训。

我知道 RBM 将小批量作为输入,但是我没有加载所有训练数据:

我想知道是否可以这样做:

//X_train,Y_train 具有 25000 行和 50000 列的大 ndarray,不一定是稀疏的:它们还没有加载。一次只能访问一个 minibatch(我定义的 minibatch 是一个 100 行 50000 列的矩阵))

batchSize=100
nIterations=25000/100
idx1=0
idx2=batchSize
for i in range(nIterations):

    rbm = BernoulliRBM(batch_size=100,random_state=0, verbose=True)
    rbm.fit(X_train[idx1:idx2], learning_rate=0.1, n_components=2, n_iter=10,
    random_state=None, verbose=False)
    idx1=idx1+batchSize
    idx2=idx2+batchSize

//所有训练完成后:

idx1=0
idx2=batchSize
for i in range(nIterations):

rbm.transform(X_train[idx1:idx2])
idx1=idx1+batchSize
idx2=idx2+batchSize

我对数据科学和编程的一般知识并不是很好。我已经坚持了几个星期,想知道我是否可以解决它。

【问题讨论】:

【参考方案1】:

BernoulliRBM 类还没有用于增量学习的公共 API。有一个开放的issue here。

【讨论】:

以上是关于使用 sklearn.neural_network.BernoulliRBM 进行在线培训?的主要内容,如果未能解决你的问题,请参考以下文章

将 sklearn.neural_network.MLPClassifier 与 ndarray 的 csr_matrices 一起使用

如何在 MLPClassifier 中设置初始权重?

测试使用

第一篇 用于测试使用

在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?

今目标使用教程 今目标任务使用篇