機械学習によく出てくるbatch_sizeとはバッチとはなんですか？


機械学習によく出てくるbatch_sizeとはバッチとはなんですか？

[code]

    y_vals = np.transpose([np.array([y[13] for y in housing_data])])
    x_vals = np.array([[x for i,x in enumerate(y)
                    if housing_header[i] in cols_used] for y in housing_data])
    
    #min-maxスケーリングを使って、x値を０〜１の値にスケーリング
    x_vals = (x_vals - x_vals.min(0)) / x_vals.ptp(0)
    
    np.random.seed(13)
    train_indices = np.random.choice(len(x_vals), round(len(x_vals)*0.8),   replace=False)
    test_indices = np.array(list(set(range(len(x_vals))) - s et(train_indices)))
    x_vals_train = x_vals[train_indices]
    x_vals_test = x_vals[test_indices]
    y_vals_train = y_vals[train_indices]
    y_vals_test = y_vals[test_indices]
    
    k = 4
    batch_size=len(x_vals_test)
    
[/code]

参照：TensoFlow機械学習クックブック




ここでいうバッチは、処理されるデータの「ひとまとまり」を指してます。バッチサイズ=データサイズ、です。コンピュータ用語での「バッチ」は処理のほうを指すのが一般的で、処理される方を指して言うのはあまり一般的な用法では無いと思います。

バッチは一般的な用語で、計算機分野以外でも使われます。「JCO臨界事故」(俗に「バケツでウラン」事故)でも、バケツ一杯分の原料やそれを処理することを1バッチ、と表現してました。そもそも辞書を見ると「パンや陶器など一焼き分、一窯分」なんて書いてあります。

