本文转载自:http://www.cnblogs.com/jianyingzhou/p/4094095.html,感谢作者的热心分享!

进一步了解可以看这篇博文:http://www.cnblogs.com/rocketfan/p/4083821.html

损失函数,一般由两项组成,一项是loss term,另外一项是regularization term。

J=L+R

先说损失项loss,再说regularization项。

1. 分对得分1,分错得分0.gold standard

2. hinge loss(for softmargin svm),J=1/2||w||^2 + sum(max(0,1-yf(w,x)))

3. log los, cross entropy loss function in logistic regression model.J=lamda||w||^2+sum(log(1+e(-yf(wx))))

4. squared loss, in linear regression. loss=(y-f(w,x))^2

5. exponential loss in boosting. J=lambda*R+exp(-yf(w,x))

再说regularization项,

一般用的多的是R2=1/2||w||^2,R1=sum(|w|)。R1和R2是凸的,同时R1会使得损失函数更加具有sparse,而R2则会更加光滑些。具体可以参见下图:

caffe的损失函数,目前已经囊括了所有可以用的了吧,损失函数由最后一层分类器决定,同时有时会加入regularization,在BP过程中,使得误差传递得以良好运行。

contrastive_loss,对应contrastive_loss_layer,我看了看代码,这个应该是输入是一对用来做验证的数据,比如两张人脸图,可能是同一个人的(正样本),也可能是不同个人(负样本)。在caffe的examples中,siamese这个例子中,用的损失函数是该类型的。该损失函数具体数学表达形式可以参考lecun的文章Dimensionality Reduction by Learning an Invariant Mapping, Raia Hadsell, Sumit Chopra, Yann LeCun, cvpr 2006.

euclidean_loss,对应euclidean_loss_layer,该损失函数就是l=(y-f(wx))^2,是线性回归常用的损失函数。

hinge_loss,对应hinge_loss_layer,该损失函数就是。主要用在SVM分类器中。

infogain_loss,对应infogain_loss_layer,损失函数表达式没找到,只知道这是在文本处理中用到的损失函数。

multinomial_logistic_loss,对应multinomial_logistic_loss_layer,

sigmoid_cross_entropy,对应sigmoid_cross_entropy_loss_layer,也就是logistic regression使用的损失函数。

softmax_loss,对应softmax_loss_layer,损失函数等可以见UFLDL中关于softmax章节。在caffe中多类分类问题,损失函数就是softmax_loss,比如imagenet, mnist等。softmax_loss是sigmoid的多类问题。但是,我就没明白,multinomial_logistic_loss和这个有什么区别,看代码,输入有点差别,softmax的输入是probability,而multinomial好像不要求是probability,但是还是没明白,如果只是这样,岂不是一样啊?

这里详细说明了两者之间的差异,并且有详细的测试结果,非常赞。简单理解,multinomial 是将loss分成两个层进行,而softmax则是合在一起了。或者说,multinomial loss是按部就班的计算反向梯度,而softmax则是把两个步骤直接合并为一个步骤进行了,减少了中间的精度损失等 ,从计算稳定性讲,softmax更好,multinomial是标准做法,softmax则是一种优化吧。

转自caffe:

Softmax

  • LayerType: SOFTMAX_LOSS

The softmax loss layer computes the multinomial logistic loss of the softmax of its inputs. It’s conceptually identical to a softmax layer followed by a multinomial logistic loss layer, but provides a more numerically stable gradient.

references:

http://www.ics.uci.edu/~dramanan/teaching/ics273a_winter08/lectures/lecture14.pdf

http://caffe.berkeleyvision.org/tutorial/layers.html

Bishop, pattern recognition and machine learning

http://deeplearning.stanford.edu/wiki/index.php/Softmax%E5%9B%9E%E5%BD%92

http://freemind.pluskid.org/machine-learning/softmax-vs-softmax-loss-numerical-stability/

