神经网络之输出层设计
输出层的设计
神经网络可以用在分类问题和回归问题上,不过需要根据情况改变输出层的激活函数。一般而言,回归问题用恒等函数,分类问题用softmax函数。
1、恒等函数和softmax函数
- 恒等函数:将输入按原样输出,对于输入的信息,不加以任何改动地直接输出。
- softmax函数:
图示:
- 实现softmax注意事项:
溢出问题解决措施:减去输出信号最大值。 - softmax特征:softmax函数的输出是0.0到1.0之间的实数。并且,softmax函数的输出值的总和是1。输出可以解释为“概率”。
- 即便使用了softmax函数,各个元素之间的大小关系也不会改变。这是因为指数函数(y = exp(x))是单调递增函数。
- 神经网络在进行分类时,输出层的softmax函数可以省略。
2、softmax函数 VS sigmoid函数
softmax函数
softmax =多类别分类问题=只有一个正确答案=互斥输出(手写数字)。构建分类器,解决只有唯一正确答案的问题时,用softmax函数处理各个原始输出值。softmax函数的分母综合了原始输出值的所有因素,这意味着,softmax函数得到的不同概率之间相互关联。
softmax函数,又称归一化指数函数。
sigmoid函数
sigmoid =多标签分类问题=多个正确答案=非独占输出。构建分类器,解决有多个正确答案的问题时,用sigmoid函数分别处理各个原始输出值。
sigmoid函数是一种logistic函数。
优点:1、sigmoid函数的输出在(0,1)之间,输出范围有限,优化稳定,可以用作输出层。2. 连续函数,便于求导。
缺点:1. 最明显的就是饱和性,容易造成梯度消失。2.激活函数的偏移现象。sigmoid函数的输出值均大于0,使得输出不是0的均值,这会导致后一层的神经元将得到上一层非0均值的信号作为输入,这会对梯度产生影响。 3. 计算复杂度高,因为sigmoid函数是指数形式。
总结
- softmax函数是二分类函数sigmoid在多分类上的推广,目的是将多分类的结果以概率的形式展现出来。
- sigmoid函数可以用来解决多标签问题,softmax函数用来解决单标签问题。
- 对于某个分类场景,当softmax函数能用时,sigmoid函数一定可以用。
神经网络之输出层设计相关推荐
- 神经网络的输出层有哪些_神经网络算法—总结篇
本文是吴恩达<机器学习>视频笔记第57篇,对应第5周第7个视频. "Neural Networks Learning:--Putting it together" 前面 ...
- 神经网络的输出层有哪些_深度学习的数学-神经网络、输入层、隐藏层、输出层...
前言 前文中了解到,神经网络由多个神经单元组成,而本篇博客将会了解到深度学习由多个神经网络组成,并且分为 输入层.隐藏层和输出层,隐藏层涉及到的知识点最多,是本文的重点 正文 阶层型的神经网络主要结构 ...
- 对卷积神经网络中卷积层、激活层、池化层、全连接层的理解
文章目录 卷积神经网络 输入层 卷积层 激励层 池化层 全连接层 卷积神经网络 举一个卷积神经网络识别汽车的例子如下: 其中数据输入的是一张图片(输入层),CONV表示卷积层,RELU表示激励层,PO ...
- BP神经网络隐藏层的作用,bp神经网络输出层函数
matlab bp神经网络只能输入一组预测一组吗 可以用前面很多数据建立网络后预测下几组数据吗 当然可以,这就是输入模式和输出模式的制定,可以自由设置,多输入多输出.但要注意如果预测多组,输入必须要提 ...
- 使用神经网络做二分类,输出层需要几个神经元?应该选择哪一种激活函数?如果要处理minst数据、输出层需要几个神经元?使用那种激活函数?如果使用神经网络预测房价,输出层需要几个神经元、使用什么激活函数?
使用神经网络做二分类,输出层需要几个神经元?应该选择哪一种激活函数?如果要处理minst数据.输出层需要几个神经元?使用那种激活函数?如果使用神经网络预测房价,输出层需要几个神经元.使用什么激活函数? ...
- 神经网络结构设计指导原则——输入层:神经元个数=feature维度 输出层:神经元个数=分类类别数,默认只用一个隐层 如果用多个隐层,则每个隐层的神经元数目都一样...
神经网络结构设计指导原则 原文 http://blog.csdn.net/ybdesire/article/details/52821185 下面这个神经网络结构设计指导原则是Andrew NG在 ...
- 【数据挖掘】神经网络 后向传播算法( 向后传播误差 | 输出层误差公式 | 隐藏层误差公式 | 单元连接权值更新公式 | 单元偏置更新公式 | 反向传播 | 损失函数 | 误差平方和 | 交叉熵 )
文章目录 I . 向后传播误差 简介 II . 输出层误差计算公式 III . 隐藏层层误差计算公式 IV . 使用误差更新 连接权值 V . 使用误差更新 单元偏置 VI . 反向传播 过程 VII ...
- 【数据挖掘】神经网络 后向传播算法 向前传播输入 案例计算分析 ( 网络拓扑 | 输入层计算 | 隐藏层计算 | 输出层计算 )
文章目录 I . 神经网络 后向传播算法 计算 隐藏层 与 输出层 的输入输出实例分析 II . 神经网络 后向传播算法 输入层公式 III. 神经网络 后向传播算法 输入层计算 IV . 神经网络 ...
- DL之DNN:基于自定义数据集利用深度神经网络(输入层(10个unit)→2个隐藏层(10个unit)→输出层1个unit)实现回归预测实现代码
DL之DNN:基于自定义数据集利用深度神经网络(输入层(10个unit)→2个隐藏层(10个unit)→输出层1个unit)实现回归预测实现代码 目录 基于自定义数据集利用深度神经网络(输入层(10个 ...
- 【深度学习的数学】“2×4×1层带sigmoid激活函数的神经网络感知机对三角形平面的分类训练预测”,输出层加偏置b(实时绘制损失函数曲线)(对输入数据归一化)(奇迹出现了!)
文章目录 前言 代码 修改之前错误的代码 知道为何Z的结果不能拟合到预期的5了 解决办法1:取消输出层神经单元的a和b(直接将z作为输出)(这个办法不行,影响神经单元的完整性,没法计算出输出层神经单元 ...
最新文章
- 重磅丨AI公共政策成全球热点,美国ITI发布《人工智能政策原则》
- 奇奇seo优化软件_seo优化软件如何选择
- 以系统最高权限运行软件
- 工程搭建:搭建子工程之分布式id生成器
- Sql Server 中存储过程的output return的区别
- leetcode96. 不同的二叉搜索树(动态规划)
- 电商美工节日放假页面交稿了么?年味页面看这里
- Python 语言 Hello world
- asp.net mvc 伪静态路由配置
- tensorflow之安装opencv
- C#邮件发送问题(一)
- IO设备错误,无法运行此项请求,要怎样寻回数据
- OPPOR9m官方固件刷机教程
- oracle将两个时间相减_oracle 两个时间相减
- EXCEL电子表格使用技巧
- 人脸识别最全综述:详解人脸识别技术、人才、趋势
- 第九届JAVA大学C组 那天返回省赛 第一题
- Canvas绘制飞机飞行
- iphone7一晚上掉电50%_苹果7待机一晚掉电多少
- 图文详解 | 万用表的使用与口诀!十足干货,不要错过!