今天我们的主题是CNN最后最后那个Softmax Function

可是网上已经把关于Softmax讲烂了

于是今天,我只想谈谈我对Softmax某些方面的理解

建议大家看之前,先去别的地方学习一些Softmax

敲黑板了,前排玩手机的同学麻烦叫一下后排的睡觉的同学

首先这是卷积神经网络最后一层全连接层的构造,W是神经元的权值,K是要分类的类别数,X是上一层的输出平铺(Flatten)后的结果

下面是softmax 的公式

那么我们怎么理解上面的公式呢

首先我们先来看Softmax Function公式本身,非常好理解

1. 当输入为X, 预测类别为j 的概率为P

2. 所有预测类别概率和为1

然后我们把CNN 和 Softmax 相结合

假设首先我们现在的任务是区别一图片是不是猫

假设这个神经网络模型已经训练完了

全连接层已经知道

当我们得到以上特征,我就可以判断这个东东是猫了

假设现在我们要给猫和狐狸分类,输入x是一堆特征,最后得到猫的特征表示值1.9,狐狸特征表示值0.6,这样意思是输入包含了更多猫的特征,包含更少狐狸的特征

这个时候,根据常理,为了做出判断,你肯定会选特征表示值最大(max)的那个,对,也就是猫(1.9)

到这里你肯定会问,既然max可以帮我搞定分类问题,为什么还需要Softmax

因为在实际运用中,特征表示值的用途不大, 我们更希望得到具有统计意义的概率

那我们来看看Softmax 是怎么实现的

根据上面的图示,我们可以得到如下Softmax公式,当输入为X时,输出为猫的概率

Softmax 输出概率图

Softmax 物理意义图

然后我们把上面的Softmax物理意义图拆分一下, 变成如下图

现在把分子拆分成如上图,我想你应该明白了

没错 ,预测结果与输入特征之间存在明显相关性

并且,Softmax 具有更好的解释性,包含属于猫的这一类的特征越多,输出为猫的概率就越大

(插播一句,这里所谓的概率,是相对概率,而不是绝对概率,假设上图P输出的概率为0.75,物理含义是,当输入为X时,预测为猫的概率是预测不是猫的概率的3倍))

上面的情况是假设不同特征是相互独立的

然而,这可能在许多情况下不成立,因为特征之间可能存在协同作用或冗余

这种协同或者作用会直接影响输出概率,比如猫前脚和猫后脚

为了解决这种情况,我们可以:(来自我们Lab办公室的李博士建议)

1)去除有协同作用或冗余的特征,如x3 =X1⋅x2x3=x1⋅x2(但是如果我们不知道哪些特征值是相关的,我们可能会引入更多无用的特征!

2)当两个特征经常一起被激活时,训练过程将学习较小的权重W1和W2,使得它们的联合效果更接近真实效果

CNN入门讲解:不一样的Softmax相关推荐

  1. CNN入门讲解:卷积层是如何提取特征的?

    各位看官老爷们 好久不见 这里是波波给大家带来的CNN卷积神经网络入门讲解 每周我将给大家带来绝对原创,脑洞大开,幽默风趣的深度学习知识点入门讲解 希望大家多多支持,多多关注 本人微信公众号:foll ...

  2. CNN 入门讲解:什么是标准化?

    此文章首发于 卷积神经网络(CNN)入门讲解​zhuanlan.zhihu.com 内容如有修改,不在此处修改,请关注知乎:蒋竺波 ----------------------------分割线--- ...

  3. CNN 入门讲解:什么是全连接层

    新年第一更 祝大家新年快乐万事如意 这个时候还愿意点进来,新的一年肯定要起飞了 这情人节和新年连着过啊 这对情侣意味着什么,意味着要带情人去见家长了 当然对一些情侣意味着,情人节过不好,估计年也过不好 ...

  4. 机器不学习:CNN 入门讲解1-什么是卷积

    机器不学习(jqbxx.com)-机器学习好网站 我们第一部分先讲 Convolution,到底什么是卷积,别忙,大家都用过某美颜软件吧, 比如我老婆新垣结衣: 美的不要的不要的..... 然后我锐化 ...

  5. CNN入门+猫狗大战(Dogs vs. Cats)+PyTorch入门

    一些修改(修改后的代码) 修改原网络的输出方式.原网络采用的交叉熵torch.nn.CrossEntropyLoss()进行Loss计算,而这个函数内部是已经进行了softmax处理的(参考),所以网 ...

  6. CNN入门详解及TensorFlow源码实现--深度学习笔记

    CNN入门详解及TensorFlow源码实现–深度学习笔记 ##一.卷积神经网络 ###1.简介 卷积神经网络是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出 ...

  7. 【直播】耿远昊:Pandas入门讲解(安泰第四届数据科学训练营)

    Pandas入门讲解 直播信息 主讲人:耿远昊,Datawhale成员,joyful-pandas作者. 直播时间:2021年04月07日 20:00~21:00 直播内容: 时间序列中的必知必会: ...

  8. 一看就明白的爬虫入门讲解:基础理论篇

    一看就明白的爬虫入门讲解:基础理论篇 发表于2015-11-13 18:50| 5909次阅读| 来源CSDN| 37 条评论| 作者孔淼 爬虫经验分享HTMLCSSAjaxApp网络 width=& ...

  9. 一看就明白的爬虫入门讲解-基础理论篇(下篇)

    文/孔淼 上篇我分享了爬虫入门中的"我们的目的是什么"."内容从何而来"."了解网络请求"这三部分的内容,这一篇我继续分享以下内容: 1) 一些常见的限制方式 2) 尝试解决问题的思路 3) 效率问题 ...

最新文章

  1. matlab 用fplot和plot作出函数图像
  2. arm云教室服务器_成都凌点科技告诉你ARM集群服务器适合的应用场景有哪些
  3. #软件更新#Visual Studio更新到16.3.8
  4. 用构造函数来完成结构体的初始化
  5. 三十三、数据仓库的概述
  6. 9.整型安全操作.rs
  7. List 集合remove问题
  8. ARP防治攻略————服务器防护
  9. 引导界面图标好大_游戏里那些图标和界面,原来是这么设计出来的?
  10. c语言字符常量和字符串常量_C语言中的字符常量
  11. scala通过JDBC进行数据库操作
  12. mysql text转varchar_关于企业面试中:“ Mysql重点 ”的28道面试题解析!
  13. java 正则表达式 中文数字和字母_Java中过滤出字母、数字和中文的正则表达式...
  14. Redis实用教程-----------菜鸟快速入门
  15. 测试电脑硬盘损坏的软件,硬盘检测工具哪个好 如何检测硬盘是否损坏【详细介绍】...
  16. 数据结构链表(C语言实现)
  17. wireshark常用过滤表达式
  18. 开发APP需要准备哪些工作
  19. Android浮窗权限判断
  20. NVIDIA BERT推理解决方案Faster Transformer开源了!

热门文章

  1. hadoop3.1集成tez和tez-ui
  2. 万能的林萧说:我来告诉你,一个草根程序员如何进入BAT。 - 今日头条(www.toutiao.com)...
  3. 修改配置nginx,限制无良爬虫频率
  4. Win7系统删除微软拼音
  5. java跟setattribute,java 中的request.setAttribute和session.setAttribute的区别
  6. 开源WebGIS实施方案
  7. mysql——解压版安装详解
  8. tp5部署到nginx后所有分页404的解决办法
  9. C#正则表达式——网游角色起名仅允许汉字、字母、数字、底划线
  10. 毁掉孩子自信的10个杀手