训练深度学习神经网络的罕用5个损失函数
本文目录导航:
训练深度学习神经网络的罕用5个损失函数
神经网络训练时,误差预计是关键步骤,损失函数则是选择模型权重降级的外围。
选用适宜的损失函数对模型功能至关关键,其选用与所处置的疑问类型严密关系。
本文将具体引见五种经常出现的损失函数,涵盖回归模型和二元分类疑问。
回归模型通常驳回均方误差损失函数(MSE),在指标变量听从高斯散布时成果最佳。
MSE经过计算预测值与实践值之间的平方差来评价模型功能。
在Keras中,经过设置“mse”或“mean_squared_error”作为损失函数,可以成功MSE的计算。
例如,以下代码展现了回归疑问的完整示例,结果显示模型收敛速度快,功能稳固。
关于具备宽泛值的回归疑问,均方对数误差损失函数(MSLE)或者更为适宜。
MSLE首先计算预测值的人造对数,以减轻预测大值时的处罚成果。
在Keras中,经常使用“mean_squared_logarithmic_error”作为损失函数。
上方的示例展现了经常使用MSLE的完整代码,结果显示与MSE相比,模型在训练和测试数据集上的功能略有降低。
平均相对误差损失函数(MAE)实用于回归疑问,特意是在存在意外值的状况下。
MAE经过计算实践值与预测值的相对差值并取平均值来评价模型功能。
经常使用“mean_absolute_error”作为损失函数,这是MAE的完整代码示例。
结果标明,MAE在疑问中的收敛状况良好,但或者不适宜指标变量为高斯散布且无大离群值的状况。
二元分类疑问通常驳回二元交叉熵损失函数(BCE),在最大似然推理框架下,它是首选损失函数。
BCE经过计算实践和预测概率散布之间的平均差异来评价模型功能。
在Keras中,经过设置“binary_crossentropy”作为损失函数,可以成功BCE的计算。
输入层需蕴含一个节点和“sigmoid”激活函数以预测类1的概率。
代码示例显示模型对疑问的学习成果良好,测试数据集上的准确率凑近85%。
允许向量机(SVM)模型则偏差于经常使用Hinge损失函数,该损失函数在二元分类疑问中有时能提供优于交叉熵的功能。
Hinge损失函数旨在与二进制分类一同经常使用,指标值位于汇合[-1, 1]中。
在处置二元分类疑问时,Hinge损失函数的代码成功包括修正指标变量值至{-1, 1}汇合,网络输入层经常使用tanh激活函数的单个节点输入介于-1和1之间的值。
虽然功能略逊于BCE,但Hinge损失函数在特定疑问上或者更为实用。
总之,选用适宜的损失函数是构建高效神经网络的关键。
不同疑问类型须要对应不同的损失函数,经过通常和调整,可以找到最适宜特定义务的损失函数,从而提升模型功能。
教你如何用Keras搭建分类神经网络
摘要:本文关键经过Keras成功了一个分类学习的案例,并具体引见了MNIST手写体识别数据集。
分类学习,属于有监视学习中的一类,它是数据开掘、机器学习和数据迷信中一个关键的钻研畛域。
分类模型相似于人类学习的模式,经过对历史数据或训练集的学习获取一个指标函数,再用该指标函数预测新数据集的未知属性。
分类模型关键包括两个步骤:训练数据集用来训练模型,测试集用来测验多少类标签被正确分类。
回归与分类的区别在于,回归是用来预测延续的实数值,如给定了屋宇面积来预测屋宇多少钱;而分类是用来预测有限的团圆值,如判别一团体能否患糖尿病,前往值是“是”或“否”。
明白对象属于哪个预约义的指标类,预约义的指标类是团圆值时为分类,延续值时为回归。
MNIST是手写体识别数据集,它是十分经典的一个神经网络示例。
MNIST图片数据集蕴含了少量的数字手写体图片,数据集共蕴含三局部:训练数据集、验证数据集和测试数据集。
其中训练数据集用来训练模型,验证数据集用来测验所训练进去的模型的正确性和能否过拟合,测试集是无法见的,咱们最终的目的是使得所训练进去的模型在测试集上的成果到达最佳。
在Keras中成功MNIST分类的步骤如下:第一步,导入裁减包。
第二步,载入MNIST数据及预处置。
第三步,创立神经网络层。
第四步,神经网络训练及预测。
完整代码如下所示,经过训练和预测,可以看到误差始终减小、正确率始终增大。
最终测试输入的误差loss为“0.”,正确率为“0.”。
假设读者想更直观地检查数字分类的图形,可以定义函数并显示。
Keras中成功网络输入层、全衔接层的函数是什么?
在Keras中,成功网络输入层和全衔接层的函数区分是Input()和Dense()。