zoukankan      html  css  js  c++  java
  • 损失函数

    一、定义

    在深度学习中,损失函数是用来衡量一组参数的质量的函数,衡量的方式是比较网络输出和真实输出的差异。

    二、命名

     损失函数 loss function		=	代价函数cost function
    =目标函数objective function	=	误差函数error function
    

    他们的含义是一样的
    也有的资料中用损失函数指单个数据的偏差,用代价函数指整体数据的偏差。

    三、损失函数的作用

    损失函数用来指导训练过程,使得网络的参数向损失降低的方向改变。

    3.1 训练方法

    随机梯度下降法Stochastic gradient descent.

    • 试图找到一组参数使得损失函数的值越小越好.
    • 调整参数的大小和方向取决于损失函数相对于参数的偏导数:

    在这里插入图片描述

    3.2 损失函数的选取原则

    • (1)最小值(0):当网络的输出和真实输出一致
    • (2)当输出和真实输出越不–致时值越大
    • (3)理想情况→convex凸函数,实际上→not convex非凸函数
    • (4)需要根据输出的变化而平滑的变化
    • (5)需要可导(SGD优化)
    • (6)需要容易求导
      在这里插入图片描述

    四、常用的损失函数

    不同的任务类型需要不同的损失函数:

    4.1 回归Regression问题

    网络输出一个连续的数值:例如:预测一栋房屋的价值
    损失函数:绝对值误差,平方差

    绝对误差函数Absolute value, L1-norm

    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述因为导数一样,离真值的远近不换导致其导数变化

    方差函数Square error, Euclidean loss,L2-norm

    在这里插入图片描述在这里插入图片描述在这里插入图片描述因为离真值的越远,导致其导数越大

    4.2 分类Classification问题

    网络的输出为一个类别,从预定义的一组类别中的一个
    实例:判断邮件是否是垃圾邮件.
    损失函数: hinge loss, Cross-entropy loss

    如何设计损失函数?

    4.2.1 单label问题

    • 将真实的唯一输出编码为一个向量→独热编码One-hot encoding
      在这里插入图片描述
    • 非概率的解释→hingeloss
    • 概率解释:将输出转换为概率函数→Softmax,概率的值范围为0.0到1.0,属于所有类别的概率之和为1.0。
      在这里插入图片描述

    在这里插入图片描述

    Cross-entropy loss

    在这里插入图片描述
    在这里插入图片描述

    4.2.2 多label问题

    输出属于多个类别中的一个或者多个类,例如一副包含猫咪的图像可以同时属于“猫” ,“哺乳动物” ,“宠物”

    • 对每一个输出独立使用Sigmoid激活函数,不使用softmax
      在这里插入图片描述 总结:
      在这里插入图片描述
  • 相关阅读:
    Golang的安装包方法
    Debian kvm网络配置
    Debian-Linux配置网卡网络方法
    KVM虚拟机网络配置 Bridge方式,NAT方式
    WebRTC之框架与接口
    WebRTC
    关于golang.org/x包问题
    http内网转发
    linux服务器可以访问IP访问不了域名地址
    golang--生成某区间的随机数
  • 原文地址:https://www.cnblogs.com/long5683/p/12885758.html
Copyright © 2011-2022 走看看