在应用python进行神经网络训练时,我们需要提供神经网络。如Keras中,

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

损失函数特性

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

损失函数的前提:

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

回归评价函数

绝对值误差
outliers:异常值

平方误差
对异常值敏感原因:x偏移一点点,平方后会更大

分类评价函数

softmax

softmax公式如下

独热编码

cross-entropy loss
yk为真实输出,lk为网络输出,s(lk)表示对网络输出进行softmax,
k表示k个类别


为什么分类不用均方误差做损失函数

二分类
二分类可以不用softmax,使用sigmoid,也不用one-hot

二分类损失函数和多分类损失函数对比,其中σ为sigmoid函数

正则化

正则化可以和损失函数结合起来,防止过拟合
图中L为损失函数

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

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