機械学習 keras optimizerの設定に関して

実現したいこと

kerasにてオプティマイザーにミニバッチ勾配降下法を設定する

前提

機械学習初学者です.
ミニバッチ勾配降下法と確率的勾配降下法の2つの最適化アルゴリズムに関して以下のような理解をしております.

・ミニバッチ勾配降下法
1.学習データからbatch_size個のデータを抽出し,平均勾配を計算する。
2.平均勾配を使用し,重みを更新
3.学習データをすべて使うまで1,2を繰り返す

・確率的勾配降下法
ミニバッチ勾配降下法にてbatch_size=1のとき

質問

python

1model.compile(optimizer='SGD',2 loss='categorical_crossentropy',3 metrics=['accuracy'])4 5history = model.fit(x_train, y_train, batch_size=128, epochs=50,6 validation_split=0.2)

このようなコードを書いた場合,batch_size=128のミニバッチ勾配降下法で重みが更新されるのでしょうか?

また,単なる確率的勾配降下法を利用したい場合には,batch_size=1とすれば実現できるのでしょうか?

コメントを投稿

0 コメント