量子コンピュータを利用した機械学習でもこのあたりは古典機械学習と変わりません。
量子コンピュータでこのような機械学習を行う場合、深層学習のようにフレームワークの整備が進んでいないため、自分たちでアルゴリズムを書く必要がある時も多いです。自分は理解してなかったので、調べてみました。
参考:
https://qiita.com/kenta1984/items/bad75a37d552510e4682
バッチサイズ
データセットをいくつかのサブセットに分けてバッチを作るようです。バッチサイズは全体のデータセットのサイズに応じて適度に決めていくようです。データセットが1000でバッチサイズが200の場合には、サブセットのバッチサイズが200のものが5個できると数えるようです。
イテレーション
上記のサブセットに分けたバッチを全て実行するために必要な繰り返し回数で、サブセットが5個あるので、イテレーションは5で良いようです。
エポック
バッチサイズとイテレーションから全てのデータを1回は使うようになると思いますが、それをさらに何回繰り返すかがエポックだそうです。これで、バッチサイズ、イテレーション、エポックはなんとなく理解できました。
バッチ学習
全部のデータを使って学習するようです。損失関数は全てのデータの誤差の平均を取れば良いようです。
ミニバッチ学習
サブセットに分けたミニバッチを実装しますが、損失関数はミニバッチごとの平均をとって誤差更新するようです。
オンライン学習
データを一つ選んで、個別にパラメータ更新します。損失関数は平均を取る必要がなく、入力値に対しての微分からパラメータ更新できます。
量子コンピュータの場合には、PQC回路を使った量子機械学習が一般的ですが、データの扱い方も古典機械学習同様で良さそうです。ミニバッチ学習法が有用かと思いますので、ミニバッチごとに計算し、ハミルトニアンの期待値からえられる損失関数を平均して値が得られそうですね。
以上です!