前言

本文分为两部分:
1、损失函数、代价函数、目标函数
包括keras中常用损失函数及其使用场景
2、优化函数

一、损失函数、代价函数、目标函数

1、损失函数:衡量预测值与真实值的偏离程度,损失函数就是一个”裁判“,判断函数拟合的效果好不好,评价网络训练的好坏,所以它是一个评价指标。损失函数是针对一个样本的,即一个样本的预测值与其真实值的差距,误差越小,拟合的越好。

强化学习的损失函数是奖励吗 损失函数和优化函数_损失函数


2、代价函数:针对整个训练集,将每个样本的损失函数求和得到

强化学习的损失函数是奖励吗 损失函数和优化函数_深度学习_02

3、目标函数:表示希望被优化的函数,是一个更为通用的术语
三者关系:针对整个训练集而言,损失函数是代价函数的一部分,而损失函数与代价函数均可以称为目标函数,它们都是需要被优化的对象

keras中常用损失函数及其使用场景介绍

损失函数的使用场景分类可对应为回归问题分类问题

回归问题

如房价预测,股价预测,这种问题的神经网络输出层只有一个节点,输出值即预测值

mean_squared_error(mse):均方误差(回归问题常用)

强化学习的损失函数是奖励吗 损失函数和优化函数_损失函数_03

Root Mean Square Error(RMSE):均方根误差

强化学习的损失函数是奖励吗 损失函数和优化函数_神经网络_04

mean_absolute_error(mae):平均绝对误差(评估监测指标通常为MAE)

强化学习的损失函数是奖励吗 损失函数和优化函数_深度学习_05

mean_absolute_percentage(mape):平方绝对百分比误差(0%-100%)

强化学习的损失函数是奖励吗 损失函数和优化函数_深度学习_06

分类问题

如手写数字,判断是不是猫
binary_crossentropy:对数损失误差 ---- 二分类,如猫狗识别

categorical_crossentropy:多类对数损失误差 ---- 多分类,如手写数字

二、常用优化函数(optimizer):

  1. SGD: 随机梯度下降
  2. Adam(最常用)
  3. RMSProp


如kears中代码

model.compile(optimizer=Adam(lr=0.001), loss="categorical_crossentropy", metrics=["accuracy"])