caffe中的loss函数简单介绍相关推荐

  1. caffe中各种loss函数

    转自: http://www.mamicode.com/info-detail-594961.html Caffe中的损失函数解析 导言 在有监督的机器学习中,需要有标签数据,与此同时,也需要有对应的 ...

  2. php有lambda表达式吗,Python中lambda表达式的简单介绍(附示例)

    本篇文章给大家带来的内容是关于Python中lambda表达式的简单介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一:匿名函数的定义 lambda parameter ...

  3. PowerBI中使用SVG图标简单介绍

    PowerBI中使用SVG图标简单介绍 1. 什么是SVG? SVG 意为可缩放矢量图形(Scalable Vector Graphics). SVG 是使用 XML 来描述二维图形和绘图程序的语言. ...

  4. 浏览器中 F12 功能的简单介绍

    chrome浏览器中 F12 功能的简单介绍 由于F12是前端开发人员的利器,所以我自己也在不断摸索中,查看一些博客和资料后,自己总结了一下来帮助自己理解和记忆,也希望能帮到有需要的小伙伴,嘿嘿! 首 ...

  5. python shelve模块_Python中shelve模块的简单介绍(附示例)

    本篇文章给大家带来的内容是关于Python中shelve模块的简单介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. shelve:对象持久化的保存的模块,将对象保存到文件 ...

  6. python中mean的用法_python 的numpy库中的mean()函数用法介绍

    1. mean() 函数定义: numpy.mean(a, axis=None, dtype=None, out=None, keepdims=)[source] Compute the arithm ...

  7. oracle同sql中isnull无法,SQL中的ISNULL函数使用介绍

    这篇文章主要为大家详细介绍了SQL中的ISNULL函数使用介绍,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! ISNULL 使用指定的替换值替换 ...

  8. python 的numpy库中的mean()函数用法介绍

    这篇文章主要介绍了python 的numpy库中的mean()函数用法介绍,具有很好对参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 mean() 函数定义: 2 mean()函数功能: 求取均 ...

  9. 【新手指南】Python中的listdir()函数的介绍

    [新手指南]Python中的listdir()函数的介绍 在用pytorch导入dataset的时候对listdir()函数产生的是文件还是文件夹一直都有疑问,所以自己先在网上找了一段小代码调试,先小 ...

最新文章

  1. 陆奇要离职?先看看百度财报吧
  2. 80 年代以来的操作系统 GUI 设计进化史
  3. pl/sql基础练习
  4. 台式计算机视频设备打不开,电脑视频设备被占用未能创建视频预览怎么办
  5. PHP最彻底的退出登录,清除session、cookie的代码
  6. 库仑计DS2781通信失败
  7. 大众点评社区运营攻略
  8. 稀土铕Eu-ps微球|聚苯乙烯荧光微球-红色荧光100nm~500nm
  9. 记一次云主机如何挂载对象存储
  10. 苹果尝试支持AdobeFlash,结果尴尬了
  11. win10网络重置后无法发现网络,Wlan选项消失,有线网络不识别
  12. java @around_正确理解Spring AOP中的Around advice
  13. 搭建TDH商业大数据平台社区版(附其他主流商业大数据平台下载汇总)
  14. JAVA基础复习(一)
  15. 优达学城机器学习之--支持向量机(SVM)
  16. 仙游一中,郑毓煌:“演义”人生
  17. Pycharm mac 语法检测失效
  18. win10设置里找不到以太网
  19. 天载优配解读指数下跌接近尾声
  20. 应用回归分析期末考试知识点总结

热门文章

  1. 序列化Serializable serialVersionUID的作用
  2. 博客内容导航——你想要的我都有!
  3. Android和Java中的回调函数
  4. 多节点Linux部署
  5. 华为荣耀V20存瑕疵,证明三星在技术上还是要强一些
  6. 这几款浏览器插件提升科研效率,2023年你安装上了吗
  7. Linux与数据结构 2019-2-1
  8. 【建议收藏】ChatGPT 联网版抢先体验,学会这 8 大高阶实用技巧,让你秒上手!
  9. 有趣python小程序系列之一
  10. 交易猫鲨鱼系统源码搭建