fit() メソッド sklearn.neural_network.BernoulliRBM を使用して、オンライン トレーニングを実行できるかどうか疑問に思っていました。
RBM がミニバッチを入力として受け取ることは理解していますが、すべてのトレーニング データが読み込まれているわけではありません。
次のようなことができるかどうか疑問に思っていました。
//X_train,Y_train 25000 行と 50000 列の大きな ndarray であり、スパースである必要はありません: まだロードされていません。一度にアクセスできるミニバッチは 1 つだけです (私の定義では、ミニバッチは 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
データサイエンスとプログラミングに関する私の一般的な知識はそれほど大きくありません。私はこれで数週間立ち往生しており、解決できるかどうか疑問に思っていました.