实现数值稳定的 Sigmoid 函数及其导数。
给定 N 个输入值,按以下公式计算:
Sigmoid: σ(x)=1+e−x1 导数: σ′(x)=σ(x)⋅(1−σ(x))数值稳定性:当 x<0 时,使用 1+exex,避免溢出。
第一行包含一个整数 N(1≤N≤1000),表示输入数量。
第二行包含 N 个浮点数 x1,x2,…,xN(−1000≤xi≤1000),表示输入值。
输出两行,第一行为 N 个浮点数,表示 Sigmoid 值,保留 2 位小数。第二行为 N 个浮点数,表示 Sigmoid 导数值,保留 2 位小数。
输入
5
0.0 1.0 -1.0 10.0 -10.0
输出
0.50 0.73 0.27 1.00 0.00
0.25 0.20 0.20 0.00 0.00
说明
σ(0)=0.5,导数 =0.5×0.5=0.25。σ(1)≈0.731,导数 ≈0.731×0.269≈0.197。σ(−1)=1−σ(1)≈0.269(对称性)。
输入
3
-1000.0 0.0 1000.0
输出
0.00 0.50 1.00
0.00 0.25 0.00
说明
极端负数 σ(−1000)≈0,极端正数 σ(1000)≈1。在饱和区域,导数趋近于 0。
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.