三分钟认知Softmax和Sigmoid的详细区别

这篇具有很好参考价值的文章主要介绍了三分钟认知Softmax和Sigmoid的详细区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

Softmax以及Sigmoid这两者都是神经网络中的激活函数,对应还有其他的激活函数

引入激活函数是为了将其输入非线性化,使得神经网络可以逼近任何非线性函数
(原本没有引入激活函数,就是多个矩阵进行相乘,无论神经网络多少层都是线性组合,这个概念是感知机)

Softmax以及Sigmoid两者都是作为神经网络的最后一层,通过激活函数之后转换为概率值

1. Softmax

作为二分类问题探讨,是二分类的拓展版,将其拓展为N分类,对应以概率的形式展示(概率最大的类别为此类别)

全连接层的输出使用Softmax,将其输出的结果表示为概率类别(所有概率加起来为1)。

Softmax将其泛化为多分类(SVM得出的是每个类别的分数),Softmax得出的是归一化类别概率(将其所有的输出结果都归一到0和1范围内)。
对应Softmax输入N个值,输出的结果为这N个值的概率(符合概率分布),预测出的所有值加起来为1,对应哪个值比较大,则判定为该类别

其公式具体如下:(使用ex,是为了将其预测结果转换为正数,保证概率不为负数)
三分钟认知Softmax和Sigmoid的详细区别

通过其公式可看出其特性为:

  • 零点不可微
  • 负输入梯度为0

例子如下:

A = 1,B = 2,C = 3
对应的概率值分别为:
P(A)= e1 / (e1 + e2 + e3)
P(B)= e2 / (e1 + e2 + e3)
P(C)= e3 / (e1 + e2 + e3)

对应代码模块如下:

import numpy as np
scores = np.array([1, 2, 3])
softmax = np.exp(scores) / np.sum(np.exp(scores))
print(softmax) 

截图如下:
三分钟认知Softmax和Sigmoid的详细区别

三者的概率值加起来为1,而且P(C)的概率值要远远大于P(A)以及 P(B)


对此Softmax的特性:

  • 归一化并且对应的所有概率值加起来为1
  • 对应的真实类别概率值特别大,有放大(但是数值过大可能会有溢出的风险)
  • 算出的概率值为非负数

一般在使用Softmax函数作为激活函数的时候,避免溢出,通常会做特殊的处理,将其ex都替换成e-x,防止数值过大产生溢出

在TensorFlow中一般使用统一的接口:

tf.keras.losses.categorical_crossentropy(y_true, y_pred, from_logits = False)

通过from_logits参数设置,该参数为布尔变量

  • False,网络预测值y_pred经过Softmax输出值
  • True,网络预测值y_pred未经过Softmax输出值

测试代码如下:

import tensorflow as tf

# 3个样本,10个类别
x = tf.random.normal([3,10])
# 3个样本标签值
y = tf.constant([9,99,999]) 
# 采用one_hot编码模式
y_true = tf.one_hot(y, depth = 10) 

loss = tf.keras.losses.categorical_crossentropy(y_true, x, from_logits = False)
loss = tf.reduce_mean(loss)
print(loss) 

截图如下:(如下使用的是False,表示经过激活函数。如果为True,输出的值也是一样的,只不过异常值的时候,False参数,Softmax会有所优化)
三分钟认知Softmax和Sigmoid的详细区别

2. Sigmoid

逻辑回归二分类将其输入映射到【0,1】的概率分布中,Sigmoid也有这样的功能

数学公式如下:
三分钟认知Softmax和Sigmoid的详细区别

单调递增且其反函数也有递增的性质,此函数也经常被用作神经网络的阈值函数中

用此函数预测类别,对应其值加起来并不为1,而Softmax函数加起来为1

其图像如下:
三分钟认知Softmax和Sigmoid的详细区别

用在神经网络中,其特点如下:

  • 梯度平滑,避免梯度跳跃
  • 连续函数,可导可微

但是缺点如下:

  • 横向坐标轴正负无穷的时候,两侧导数为0,造成梯度消失
  • 输出非0时,均值收敛速度慢(容易对梯度造成影响)
  • e的幂次运算比较复杂,训练时间比较长

3. 总结

这两种激活函数如何选择,以及如何应用在不同场景,本身就是伯努利分布和二项分布的差别

Softmax是为了判定该类别是什么(激活函数Softmax可使用的情况下,Sigmoid也可用)文章来源地址https://www.toymoban.com/news/detail-407613.html

  • N分类互斥,且只能选择其一,选择Softmax
  • N分类互斥,可选多个类别,选择Sigmoid

