一、简单说下sigmoid激活函数

解析:

常用的非线性激活函数有sigmoid、tanh、relu等等,前两者sigmoid/tanh比较常见于全连接层,后者relu常见于卷积层。这里先简要介绍下最基础的sigmoid函数(btw,在本博客中SVM那篇文章开头有提过)。

sigmoid的函数表达式如下:

其中z是一个线性组合,比如z可以等于:b + w1x1 + w2x2。通过代入很大的正数或很小的负数到g(z)函数中可知,其结果趋近于0或1。
(一般用于全连接+激活函数)

总之,sigmod函数,是逻辑斯蒂回归的压缩函数,它的性质是可以把分隔平面压缩到[0,1]区间一个数(向量),在线性分割平面值为0时候正好对应sigmod值为0.5,大于0对应sigmod值大于0.5、小于0对应sigmod值小于0.5;0.5可以作为分类的阀值;

exp的形式最值求解时候比较方便,用相乘形式作为logistic损失函数,使得损失函数是凸函数;不足之处是sigmod函数在y趋于0或1时候有死区,控制不好在bp形式传递loss时候容易造成梯度弥撒。

二、sigmoid 与 softmax 的区别:

激活函数介绍
对于熟悉机器学习或神经网络的读者来说,sigmoid与softmax两个激活函数并不陌生,但这两个激活函数在逻辑回归中应用,也是面试和笔试会问到的一些内容,掌握好这两个激活函数及其衍生的能力是很基础且重要的,下面为大家介绍下这两类激活函数。sigmoid激活函数从函数定义上来看,sigmoid激活函数的定义域能够取任何范围的实数,而返回的输出值在0到1的范围内。sigmoid函数也被称为S型函数,这是由于其函数曲线类似于S型,在下面的内容中可以看到。此外,该函数曲线也可以用于统计中,使用的是累积分布函数。

softmax函数的基本属性,输入值越大,其概率越高。

多类分类及多标签分类
多类分类意味着候选集是一个多分类,而不仅仅是二分类,不是是与否的问题,而是属于多类中哪一类的问题。一个样本属于且只属于多个分类中的一个,一个样本只能属于一个类,不同类之间是互斥的。举例而言,MNIST数据集,常用的数字手写体识别数据集,它的标签是一个多分类的过程

而对于多标签分类而言,一个样本的标签不仅仅局限于一个类别,可以具有多个类别,不同类之间是有关联的。比如一件衣服,其具有的特征类别有长袖、蕾丝等属性等,这两个属性标签不是互斥的,而是有关联的。

使用softmax和sigmoid激活函数来做多类分类和多标签分类
在实际应用中,一般将softmax用于多类分类的使用之中,而将sigmoid用于多标签分类之中,对于图像处理而言,网络模型抽取图像特征的结构基本相同,只是根据不同的任务改变全连接层后的输出层。下面介绍如何使用softmax和sigmoid完成对应的分类任务。

softmax激活函数应用于多类分类
假设神经网络模型的最后一层的全连接层输出的是一维向量logits=[1,2,3,4,5,6,7,8,9,10],这里假设总共类别数量为10,使用softmax分类器完成多类分类问题,并将损失函数设置为categorical_crossentropy损失函数
首先用softmax将logits转换成一个概率分布,然后取概率值最大的作为样本的分类 。softmax的主要作用其实是在计算交叉熵上,将logits转换成一个概率分布后再来计算,然后取概率分布中最大的作为最终的分类结果,这就是将softmax激活函数应用于多分类中。

sigmoid激活函数应用于多标签分类
sigmoid一般不用来做多类分类,而是用来做二分类,它是将一个标量数字转换到[0,1]之间,如果大于一个概率阈值(一般是0.5),则认为属于某个类别,否则不属于某个类别。这一属性使得其适合应用于多标签分类之中,在多标签分类中,大多使用binary_crossentropy损失函数。它是将一个标量数字转换到[0,1]之间,如果大于一个概率阈值(一般是0.5),则认为属于某个类别。本质上其实就是针对logits中每个分类计算的结果分别作用一个sigmoid分类器,分别判定样本是否属于某个类别同样假设,神经网络模型最后的输出是这样一个向量logits=[1,2,3,4,5,6,7,8,9,10], 就是神经网络最终的全连接的输出。这里假设总共有10个分类。
sigmoid应该会将logits中每个数字都变成[0,1]之间的概率值,假设结果为[0.01, 0.05, 0.4, 0.6, 0.3, 0.1, 0.5, 0.4, 0.06, 0.8], 然后设置一个概率阈值,比如0.3,如果概率值大于0.3,则判定类别符合,那么该输入样本则会被判定为类别3、类别4、类别5、类别7及类别8。即一个样本具有多个标签。
在这里强调一点:将sigmoid激活函数应用于多标签分类时,其损失函数应设置为binary_crossentropy。

sigmoid的函数表达式如下:

softmax函数形式如下:

