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

tanh函数

tanh函数(双曲正切函数)是神经网络中一种常用的激活函数,它的数学表达式为:

$$\tanh(x) = \frac{e^x - e{-x}}{ex + e^{-x}}$$

它的输出范围是 $(-1, 1)$。

tanh函数的特点

  • 非线性:和 Sigmoid 函数一样,tanh 函数也是非线性的,这使得它能够为神经网络引入非线性特性,从而学习和解决更复杂的问题。
  • 对称性:tanh 函数关于原点对称,它的中心在 $(0, 0)$。这意味着当输入为正时,输出为正;当输入为负时,输出为负。这有助于模型更好地处理负向输入,使得数据的平均值更接近 0,从而加快模型的收敛速度
  • 梯度消失问题:与 Sigmoid 函数类似,当输入 $x$ 的值非常大或非常小时(例如 $x > 2$ 或 $x < -2$),tanh 函数的梯度(导数)会变得非常接近于 0。这会导致在反向传播过程中,梯度被反复相乘后变得非常小,使得靠近输入层的权重更新非常缓慢,即梯度消失问题

tanh函数与Sigmoid函数的比较

特性 tanh函数 Sigmoid函数
数学表达式 $\frac{e^x - e{-x}}{ex + e^{-x}}$ $\frac{1}{1 + e^{-x}}$
输出范围 $(-1, 1)$ $(0, 1)$
优点 中心在0,使得训练收敛更快。 输出范围为 $(0, 1)$,常用于二分类模型的输出层。
缺点 梯度消失问题 梯度消失问题;输出不以0为中心,可能影响收敛速度。

在早期的神经网络中,tanh 函数因为其以 0 为中心的特性,通常比 Sigmoid 函数更受欢迎,因为它能有效缓解 Sigmoid 函数中非零中心化带来的问题。

在代码中如何实现

你可以使用 NumPy 轻松实现 tanh 函数:

import numpy as npdef tanh(x):return (np.exp(x) - np.exp(-x)) / (np.exp(x) + np.exp(-x))

在实际应用中,由于 np.tanh 函数经过了底层优化,你通常可以直接调用它来获得更好的性能和数值稳定性:

import numpy as npdef tanh(x):return np.tanh(x)
http://www.jsqmd.com/news/2494/

相关文章:

  • P13617 [ICPC 2024 APC] Bit Counting Sequence
  • 打一局吗(60pts 解法)
  • 软工9.23
  • 本地部署qwen-0.6b
  • 25分钟小练习
  • 2025年9月23日 - 20243867孙堃2405
  • 2025.9.23——1绿
  • 2025.9.23
  • 软件工程学习日志2025.9.23
  • markdown 使用指南
  • 第6.2节 Android Agent制作<三>
  • LVS 服务器 知识
  • 【有源码】基于LTM模型+大素材的电信客户流失数据分析系统-基于机器学习的电信客户流失预测与分析框架-基于客户画像的电信流失用户识别与分析平台
  • 07-django+DRF项目中统一json返回格式 - 详解
  • [视图功能8] 图表视图:柱状图、折线图与饼图配备实战
  • Apifox-windows-latest.exe 安装教程(附详细步骤,一键下载安装指南)​
  • 软工第二次作业——个人项目
  • 近十年 CSP-J 复赛知识点分布表
  • AT_arc181_d [ARC181D] Prefix Bubble Sort
  • 【MySQL】使用C/C++链接mysql数据库 - 指南
  • day002
  • PyTorch图神经网络(四)
  • 【51单片机】【protues仿真】基于51单片机密码锁系统 - 详解
  • 告别材料乱堆、用电违规!AI 施工监测系统覆盖重点施工场景隐患
  • Computer Architecture
  • cv-css 快捷方式,将指定节点的计算样式获取下拉 获取tailwind网页样式成原生样式
  • 软件工程:构建数字世界的基石
  • # Shell 文本处理三剑客:awk、sed 与常用小器具详解
  • Avalonia 学习笔记07. Control Themes(控件主题)
  • matter 协议的架构;