到了这里,关于三分钟认知Softmax和Sigmoid的详细区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • logistic and softmax regression的区别

    引用自GPT 逻辑回归(Logistic Regression)和 softmax 回归(Softmax Regression)是两种用于分类问题的常见机器学习算法,它们在某些方面有所不同。 1.目标函数形式: 逻辑回归:逻辑回归用于二分类问题,其目标是学习一个逻辑回归函数,该函数通过将输入映射到一个概率值(0到

    2024年02月11日
    浏览(15)
  • PostgreSQL详细教程(一)—— 前言

    目录 PostgreSQL简介 PostgreSQL 特征   PostgreSQL 是一个免费的对象-关系数据库服务器(ORDBMS),在灵活的BSD许可证下发行。 PostgreSQL 开发者把它念作 post-gress-Q-L。 PostgreSQL 的 Slogan 是 \\\"世界上最先进的开源关系型数据库\\\"。 PostgreSQL与Oracle一样是使用共享内存的进程结构,而大家都比较

    2024年02月12日
    浏览(15)
  • 激活函数、Sigmoid激活函数、tanh激活函数、ReLU激活函数、Leaky ReLU激活函数、Parametric ReLU激活函数详细介绍及其原理详解

    激活函数、Sigmoid激活函数、tanh激活函数、ReLU激活函数、Leaky ReLU激活函数、Parametric ReLU激活函数详细介绍及其原理详解

    梯度下降算法、随机梯度下降算法、动量随机梯度下降算法、AdaGrad算法、RMSProp算法、Adam算法详细介绍及其原理详解 反向传播算法和计算图详细介绍及其原理详解 激活函数、Sigmoid激活函数、tanh激活函数、ReLU激活函数、Leaky ReLU激活函数、Parametric ReLU激活函数详细介绍及其原

    2024年01月19日
    浏览(17)
  • 干货分享 | 3分钟读懂漏洞扫描与代码审计的区别

    很多研发同学常常 将漏洞扫描与代码审计的概念混淆 。有些人认为代码审计就是漏洞扫描,也有些人认为做完漏洞扫描就不需要做代码审计了。今天我们就来讲讲代码审计与漏洞扫描的区别。 造成以上混淆的原因有以下几点: 工具的相似性 漏洞扫描和代码审计都是安全领

    2024年02月01日
    浏览(12)
  • 机器学习-sigmoid函数和relu函数-个人解读

    机器学习-sigmoid函数和relu函数-个人解读

    今天博主来解读一下sigmoid函数和relu函数,我觉得很多同学可能都知道这两个函数是什么,他们干什么的,他们有什么用,但是呢?我想这两个常用的激活函数内在的本质,很多同学应该不是很理解,今天博主就给出自己的一些解读。 首先,我们先谈谈激活函数是什么: 激活

    2024年02月16日
    浏览(9)
  • 超详细:30分钟入门docker前端容器化

    前端容器化是一种将前端应用程序打包成容器的技术,使其可以在不同的环境中快速、高效地部署和运行。 前后端分离的趋势已形成现状,前端工程复杂度叠加增长,新、老项目部署依赖的环境和Node.js版本会存在差异,生产环境下构建混淆后的脚本、静态资源文件依赖环境

    2024年02月03日
    浏览(34)
  • 3分钟快速了解CCRC认证,以及详细申请流程

    3分钟快速了解CCRC认证,以及详细申请流程

    现在市场上信息安全类的资质认证证书主要有很多种,目前发证量最多、应用最广、业内认可度较高主要是ISO27001和中国网络安全审查技术与认证中心CCRC信息安全服务资质认证证书。但是还是有很多人对于CCRC资质认证并没有那么了解,只知其一不知其二,为了方便大家可以深

    2024年02月13日
    浏览(11)
  • 5分钟熟悉“单臂路由”(超详细解读,看到就是赚到)

    5分钟熟悉“单臂路由”(超详细解读,看到就是赚到)

     内容预知 目录  1.单臂路由的概述  2.单臂路由实际运用实验的引入  2.1实验前须知操作的指令(新增) 2.2实验具体操作 :  第二步: 第三步:  第四步: 总结: 1.1 “ 单臂路由 (router-on-a-stick)是指在路由器的一个接口上通过配置子接口(或“逻辑接口”,并不存在真

    2024年02月03日
    浏览(12)
  • 冒泡排序(超详细图解加代码解析,5分钟看懂)

    冒泡排序(超详细图解加代码解析,5分钟看懂)

      目录 1.冒泡排序的定义 2.冒泡排序的原理 3.代码及其解析 4.冒泡排序的改进 5.实现冒泡排序函数 生命中永远会有令人懊恼的事,但我知道,我们是为了不留遗憾活着的,对吗? 1.冒泡排序的定义 冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的

    2024年02月11日
    浏览(12)
  • 【计算系统】5分钟了解超算,高性能计算,并行计算,分布式计算,网格计算,集群计算以及云计算的区别

    【计算系统】5分钟了解超算,高性能计算,并行计算,分布式计算,网格计算,集群计算以及云计算的区别

    超级计算机(Supercomputer)是一种计算力极强的计算机,学术界通常称这一领域为高性能计算(High-Performance Computing)。超级计算机主要为最顶尖的科学研究服务,包括核聚变模拟、石油勘探、量子力学、气候模拟、癌症研究、基因组学、分子动力学、飞机和航天器空气动力学

    2024年02月06日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包