【机器学习】输出层的设计
神经网络可以用于分类和回归问题,但是最后在输出时需要根据情况来设定输出层的激活函数。一般来说,
- 回归问题:恒等函数
- 分类问题:
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=1nexp(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的理论和实现》
【机器学习】输出层的设计相关推荐
- 机器学习入门(06)— 输出层多元分类、softmax 归一化指数函数以及输出层的神经元数量
输出层所用的激活函数,要根据求解问题的性质决定.一般地, 回归问题可以使用恒等函数,也就是说会将输入按原样输出: 二元分类问题可以使用 sigmoid 函数: 多元分类问题可以使用 softmax 函 ...
- 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 ...
- 神经网络的输出层有哪些_神经网络算法—总结篇
本文是吴恩达<机器学习>视频笔记第57篇,对应第5周第7个视频. "Neural Networks Learning:--Putting it together" 前面 ...
- 基于单片机的八层电梯设计
设计简介: 本设计是基于单片机的八层电梯设计,主要实现以下功能: ①可实现通过内机按键和外机按键控制电梯到达楼层 ②可实现通过一个四相步进电机控制电梯升降,另一个四相步进电机控制电梯开关门 ③可实现通 ...
- BP神经网络隐藏层的作用,bp神经网络输出层函数
matlab bp神经网络只能输入一组预测一组吗 可以用前面很多数据建立网络后预测下几组数据吗 当然可以,这就是输入模式和输出模式的制定,可以自由设置,多输入多输出.但要注意如果预测多组,输入必须要提 ...
- 基于单片机的六层电梯设计
设计简介: 本设计是基于单片机的六层电梯设计,主要实现以下功能: ①可实现通过内机按键和外机按键控制电梯到达楼层 ②可实现通过一个四相步进电机控制电梯升降,另一个四相步进电机控制电梯开关门 ③可实现通 ...
- Tensorflow--tutorial--建造神经网络(输入层,隐藏层,输出层)
建造一个完整的神经网络,包括添加神经层,计算误差,训练步骤,判断是否在学习. 代码如下:(我把注释写的非常详细,不用怕看不懂) from __future__ import print_functio ...
- 【阅读笔记】应用LRP,通过将相关性从模型的输出层反向传播到其输入层来解释基于RNN的DKT模型(一)
提示:Towards Interpretable Deep Learning Models for Knowledge Tracing将重点放在应用分层相关传播(LRP)方法,通过将相关性从模型的输出 ...
- 【阅读笔记】应用LRP,通过将相关性从模型的输出层反向传播到其输入层来解释基于RNN的DKT模型(二)
提示:Interpreting Deep Learning Models for Knowledge Tracing与Towards Interpretable Deep Learning Model ...
最新文章
- python字典怎么排序_如何对python的字典进行排序
- colease函数 mysql_SqlConnection 概述
- boost::histogram::axis::circular用法的测试程序
- Okhttp同步请求源码分析
- P3250 [HNOI2016]网络(整体二分)
- 小程序triggerevent 传参_微信小程序——无限递归的层次列表
- 编程模式(schema) —— 表驱动法(table-driven)
- 如何画正太分布曲线_python scipy.stats实现各种常见的统计分布
- python中文帮助_python中文官方手册等手册链接地址
- 图像算法常用图片Lena
- html嵌入百度地图无法显示
- Adobe Illustrator CS6 出现错误报告16
- Github开源项目总结
- HA 高可用软件系统保养指南
- 偏倚的主要类型_医学科研中偏倚的分类有哪些?
- Java编程:Java里的协程
- Centos7创建CA和申请证书
- 闻道有先后,术业有专攻
- Adobe 安装程序无法初始化,请下载Adobe Support Advisor检测该问题
- C语言的指针符号到底靠近变量类型还是变量名?
热门文章
- [冲啊!!!!!]小白SLAM相关基础知识
- 微信 的微服务器配置,spring-boot wm-accesstoken
- js生成批次号_【管理】MES系统中的批次管理
- java no provider for_No provider available for the service com.alibaba.
- python并发循环_在Python中模拟一个并发循环?
- 服务器脱机状态,从脱机工作切换到联机工作
- java outofmerroy_Tomcat中的Out Of Memory错误
- python异步线程算法应用_Python多线程----线程池以及线程实现异步任务
- 小学科学作业计算器c语言,怎样用C实现一个简单科学计算器
- 利用html制作通讯录_动漫制作软件哪些好用?动漫制作软件推荐