質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

2回答

6706閲覧

エポック(機械学習)について

shmpwk

総合スコア13

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2018/08/14 16:15

エポックについて

100個の学習データを順次用いて誤差逆伝播法で学習を行い、全てのデータについて1回ずつ学習させたら1エポックと
します。

エポックを繰り返して学習をしてい
くのですが、100個の繰り返しを1エポックとするのでしょうか。
それとも100個のデータから、例えば10個のミニバッチで10回の繰り返しで1エポックとするのでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

基本的にはデータセットを1回分全部見て回ると1エポックです。

なので、バッチサイズによって、1エポックのためのステップ数は変わります。

投稿2018/08/14 21:15

mkgrei

総合スコア8560

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shmpwk

2018/08/15 07:48

エポックを繰り返して学習するときは、今回の場合はバッチを作ると考えればいいのでしょうか
mkgrei

2018/08/15 10:18

1 epoch x #sample ≒ batch_size x step です。 等号が成り立つのはサンプル数がバッチサイズで割り切れた時です。 質問の意味をつかみかねています。 エポックごとにバッチを選びなおすかどうか、ということでしょうか?
shmpwk

2018/08/15 13:58

いえ、バッチ作るのはサンプル数が多いときだと思ってたので、今回みたいに100個のサンプルだとバッチを作らないのかなと思っていたのですが、エポックを繰り返して学習をするということは、バッチを作る前提でいるのでしょうか。 (ちなみなにバッチを選び直すのは例えば勾配法による更新をするたびごとであってますよね?)
gegege

2020/04/10 03:49 編集

横から失礼します。 まず、学習データとして与えられた100のデータ全体を1バッチとして学習させる方法をバッチ学習と呼びます。この場合は1バッチ = 1epochとなります。 ただデータが大量になると、上記のバッチがメモリに載らなくなります。そこで学習データとして与えられた100のデータを例えば10ずつに分割して順繰りに学習させるミニバッチ学習という考え方を適用します。(局所解に陥りにくくなる効果もあると言われています)この場合は、10バッチ = 1epochとなります。ミニバッチを10回繰り返して学習データ全体をカバーできるからです。 さて質問の「学習データが少ない場合はepochを繰り返さないか」(あってますか?)ですが、回答から言えば、繰り返します。 そもそも勾配降下法では、解が一気に求まるのではなく、学習ごとに徐々に最適解に近づいていきます。100のデータを1回学習させても、勾配の下に一気にたどり着くとは限らないので、100のデータを複数回学習させる=複数epoch繰り返すことで学習を進めます。 バッチを選び直す(シャッフル)は、ミニバッチ学習の場合にのみ出てくる考え方ですが、1epochごとに行うのが一般的です。上記の例で言えば、100のデータを10分割して1epoch学習させた後、次のepochでは違う組み合わせでデータを10分割します。
guest

0

epochs means iterate .

let say size of batch 512
and 20 epoches
46 shapes

how much size of batch for 1 iterate
46 / 512 for each epoches

投稿2018/08/14 19:39

AliHassan

総合スコア351

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問