sigmoid和softmax函数的区别;神经网路常用的损失函数以及对应的应用场景;softmax的作用

news2024/9/25 7:26:24

一、Sigmoid函数和Softmax函数是常用的激活函数,它们在神经网络中经常用于实现非线性映射。

  1. Sigmoid函数:Sigmoid函数常用于二分类问题,它将输入的取值范围映射到一个介于0和1之间的输出。Sigmoid函数的公式是 f(x) = 1 / (1 + exp(-x)),其中exp(x)表示自然指数函数e的x次方。Sigmoid函数的输出可以看作是输入值的概率估计,适用于将输入映射到概率的情况。

  2. Softmax函数:Softmax函数常用于多分类问题,它将输入的取值范围映射到一个概率分布上,使得所有概率的总和为1。Softmax函数的公式是 f(x_i) = exp(x_i) / (sum(exp(x_j))),其中x_i表示输入向量的第i个元素,sum(exp(x_j))表示所有输入向量元素的指数项之和。Softmax函数的输出可以看作是输入值对应不同类别的概率分布,适用于多分类问题。

总结来说,Sigmoid函数主要用于二分类问题,将输入映射到0到1之间的概率值;Softmax函数主要用于多分类问题,将输入映射到一个概率分布上。它们都能够将非线性的输入映射到一个可解释性强的输出。

二、问题讨论:

softmax到底有哪些作用?(来自知乎softmax到底有哪些作用? - 知乎)

  1. softmax除了使得网络输出更像是一个合法的概率分布还有什么作用?
  2. 为什么这种归一化要用softmax其它的归一化方式行不行? 例如[a,b] 归一化成[a^2/(a^2+b^2), b^2/(a^2+b^2)]
  3. 为什么一个分布在多次softmax后,每个值都会趋于相同? 例如[1,100]在大约10次softmax操作后会变成[0.5,0.5];[1,2,3,4]大约5次softmax操作后会变成[0.25,0.25,0.25,0.25]。 这是巧合还是因为softmax具有使得让某个分布熵增加的作用才让其作为归一化的操作?

 来自苏剑林大佬的回答:

  • 其实合法的概率分布也不是最终目的,最终目的是定义更合理的loss,最最终的目的则是定义更合理的梯度;
  • 用其他方式当然可以,比如还有sparsemax等,但平方归一化可能不大好,因为 x2x^2 在实数范围内不是单调的,这解释原因又得联系到梯度了;至于为什么softmax最常用,大概是因为 exe^x 是能将任意实数映射到非负实数的最简单的、单调的、光滑的初等函数吧;
  • 这是一个没什么实用价值的结果,因为对softmax的结果再次进行softmax没有什么物理意义。

三、再思考一下,神经网路常用的损失函数以及对应的应用场景  

神经网络常用的损失函数有以下几种,每种损失函数都适用于不同的应用场景:

  1. 均方误差(Mean Squared Error, MSE):适用于回归问题,即预测连续值的问题。计算预测值与真实值之间的平方差,并取平均值作为损失值。

  2. 交叉熵损失(Cross Entropy Loss):适用于分类问题,即预测多个离散类别的问题。常用的交叉熵损失有二分类交叉熵(Binary Cross Entropy)和多分类交叉熵(Categorical Cross Entropy)。二分类交叉熵适用于两个类别的分类问题,多分类交叉熵适用于多个类别的分类问题。

  3. 负对数似然损失(Negative Log Likelihood, NLL):适用于概率预测问题,即给定输入条件下的概率预测。常用于文本生成、语言模型等任务。

  4. KL散度损失(Kullback-Leibler Divergence, KLD):适用于模型优化时使用先验知识的情况,用于衡量两个概率分布之间的差异。

  5. Hinge损失:适用于支持向量机(SVM)和最大间隔分类问题。

  6. 余弦相似度损失(Cosine Similarity Loss):适用于聚类和推荐系统等任务,用于衡量两个向量之间的余弦相似度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1131129.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python的web自动化学习(一)Selenium库的工作原理

Python的web自动化学习(一)Selenium库的工作原理 首发2023-07-31 11:01云中随心而记 后续会根据持续学习来更新,大家一起学习 引言: Selenium是一个流行的自动化测试工具,用于模拟和控制浏览器行为,常用于…

美创科技列为IDC中国数据安全市场代表厂商

近日,国际权威IT咨询机构IDC发布《中国数据安全市场发展趋势,2023》报告,报告针对中国数据安全市场的发展现状进行调研,明确了最终用户数据安全建设的痛点、难点,阐述了市场中各技术服务提供商的服务方案和优势。 美创…

24 个常见的 Docker 疑难杂症处理技巧!!!记得点赞收藏

1. Docker 迁移存储目录 默认情况系统会将 Docker 容器存放在 /var/lib/docker 目录下 [问题起因] 今天通过监控系统,发现公司其中一台服务器的磁盘快满了,随即上去看了下,发现 /var/lib/docker 这个目录特别大。由上述原因,我们都…

【openGauss】一主一备实现主备节点切换实验(switchover、failover)

openGauss在运行过程中,数据库管理员可能需要手工对数据库节点做主备切换。例如发现数据库节点主备failover后需要恢复原有的主备角色,或怀疑硬件故障需要手动进行主备切换。 级联备机不能直接转换为主机,只能先通过switchover或者failover成…

抖音上的影视解说是怎么配音的?

