overflow encountered in exp

举报
风吹稻花香 发表于 2021/06/05 00:16:32 2021/06/05
【摘要】     再次运行logRegres.multiTest()时,没有第一次的警告,sigmoid函数优化可避免类似问题: def sigmoid(inX): from numpy import exp return 1.0/(1+exp(-inX))     安全的替代写法如下: def logistic_function...

 

 

再次运行logRegres.multiTest()时,没有第一次的警告,sigmoid函数优化可避免类似问题:


  
  1. def sigmoid(inX):
  2. from numpy import exp
  3. return 1.0/(1+exp(-inX))
  1.  

 

安全的替代写法如下:


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

 


  
  1. import numpy as np
  2. def logistic_function(x):
  3. return .5 * (1 + np.tanh(.5 * x))
  4. def sigmoid(inX):
  5. from numpy import exp
  6. return 1.0 / (1 + exp(-inX))
  7. if __name__ == '__main__':
  8. data=np.array([-1.0,-2.0,1.0,2.0,3.0])
  9. ddd= logistic_function(data)
  10. print(ddd)
  11. print(sigmoid(data))

这个能针对单个值,对于矩阵就不行了 


  
  1. def sigmoid(inX):
  2. from numpy import exp
  3. if inX>=0:
  4. return 1.0/(1+exp(-inX))
  5. else:
  6. return exp(inX)/(1+exp(inX))
  1.  

文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/111500825

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。