损失函数(Loss function)是用来估量你模型的预测值 f(x)f(x)值。

2. 常用损失函数

常见的损失误差有五种:
1. 铰链损失(Hinge Loss):主要用于支持向量机(SVM) 中;
2. 互熵损失 (Cross Entropy Loss,Softmax Loss ):用于Logistic 回归与Softmax 分类中;
3. 平方损失(Square Loss):主要是最小二乘法(OLS)中;
4. 指数损失(Exponential Loss) :主要用于Adaboost 集成学习算法中;
5. 其他损失(如0-1损失,绝对值损失)

2.1 Hinge loss

Hinge loss 的叫法来源于其损失函数的图形,为一个折线,通用的函数表达式为:

L(mi)=max(0,1−mi(w))L(mi)=max(0,1−mi(w))

在机器学习中,Hing 可以用来解 间距最大化 的问题,最有代表性的就是SVM 问题,最初的SVM 优化函数如下:

argminw,ζ12||w||2+C∑iζist.∀yiwTxi≥1−ζiζi≥0argminw,ζ12||w||2+C∑iζist.∀yiwTxi≥1−ζiζi≥0

因此, SVM 的损失函数可以看作是 L2-norm 和 Hinge loss 之和

2.2 Softmax Loss

有些人可能觉得逻辑回归的损失函数就是平方损失,其实并不是。平方损失函数可以通过线性回归在假设样本是高斯分布的条件下推导得到,而逻辑回归得到的并不是平方损失。在逻辑回归的推导中,它假设样本服从伯努利分布(0-1分布),然后求得满足该分布的似然函数,接着取对数求极值等等。而逻辑回归并没有求似然函数的极值,而是把极大化当做是一种思想,进而推导出它的经验风险函数为:最小化负的似然函数(即maxF(y,f(x))→min−F(y,f(x)))maxF(y,f(x))→min−F(y,f(x)))。从损失函数的视角来看,它就成了Softmax 损失函数了。

log损失函数的标准形式:

L(Y,P(Y|X))=−logP(Y|X)L(Y,P(Y|X))=−log⁡P(Y|X)

了。

逻辑回归的P(Y=y|x)P(Y=y|x) ):

其中

hθ(x)=11+exp(−f(x))hθ(x)=11+exp⁡(−f(x))

2.3 Squared Loss

最小二乘法是线性回归的一种,OLS将问题转化成了一个凸优化问题。在线性回归中,它假设样本和噪声都服从高斯分布(中心极限定理),最后通过极大似然估计(MLE)可以推导出最小二乘式子。最小二乘的基本原则是:最优拟合直线应该是使各点到回归直线的距离和最小的直线,即平方和最小

平方损失(Square loss)的标准形式如下:

L(Y,f(X))=(Y−f(X))2L(Y,f(X))=(Y−f(X))2

当样本个数为nn 表示残差,整个式子表示的是残差平方和 ,我们的目标就是最小化这个目标函数值,即最小化残差的平方和

在实际应用中,我们使用均方差(MSE)作为一项衡量指标,公式如下:

MSE=1n∑i=1n(Yi~−Yi)2MSE=1n∑i=1n(Yi~−Yi)2

2.4 Exponentially Loss

损失函数的标准形式是:

L(Y,f(X))=exp[−Yf(X)]L(Y,f(X))=exp⁡[−Yf(X)]

关于Adaboost的详细推导介绍,可以参考Wikipedia: AdaBoost或者李航《统计学习方法》P145。

2.5 其他损失

0-1 损失函数

