softmax为什么使用指数函数?(最大熵模型的理解)

softmax为什么使用指数函数?(最大熵模型的理解)

 

解释1:

他的假设服从指数分布族

解释2:

最大熵模型,即softmax分类是最大熵模型的结果。

关于最大熵模型,网上很多介绍:

在已知部分知识的前提下,关于未知分布最合理的推断就是符合已知知识最不确定或最随机的推断,其原则是承认已知事物(知识),且对未知事物不做任何假设,没有任何偏见。

所以,最大熵原理也可以表述为在满足约束条件的模型集合中选取熵最大的模型。

参考网址:

https://blog.csdn.net/xg123321123/article/details/54286514

对于输入x,判断类别y

如果使他满足最大熵模型,则条件概率满足公式:

<span>softmax为什么使用指数函数?(最大熵模型的理解)</span>

其中wi(i=1,2,...m)wi(i=1,2,…m)为拉格朗日乘子。如果大家也学习过支持向量机,就会发现这里用到的凸优化理论是一样的,接着用到了拉格朗日对偶也一样。

最大熵模型这里引入了一个特征函数的概念:

可以定义为:

<span>softmax为什么使用指数函数?(最大熵模型的理解)</span>

为什么需要特征函数?比较容易理解的是,特征函数其实是一个用户接口,我们可以通过定制特征函数来控制模型的训练。

注意,f(x,y)必须是实数函数,而最大熵模型一般要求这个函数是一个二值函数。也就是说通过这个特征函数把x和y之间千丝万缕的关系转化成了一个实数值。

 

至此,我们可以看到softmax的表达式和最大熵模型的最优求解的表达式形式上是相似的,如果我们用θx表达最大熵中Wf(x,y)就得到了softmax的表达式。

 

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

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

(0)
上一篇 2021年11月19日 下午7:00
下一篇 2021年11月19日 下午7:00


相关推荐

  • 图形推理1000题pdf_数字推理题,眼尖的一眼就看出来了「建议收藏」

    图形推理1000题pdf_数字推理题,眼尖的一眼就看出来了「建议收藏」动脑往期回看>>每日推理每日推理|你能找出犯人吗?每日推理|你是哪个班的?每日推理|拿掉2根木棍,使其变成3个正方形每日推理|共同营业日每日推理|千里寻一每日推理|坏掉的8号电话亭每日推理|哪两个才是兄弟?每日推理|白马王子每日推理|神奇海螺脑筋急转弯答案笑死人的脑筋急转弯看了想打人的题目移动火柴游戏复杂的迷宫图形推理5道很难的字谜△点击…

    2025年10月10日
    5
  • C学习笔记:CheckedListBox控件的用法

    C学习笔记:CheckedListBox控件的用法一 常用属性 方法和事件 1 常用属性 1 CheckOnClick 属性 CheckOnClick 属性是布尔类型的值 如果为 True 那么单击条目就能将条目勾选 如果为 false 则要双击条目才能将其勾选 2 ColumnWidth 属性 ColumnWitdh 属性是整型数据 表示多列条目各列的列宽 该属性只有在 MultiColumn 属性 允许多列显示 设置为 true 时才有意义

    2026年3月19日
    3
  • n8n核心节点教程详解:HTTP请求节点配置实战与避坑指南

    n8n核心节点教程详解:HTTP请求节点配置实战与避坑指南

    2026年3月15日
    2
  • 防止redis崩溃_redis雪崩解决方案

    防止redis崩溃_redis雪崩解决方案缓存雪崩:缓存雪崩是指大量的应用请求无法在Redis缓存中进行处理,紧接着,应用将大量请求发送到数据库层,导致数据库层的压力激增。两个原因:原因一、缓存中有大量数据同时过期,导致大量请求无法得到处理。具体来说,当数据保存在缓存中,并且设置了过期时间时,如果在某一个时刻,大量数据同时过期,此时,应用再访问这些数据的话,就会发生缓存缺失。紧接着,应用就会把请求发送给数据库,从数据库中读取数据。如果应用的并发请求量很大,那么数据库的压力也就很大,这会进一步影响到数据库的其他正常…

    2025年11月17日
    4
  • Java数据结构与算法(10) – ch05链表实现队列(Link Queue)

    Java数据结构与算法(10) – ch05链表实现队列(Link Queue)

    2021年9月2日
    71
  • Vue进阶(幺零七):arr.forEach() 跳出循环

    Vue进阶(幺零七):arr.forEach() 跳出循环我们都知道for循环里要跳出整个循环是使用break,但在数组中用forEach循环如要退出整个循环呢?使用break会报错,使用return也不能跳出循环。使用break将会报错:vararr=[1,2,3,4,5];varnum=3;arr.forEach(function(v){if(v==num){break;}console.log(v);});使…

    2022年6月4日
    129

发表回复

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

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