python - 应用 sigmoid 激活函数实现神经网络算法的数学范围错误
问题描述
我在 python 下的数学包中使用exp()
函数,并实现函数以应用 sigmoid 函数。下面是源代码:
import math
def transfer(self, actavation):
return 1.0/(1.0 + exp(-actavation))
我使用这个函数和数据集来循环参数
dataset = [[2.7810836,2.550537003,0],
[1.465489372,2.362125076,0],
[3.396561688,4.400293529,0],
[1.38807019,1.850220317,0],
[3.06407232,3.005305973,0],
[7.627531214,2.759262235,1],
[5.332441248,2.088626775,1],
[6.922596716,1.77106367,1],
[8.675418651,-0.242068655,1],
[7.673756466,3.508563011,1]]
I get an OverflowError:math range error
我知道为什么会出现这个问题。因为它有太多的计算过程。
但我必须得到一个结果。如果使用四舍五入怎么办?
我怎么解决这个问题??
解决方案
推荐阅读
- apache-spark - 如何使用 TinkerPop/Gremlin 为图形数据处理大型 .kryo 文件
- flutter - Flutter : 从 Map (key, value) 访问数据
- javascript - 获取不等待从firebase下载完整的文件
- java - Android Studio 不在某个布局文件中显示布局预览
- rest - 使用子列表作为查询参数设计 REST 端点
- sql-server - T-SQL 上的 XML 查询
- xml - 如何仅在 xsl 中的应用模板中的最后一个兄弟元素之后创建 div 元素?
- css - Fall-Back Fonts Outlook 2019——方法不起作用
- jwt - Atlassian Connect Express:使用 JSX 渲染器时无法与受保护的路由交互
- javascript - 使用 REST 未设置默认值从 SPO 列调用时填充流畅的 ui 下拉列表