In machine learning (ML), a learning curve (or training curve) is a graphical representation that shows how a model's performance on a training set (and usually a validation set) changes with the number of training iterations (epochs) or the amount of training data.[1] Typically, the number of training epochs or training set size is plotted on the x-axis, and the value of the loss function (and possibly some other metric such as the cross-validation score) on the y-axis.
Synonyms include error curve, experience curve, improvement curve and generalization curve.[2]
More abstractly, learning curves plot the difference between learning effort and predictive performance, where "learning effort" usually means the number of training samples, and "predictive performance" means accuracy on testing samples.
Learning curves have many useful purposes in ML, including:[3] [4] [5]
Learning curves can also be tools for determining how much a model benefits from adding more training data, and whether the model suffers more from a variance error or a bias error. If both the validation score and the training score converge to a certain value, then the model will no longer significantly benefit from more training data.[6]
When creating a function to approximate the distribution of some data, it is necessary to define a loss function
L(f\theta(X),Y)
\theta
L(f\theta(X),Y)
\theta*
If the training data is
\{x1,x2,...,xn\},\{y1,y2,...yn\}
and the validation data is
\{x1',x2',...xm'\},\{y1',y2',...ym'\}
a learning curve is the plot of the two curves
i\mapsto
L(f | ||||||||||
|
(Xi),Yi)
i\mapsto
L(f | ||||||||||
|
(Xi'),Yi')
where
Xi=\{x1,x2,...xi\}
Many optimization algorithms are iterative, repeating the same step (such as backpropagation) until the process converges to an optimal value. Gradient descent is one such algorithm. If
* | |
\theta | |
i |
\theta
i
i\mapsto
L(f | ||||||||||
|
(X),Y)
i\mapsto
L(f | ||||||||||
|
(X'),Y')