对损失函数的总结(持续更新)
面试中被boss问到我了解的损失函数有哪些???瞬间懵逼。。
现在总结几种常见的损失函数:
(1)0-1损失:L = L(Y, f(x)) = 1 if ( Y != f(x)) else 0
01损失感觉实际使用的地方很少,只是判断函数值是否为GT,而且这个损失函数是非凸的,可以统计有多少样本预测出错。
勘误:01损失在SVM中出现,只是由于01误差非凸,不连续的数学性质不好,导致目标函数不易求解,所以一般使用Hingeloss来代替, 称为代替损失,一般代替损失是凸的连续函数且是01损失的上届(画图证明)
(2)平方损失 也就是均方误差MSE:
L(Y, f(x)) = (Y - f(x)) ^ 2
这个函数最普遍使用。存在一些问题在于:当预测的值偏差很大的时候损失会很大(损失>1时进行平方就很大,反之在损失<1时平方就会很小),而且每个样本的权重是一样的(均等化)。但是在我们自己项目中需要这样属性(就是针对不同部位的偏差,得到不同量级的损失-》基于Hip的中心点偏差,手臂和腿活动范围较大,所以会导致最后预测位置的损失较大,那么网络会更关注在手腿部位,而头、脊椎活动范围较小而且离hip较近则损失较小,反向传播时梯度也不大,这样就和手腿进行差别化学习)。
(3)绝对损失函数:
L(Y,f(x) ) = |Y - f(x)|
这种损失函数也使用的比较少,然鹅在RPN网络得到最后的损失是Smooth l1 loss. 也就是在|x| < 1部分 损失函数为1/2 |x|^2, 在|x| > 1部分 损失函数为|x| , 这样画出来的函数图像据说是对离群点更鲁棒(我个人理解就是对L1loss求导 得到的梯度就是(+/- )f'(x), 而对L2损失求导得到梯度为(Y- f(x)) * f'(x)), 即当f(x)非常诡异的时候L1loss梯度更新时只跟f'(x)相关,和最终预测值无关。当出现异常值时L2loss求得到导数容易爆炸。可以说L1损失能避免离群点导致的梯度爆炸。
(4)对数损失 或者称为对数似然损失函数
L(Y , P(Y|X)) = -log P(Y|X)
这种损失函数就是LR中目标函数。
最后来个装逼的Multi-task loss:
在物体检测任务中出现最多,例如Yolo中最终损失为包括标签预测的评分损失,还有IOU损失,还有BB的h、w损失。我个人理解的多任务损失就是多种损失利用一些超参来联系到一起去。这样存在一些道理就是在最后对优化的参数求导时,无关项直接舍去。
对损失函数的总结(持续更新)相关推荐
- SKlearn中的函数学习总结(持续更新)
关于SKlearn中的函数学习及关键代码部分,会持续更新 (参考sklearn官方文档) 一:分类.回归 二:降维 三:模型评估与选择 四:数据预处理 五:模型保存 大类 小类 适用问题 实现文档 说 ...
- 机器学习面试经验--2017年持续更新
机器学习面试经验--2017年持续更新 搜狐面试算法实习生 岗位搜狐后台开发(机器学习NLP) 10:00--11:10 1.首先自我介绍,blabla简单介绍了一下本科研究生学校专业方向,面试官开始 ...
- 【持续更新】一些Trick
这一篇用于记录一些学习中收获的trick,持续更新. Linux 指令 查看GPU状态 :watch -n1 gpustat 查看CPU进程 : top ssh远程连接服务器: ssh ...
- 机器学习算法岗:常见面试问题及解答整理,持续更新
机器学习算法岗:常见面试问题及解答整理,持续更新 一.决策树ID3和C4.5的差别?各自优点? ID3算法: C4.5算法: 差异: 二.过拟合的原因及如何防止 三.几种模型( SVM,LR,GBDT ...
- 机器学习,深度学习基础算法原理详解(图的搜索、交叉验证、PAC框架、VC-维(持续更新))
机器学习,深度学习基础算法原理详解(图的搜索.交叉验证.PAC框架.VC-维.支持向量机.核方法(持续更新)) 机器学习,深度学习基础算法原理详解(数据结构部分(持续更新)) 文章目录 1. 图的搜索 ...
- 【学习经验分享NO.16】超全代码-python画Sigmoid,ReLU,Tanh等十多种激活函数曲线及其梯度曲线(持续更新)
文章目录 前言 1. Sigmoid 2. tanh 3. ReLU 4. Leaky ReLU 5. ELU 6.PReLU 7. Softmax 8. Swish 9. Maxout 10. So ...
- 学习知识汇总(持续更新......)
章节 内容 常用 Colab使用教程 csdn博客编辑教程目录 新版CSDN编辑器示例(代码及显示样式) 如何快速转载CSDN中的博客 B站视频资料汇总 系统 windows10和安装linux双系统 ...
- 基于PaddleOCR的FCENet论文总结和代码详解(持续更新)
Fourier Contour Embedding for Arbitrary-Shaped Text Detection 文末有总结一些CVPR有关OCR领域的最新论文及代码地址 Contribut ...
- 智能交通流量预测方案收集(持续更新)
交通流量预测应用方案收集(欢迎补充.持续更新-) 论文&方案合集 基于时间图卷积网络(T-GCN)交通流预测(A Temporal Graph Convolutional Network fo ...
- PyTorch:tensor、torch.nn、autograd、loss等神经网络学习手册(持续更新)
PyTorch1:tensor2.torch.nn.autograd.loss等神经网络学习手册(持续更新) 链接:画图.读写图片 文章目录 一.tensor 二.完整训练过程:数据.模型.可学习参数 ...
最新文章
- mybatis ResultMap
- 鱼油账号记录程序 - 零基础入门学习Delphi38
- 安装pyspider后运行pyspider all后遇到的问题
- Habana Labs
- python与人工智能编程-Python是人工智能和机器学习的最佳编程语言,证据在此!...
- Java NIO原理 图文分析及代码实现
- 华为+京东数科(原京东金融)面经--Java后台开发
- 通向架构师的道路(第四天)之Tomcat性能调优-让小猫飞奔
- php熊掌号怎么设置json-ld,dedecms织梦系统对接百度熊掌号并添加JSON_LD数据
- 根据用户查进程_Linux中的系统进程管理
- 安卓中的布局属性详解
- C基础——fopen() 的 mode参数
- 正则解析多重循环模板
- 用计算机怎么算lnk,lnk格式怎么处理!我的电脑除了系统自带其他软件都变成lnk格式...
- MacOSX 下.app支持同时运行多个实例
- char,varchar,nvarchar以及datetime和smalldatetime的区别
- 微信小程序往数组中添加元素对象
- 题目95:百鸡问题:一只公鸡值5元,一只母鸡值3元,而1元可买3只小鸡,用百元买百鸡。现有n元钱,想买n只鸡。问有多少种买法?(钱要用完)
- 宝塔BT面板无法启动修复方法
- 将毫秒转换为时间(HH:ss:mm)
热门文章
- 【debug】UnboundLocalError local variable a referenced before assignment
- 东财网络学校计算机统考真题,东北财经大学网络教育学院高中起点计算机基础入学测试模拟题(一)...
- drupal7 node.tpl.php,使用Drupal 7在custom - node.tpl.php中顯示CCK字段(無格式化)
- web 服务器 内存 影响_工业环境软件套件 CODESYS web 服务器被曝严重的RCE漏洞
- C# 微信开发-----微信会员卡(一)
- ConcurrentHashMap笔记
- 测试或运维工作过程中最常用的几个linux命令?
- Sharepoint COMException 0x81020037
- sscanf解析复杂字符串,双引号通配符的使用问题
- HDU-2448 Mining Station on the Sea