神经网络可以用于分类和回归问题,但是最后在输出时需要根据情况来设定输出层的激活函数。一般来说,

  • 回归问题:恒等函数
  • 分类问题:softmax函数

https://blog.csdn.net/u011240016/article/details/85121601

恒等函数与softmax函数

恒等函数:输入 = 输出

softmax函数

yk=exp(ak)∑i=1nexp(ai)y_k = \frac{exp(a_k)} {\sum_{i=1}^nexp(a_i)} yk​=∑i=1n​exp(ai​)exp(ak​)​

其中aka_kak​是输入信号,即前层神经元的输出,yky_kyk​是第k个神经元的输出,n是输出层神经元的个数。

# softmax
def softmax(x):return np.exp(x) / np.exp(x).sum()a = np.array([0.3, 2.9, 4.0])
softmax(a)

softmax处理溢出问题

在分子分母上同时减去某个常数,为了防止溢出,我们可以将C′C'C′设置为输入信号的最大值。

# 防止溢出
def softmax(x):c = np.max(x)exp_x = np.exp(x - c)sum_exp_x = np.sum(exp_x)return exp_x / sum_exp_xa = np.array([1010, 1000, 990])softmax(a) # array([9.99954600e-01, 4.53978686e-05, 2.06106005e-09])

Softmax函数的输出在0.0~1.0之间,且输出值的总和为1,所以可以将softmax函数的输出解释为概率

输出层的神经元数量

需要根据具体问题来定,比如手写数字识别,输出层就设置为10个神经元即可。

END.

完全参考:

《深度学习入门:基于Python的理论和实现》

【机器学习】输出层的设计相关推荐

  1. 机器学习入门(06)— 输出层多元分类、softmax 归一化指数函数以及输出层的神经元数量

    输出层所用的激活函数,要根据求解问题的性质决定.一般地, 回归问题可以使用恒等函数,也就是说会将输入按原样输出: 二元分类问题可以使用 sigmoid 函数: 多元分类问题可以使用 softmax 函 ...

  2. TF之CNN:CNN实现mnist数据集预测 96%采用placeholder用法+2层C及其max_pool法+隐藏层dropout法+输出层softmax法+目标函数cross_entropy法+

    TF:TF下CNN实现mnist数据集预测 96%采用placeholder用法+2层C及其max_pool法+隐藏层dropout法+输出层softmax法+目标函数cross_entropy法+A ...

  3. 神经网络的输出层有哪些_神经网络算法—总结篇

    本文是吴恩达<机器学习>视频笔记第57篇,对应第5周第7个视频. "Neural Networks Learning:--Putting it together" 前面 ...

  4. 基于单片机的八层电梯设计

    设计简介: 本设计是基于单片机的八层电梯设计,主要实现以下功能: ①可实现通过内机按键和外机按键控制电梯到达楼层 ②可实现通过一个四相步进电机控制电梯升降,另一个四相步进电机控制电梯开关门 ③可实现通 ...

  5. BP神经网络隐藏层的作用,bp神经网络输出层函数

    matlab bp神经网络只能输入一组预测一组吗 可以用前面很多数据建立网络后预测下几组数据吗 当然可以,这就是输入模式和输出模式的制定,可以自由设置,多输入多输出.但要注意如果预测多组,输入必须要提 ...

  6. 基于单片机的六层电梯设计

    设计简介: 本设计是基于单片机的六层电梯设计,主要实现以下功能: ①可实现通过内机按键和外机按键控制电梯到达楼层 ②可实现通过一个四相步进电机控制电梯升降,另一个四相步进电机控制电梯开关门 ③可实现通 ...

  7. Tensorflow--tutorial--建造神经网络(输入层,隐藏层,输出层)

    建造一个完整的神经网络,包括添加神经层,计算误差,训练步骤,判断是否在学习. 代码如下:(我把注释写的非常详细,不用怕看不懂) from __future__ import print_functio ...

  8. 【阅读笔记】应用LRP,通过将相关性从模型的输出层反向传播到其输入层来解释基于RNN的DKT模型(一)

    提示:Towards Interpretable Deep Learning Models for Knowledge Tracing将重点放在应用分层相关传播(LRP)方法,通过将相关性从模型的输出 ...

  9. 【阅读笔记】应用LRP,通过将相关性从模型的输出层反向传播到其输入层来解释基于RNN的DKT模型(二)

    提示:Interpreting Deep Learning Models for Knowledge Tracing与Towards Interpretable Deep Learning Model ...

最新文章

  1. mysql 合并分钟_mysql合并和时间函数
  2. 演讲实录丨清华大学朱小燕教授:对话系统现状与展望
  3. java线程安全性_Java并发-线程安全性
  4. fzu - 1752 Problem 1752 A^B mod C
  5. [WPF]xml序列化以及反序列化数据
  6. 二隐层的神经网络实现MNIST数据集分类
  7. [Android] 环境优化配置Android Studio发展NDK
  8. Laravel5.2队列驱动expire参数设置带来的重复执行问题 数据库驱动
  9. 最新的Functions 类
  10. lstm预测单词_从零开始理解单词嵌入| LSTM模型|
  11. 揭秘!女程序员为啥更赚钱?这4个大招,用Python做副业躺赚
  12. php 图片木马,php图片木马实现原理
  13. 通过GPU服务器运行Carla
  14. ECU安全访问系列_2(代码篇)
  15. android启动百度地图应用并开始导航,android打开外部地图导航(百度、高德、腾讯)...
  16. 【Java从零到架构师第③季】【49】会话管理—Token_ehcache
  17. django、vue如何实现websock通信,如何实现多人群聊
  18. Como Criar Ambientes de Desenvolvimento PHP com或Docker Compose
  19. vue 计算文件hash值_vue项目打包文件增加hash值
  20. APOC为Neo4j节点添加Label

热门文章

  1. 【ROS学习笔记】(四)订阅者Subscriber的实现
  2. 百世集团2015暑期实习研发工程师笔试题
  3. 《我的互联网方法论》读书笔记
  4. 安装JAVA文件被删_Android 删除无用Java文件
  5. java random.nextbyte_java.util.Random.next()方法实例
  6. springboot+vue全栈开发_springboot+vue(一)___开发环境以及前后端项目搭建
  7. win98 老电脑 文件导出_UGNX利器:轻量化建模,很多人还傻傻的关注电脑配置
  8. SciPy 非线性方程求解 | Python技能树征题
  9. c ++ strstr_在C / C ++中使用strstr()的指南
  10. linux中更改用户密码_如何在Linux中更改用户密码