問題タブ [mini-batch]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
neural-network - NN トレーニング プロセスのランダム性を処理するにはどうすればよいですか?
ミニバッチ勾配降下法を使用したディープ FF ニューラル ネットワークのトレーニング プロセスを考えてみましょう。私が理解している限り、トレーニングの各エポックで、ミニバッチのランダムなセットが異なります。次に、すべてのミニ バッチを反復処理して NN パラメーターの勾配を計算すると、反復ごとにランダムな勾配が得られるため、コスト関数を最小化するモデル パラメーターのランダムな方向が得られます。トレーニング アルゴリズムのハイパーパラメーターを修正し、トレーニング プロセスを何度も開始したとします。その後、モデル パラメーターの変更が異なるため、互いに完全に異なるモデルになってしまうとします。
1) そのようなランダム ベースのトレーニング アルゴリズムを使用する場合は常にそうですか?
2) そうである場合、以前のトレーニングと検証中に見つかった最高のハイパーパラメーターを使用して NN をもう一度トレーニングすると、最高のモデルが再び得られるという保証はどこにありますか?
3) 常に最良のモデルを生成するようなハイパーパラメータを見つけることは可能ですか?
python - K-means ミニバッチ 大きなデータでのメモリ エラー
大きなデータのクラスタリングに sklearn Kmeans Minibatch を使用していますが、メモリ エラーが発生します。
これは、この構成での私のラップトップ構成であり、正常に機能しています。
- コア i5 64 ビット
- パイソン 3.6.2
- 8GBのRAM
TfidfVectorizer Xを .npz ファイル (426 Mb) に保存しました。次に、異なる数のクラスターを使用して、 そのXに対してクラスタリングを数回実行します。
X = sparse.load_npz("D:\clustering_final\sp-k2.npz")
n_samples: 850900、n_features: 1728098
MiniBatchKMeans を使用した疎行列データのクラスタリング
Batch_size=1000、n_clusters=500、compute_labels=True、init='k-means++'、n_init=100
私のpythonスクリプトはこのラップトップ構成で正常に動作しますが、別のラップトップで同じPython(すべて同じコピーされたpython36フォルダー)を使用すると、メモリエラーが発生します。他のラップトップの構成が高くても:
- コア i5 64 ビット
- パイソン 3.6.2
16GBのRAM
km.fit(X) File "C:\python36\lib\site-packages\sklearn\cluster\k_means_.py", line 1418, in fit init_size=init_size) File "C:\python36\lib\site-packages\sklearn\cluster\k_means_.py", line 684, in _init_centroids x_squared_norms=x_squared_norms) File "C:\python36\lib\site-packages\sklearn\cluster\k_means_.py", line 79, in _k_init centers = np.empty((n_clusters, n_features), dtype=X.dtype) MemoryError
必要なライブラリとその他の依存関係をすべて確認しましたが、低構成のラップトップで完全に動作します。高構成のラップトップで実行できないのはなぜですか?
奇妙に聞こえるかもしれませんが、本当です。
batch-processing - DBOW の単一エポック中に何が起こるかを理解する
Distributed Bag of Words (DBOW) を使用していますが、1 つのエポックで何が起こるのか知りたいですか? DBOW はすべてのドキュメント (別名バッチ) を循環しますか、それともドキュメントのサブセット (別名ミニバッチ) を循環しますか? さらに、特定のドキュメントに対して、DBOW はテキスト ウィンドウから単語をランダムにサンプリングし、重みを学習してそのターゲット単語をウィンドウ内の周囲の単語に関連付けます。これは、DBOW がドキュメント内のすべてのテキストを処理しない可能性があることを意味しますか?
GENSIM ( https://github.com/RaRe-Technologies/gensim ) コードを調べて、バッチのパラメーターがあるかどうかを確認しましたが、うまくいきませんでした。