深度学习-理解keras中的loss和val_loss


前言

刚开始使用Keras时,对每轮训练反馈的loss和val_loss不怎么了解,在查阅资料以及几次训练后,作出以下记录,若有错误,欢迎指出。


目录

前言

一、理解train和test

二、理解loss和val_loss


一、理解train和test

train(set):训练集是用来运行学习算法

test(set):测试集用来评估算法性能,但不会据此改变学习算法或参数。因此我们可以引入development(set),也叫validation(set),来调整参数,选择特征,以及对学习算法作出其他决定。本文先忽略验证集讲解。

常规的训练集和测试集的比例为0.7:0.3,引入验证集后常采用0.6:0.2:0.2.

在保证算法稳定的情况下,训练集和测试集的选取会对输出结果造成不同层次的影响。


二、理解loss和val_loss

loss:训练集的损失值。

val_loss:测试集的损失值。

常规训练规律:

loss下降,val_loss下降:训练网络正常,最好情况。

loss下降,val_loss稳定:网络过拟合化,可以使用正则化和Max pooling。

loss稳定,val_loss下降:数据集有严重问题,建议重新选择。

loss稳定,val_loss稳定:学习过程遇到瓶颈,需要减小学习率或批量数目,可以减少学习率。

loss上升,val_loss上升:网络结构设计问题,训练超参数设置不当,数据集经过清洗等问题,最差情况。

以上的下降、稳定和上升指的是整体训练趋势。

 

 


 

你可能感兴趣的:(机器学习,深度学习)