Math.exp(x) 是 JavaScript 中计算 eˣ 的标准方法,高效精确;支持正负数输入,x>709 返回 Infinity,x

Math.exp(x) 是 JavaScript 中计算自然指数 ex 的标准方法,它直接、高效、数值稳定,是实现以 e 为底指数运算的首选。
基础用法与注意事项
调用 Math.exp(x) 会返回 e 的 x 次方(e ≈ 2.71828)。它等价于 Math.pow(Math.E, x),但精度更高、性能更好,尤其在 x 较大或较小时更可靠。
- 输入为数字:如 Math.exp(1) 返回约 2.71828;Math.exp(0) 恒为 1
- 支持负数:如 Math.exp(-2) 返回约 0.1353,即 1/e²
- 对极大正数(如 x > 709)会返回 Infinity;极小负数(如 x )会下溢为 0,这是 IEEE 754 双精度限制所致,需在统计建模中提前校验
在逻辑回归中的核心作用
逻辑回归的预测函数本质是 logit 反变换:p = exp(z) / (1 + exp(z)),其中 z = β₀ + β₁x₁ + … 是线性组合。这里 Math.exp() 直接用于计算分子 exp(z)。
- 可改写为更稳定的数值形式:1 / (1 + Math.exp(-z)),避免 z 很大时 Math.exp(z) 溢出
- 若需批量计算(如前端可视化决策边界),应先对 z 向量做截断(例如 Math.max(-20, Math.min(20, z))),再调用 Math.exp(),兼顾精度与鲁棒性
在概率密度与生存模型中的典型场景
许多统计分布的密度函数含 e−x²/2 或 e−λx 形式,Math.exp() 是实现它们的基础工具。
- 标准正态密度:可用 Math.exp(-0.5 * x * x) / Math.sqrt(2 * Math.PI) 快速估算(注意归一化系数)
- 指数分布生存函数:S(t) = exp(−λt),前端实时计算设备剩余寿命概率时,直接调用 Math.exp(-lambda * t) 即可
- Softmax 分母求和:多分类中需计算 sum_i exp(z_i),建议先减去最大值(z_i − max_z)再调用 Math.exp(),防止上溢
与对数运算的配合:避免下溢与提升可解释性
统计计算常需“先指数再取对数”或反之,Math.exp() 和 Math.log() 构成互逆对,但实际使用中需警惕数值陷阱。
- 小概率连乘易下溢(如 1e-100 × 1e-100 = 0),应转为对数空间运算:用 log(a×b) = log(a)+log(b),最后再用 Math.exp() 还原
- Log-sum-exp 技巧:计算 log(exp(a)+exp(b)) 时,先提取最大值 m = Math.max(a,b),再算 m + Math.log(Math.exp(a−m) + Math.exp(b−m)),全程调用 Math.exp() 时输入已安全缩放

















