【损失函数系列】softmax loss损失函数详解

【损失函数系列】softmax loss损失函数详解1.损失函数:损失函数(lossfunction)是用来评测模型的预测值f(x)与真实值Y的相似程度,损失函数越小,就代表模型的鲁棒性越好,损失函数指导模型学习。根据损失函数来做反向传播修改模型参数。机器学习的目的就是学习一组参数,使得预测值与真值无限接近。2.softmaxloss:它是损失函数的一种,是softmax和cross-entropyloss组合而成的损失函数。先看softmax,其函数形式如下:其中zj就是某个神经网络全连…

大家好,又见面了,我是你们的朋友全栈君。

1.损失函数:

        损失函数(loss function)是用来评测模型的预测值f(x)与真实值Y的相似程度,损失函数越小,就代表模型的鲁棒性越好,损失函数指导模型学习。根据损失函数来做反向传播修改模型参数。机器学习的目的就是学习一组参数,使得预测值与真值无限接近。

2.softmax loss:

        它是损失函数的一种,是softmax和cross-entropy loss组合而成的损失函数。

        先看softmax,其函数形式如下:其中z就是某个神经网络全连接层输出的一组结果,例如分类问题,做4分类,z就是一个1*4的向量。j就是0~3下标号。zk就是全连接层第k个值。

                                                                               【损失函数系列】softmax loss损失函数详解(1)

 全连接输出向量z的每个值没有大小限制,显然通过(1)后就强制将它给限制在0~1之间了,变成概率值。

        cross-entropy loss 交叉熵损失函数在我的博客详细写了下:https://blog.csdn.net/gbz3300255/article/details/106810047

这里就直接上交叉熵的公式了:

                                                                  【损失函数系列】softmax loss损失函数详解(2)

f(zc)就是上面的f(fzk),就是 softmax函数的输出值。yc就是样本真值喽。公式(2)就是最终的损失函数值了。

举例说明:例如真实样本标签为

yc = [0, 0, 1, 0]。  

而第一个预测结果为

f(z1) = [0.1, 0.1,  0.7, 0.1]

f(z2) = [0.25, 0.2, 0.3, 0.35]

f(z3) = [0.15, 0.2, 0.1, 0.55]

显然第一个预测结果是对的,第二个,第三个都是错的。他们的损失函数值分别为

Lz1 = -log0.7

Lz2 = -log0.3

Lz3 = -log0.1

L函数图像如下:

                              【损失函数系列】softmax loss损失函数详解

显然,与真值越接近,损失函数越小,与真值相去越远 ,损失函数越大。优化过程就是不断的将与真值接近的那个概率值提升,提升,再提升,让损失函数降低,降低,再降低。

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/153156.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 学计算机的男生喜欢什么样的女生,双子座男生喜欢什么样类型的女生[通俗易懂]

    学计算机的男生喜欢什么样的女生,双子座男生喜欢什么样类型的女生[通俗易懂]双子座男生喜欢什么样类型的女生来源:网络 日期:2018/8/118:55:34 累计阅读:293次双子男喜欢什么样类型的女生双子座温柔的女生对于双子座的男生来说,其实温柔的这个类型的女生会是双子座男生非常喜爱的,在任何一款类型当中,双子座的男生可以说是最疼爱和喜欢温柔类型的女生了,因为在现实生活当中,双子座的男生其实是一个比较自我的人,在恋爱的过程当中非常喜欢表达自己的清晰,而有时候不好的情绪…

    2022年7月25日
    13
  • UML 包图

    UML 包图什么是包包可直接理解为命名空间,文件夹,是用来组织图形的封装,包图可以用来表述功能组命名空间的组织层次。•在面向对象软件开发的视角中,类显然是构建整个系统的基本构造块。但是对于庞大的应用系统而言,其包

    2022年8月1日
    3
  • SpringCloud系列之使用Feign进行服务调用

    SpringCloud系列之使用Feign进行服务调用

    2020年11月19日
    165
  • 产品模块化设计_pom设计模式

    产品模块化设计_pom设计模式对于,ecmall的本身自带的模板,可能很多用过的朋友都知道,其实还有许多功能根本无法实现。从根本上来讲,不如Smarty强大,但本人也试过将smarty引入但不是很成功,究其原因,ecmall的模板,并不是单纯地模板,而是在解析时参入了许多其它业务的逻辑,所以,直接以smarty来代替ecmall本身的模板,在widget的开发时会有很大的问题。所以,为了灵活情,本人,在ecmall

    2025年8月11日
    4
  • tcp/ip协议包含哪几层_ip协议提供的是一种什么服务

    tcp/ip协议包含哪几层_ip协议提供的是一种什么服务在OSI模型中ARP协议属于链路层;而在TCP/IP模型中,ARP协议属于网络层。1)ARP分层的位置是TCP/IP的网络层2)ARP报文是由以太网帧进行封装传输的。没有封装进IP包。3)实际上

    2022年8月5日
    6
  • CentOS7下安装mysql5.7[通俗易懂]

    CentOS7下安装mysql5.7[通俗易懂]更多精彩技术分享请浏览本人博客:https://blog.csdn.net/wohiusdashi一、安装YUMRepo1、由于CentOS的yum源中没有mysql,需要到mysql的官网下载yumrepo配置文件。下载命令:wgethttps://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm…

    2022年4月19日
    129

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号