0

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

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

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

//X_train,Y_train 具有 25000 行和 50000 列的大 ndarray,不一定是稀疏的:它们还没有加载。一次只能访问一个小批量(我的定义中的小批量是一个 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

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

4

1 回答 1

1

该课程还没有用于增量学习的公共 API BernoulliRBM。这里有一个未解决的问题

于 2013-10-30T08:51:13.813 回答