Traffine I/O

Bahasa Indonesia

2022-11-11

Epoch dan ukuran batch

Epoch dan ukuran batch

Dalam pembelajaran mesin, data pelatihan dibagi menjadi beberapa kelompok sampel dan bobot dioptimalkan untuk setiap rumpun. Jumlah sampel dalam satu rumpun disebut ukuran rumpun, yang pada dasarnya merupakan nilai konstan.

Pelatihan semua data pelatihan sekali disebut epoch.

Bobot dan bias diperbarui setiap epoch dengan mencari rata-rata error dalam batch. Error didefinisikan sebagai berikut, dengan ukuran batch sebagai n dan error untuk data individual sebagai E_i.

E = \frac{1}{n}\sum_{i=1}^{n} E_i

Gradien dari bobot kesalahan w adalah

\frac{\partial E}{\partial w_{}} = \frac{1}{n}\sum_{i=1}^{n} \frac{\partial E_i}{\partial w_{}}

Karena bobot dan bias diperbaharui setelah semua sampel dalam batch telah digunakan, ukuran batch juga dapat dinyatakan sebagai interval antara modifikasi bobot dan bias.

Contoh batch ditunjukkan di bawah ini menggunakan diagram data pelatihan dengan 1.000 sampel.

Epoch and Batch size
Epoch in Machine Learning

Ukuran batch 1.000 sama dengan jumlah sampel dalam data pelatihan, dan bobot dan bias diperbarui sekali per epoch. Jenis pembelajaran di mana jumlah sampel data pelatihan sama dengan ukuran batch disebut batch training. Pembelajaran batch stabil karena pengaruh data individual pada pembelajaran berkurang, tetapi memiliki kelemahan yaitu mudah terjebak dalam optimum lokal. Selain itu, batch training tidak mungkin dilakukan jika satu epoch terlalu besar bagi komputer untuk menangani semua data sekaligus.

Jika ukuran batch adalah 500, bobot dan bias diperbarui dua kali per epoch. Jika ukuran batch adalah 100, bobot dan bias diperbarui 10 kali per epoch. Pembelajaran di mana bobot dan bias diperbarui lebih dari sekali per epoch disebut mini-batch training. Dibandingkan dengan batch training, mini-batch training memiliki keuntungan bahwa kecil kemungkinannya untuk terjebak dalam solusi optimal lokal.

Bagaimana menentukan ukuran batch

Ukuran batch mempengaruhi waktu dan kinerja pembelajaran, tetapi menetapkan ukuran batch yang sesuai itu sulit. Umumnya, ukuran batch 10 sampai 100 sering ditetapkan.

Bagaimana menentukan jumlah epochs

Metode gradient descent digunakan untuk pelatihan. Karena gradient descent adalah proses iteratif, maka tidak cukup untuk memperbarui bobot dalam satu epoch; satu epoch akan menghasilkan "underfit" yang ditunjukkan di bawah ini.

Fitting
Overfitting and underfitting

Seiring dengan bertambahnya jumlah epoch, jumlah bobot yang diubah oleh neural network meningkat dan kurva berubah dari "Undefrit" ke "Optimal" ke kurva "Overfit". Oleh karena itu, perlu untuk mengatur jumlah epoch yang optimal untuk mencapai keadaan "Optimal".

Misalnya, pada gambar di bawah ini, akurasi data training meningkat setelah 25 epoch, sementara akurasi data validasi tidak meningkat. Oleh karena itu, jumlah epochs optimal untuk model ini adalah sekitar 25 epochs, dan setelah 25 epochs, overfitting pada data Training telah dimulai.

Train and validation loss

Referensi

https://www.javatpoint.com/epoch-in-machine-learning
https://towardsdatascience.com/epoch-vs-iterations-vs-batch-size-4dfb9c7ce9c9
https://www.educative.io/answers/overfitting-and-underfitting

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!