RuntimeWarning: overflow encountered in power
问题:
在使用sigmoid函数的时候遇到了这个错误:
yyh=1/(1+np.power(np.e,-yh))
问题分析:
溢出就是数太大,计算机已经表示不了了。我们当然会想,怎么会溢出呢?因为我们注意到这里使用了指数,指数的增长速度是非常块的,e1000e^{1000}e1000这个数估计计算机都表示不了,因为太大了。
我们猜测:是否是我们的yhyhyh有一个非常小的负数,然后取负号就变成特别大的正数,然后指数一下就溢出。
果然如此,这里相当于计算了e1151e^{1151}e1151,所以当然会溢出了。
理论分析:
y=11+e−xy=\frac{1}{1+e^{-x}}y=1+e−x1
当x为正数,很大的时候,不会溢出,因为e−xe^{-x}e−x趋近于0,没什么好溢出的。
当x为负数,很小的时候,会溢出,如上面的情况。
所以我们修正一下我们的sigmoid函数,不要直接上面这么用。将
yyh=1/(1+np.power(np.e,-yh))
换成:
def sigmoid(x):if x>=0: return 1.0/(1+np.power(np.e,-x))else:#为负数的时候,对sigmoid函数的优化,避免了出现极大的数据溢出return np.power(np.e,x)/(1+np.power(np.e,x))
yyh=sigmoid(yh)
注意:上面并没有修改sigmoid函数,只是把公式换了一种等价描述,但是却克服了计算机会溢出的缺点。
即:
y=11+e−x=exex+1y=\frac{1}{1+e^{-x}}=\frac{e^{x}}{e^{x}+1}y=1+e−x1=ex+1ex
但是当x为正的时候,不要使用第2种公式形式,不然溢出。当x为负的时候,才使用,但不使用第一种公式形式,这就是优化的sigmoid函数(仅仅在计算机中才需要优化,数学中是完全等价的)。
RuntimeWarning: overflow encountered in power相关推荐
- python图像处理报错:RuntimeWarning: overflow encountered in ushort_scalars
python图像处理报错:RuntimeWarning: overflow encountered in ushort_scalars 在使用numpy进行图像处理过程,经常遇到RuntimeWarn ...
- “RuntimeWarning: overflow encountered in ubyte_scalars像素加减运算溢出异常”原因以及解决办法
转载本文请注明详细地址 本文介绍了像素点相加减溢出的原因与解决方法 目录 原因: 解决方法: 原因: 这个问题一般是会出现在图像处理像素的加减中,出现的原因是因为图片的像素一般是八位即最大值是256, ...
- python计算警告:overflow encountered in exp(指数函数溢出)(sigmoid函数的numpy数组计算方式)
文章目录 前言 原因 解决方法 1.对sigmoid函数实现的优化,使`np.exp(-x)`的值始终小于1 2.用这个公式替代(没试过,不知好不好用) 前言 在计算sigmoid函数值时,出现了以下 ...
- overflow encountered in exp
再次运行logRegres.multiTest()时,没有第一次的警告,sigmoid函数优化可避免类似问题: def sigmoid(inX):from numpy import expreturn ...
- overflow encountered in ubyte_scalars像素加减运算溢出异常
https://blog.csdn.net/Acecai01/article/details/80248139
- 01.神经网络和深度学习 W3.浅层神经网络(作业:带一个隐藏层的神经网络)
文章目录 1. 导入包 2. 预览数据 3. 逻辑回归 4. 神经网络 4.1 定义神经网络结构 4.2 初始化模型参数 4.3 循环 4.3.1 前向传播 4.3.2 计算损失 4.3.3 后向传播 ...
- voc_eval.py:41: RuntimeWarning: invalid value encountered in greater_equal if np.sum(rec = t) ==
训练faster-rcnn报错 训练结束后测试时出现类似 File "/home/xxx/py-faster-rcnn/tools/../lib/datasets/voc_eval.py&q ...
- 使用python的butter带通滤波器时出现RuntimeWarning
RuntimeWarning: invalid value encountered in reduce ret = umr_sum(arr, axis, dtype, out, keepdims) ...
- 吴恩达深度学习课程deeplearning.ai课程作业:Class 1 Week 3 assignment3
吴恩达deeplearning.ai课程作业,自己写的答案. 补充说明: 1. 评论中总有人问为什么直接复制这些notebook运行不了?请不要直接复制粘贴,不可能运行通过的,这个只是notebook ...
最新文章
- AngularJS之Service(四)
- Xcode终端快捷键
- 导致定时器失效_IIS进程回收导致定时器失效的解决方法(CMD命令)
- python学习面向对象_python学习之面向对象学习
- MVVM架构~knockoutjs实现简单的购物车
- 2019 深度学习框架大盘点!看 PyTorch、TensorFlow 如何强势上榜?
- 7-67 使用二维数组实现Matrix(矩阵)。 (60 分)
- http的“无连接”指的是_http协议无状态中的 quot;状态quot; 到底指的是什么?...
- WSFC真实场景仲裁处理
- 2013年工作中遇到的20个问题:241-260
- 调试代码和解决问题的总体思路和 技术路线应该持有的心态
- 二、十六进制数互相转换
- Idea设置背景色设置为护眼色
- 怎么批量修改html文件后缀,如何批量修改文件后缀名
- [从头读历史] 第280节 诗经目录以及十五国风的地域分布
- NVDIMM编程模型原理大概推导梳理
- spring 动态数据源切换实例
- 电弧光保护系统 就选汉光HKHB-608智能电弧光保护系统
- matlab 版 数独小游戏 GUI界面设计
- Mac OS X Mavericks 迅雷下载地址 ( mac os x 10.9 )
热门文章
- warning LNK4098: 默认库“MSVCRT”与其他库的使用冲突;使用 /NODEFAULTLIB:library问题解决方法
- 知识图谱可解释推理研究综述
- 【开放书】《命令行数据科学指南(第二版)》
- 独家 | 浅谈Python/Pandas中管道的用法
- Python进阶最新中文版,开源!
- TensorRT重磅更新!10亿参数大模型实时运行,GPT推理加速21倍
- CV圈太卷了!继谷歌提出MLP-Mixer之后,清华、牛津等学者又发表三篇MLP相关论文...
- 90后清华女孩:博二开始研究世界级难题,3年发5篇Science,现入选中国榜“35岁以下科技创新35人”!...
- 2020人工智能课程超级大列表:深度学习-强化学习-图神经网络-自然语言处理等...
- 【Pytorch】运用英伟达DALI加速技巧可使PyTorch运算速度快4倍