官术网_书友最值得收藏!

Early stopping

Even though it's a pure regularization technique, early stopping is often considered as a last resort when all other approaches to prevent overfitting and maximize validation accuracy fail. In many cases (above all, in deep learning scenarios), it's possible to observe a typical behavior of the training process considering both training and the validation cost functions:

 

 Example of early stopping before the beginning of ascending phase of U-curve

During the first epochs, both costs decrease, but it can happen that after a threshold epoch es, the validation cost starts increasing. If we continue with the training process, this results in overfitting the training set and increasing the variance. For this reason, when there are no other options, it's possible to prematurely stop the training process. In order to do so, it's necessary to store the last parameter vector before the beginning of a new iteration and, in the case of no improvements or the accuracy worsening, to stop the process and recover the last parameters. As explained, this procedure must never be considered as the best choice, because a better model or an improved dataset could yield higher performances. With early stopping, there's no way to verify alternatives, therefore it must be adopted only at the last stage of the process and never at the beginning. Many deep learning frameworks such as Keras include helpers to implement an early stopping callback; however, it's important to check whether the last parameter vector is the one stored before the last epoch or the one corresponding to es. In this case, it could be useful to repeat the training process, stopping it at the epoch previous to es (where the minimum validation cost has been achieved).

主站蜘蛛池模板: 西林县| 五河县| 宣汉县| 塔河县| 闽侯县| 莱阳市| 项城市| 东兴市| 南岸区| 蒲江县| 孟津县| 克什克腾旗| 临泉县| 福建省| 孟连| 伊通| 清新县| 西华县| 乌鲁木齐市| 芮城县| 富源县| 潍坊市| 六盘水市| 临清市| 吴桥县| 乌兰县| 津市市| 永年县| 利津县| 新乡县| 县级市| 阜新市| 韶山市| 上林县| 元氏县| 福州市| 怀宁县| 呼和浩特市| 含山县| 永泰县| 田东县|