L(Y,f(X))={01ifY≠f(X)ifY=f(X)L(Y,f(X))={0ifY≠f(X)1ifY=f(X)

上述几种损失函数比较的可视化图像如下:

3. Hinge loss 与 Softmax loss

SVMSoftmax分类器是最常用的两个分类器。

  1. SVM将输出 f(xi,W)f(xi,W) 作为每个分类的评分(没有规定的标准,难以直接解释);
  2. 与SVM 不同,Softmax 分类器可以理解为逻辑回归分类器面对多个分类的一般话归纳,其输出(归一化的分类概率)更加直观,且可以从概率上解释。

在Softmax分类器中, 函数映射f(xi,W)f(xi,W) 保持不变,但将这些评分值看做每个分类未归一化的对数概率,且将折叶损失替换为交叉熵损失(cross-entropy loss),公式如下:

Li=−log(efyi∑jefj)Li=−log⁡(efyi∑jefj)

fjfj 个元素,和SVM一样,整个数据集的损失值是数据集中所有样本数据的损失值Li的均值和正则化损失之和。

概率论解释:

P(yi|xi,W)=efyi∑jefjP(yi|xi,W)=efyi∑jefj

解释为给定数据xixi 的归一化概率。

实际操作注意事项——数值稳定: 编程实现softmax函数计算的时候,中间项efyiefyi ,并把它变换到求和之中,就能得到一个等价公式:

P(yi|xi,W)=CefyiC∑jefj=ef

各种损失函数比较-带你斩获offer相关推荐

  1. 在线GPU分布式实验环境+企业级项目,轻松斩获offer

    前 言 开课吧AI学院在前四期具有求职意向的同学中,已经有80%的同学拿到了国内外名企的AI算法岗位offer,或者国外名校的AI 硕士.全奖博士录取 offer. 在大家的认可下,我们对课程做了全面 ...

  2. 中电福富外包offer要等多久_校招|双非本科,非科班,自学JAVA 1年时间终于斩获offer!...

    作者:最终幻想土豆 链接:https://www.nowcoder.com/discuss/173622 来源:牛客网 坐标苏州,双非本科,专业环境工程,之前没有任何编程经验,历经一年努力,终于在春招 ...

  3. 逆天改命,专科学历,五面京东成功斩获Offer

    个人背景:专科学历,java开发3年,跳槽2次,无大厂经历,京东内推.整体感觉不错的面试经历,最后成功斩获Offer. 一.面试流程 (1)上机题(60分钟100道选择题,单选多选混合的) (2)技术 ...

  4. 斩获 offer 的 Java 面试宝典

    文章目录 1. 微服务 1.1 主流注册中心对比 1.2 eureka 心跳检测和自我保护机制 1.3 Ribbon 负载均衡策略 1.4 Hystrix 舱壁模式 1.5 Hystrix 工作模式 ...

  5. java写入文件不覆盖,斩获offer

    基本知识 1.学会分析源码 程序员每天都和代码打交道.经过数年的基础教育和职业培训,大部分程序员都会「写」代码,或者至少会抄代码和改代码.但是,会读代码的并不在多数,会读代码又真正读懂一些大项目的源码 ...

  6. 外包两年,有幸获得华为社招od岗内推机会,历经四面成功斩获offer!

    1.闲聊 流程:投简历,机试,性格测试,两轮技术面,HR面&部门总管面 目前状态:面完部门面,等待后续...希望通过..)) 2. 机试 机试就在牛客网上做,牛客网有一个华为的题库,可以提前去 ...

  7. 大裁员席卷阿里,P9 大咖连夜赠书,奋战 2 个月成功斩获 offer

    寒冬危机 近期互联网大环境都遇到了寒冬的危机,也成为了当下比较热门的话题,当然阿里也没逃过寒冬的魔爪,因此我的上级领导在今年六月份对部门进行了裁员的大动作.是的,我也就是被选上的幸运儿之一,不过出于领 ...

  8. 零基础做算法?清华计算机系学长带你斩获大厂算法校招SSP

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.确定求职方向 搜索/推荐/广告岗位 CV/NLP/语音岗位 二.算法岗秋招时间线 2022年 1月-3月:梳理科研 ...

  9. 三面拼多多顺利斩获offer,来自初入职场的面试经验分享

    滴滴~ 金三银四求职季已经来啦,在这个各大名企最求贤若渴的时候,你还没有投出简历准备"应战"吗?今天就给大家分享一篇拼多多-服务端开发工程师的真实面经,希望可以帮到你! 一面: 首 ...

最新文章

  1. heroes 2 android,英雄出击2游戏下载-英雄出击2Heroes Strike2中文安卓版下载v0.0.5- 游侠下载站...
  2. ustc小道消息20220113
  3. Java程序执行Linux命令
  4. 大讲堂 | 预测时间敏感的机器学习模型建模与优化
  5. 一个小技巧助您减少if语句的状态判断
  6. 2021-4-1 多校省选模拟赛
  7. 4-数组、指针与字符串1.4-动态内存分配
  8. linux mint 自动更新设置,如何升级到Linux Mint 19.1
  9. 视觉SLAM笔记(46) 基本的 VO
  10. 高仿快递100--实战之RadioGroup和RadioButton应用
  11. python opencv二值化阈值图像分割
  12. CruiseControl 安装配置
  13. java 对象转map,map转对象
  14. Aspose for Maven 使用
  15. CISCO Switchport trunk encap dot1q 与 Switchport trunk 区别
  16. java实验总结与心得_java实验心得体会范例精选
  17. html中onfocus和onblur的使用
  18. 废旧计算机cpu diy,手把手教你从废旧CPU提取金银
  19. python模拟银行存取款_python 简单模拟银行转账功能
  20. ERROR: ExpansionError during parsing

热门文章

  1. 多重 for 循环,如何提高效率?
  2. 你见过出道即巅峰吗?
  3. requests 获取div_爬虫系列第五篇 使用requests与BeautifulSoup爬取豆瓣图书Top250
  4. recover 没有捕获异常_defer + recover 捕获所有异常
  5. 十、vue-router学习笔记——认识路由、vue-router基本使用、vue-router嵌套路由、vue-router参数传递、vue-router导航守卫、keep-alive
  6. LeetCode 2075. 解码斜向换位密码(模拟)
  7. Java enum枚举
  8. LeetCode 第 31 场双周赛(273/2767,前9.87%,第3次全部通过)
  9. LeetCode 1383. 最大的团队表现值(贪心,优先队列,难)
  10. LeetCode 816. 模糊坐标