前言
本文分为两部分:
1、损失函数、代价函数、目标函数
包括keras中常用损失函数及其使用场景
2、优化函数
一、损失函数、代价函数、目标函数
1、损失函数:衡量预测值与真实值的偏离程度,损失函数就是一个”裁判“,判断函数拟合的效果好不好,评价网络训练的好坏,所以它是一个评价指标。损失函数是针对一个样本的,即一个样本的预测值与其真实值的差距,误差越小,拟合的越好。
2、代价函数:针对整个训练集,将每个样本的损失函数求和得到
3、目标函数:表示希望被优化的函数,是一个更为通用的术语
三者关系:针对整个训练集而言,损失函数是代价函数的一部分,而损失函数与代价函数均可以称为目标函数,它们都是需要被优化的对象
keras中常用损失函数及其使用场景介绍
损失函数的使用场景分类可对应为回归问题与分类问题
回归问题
如房价预测,股价预测,这种问题的神经网络输出层只有一个节点,输出值即预测值
mean_squared_error(mse):均方误差(回归问题常用)
Root Mean Square Error(RMSE):均方根误差
mean_absolute_error(mae):平均绝对误差(评估监测指标通常为MAE)
mean_absolute_percentage(mape):平方绝对百分比误差(0%-100%)
分类问题
如手写数字,判断是不是猫
binary_crossentropy:对数损失误差 ---- 二分类,如猫狗识别
categorical_crossentropy:多类对数损失误差 ---- 多分类,如手写数字
二、常用优化函数(optimizer):
- SGD: 随机梯度下降
- Adam(最常用)
- RMSProp
model.compile(optimizer=Adam(lr=0.001), loss="categorical_crossentropy", metrics=["accuracy"])