我想知道我们是否可以使用 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
我对数据科学和编程的一般知识并不是很好。我已经坚持了几个星期,想知道我是否可以解决它。