总结:sigmoid将一个real value映射到(0,1)的区间(当然也可以是(-1,1)),这样可以用来做二分类。而softmax把一个k维的real value向量(a1,a2,a3,a4…)映射成一个(b1,b2,b3,b4…)其中bi是一个0-1的常数,然后可以根据bi的大小来进行多分类的任务,如取权重最大的一维。

sigmoid和softmax激活函数的区别相关推荐

  1. 【机器学习】 - 激活函数与交叉熵Sigmoid, Softmax, binary_crossentropy, categorican_crossentropy区别

    Content: 为什么需要激活函数: 一个神经元在做什么: 激活函数 Sigmoid Softmax 4. 交叉熵损失函数 Binary cross-entropy Categorican cros ...

  2. Sigmoid 与 Softmax 的区别

    Sigmoid 与 Softmax 的区别 结论 定义 图例 拓展:sigmoid.tanh求导 sigmoid求导 tanh求导 参考: Multi-label vs. Multi-class Cl ...

  3. ML/DL之激活函数/求导函数:ML中常用的AF激活函数(step_function、sigmoid、softmax、ReLU等)求导函数等代码实现之详细攻略

    ML/DL之激活函数/求导函数:ML中常用的AF激活函数(step_function.sigmoid.softmax.ReLU等)&求导函数等代码实现之详细攻略 目录 AF函数&求导函 ...

  4. DL之AF:机器学习/深度学习中常用的激活函数(sigmoid、softmax等)简介、应用、计算图实现、代码实现详细攻略

    DL之AF:机器学习/深度学习中常用的激活函数(sigmoid.softmax等)简介.应用.计算图实现.代码实现详细攻略 目录 激活函数(Activation functions)相关配图 各个激活 ...

  5. softmax sigmoid log softmax 辨析

    原文链接: sigmoid和softmax总结_老哥的专栏-CSDN博客_sigmoid和softmax区别 浅谈sigmoid函数和softmax函数_甘如荠-CSDN博客_sigmoid函数与so ...

  6. 广义线性模型?链接函数?sigmoid和softmax?Logistic处理多分类问题?logistic回归处理超大数据?使用logistic和randomsearch进行组合获取最优参数组合、优缺点

    广义线性模型?链接函数?sigmoid和softmax?Logistic处理多分类问题?logistic回归处理超大数据?使用logistic和randomsearch进行组合获取最优参数组合.优缺点 ...

  7. 机器学习笔记之指数族分布——最大熵原理与softmax激活函数的关系

    机器学习笔记之指数族分布--最大熵原理与softmax激活函数的关系 引言 符号定义 基于多维数据集合的经验概率分布 回顾:经验概率分布 多维数据的经验概率分布 Softmax\mathcal Sof ...

  8. softmax激活函数_深度学习中的激活函数,从softmax到sparsemax数学证明

    softmax激活函数 The objective of this post is three-fold. The first part discusses the motivation behind ...

  9. ReLU,Sigmoid,Tanh,softmax,pipeline【基础知识总结】

    一.ReLU(Rectified Linear Activation Function) 1.优点 2.缺点 3.补充 1.Leaky ReLUs 2.参数化修正线性单元(PReLU) 3.随机纠正线 ...

最新文章

  1. 其他算法-卡尔曼滤波器
  2. 一次犹豫不决策略选择
  3. git每个项目创建帐户名和密码
  4. VNC怎么和宿主机共享粘贴板(整理)
  5. 如果不这样用,Nacos也有安全问题!
  6. python剪刀石头布_如何用python写剪刀石头布
  7. 旷视申请赴港IPO:阿里蚂蚁金服持股近30%
  8. supermap试用许可过期如何重新申请
  9. macmini java,尽管在macBookPro上编译和运行完美,但Mac mini上的桥头问题编译项目仍然存在...
  10. 游戏需求,猎豹启发!揭秘华为Mate 20 X石墨烯膜散热方案出台始末
  11. 模拟便于直接存取的索引文件结构_07016.2.0使用Solr7对结构化csv文件建立全文索引...
  12. 洛谷——P1161 开灯
  13. paip.双网卡多网卡不能上网的联网配置
  14. 中国天气网城市代码表(MYSQL)
  15. 电驴搜索服务器正在连接,电驴 电驴连接不上服务器-完美教程资讯
  16. 在 Flutter 中创建一个动画屏幕
  17. IPHONE手机知识大全(中)
  18. Android转换位图BUG,知其然不知其所以然
  19. day24.open 打开文件操作
  20. 微信小程序的开发制作_搭建_工具_模板_一键生成

热门文章

  1. iOS视频播放-MPMoviePlayerController
  2. 【源译】Optimizeit Profiler概览
  3. itext html 转换pdf后 字体加粗,java - 如何使用ITEXTRenderer将HTML转换为PDF时设置新的不同字体 - 堆栈内存溢出...
  4. 解读周源站内信,双重上市后知乎怎么走?
  5. [数据结构][Python][经典题目]明星问题
  6. Atlas 2.0.0 安装
  7. Linux将已经挂载的分区取消挂载
  8. 数字孪生技术海上风电场解决方案
  9. ventory做U盘启动,使用vmware进行测试U盘系统盘是否制作成功
  10. C# Timer详解