CNN入门讲解:不一样的Softmax
今天我们的主题是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相关推荐
- CNN入门讲解:卷积层是如何提取特征的?
各位看官老爷们 好久不见 这里是波波给大家带来的CNN卷积神经网络入门讲解 每周我将给大家带来绝对原创,脑洞大开,幽默风趣的深度学习知识点入门讲解 希望大家多多支持,多多关注 本人微信公众号:foll ...
- CNN 入门讲解:什么是标准化?
此文章首发于 卷积神经网络(CNN)入门讲解zhuanlan.zhihu.com 内容如有修改,不在此处修改,请关注知乎:蒋竺波 ----------------------------分割线--- ...
- CNN 入门讲解:什么是全连接层
新年第一更 祝大家新年快乐万事如意 这个时候还愿意点进来,新的一年肯定要起飞了 这情人节和新年连着过啊 这对情侣意味着什么,意味着要带情人去见家长了 当然对一些情侣意味着,情人节过不好,估计年也过不好 ...
- 机器不学习:CNN 入门讲解1-什么是卷积
机器不学习(jqbxx.com)-机器学习好网站 我们第一部分先讲 Convolution,到底什么是卷积,别忙,大家都用过某美颜软件吧, 比如我老婆新垣结衣: 美的不要的不要的..... 然后我锐化 ...
- CNN入门+猫狗大战(Dogs vs. Cats)+PyTorch入门
一些修改(修改后的代码) 修改原网络的输出方式.原网络采用的交叉熵torch.nn.CrossEntropyLoss()进行Loss计算,而这个函数内部是已经进行了softmax处理的(参考),所以网 ...
- CNN入门详解及TensorFlow源码实现--深度学习笔记
CNN入门详解及TensorFlow源码实现–深度学习笔记 ##一.卷积神经网络 ###1.简介 卷积神经网络是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出 ...
- 【直播】耿远昊:Pandas入门讲解(安泰第四届数据科学训练营)
Pandas入门讲解 直播信息 主讲人:耿远昊,Datawhale成员,joyful-pandas作者. 直播时间:2021年04月07日 20:00~21:00 直播内容: 时间序列中的必知必会: ...
- 一看就明白的爬虫入门讲解:基础理论篇
一看就明白的爬虫入门讲解:基础理论篇 发表于2015-11-13 18:50| 5909次阅读| 来源CSDN| 37 条评论| 作者孔淼 爬虫经验分享HTMLCSSAjaxApp网络 width=& ...
- 一看就明白的爬虫入门讲解-基础理论篇(下篇)
文/孔淼 上篇我分享了爬虫入门中的"我们的目的是什么"."内容从何而来"."了解网络请求"这三部分的内容,这一篇我继续分享以下内容: 1) 一些常见的限制方式 2) 尝试解决问题的思路 3) 效率问题 ...
最新文章
- matlab 用fplot和plot作出函数图像
- arm云教室服务器_成都凌点科技告诉你ARM集群服务器适合的应用场景有哪些
- #软件更新#Visual Studio更新到16.3.8
- 用构造函数来完成结构体的初始化
- 三十三、数据仓库的概述
- 9.整型安全操作.rs
- List 集合remove问题
- ARP防治攻略————服务器防护
- 引导界面图标好大_游戏里那些图标和界面,原来是这么设计出来的?
- c语言字符常量和字符串常量_C语言中的字符常量
- scala通过JDBC进行数据库操作
- mysql text转varchar_关于企业面试中:“ Mysql重点 ”的28道面试题解析!
- java 正则表达式 中文数字和字母_Java中过滤出字母、数字和中文的正则表达式...
- Redis实用教程-----------菜鸟快速入门
- 测试电脑硬盘损坏的软件,硬盘检测工具哪个好 如何检测硬盘是否损坏【详细介绍】...
- 数据结构链表(C语言实现)
- wireshark常用过滤表达式
- 开发APP需要准备哪些工作
- Android浮窗权限判断
- NVIDIA BERT推理解决方案Faster Transformer开源了!
热门文章
- hadoop3.1集成tez和tez-ui
- 万能的林萧说:我来告诉你,一个草根程序员如何进入BAT。 - 今日头条(www.toutiao.com)...
- 修改配置nginx,限制无良爬虫频率
- Win7系统删除微软拼音
- java跟setattribute,java 中的request.setAttribute和session.setAttribute的区别
- 开源WebGIS实施方案
- mysql——解压版安装详解
- tp5部署到nginx后所有分页404的解决办法
- C#正则表达式——网游角色起名仅允许汉字、字母、数字、底划线
- 毁掉孩子自信的10个杀手