神经网络的损失函数讲解

在应用python进行神经网络训练时,我们需要提供神经网络。如Keras中,
神经网络的损失函数讲解_第1张图片

定义:在深度学习中。损失函数是用来衡量一组参数好坏的函数,其衡量方式是比较网络输出和真实输出的差异。
损失函数有很多别名:价值函数,目标函数,误差函数
损失函数并不使用测试数据来衡量网络的性能,损失函数用来指导训练过程,使得网络的参数向损失降低的方向改变。
训练过程:
人工智能的本质:最优化 (神经网络优化算法python手写实现)

损失函数特性

  1. 最小值,当网络的输出值和真实值一致时,损失为0,真实输出和网络输出越不一致时值越大。
  2. 损失函数要求是凸函数,容易可导。需要根据输出的变化而平滑的变化,如果不容易求导会导致训练过程缓慢。

损失函数的前提:
神经网络的损失函数讲解_第2张图片

不同的任务类型需要不同的损失函数
回归型:绝对值误差,平方误差
分类型:hinge loss ,cross-entropy loss

回归评价函数

绝对值误差
outliers:异常值
神经网络的损失函数讲解_第3张图片

平方误差
对异常值敏感原因:x偏移一点点,平方后会更大
神经网络的损失函数讲解_第4张图片

分类评价函数

神经网络的损失函数讲解_第5张图片

softmax
神经网络的损失函数讲解_第6张图片
softmax公式如下
神经网络的损失函数讲解_第7张图片

独热编码
神经网络的损失函数讲解_第8张图片

cross-entropy loss
yk为真实输出,lk为网络输出,s(lk)表示对网络输出进行softmax,
k表示k个类别
神经网络的损失函数讲解_第9张图片
神经网络的损失函数讲解_第10张图片
为什么分类不用均方误差做损失函数
神经网络的损失函数讲解_第11张图片

二分类
二分类可以不用softmax,使用sigmoid,也不用one-hot
神经网络的损失函数讲解_第12张图片
二分类损失函数和多分类损失函数对比,其中σ为sigmoid函数
神经网络的损失函数讲解_第13张图片

正则化

正则化可以和损失函数结合起来,防止过拟合
图中L为损失函数
神经网络的损失函数讲解_第14张图片

在这里插入图片描述
作者:电气工程的计算机萌新-余登武
在这里插入图片描述

你可能感兴趣的:(算法笔记,神经网络,python)