gpt4 book ai didi

python - 运行时警告 : overflow encountered in exp in computing the logistic function

转载 作者:太空狗 更新时间:2023-10-30 02:03:57 25 4
gpt4 key购买 nike

当我尝试计算我正在实现的数据挖掘方法的逻辑函数时出现此错误:

RuntimeWarning: overflow encountered in exp

我的代码:

def logistic_function(x):
# x = np.float64(x)
return 1.0 / (1.0 + np.exp(-x))

如果我从一些相关问题中正确理解问题是 np.exp() 返回了一个巨大的值。我看到了让 numpy 忽略警告的建议,但问题是当我收到此错误时,我的方法的结果很糟糕。但是,当我不明白时,它们就是预期的。所以让 numpy 忽略警告对我来说根本不是解决方案。我不知道出了什么问题或如何处理。

我什至不知道这是否是错误的结果,因为有时我会收到此错误,有时不会!我检查了我的代码很多次,一切看起来都是正确的!

最佳答案

您应该使用 scipy.special.expit 计算逻辑函数,在最近足够的 SciPy 中 比您的解决方案更稳定(尽管早期版本弄错了),或者将其简化为 tanh:

def logistic_function(x):
return .5 * (1 + np.tanh(.5 * x))

此版本的函数稳定、快速且相当准确。

关于python - 运行时警告 : overflow encountered in exp in computing the logistic function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26218617/

25 4 0