Difference between revisions of "Keras: Introduction to Learning Curves for Diagnosing Model Performance"

From OnnoWiki
Jump to navigation Jump to search
 
(25 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
Sumber: https://machinelearningmastery.com/learning-curves-for-diagnosing-machine-learning-model-performance/
 
Sumber: https://machinelearningmastery.com/learning-curves-for-diagnosing-machine-learning-model-performance/
  
A learning curve is a plot of model learning performance over experience or time.
+
Learning Curve (Kurva Pembelajaran) adalah plot model kinerja belajar terhadap experience atau waktu.
  
Learning curves are a widely used diagnostic tool in machine learning for algorithms that learn from a training dataset incrementally. The model can be evaluated on the training dataset and on a hold out validation dataset after each update during training and plots of the measured performance can created to show learning curves.
+
Kurva pembelajaran adalah alat diagnostik yang banyak digunakan dalam machine learning untuk algoritma yang belajar dari set data training secara bertahap. Model dapat dievaluasi pada dataset training dan pada dataset validasi setelah setiap update selama training dan plot kinerja yang diukur dapat dibuat untuk menunjukkan kurva pembelajaran.Reviewing learning curves of models during training can be used to diagnose problems with learning, such as an underfit or overfit model, as well as whether the training and validation datasets are suitably representative.
  
Reviewing learning curves of models during training can be used to diagnose problems with learning, such as an underfit or overfit model, as well as whether the training and validation datasets are suitably representative.
+
Dalam tulisan ini, anda akan menemukan kurva pembelajaran dan bagaimana kurva tersebut dapat digunakan untuk mendiagnosis perilaku pembelajaran dan generalisasi model machine learning, dengan contoh plot yang menunjukkan masalah pembelajaran umum.
  
In this post, you will discover learning curves and how they can be used to diagnose the learning and generalization behavior of machine learning models, with example plots showing common learning problems.
+
Sesudah membaca tulisan ini, anda akan mengetahui tentang:
  
After reading this post, you will know:
+
* Kurva pembelajaran adalah plot yang menunjukkan perubahan dalam kinerja pembelajaran dari waktu ke waktu dalam hal experience.
 +
* Kurva pembelajaran kinerja model pada dataset train dan dataset validasi dapat digunakan untuk mendiagnosis model apakah underfit, overfit, atau well-fit (cocok)..
 +
* Kurva pembelajaran kinerja model dapat digunakan untuk mendiagnosis apakah set data train atau validasi relatif tidak mewakili domain masalah.
  
* Learning curves are plots that show changes in learning performance over time in terms of experience.
 
* Learning curves of model performance on the train and validation datasets can be used to diagnose an underfit, overfit, or well-fit model.
 
* Learning curves of model performance can be used to diagnose whether the train or validation datasets are not relatively representative of the problem domain.
 
 
Discover how to train faster, reduce overfitting, and make better predictions with deep learning models in my new book, with 26 step-by-step tutorials and full source code.
 
  
 
==Overview==
 
==Overview==
  
This tutorial is divided into three parts; they are:
+
Tutorial ini di bagi menjadi tiga (3) bagian, yaitu:
  
* Learning Curves
+
* Kurva Pembelajaran (Learning Curve)
* Diagnosing Model Behavior
+
* Mendiagnosa Perilaku Model (Diagnosing Model Behavior)
* Diagnosing Unrepresentative Datasets
+
* Mendiagnosa Dataset yang tidak representatif.
  
==Learning Curves in Machine Learning==
+
==Kurva Pembejaran (Learning Curve) di Machine Learning==
  
Generally, a learning curve is a plot that shows time or experience on the x-axis and learning or improvement on the y-axis.
+
Umumnya, kurva belajar adalah plot yang menunjukkan waktu atau pengalaman (experience) pada sumbu x dan pembelajaran atau peningkatan pada sumbu y.
  
  
Line 33: Line 30:
  
  
For example, if you were learning a musical instrument, your skill on the instrument could be evaluated and assigned a numerical score each week for one year. A plot of the scores over the 52 weeks is a learning curve and would show how your learning of the instrument has changed over time.
+
Misalnya, jika anda mempelajari alat musik, kemahiran anda pada instrumen tersebut dapat dievaluasi dan diberi skor numerik setiap minggu selama satu tahun. Plot skor selama 52 minggu adalah kurva belajar dan akan menunjukkan bagaimana pembelajaran Anda terhadap instrumen telah berubah seiring waktu.
  
    Learning Curve: Line plot of learning (y-axis) over experience (x-axis).
+
* Learning Curve: Line plot dari learning (y-axis) terhadap experience (x-axis).
  
Learning curves are widely used in machine learning for algorithms that learn (optimize their internal parameters) incrementally over time, such as deep learning neural networks.
+
Kurva pembelajaran banyak digunakan dalam machine learning untuk algoritma yang belajar (mengoptimalkan parameter internal mereka) secara bertahap, seperti deep learning neural network.
  
The metric used to evaluate learning could be maximizing, meaning that better scores (larger numbers) indicate more learning. An example would be classification accuracy.
+
Metrik yang digunakan untuk mengevaluasi pembelajaran dapat dimaksimalkan, artinya skor yang lebih baik (angka yang lebih besar) menunjukkan lebih banyak pembelajaran. Contohnya adalah akurasi klasifikasi.
  
It is more common to use a score that is minimizing, such as loss or error whereby better scores (smaller numbers) indicate more learning and a value of 0.0 indicates that the training dataset was learned perfectly and no mistakes were made.
+
Lebih umum menggunakan skor yang diminimalkan, seperti loss atau error di mana skor yang lebih baik (angka lebih kecil) menunjukkan lebih banyak pembelajaran dan nilai 0,0 menunjukkan bahwa dataset training dipelajari dengan sempurna dan tidak ada error yang dibuat.
  
During the training of a machine learning model, the current state of the model at each step of the training algorithm can be evaluated. It can be evaluated on the training dataset to give an idea of how well the model is “learning.” It can also be evaluated on a hold-out validation dataset that is not part of the training dataset. Evaluation on the validation dataset gives an idea of how well the model is “generalizing.”
+
Selama training model machine learning, kondisi model saat ini pada setiap langkah algoritma training dapat dievaluasi. Hal ini dapat dievaluasi pada set data training untuk memberikan gambaran seberapa baik model tersebut “belajar.” Model ini juga dapat dievaluasi pada set data validasi yang bukan bagian dari set data training. Evaluasi pada dataset validasi memberikan gambaran tentang seberapa baik model tersebut untuk bisa “digeneralisasi.”
  
* Train Learning Curve: Learning curve calculated from the training dataset that gives an idea of how well the model is learning.
+
* Train Learning Curve: Kurva pembelajaran dihitung dari dataset training yang memberikan gambaran seberapa baik model tersebut dipelajari.
* Validation Learning Curve: Learning curve calculated from a hold-out validation dataset that gives an idea of how well the model is generalizing.
+
* Validation Learning Curve: Kurva pembelajaran dihitung dari set data validasi yang memberikan gambaran seberapa baik model tersebut digeneralisasi.
  
It is common to create dual learning curves for a machine learning model during training on both the training and validation datasets.
+
Adalah umum untuk membuat dua kurva belajar untuk model machine learning selama training baik pada data training maupun validasi.
  
In some cases, it is also common to create learning curves for multiple metrics, such as in the case of classification predictive modeling problems, where the model may be optimized according to cross-entropy loss and model performance is evaluated using classification accuracy. In this case, two plots are created, one for the learning curves of each metric, and each plot can show two learning curves, one for each of the train and validation datasets.
+
Dalam beberapa kasus, juga umum untuk membuat kurva belajar untuk banyak metrik, seperti dalam kasus masalah pemodelan prediktif klasifikasi, di mana model dapat dioptimalkan sesuai dengan cross-entropy loss dan kinerja model dievaluasi menggunakan akurasi klasifikasi. Dalam hal ini, dua plot dibuat, satu untuk kurva belajar setiap metrik, dan setiap plot dapat menunjukkan dua kurva belajar, satu untuk masing-masing set data training dan validasi.
  
* Optimization Learning Curves: Learning curves calculated on the metric by which the parameters of the model are being optimized, e.g. loss.
+
* Optimization Learning Curves: Kurva pembelajaran dihitung pada metrik dimana parameter model dioptimalkan, mis. loss.
* Performance Learning Curves: Learning curves calculated on the metric by which the model will be evaluated and selected, e.g. accuracy.
+
* Performance Learning Curves: Kurva pembelajaran dihitung berdasarkan metrik yang digunakan model untuk dievaluasi dan dipilih, mis. accuracy.
  
Now that we are familiar with the use of learning curves in machine learning, let’s look at some common shapes observed in learning curve plots.
+
Sekarang kita sudah terbiasa dengan penggunaan kurva belajar dalam machine learning, mari kita lihat beberapa bentuk umum yang diamati dalam plot pembelajaran kurva.
  
==Diagnosing Model Behavior==
+
==Diagnosa Perilaku Model==
  
The shape and dynamics of a learning curve can be used to diagnose the behavior of a machine learning model and in turn perhaps suggest at the type of configuration changes that may be made to improve learning and/or performance.
+
Bentuk dan dinamika kurva pembelajaran dapat digunakan untuk mendiagnosis perilaku model machine learning dan pada akhirnya mungkin menyarankan pada jenis perubahan konfigurasi yang dapat dilakukan untuk meningkatkan pembelajaran dan / atau kinerja.
  
There are three common dynamics that you are likely to observe in learning curves; they are:
+
Ada tiga dinamika umum yang cenderung anda amati dalam kurva pembelajaran, yaitu:
  
 
* Underfit.
 
* Underfit.
Line 67: Line 64:
 
* Good Fit.
 
* Good Fit.
  
We will take a closer look at each with examples. The examples will assume that we are looking at a minimizing metric, meaning that smaller relative scores on the y-axis indicate more or better learning.
+
Kita akan melihat lebih dekat masing-masing dengan contoh. Contoh-contoh akan mengasumsikan bahwa kita sedang melihat metrik meminimalkan, yang berarti bahwa skor relatif yang lebih kecil pada sumbu y menunjukkan pembelajaran yang lebih banyak atau lebih baik.
  
==Underfit Learning Curves==
+
===Underfit Learning Curves===
  
Underfitting refers to a model that cannot learn the training dataset.
+
Underfitting mengacu pada model yang tidak dapat mempelajari dataset training.
  
  
Line 77: Line 74:
  
  
An underfit model can be identified from the learning curve of the training loss only.
+
Model underfit dalam dapat diidentifikasi dari kurva belajar dari hanya training loss saja.
  
It may show a flat line or noisy values of relatively high loss, indicating that the model was unable to learn the training dataset at all.
+
Ini mungkin menunjukkan garis datar atau nilai berisik dari loss yang relatif tinggi, menunjukkan bahwa model tidak dapat mempelajari set data training sama sekali.
  
An example of this is provided below and is common when the model does not have a suitable capacity for the complexity of the dataset.
+
Contoh dari ini disediakan di bawah ini dan umum ketika model tidak memiliki kapasitas yang sesuai untuk kompleksitas dataset.
  
 
[[File:Example-of-Training-Learning-Curve-Showing-An-Underfit-Model-That-Does-Not-Have-Sufficient-Capacity.png|center|400px|thumb]]
 
[[File:Example-of-Training-Learning-Curve-Showing-An-Underfit-Model-That-Does-Not-Have-Sufficient-Capacity.png|center|400px|thumb]]
  
  
An underfit model may also be identified by a training loss that is decreasing and continues to decrease at the end of the plot.
+
Model underfit dalam juga dapat diidentifikasi dengan training loss yang menurun dan terus menurun pada akhir plot.
  
This indicates that the model is capable of further learning and possible further improvements and that the training process was halted prematurely.
+
Ini menunjukkan bahwa model ini mampu belajar lebih lanjut dan kemungkinan peningkatan lebih lanjut dan bahwa proses pelatihan dihentikan sebelum waktunya.
  
 +
[[File:Example-of-Training-Learning-Curve-Showing-An-Underfit-Model-That-Requires-Further-Training.png|center|400px|thumb]]
  
[[File:Example-of-Training-Learning-Curve-Showing-An-Underfit-Model-That-Requires-Further-Training.png|center|400px|thumb]]
+
Plot learning curves menunjukan underfitting jika:
  
A plot of learning curves shows underfitting if:
+
* Training loss tetap datar walaupun telah melalui proses training.
 +
* Training loss terus menurun hingga akhir training.
  
* The training loss remains flat regardless of training.
+
===Overfit Learning Curves===
* The training loss continues to decrease until the end of training.
 
  
==Overfit Learning Curves==
+
Overfitting mengacu pada model yang telah mempelajari dataset training terlalu baik, termasuk noise statistik atau fluktuasi acak dalam dataset training.
  
Overfitting refers to a model that has learned the training dataset too well, including the statistical noise or random fluctuations in the training dataset.
 
  
 
''… fitting a more flexible model requires estimating a greater number of parameters. These more complex models can lead to a phenomenon known as overfitting the data, which essentially means they follow the errors, or noise, too closely.'' — Page 22, An Introduction to Statistical Learning: with Applications in R, 2013.
 
''… fitting a more flexible model requires estimating a greater number of parameters. These more complex models can lead to a phenomenon known as overfitting the data, which essentially means they follow the errors, or noise, too closely.'' — Page 22, An Introduction to Statistical Learning: with Applications in R, 2013.
  
The problem with overfitting, is that the more specialized the model becomes to training data, the less well it is able to generalize to new data, resulting in an increase in generalization error. This increase in generalization error can be measured by the performance of the model on the validation dataset.
+
 
 +
 
 +
Masalah dengan overfitting, adalah bahwa semakin terspesialisasi model pada training data, semakin kurang baik untuk bisa digeneralisasikan ke data baru, menghasilkan peningkatan error generalisasi. Peningkatan error generalisasi ini dapat diukur dengan kinerja model pada dataset validasi.
 +
 
  
  
 
''This is an example of overfitting the data, […]. It is an undesirable situation because the fit obtained will not yield accurate estimates of the response on new observations that were not part of the original training data set.'' — Page 24, An Introduction to Statistical Learning: with Applications in R, 2013.
 
''This is an example of overfitting the data, […]. It is an undesirable situation because the fit obtained will not yield accurate estimates of the response on new observations that were not part of the original training data set.'' — Page 24, An Introduction to Statistical Learning: with Applications in R, 2013.
  
This often occurs if the model has more capacity than is required for the problem, and, in turn, too much flexibility. It can also occur if the model is trained for too long.
 
  
A plot of learning curves shows overfitting if:
 
  
* The plot of training loss continues to decrease with experience.
+
Ini sering terjadi jika model memiliki kapasitas lebih dari yang diperlukan untuk masalah, dan, pada akhirnya, terlalu banyak fleksibilitas. Itu juga bisa terjadi jika modelnya dilatih terlalu lama.
* The plot of validation loss decreases to a point and begins increasing again.
+
 
 +
Plot dari kurva pembelajaran menunjukkan overfitting jika:
  
The inflection point in validation loss may be the point at which training could be halted as experience after that point shows the dynamics of overfitting.
+
* Plot training loss terus berkurang dengan pengalaman.
 +
* Plot loss validasi berkurang ke suatu titik dan mulai meningkat lagi.
  
The example plot below demonstrates a case of overfitting.
+
Titik belok dalam loss validasi mungkin merupakan titik di mana training dapat dihentikan karena experience setelah titik itu menunjukkan dinamika overfitting.
  
 +
Contoh plot di bawah ini menunjukkan kasus overfitting.
  
 
[[File:Example-of-Train-and-Validation-Learning-Curves-Showing-An-Overfit-Model.png|center|400px|thumb]]
 
[[File:Example-of-Train-and-Validation-Learning-Curves-Showing-An-Overfit-Model.png|center|400px|thumb]]
  
==Good Fit Learning Curves==
+
===Good Fit Learning Curve===
  
A good fit is the goal of the learning algorithm and exists between an overfit and underfit model.
+
Good fit adalah tujuan dari algoritma pembelajaran dan ada antara model overfit dan underfit.
  
A good fit is identified by a training and validation loss that decreases to a point of stability with a minimal gap between the two final loss values.
+
Good fit diidentifikasi oleh loss training dan validasi yang menurun ke titik stabilitas dengan kesenjangan minimal antara dua nilai loss akhir.
  
The loss of the model will almost always be lower on the training dataset than the validation dataset. This means that we should expect some gap between the train and validation loss learning curves. This gap is referred to as the “generalization gap.
+
Loss dari model hampir selalu lebih rendah pada dataset training daripada dataset validasi. Ini berarti bahwa kita harus mengharapkan beberapa celah antara loss kurva pembelajaran antara training dan validasi. Kesenjangan ini disebut sebagai "generalization gap."
  
A plot of learning curves shows a good fit if:
+
Plot kurva pembelajaran menunjukkan good fit jika:
  
* The plot of training loss decreases to a point of stability.
+
* Plot loss pelatihan menurun ke titik stabilitas.
* The plot of validation loss decreases to a point of stability and has a small gap with the training loss.
+
* Plot loss validasi berkurang ke titik stabilitas dan memiliki sedikit celah dengan loss pelatihan.
  
Continued training of a good fit will likely lead to an overfit.
+
Pelatihan lanjutan setelah melewati good fit mungkin akan mengarah pada overfit.
  
The example plot below demonstrates a case of a good fit.
+
Contoh plot di bawah ini menunjukkan kasus yang good fit.
  
 
[[File:Example-of-Train-and-Validation-Learning-Curves-Showing-A-Good-Fit.png|center|400px|thumb]]
 
[[File:Example-of-Train-and-Validation-Learning-Curves-Showing-A-Good-Fit.png|center|400px|thumb]]
  
 +
==Diagnosa Unrepresentative Dataset==
  
==Diagnosing Unrepresentative Datasets==
+
Kurva pembelajaran juga dapat digunakan untuk mendiagnosis properti dataset dan apakah cukup representatif.
  
Learning curves can also be used to diagnose properties of a dataset and whether it is relatively representative.
+
Dataset yang tidak representatif berarti dataset yang mungkin tidak menangkap karakteristik statistik relatif terhadap dataset lain yang diambil dari domain yang sama, seperti antara dataset training dan validasi. Ini biasanya dapat terjadi jika jumlah sampel dalam dataset terlalu kecil, relatif terhadap dataset lain.
  
An unrepresentative dataset means a dataset that may not capture the statistical characteristics relative to another dataset drawn from the same domain, such as between a train and a validation dataset. This can commonly occur if the number of samples in a dataset is too small, relative to another dataset.
+
Ada dua kasus umum yang bisa diamati; yaitu:
  
There are two common cases that could be observed; they are:
+
* Dataset training relatif tidak representatif.
 +
* Dataset validasi relatif tidak representatif.
  
* Training dataset is relatively unrepresentative.
+
===Unrepresentative Train Dataset===
* Validation dataset is relatively unrepresentative.
 
  
==Unrepresentative Train Dataset==
+
Dataset training yang tidak representatif berarti bahwa dataset training tidak memberikan informasi yang cukup untuk mempelajari masalahnya, relatif terhadap dataset validasi yang digunakan untuk mengevaluasinya.
  
An unrepresentative training dataset means that the training dataset does not provide sufficient information to learn the problem, relative to the validation dataset used to evaluate it.
+
Ini dapat terjadi jika dataset training memiliki terlalu sedikit contoh dibandingkan dengan dataset validasi.
  
This may occur if the training dataset has too few examples as compared to the validation dataset.
+
Situasi ini dapat diidentifikasi dengan kurva belajar untuk training loss yang menunjukkan peningkatan dan juga kurva belajar untuk validasi loss yang menunjukkan peningkatan, tetapi ada celah besar di antara kedua kurva.
 
 
This situation can be identified by a learning curve for training loss that shows improvement and similarly a learning curve for validation loss that shows improvement, but a large gap remains between both curves.
 
  
  
 
[[File:Example-of-Train-and-Validation-Learning-Curves-Showing-a-Training-Dataset-the-May-be-too-Small-Relative-to-the-Validation-Dataset.png|center|400px|thumb]]
 
[[File:Example-of-Train-and-Validation-Learning-Curves-Showing-a-Training-Dataset-the-May-be-too-Small-Relative-to-the-Validation-Dataset.png|center|400px|thumb]]
  
==Unrepresentative Validation Dataset==
+
===Unrepresentative Validation Dataset===
  
An unrepresentative validation dataset means that the validation dataset does not provide sufficient information to evaluate the ability of the model to generalize.
+
Dataset validasi yang tidak representatif berarti bahwa dataset validasi tidak memberikan informasi yang cukup untuk mengevaluasi kemampuan model saat dilakukan generalisasi.
  
This may occur if the validation dataset has too few examples as compared to the training dataset.
+
Ini dapat terjadi jika dataset validasi memiliki terlalu sedikit contoh dibandingkan dengan dataset training.
  
This case can be identified by a learning curve for training loss that looks like a good fit (or other fits) and a learning curve for validation loss that shows noisy movements around the training loss.
+
Kasus ini dapat diidentifikasi dengan kurva belajar untuk training loss yang terlihat seperti good fit (atau fit lainnya) dan kurva belajar untuk validasi loss yang menunjukkan plot yang noisy di sekitar training loss.
  
  
Line 177: Line 177:
  
  
It may also be identified by a validation loss that is lower than the training loss. In this case, it indicates that the validation dataset may be easier for the model to predict than the training dataset.
+
Ini juga dapat diidentifikasi dengan loss validasi yang lebih rendah dari loss training. Dalam kasus ini, ini menunjukkan bahwa dataset validasi mungkin lebih mudah bagi model untuk diprediksi daripada dataset training.
 
 
  
  
Line 207: Line 206:
 
==Summary==
 
==Summary==
  
In this post, you discovered learning curves and how they can be used to diagnose the learning and generalization behavior of machine learning models.
+
Dalam posting ini, anda melihat kurva belajar dan bagaimana kurva tersebut dapat digunakan untuk mendiagnosis perilaku pembelajaran dan generalisasi model machine learning.
 
 
Specifically, you learned:
 
 
 
* Learning curves are plots that show changes in learning performance over time in terms of experience.
 
* Learning curves of model performance on the train and validation datasets can be used to diagnose an underfit, overfit, or well-fit model.
 
* Learning curves of model performance can be used to diagnose whether the train or validation datasets are not relatively representative of the problem domain.
 
 
 
 
 
 
 
 
 
  
 +
Secara khusus, anda belajar:
  
 +
* Kurva pembelajaran adalah plot yang menunjukkan perubahan dalam kinerja pembelajaran dari waktu ke waktu dalam hal experience.
 +
* Kurva pembelajaran kinerja model di kereta dan set data validasi dapat digunakan untuk mendiagnosis model underfit, overfit, atau well-fit.
 +
* Kurva pembelajaran kinerja model dapat digunakan untuk mendiagnosis apakah set data train atau validasi relatif tidak mewakili domain masalah.
  
 
==Referensi==
 
==Referensi==

Latest revision as of 10:21, 12 September 2019

Sumber: https://machinelearningmastery.com/learning-curves-for-diagnosing-machine-learning-model-performance/

Learning Curve (Kurva Pembelajaran) adalah plot model kinerja belajar terhadap experience atau waktu.

Kurva pembelajaran adalah alat diagnostik yang banyak digunakan dalam machine learning untuk algoritma yang belajar dari set data training secara bertahap. Model dapat dievaluasi pada dataset training dan pada dataset validasi setelah setiap update selama training dan plot kinerja yang diukur dapat dibuat untuk menunjukkan kurva pembelajaran.Reviewing learning curves of models during training can be used to diagnose problems with learning, such as an underfit or overfit model, as well as whether the training and validation datasets are suitably representative.

Dalam tulisan ini, anda akan menemukan kurva pembelajaran dan bagaimana kurva tersebut dapat digunakan untuk mendiagnosis perilaku pembelajaran dan generalisasi model machine learning, dengan contoh plot yang menunjukkan masalah pembelajaran umum.

Sesudah membaca tulisan ini, anda akan mengetahui tentang:

  • Kurva pembelajaran adalah plot yang menunjukkan perubahan dalam kinerja pembelajaran dari waktu ke waktu dalam hal experience.
  • Kurva pembelajaran kinerja model pada dataset train dan dataset validasi dapat digunakan untuk mendiagnosis model apakah underfit, overfit, atau well-fit (cocok)..
  • Kurva pembelajaran kinerja model dapat digunakan untuk mendiagnosis apakah set data train atau validasi relatif tidak mewakili domain masalah.


Overview

Tutorial ini di bagi menjadi tiga (3) bagian, yaitu:

  • Kurva Pembelajaran (Learning Curve)
  • Mendiagnosa Perilaku Model (Diagnosing Model Behavior)
  • Mendiagnosa Dataset yang tidak representatif.

Kurva Pembejaran (Learning Curve) di Machine Learning

Umumnya, kurva belajar adalah plot yang menunjukkan waktu atau pengalaman (experience) pada sumbu x dan pembelajaran atau peningkatan pada sumbu y.


Learning curves (LCs) are deemed effective tools for monitoring the performance of workers exposed to a new task. LCs provide a mathematical representation of the learning process that takes place as task repetition occurs. — Learning curve models and applications: Literature review and research directions, 2011.


Misalnya, jika anda mempelajari alat musik, kemahiran anda pada instrumen tersebut dapat dievaluasi dan diberi skor numerik setiap minggu selama satu tahun. Plot skor selama 52 minggu adalah kurva belajar dan akan menunjukkan bagaimana pembelajaran Anda terhadap instrumen telah berubah seiring waktu.

  • Learning Curve: Line plot dari learning (y-axis) terhadap experience (x-axis).

Kurva pembelajaran banyak digunakan dalam machine learning untuk algoritma yang belajar (mengoptimalkan parameter internal mereka) secara bertahap, seperti deep learning neural network.

Metrik yang digunakan untuk mengevaluasi pembelajaran dapat dimaksimalkan, artinya skor yang lebih baik (angka yang lebih besar) menunjukkan lebih banyak pembelajaran. Contohnya adalah akurasi klasifikasi.

Lebih umum menggunakan skor yang diminimalkan, seperti loss atau error di mana skor yang lebih baik (angka lebih kecil) menunjukkan lebih banyak pembelajaran dan nilai 0,0 menunjukkan bahwa dataset training dipelajari dengan sempurna dan tidak ada error yang dibuat.

Selama training model machine learning, kondisi model saat ini pada setiap langkah algoritma training dapat dievaluasi. Hal ini dapat dievaluasi pada set data training untuk memberikan gambaran seberapa baik model tersebut “belajar.” Model ini juga dapat dievaluasi pada set data validasi yang bukan bagian dari set data training. Evaluasi pada dataset validasi memberikan gambaran tentang seberapa baik model tersebut untuk bisa “digeneralisasi.”

  • Train Learning Curve: Kurva pembelajaran dihitung dari dataset training yang memberikan gambaran seberapa baik model tersebut dipelajari.
  • Validation Learning Curve: Kurva pembelajaran dihitung dari set data validasi yang memberikan gambaran seberapa baik model tersebut digeneralisasi.

Adalah umum untuk membuat dua kurva belajar untuk model machine learning selama training baik pada data training maupun validasi.

Dalam beberapa kasus, juga umum untuk membuat kurva belajar untuk banyak metrik, seperti dalam kasus masalah pemodelan prediktif klasifikasi, di mana model dapat dioptimalkan sesuai dengan cross-entropy loss dan kinerja model dievaluasi menggunakan akurasi klasifikasi. Dalam hal ini, dua plot dibuat, satu untuk kurva belajar setiap metrik, dan setiap plot dapat menunjukkan dua kurva belajar, satu untuk masing-masing set data training dan validasi.

  • Optimization Learning Curves: Kurva pembelajaran dihitung pada metrik dimana parameter model dioptimalkan, mis. loss.
  • Performance Learning Curves: Kurva pembelajaran dihitung berdasarkan metrik yang digunakan model untuk dievaluasi dan dipilih, mis. accuracy.

Sekarang kita sudah terbiasa dengan penggunaan kurva belajar dalam machine learning, mari kita lihat beberapa bentuk umum yang diamati dalam plot pembelajaran kurva.

Diagnosa Perilaku Model

Bentuk dan dinamika kurva pembelajaran dapat digunakan untuk mendiagnosis perilaku model machine learning dan pada akhirnya mungkin menyarankan pada jenis perubahan konfigurasi yang dapat dilakukan untuk meningkatkan pembelajaran dan / atau kinerja.

Ada tiga dinamika umum yang cenderung anda amati dalam kurva pembelajaran, yaitu:

  • Underfit.
  • Overfit.
  • Good Fit.

Kita akan melihat lebih dekat masing-masing dengan contoh. Contoh-contoh akan mengasumsikan bahwa kita sedang melihat metrik meminimalkan, yang berarti bahwa skor relatif yang lebih kecil pada sumbu y menunjukkan pembelajaran yang lebih banyak atau lebih baik.

Underfit Learning Curves

Underfitting mengacu pada model yang tidak dapat mempelajari dataset training.


Underfitting occurs when the model is not able to obtain a sufficiently low error value on the training set. — Page 111, Deep Learning, 2016.


Model underfit dalam dapat diidentifikasi dari kurva belajar dari hanya training loss saja.

Ini mungkin menunjukkan garis datar atau nilai berisik dari loss yang relatif tinggi, menunjukkan bahwa model tidak dapat mempelajari set data training sama sekali.

Contoh dari ini disediakan di bawah ini dan umum ketika model tidak memiliki kapasitas yang sesuai untuk kompleksitas dataset.

Example-of-Training-Learning-Curve-Showing-An-Underfit-Model-That-Does-Not-Have-Sufficient-Capacity.png


Model underfit dalam juga dapat diidentifikasi dengan training loss yang menurun dan terus menurun pada akhir plot.

Ini menunjukkan bahwa model ini mampu belajar lebih lanjut dan kemungkinan peningkatan lebih lanjut dan bahwa proses pelatihan dihentikan sebelum waktunya.

Example-of-Training-Learning-Curve-Showing-An-Underfit-Model-That-Requires-Further-Training.png

Plot learning curves menunjukan underfitting jika:

  • Training loss tetap datar walaupun telah melalui proses training.
  • Training loss terus menurun hingga akhir training.

Overfit Learning Curves

Overfitting mengacu pada model yang telah mempelajari dataset training terlalu baik, termasuk noise statistik atau fluktuasi acak dalam dataset training.


… fitting a more flexible model requires estimating a greater number of parameters. These more complex models can lead to a phenomenon known as overfitting the data, which essentially means they follow the errors, or noise, too closely. — Page 22, An Introduction to Statistical Learning: with Applications in R, 2013.


Masalah dengan overfitting, adalah bahwa semakin terspesialisasi model pada training data, semakin kurang baik untuk bisa digeneralisasikan ke data baru, menghasilkan peningkatan error generalisasi. Peningkatan error generalisasi ini dapat diukur dengan kinerja model pada dataset validasi.


This is an example of overfitting the data, […]. It is an undesirable situation because the fit obtained will not yield accurate estimates of the response on new observations that were not part of the original training data set. — Page 24, An Introduction to Statistical Learning: with Applications in R, 2013.


Ini sering terjadi jika model memiliki kapasitas lebih dari yang diperlukan untuk masalah, dan, pada akhirnya, terlalu banyak fleksibilitas. Itu juga bisa terjadi jika modelnya dilatih terlalu lama.

Plot dari kurva pembelajaran menunjukkan overfitting jika:

  • Plot training loss terus berkurang dengan pengalaman.
  • Plot loss validasi berkurang ke suatu titik dan mulai meningkat lagi.

Titik belok dalam loss validasi mungkin merupakan titik di mana training dapat dihentikan karena experience setelah titik itu menunjukkan dinamika overfitting.

Contoh plot di bawah ini menunjukkan kasus overfitting.

Example-of-Train-and-Validation-Learning-Curves-Showing-An-Overfit-Model.png

Good Fit Learning Curve

Good fit adalah tujuan dari algoritma pembelajaran dan ada antara model overfit dan underfit.

Good fit diidentifikasi oleh loss training dan validasi yang menurun ke titik stabilitas dengan kesenjangan minimal antara dua nilai loss akhir.

Loss dari model hampir selalu lebih rendah pada dataset training daripada dataset validasi. Ini berarti bahwa kita harus mengharapkan beberapa celah antara loss kurva pembelajaran antara training dan validasi. Kesenjangan ini disebut sebagai "generalization gap."

Plot kurva pembelajaran menunjukkan good fit jika:

  • Plot loss pelatihan menurun ke titik stabilitas.
  • Plot loss validasi berkurang ke titik stabilitas dan memiliki sedikit celah dengan loss pelatihan.

Pelatihan lanjutan setelah melewati good fit mungkin akan mengarah pada overfit.

Contoh plot di bawah ini menunjukkan kasus yang good fit.

Example-of-Train-and-Validation-Learning-Curves-Showing-A-Good-Fit.png

Diagnosa Unrepresentative Dataset

Kurva pembelajaran juga dapat digunakan untuk mendiagnosis properti dataset dan apakah cukup representatif.

Dataset yang tidak representatif berarti dataset yang mungkin tidak menangkap karakteristik statistik relatif terhadap dataset lain yang diambil dari domain yang sama, seperti antara dataset training dan validasi. Ini biasanya dapat terjadi jika jumlah sampel dalam dataset terlalu kecil, relatif terhadap dataset lain.

Ada dua kasus umum yang bisa diamati; yaitu:

  • Dataset training relatif tidak representatif.
  • Dataset validasi relatif tidak representatif.

Unrepresentative Train Dataset

Dataset training yang tidak representatif berarti bahwa dataset training tidak memberikan informasi yang cukup untuk mempelajari masalahnya, relatif terhadap dataset validasi yang digunakan untuk mengevaluasinya.

Ini dapat terjadi jika dataset training memiliki terlalu sedikit contoh dibandingkan dengan dataset validasi.

Situasi ini dapat diidentifikasi dengan kurva belajar untuk training loss yang menunjukkan peningkatan dan juga kurva belajar untuk validasi loss yang menunjukkan peningkatan, tetapi ada celah besar di antara kedua kurva.


Example-of-Train-and-Validation-Learning-Curves-Showing-a-Training-Dataset-the-May-be-too-Small-Relative-to-the-Validation-Dataset.png

Unrepresentative Validation Dataset

Dataset validasi yang tidak representatif berarti bahwa dataset validasi tidak memberikan informasi yang cukup untuk mengevaluasi kemampuan model saat dilakukan generalisasi.

Ini dapat terjadi jika dataset validasi memiliki terlalu sedikit contoh dibandingkan dengan dataset training.

Kasus ini dapat diidentifikasi dengan kurva belajar untuk training loss yang terlihat seperti good fit (atau fit lainnya) dan kurva belajar untuk validasi loss yang menunjukkan plot yang noisy di sekitar training loss.


Example-of-Train-and-Validation-Learning-Curves-Showing-a-Validation-Dataset-the-May-be-too-Small-Relative-to-the-Training-Dataset.png


Ini juga dapat diidentifikasi dengan loss validasi yang lebih rendah dari loss training. Dalam kasus ini, ini menunjukkan bahwa dataset validasi mungkin lebih mudah bagi model untuk diprediksi daripada dataset training.


Example-of-Train-and-Validation-Learning-Curves-Showing-a-Validation-Dataset-that-is-Easier-to-Predict-than-the-Training-Dataset.png

Further Reading

This section provides more resources on the topic if you are looking to go deeper. Books

   Deep Learning, 2016.
   An Introduction to Statistical Learning: with Applications in R, 2013.

Papers

   Learning curve models and applications: Literature review and research directions, 2011.

Posts

   How to Diagnose Overfitting and Underfitting of LSTM Models
   Overfitting and Underfitting With Machine Learning Algorithms

Articles

   Learning curve, Wikipedia.
   Overfitting, Wikipedia.

Summary

Dalam posting ini, anda melihat kurva belajar dan bagaimana kurva tersebut dapat digunakan untuk mendiagnosis perilaku pembelajaran dan generalisasi model machine learning.

Secara khusus, anda belajar:

  • Kurva pembelajaran adalah plot yang menunjukkan perubahan dalam kinerja pembelajaran dari waktu ke waktu dalam hal experience.
  • Kurva pembelajaran kinerja model di kereta dan set data validasi dapat digunakan untuk mendiagnosis model underfit, overfit, atau well-fit.
  • Kurva pembelajaran kinerja model dapat digunakan untuk mendiagnosis apakah set data train atau validasi relatif tidak mewakili domain masalah.

Referensi


Pranala Menarik