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函数优化可避免类似问题:


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

 

安全的替代写法如下:


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

 


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

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


      def sigmoid(inX):
      from numpy import exp
      if inX>=0:
      return 1.0/(1+exp(-inX))
      else:
      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个月内不可修改。