当前位置: 首页 > news >正文

优化sigmoid

原代码

def sigmoid(x):result = 1 / (1 + np.exp(-x))return result

问题:当-x值过大,会导致溢出错误

改进后代码

def improved_sigmoid(x):# 创建一个与输入x相同大小的空数组来存储结果result = np.zeros_like(x)# 找到输入x中所有大于0的元素positive_mask = x >= 0# 对大于0的元素,使用常规计算# 这里 exp(-x) 不会下溢result[positive_mask] = 1 / (1 + np.exp(-x[positive_mask]))# 对小于0的元素,使用优化过的公式# 避免 exp(-x) 上溢# sigmoid(x) = e^x / (1 + e^x)negative_mask = x < 0exp_x = np.exp(x[negative_mask])result[negative_mask] = exp_x / (1 + exp_x)return result

证明:
1/(1+e^(-x))
=1/(1+1/e^x)
=1/(e^x + 1 /e^x)
=ex/(ex +1)

http://www.rkmt.cn/news/8552.html

相关文章:

  • HarmonyOS之UIContext 与 UIAbility、WindowStage 的关系 - 指南
  • 完整教程:Mistral Document AI已正式登陆Azure AI Foundry(国际版)
  • 飞书机器人推送消息通知用自定义机器人
  • ENSP 常用命令
  • Kubernetes权威指南-基础篇
  • office2024安装教程(附安装包)Office 2024 专业增强版下载安装激活详细图文步骤
  • springboot手写源码总结
  • 低代码 + AI 构建智慧校园系统:某高校宿舍报修平台的48小时构建全流程
  • Microsoft OLE漏洞致远程代码执行安全公告解析
  • 写代码还是写提示词?——Prompt 工程是不是程序员的新技能树
  • 解码C语言模块化编程
  • redis存储漂流瓶信息
  • ​​Snipaste 2.10.1.dmg截图安装教程|Mac电脑拖拽安装详细步骤​
  • Day18面向对象的基本认识与回顾方法的定义
  • 详细介绍:【Svelte】后端、前端加载数据的比较与分析
  • 微信人才招聘系统信息管理系统源码-SpringBoot后端+微信小脚本前端+MySQL【可直接运行】
  • OBS Studio视频直播录制软件下载安装教程(录屏直播软件下载)
  • 实用指南:[论文阅读] 人工智能 | 通用AI落地新路径:大语言模型智能体操作系统研究综述精读
  • 初步实现了轮播。。
  • 攻防世界 web
  • 基于OpenCv做照片分析应用一(Java) - 指南
  • 7. Innodb底层原理与Mysql日志机制深入剖析
  • 新建Vue3项目流程
  • YOLO实战应用 2数据准备与增强
  • Day18稀疏数组
  • YOLO实战应用 3训练与优化策略
  • 实用指南:Dify关联Ollama
  • ik中文分词器使用
  • 动态水印也能去除?ProPainter一键视频抠图整合包下载
  • 解码C语言宏