抖音影视解说的配音是从各种渠道配的。其中,最常见的方法是使用 AI 配音。AI 配音可以通过在线配音平台或语音合成软件实现。这些软件可以生成各种声音,包括电影解说、主播、卡通、游戏等。此外,一些抖音影视解说也使用了真人配音。真人配音通…

代码训练营第49天:leetcode139单词划分|多重背包|背包讲解

leetcode139&#xff1a;单词划分 文章讲解&#xff1a;leetcode139 多重背包&#xff1a;文章讲解 背包讲解&#xff1a;文章讲解 1&#xff0c;leetcode139 单词划分 class Solution { public:bool wordBreak(string s, vector<string>& wordDict) {unordered_set…

Redis 主从

目录 ​编辑一、构建主从架构 1、集群结构 2、准备实例和配置 &#xff08;1&#xff09;创建目录 &#xff08;2&#xff09;修改原始配置 &#xff08;3&#xff09;拷贝配置文件到每个实例目录 &#xff08;4&#xff09;修改每个实例的端口&#xff0c;工作目录 &a…

SpringBoot-集成Minio

官方文档&#xff1a;Kubernetes 的 MinIO 对象存储 — MinIO Object Storage for Kubernetes 一、简介 Minio 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口&#xff0c;非常适合于存储大容量非结构化的数据&#xff0c;例如图片、视频…

Spring Boot和XXL-Job:高效定时任务管理

Spring Boot和XXL-Job&#xff1a;高效定时任务管理 前言第一&#xff1a;XXL-Job简介什么是XXL-job对比别的任务调度 第二&#xff1a; springboot整合XXL-job配置XXL-Job Admin拉取XXL-Job代码修改拉取的配置 配置执行器自己的项目如何整合maven依赖properties文件配置执行器…

工厂干洗店洗鞋店系统,校园洗护小程序来了

洗鞋店小程序&#xff0c;干洗店软件&#xff0c;洗护行业小程序,上门取衣小程序,预约干洗小程序,校园干洗店小程序,工厂干洗店小程序,干洗店小程序开发&#xff0c;成品软件开发 洗衣工厂软件、功能强大&#xff01; 包含以下主要功能&#xff1a; * 用户选择洗护用品&#x…

Azure - 机器学习:创建机器学习所需资源,配置工作区

目录 一、Azure机器学习工作区与计算实例简要介绍工作区计算实例 二、创建工作区1. 登录到 Azure 机器学习工作室2. 选择“创建工作区”3. 提供以下信息来配置新工作区&#xff1a;4. 选择“创建”以创建工作区 三、创建计算实例四、工作室实战4.1 工作室快速导览4.2 从示例笔记…

CV算法工程师的LLM日志(1)微调技术——即插即用的neft-Tune【原理代码】

CV算法的LLM领域日志 目前维护的CV方向开源项目暂时暂停&#xff0c;原因是现在在做LLM方向的研发工作&#xff0c;所以需要时间消化前沿技术和总结经验&#xff0c;最近看到了一个非常简单的LLM训练Trick 分享一下&#xff0c;后续会逐渐把自己使用的一些LLM范式技术原理和代…

部分背包问题细节(贪心)

有一种情况是&#xff0c;背包可以把金币全部拿走&#xff1a; 如果num小于0则返回值

重症医学科常用评估量表汇总,建议收藏!

根据重症医学科医生的量表使用情况&#xff0c;笔者整理了10个重症医学科常用量表&#xff0c;可在线评测直接出结果&#xff0c;可转发使用&#xff0c;可生成二维码使用&#xff0c;可创建项目进行数据管理&#xff0c;有需要的小伙伴赶紧收藏&#xff01; 简明急性生理功能评…

Rocksdb LSM Tree Compaction策略

RocksDB读写简介 直接画图说明。这张图取自Flink PMC大佬Stefan Richter在Flink Forward 2018演讲的PPT&#xff0c;笔者重画了一下。 RocksDB的写缓存&#xff08;即LSM树的最低一级&#xff09;名为memtable&#xff0c;对应HBase的MemStore&#xff1b;读缓存名为block cac…

基于QT的图书管理系统

获取代码&#xff1a; 知识付费时代&#xff0c;低价有偿获取代码&#xff0c;请理解&#xff01; (1) 下载链接: 后发(2) 添加博主微信获取&#xff08;有偿&#xff09;,备注来源: mryang511688(3) 快速扫码咨询&#xff1a; 项目描述 技术&#xff1a;C、QT等 摘要&#…

(1)(1.8) Hondex声纳

文章目录 前言 1 推荐的硬件 2 连接和配置 3 参数说明 前言 Hondex HE-8S 是一款回声测深仪&#xff08;又称水下声纳&#xff09;&#xff0c;测深范围 100m&#xff0c;内置 GPS 和 NMEA 输出&#xff0c;可由 ArduPilot 使用。其他 Hondex 声纳也可以使用&#xff0c;但…

redis学习(三)——java整合redis

Jedis Jedis可以用于java连接redis数据库 新建一个maven项目&#xff0c;导入Jedis依赖 <dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>RELEASE</version><scope>test…

mcgsTpc屏与施耐德TM218PLC通讯说明

一、 硬件连接 1、PLC通讯接口说明&#xff1a; 2、通讯电缆图&#xff1a; 二、PLC设置 1. 配置端口&#xff1a; 双击串行线路—弹出右侧设置窗口---设置串口通讯参数 2. 添加MODBUS协议。 ① 右击串口线路&#xff0c;选择添加设备&#xff1a; ② 选择现场总线&#xf…