专栏首页Petrichor的专栏深度学习: 目标函数

深度学习: 目标函数

Introduction

目标函数 是 深度学习之心,是 模型训练发动机

目标函数 (object function) = 损失函数 (loss function) = 代价函数 (cost function)

其中,模型loss 统称为 non-decay loss正则loss 称为 decay loss

作用:

计算 预测结果 与 真实标记 之间的 误差,并通过 误差反向传播 算法,指挥模型参数 哗啦啦地 刷新

目标函数 类型

主要分为 分类任务目标函数回归任务目标函数。此外往往会加上 附加任务目标函数 (为了 防止过拟合/求得稀疏解 而加入的 正则项 )。

分类任务

假设某分类任务共 NNN 个训练样本,针对网络最后分类层的第 iii 个样本的输入特征为 xixix_{i} ,其对应的真实标记为 yi∈{1,2,...,C}yi∈{1,2,...,C}y_{i}\in\{1, 2, ..., C\} ,另 h=(h1,h2,...,hC)Th=(h1,h2,...,hC)Th={(h_{1}, h_{2}, ..., h_{C})}^{T} 为网络的最终输出,即样本 iii 的预测结果,其中 CCC 为分类任务类别数。

yiyiy_{i}:分类正确时为1,错误时为0; hyihyih_{y_{i}}:分类正确的那一个 hjhjh_{j},可能为负值。

Softmax损失函数

Softmax损失函数(softmax function),又名 交叉熵损失函数 (CE)

该函数 是重要的 深度学习目标函数,也是 Sigmoid函数 的一种 推广。可转换为交叉熵误差 (CE)

CE(y^)=−1n∑k=1n[I{y=y′}log(pt)]CE(y^)=−1n∑k=1n[I{y=y′}log⁡(pt)]

CE(\hat{y}) = - \frac{1}{n} \sum_{k=1}^n [I \{y=y'\} \log(p_t)]

最常用 的分类任务目标函数。

合页损失函数

合页损失函数,hinge loss,主要被运用于SVM中。

L=1N∑i=1Nmax{0,1−hyi}L=1N∑i=1Nmax{0,1−hyi}

L={\frac{1}{N}}{\sum_{i=1}^N}\max\{0, 1-h_{y_{i}}\}

max{0,1−hyi}max{0,1−hyi}\max\{0, 1-h_{y_{i}}\}:保证了每个单样本的损失值不为负。

效果略逊于交叉熵损失函数。

坡道损失函数

坡道损失函数,ramp loss function。

亮点是 增强了 抗噪能力

坡道损失函数 和 Tukey’s biweight 损失函数 并称 鲁棒损失函数

大间隔交叉熵损失函数

引入了SVM的思想,即在 要求 分类正确 之外,还 额外要求 分开的类 需保持较大间隔

较难训练。

但在 分类性能 方面 优于 交叉熵损失函数 和 合页损失函数。

中心损失函数

在 大间隔交叉熵损失函数 的 基础上,更进一步要求 减小类内差异

Focal Loss损失函数

对Softmax损失函数进行“类别平衡”约束。

回归任务

预测误差,即 残差 ,用于 衡量 模型预测值真实标记靠近程度

假设回归问题中,对应第 iii 个输入特征 xixix_{i} 的真实标记为 yi=(y1,y2,...,yM)Tyi=(y1,y2,...,yM)Ty^{i} = (y_{1}, y_{2}, ..., y_{M})^{T} , MMM 为标记向量总维度,则 litltil_{t}^{i} 即表示样本 iii 上网络回归预测值 (y^i)(y^i)(\hat{y}^{i}) 与其真实标记在第 ttt 维的预测误差 (亦称 残差) :

lit=yit−y^itlti=yti−y^ti

l_{t}^{i} = y^{i}_{t} - \hat{y}^{i}_{t}

L1损失函数

L2损失函数

回归精度

少数情况下略优,大部分情况下差不多

收敛速度

略快

运用程度

较常用

最常用

L1损失函数

L=1N∑i=1N∑t=1M|lit|L=1N∑i=1N∑t=1M|lti|

L={\frac{1}{N}} {\sum_{i=1}^N} {\sum_{t=1}^M} \vert l_{t}^{i} \vert

Detection中常用的是 Smooth L1

L2损失函数

L=1N∑i=1N∑t=1M(lit)2L=1N∑i=1N∑t=1M(lti)2

L={\frac{1}{N}} {\sum_{i=1}^N} {\sum_{t=1}^M} ( l_{t}^{i} ) ^{2}

Tukey’s biweight 损失函数

可克服 离群点样本噪声样本 所带来的 干扰鲁棒性 强

其他任务

某些 无法被 简单划归为 分类 或 回归 的任务,需要设计其他的目标函数。

Summary

分类任务

回归任务

真实标记

二值向量

实数向量


[1] 解析卷积神经网络—深度学习实践手册 [2] 深度学习: 分类 目标函数 (交叉熵误差(CE) -> 焦点损失(FL))

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 深度学习: 激活函数 (Activation Functions)

    激活函数(activation function)层又称 非线性映射 (non-linearity mapping) 层,作用是 增加整个网络的非线性(即 表达...

    JNingWei
  • tensorflow: 畅玩tensorboard图表(SCALARS)

    这篇博客建立在你已经会使用tensorboard的基础上。如果你还不会记录数据并使用tensorboard,请移步我之前的另一篇博客:tensorflow: t...

    JNingWei
  • 笔记本Ubuntu系统 开启Wifi

    而目前的UBUNTU系统装机自带的无线网卡驱动大部分都是适用于博通公司(boardcom)

    JNingWei
  • 盘点机器学习中那些神奇的损失函数

    盘点机器学习中那些神奇的损失函数 这周深圳真的变冷,以前读书的时候,只要天气变到我会冷到哆嗦就知道,快过年了,算算,还有21天,2017就过去了,我在2016年...

    企鹅号小编
  • 机器学习(4)——逻辑回归Logistic回归softmax回归

    前言:这里是分类问题,之所以放到线性回归的下面介绍,是因为逻辑回归的步骤几乎是和前面一样的,写出目标函数,找到损失函数,求最小值,求解参数,建立模型,模型评估。...

    DC童生
  • 核方法

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    于小勇
  • 【玩转腾讯云】万物皆可Serverless之关于云函数冷热启动那些事儿

    然后我们再来看一下腾讯云云函数文档里的简介 https://cloud.tencent.com/document/product/583/9199

    乂乂又又
  • 深入理解JavaScript函数 原

        从功能上理解,函数是一组可以随时运行的语句,是一段代码块,也是所谓的子程序。在JavaScript中,函数实质上也是一种对象,是Function对象。函...

    珲少
  • 护网杯pwn——huwang超详细wp

    比赛结束快一个星期了,复现了一下这道题,借鉴了一下网上的wp发现大佬们写的都很简略,所以这里写一个详细的wp供小白们学习。

    安恒网络空间安全讲武堂
  • 多长的函数才算过长的函数?

    在《重构》中,有一个代码坏味道叫 过长的函数。这听起来真是一个不负责任的描述,多长的函数才算长?老马觉得长,可能Kent Beck觉得还好。你觉得不长,你的Pa...

    袁慎建@ThoughtWorks

扫码关注云+社区

领取腾讯云代金券