利用Python生成Sigmoid函数的数值表
发布时间:2023-12-11 04:50:38
Sigmoid函数也被称为逻辑函数或S型函数,它是一种非线性函数,常用于机器学习中的二元分类问题。它将取任意实数作为输入,并将其映射到一个范围在0和1之间的输出值。Sigmoid函数的公式如下:
sigmoid(x) = 1 / (1 + e^(-x))
在Python中,我们可以使用math库中的exp函数来计算e的幂,然后通过一个简单的函数来实现Sigmoid函数。下面是一个生成Sigmoid函数的数值表以及使用示例的Python代码:
import math
def sigmoid(x):
return 1 / (1 + math.exp(-x))
# 生成Sigmoid函数的数值表
table = ""
for i in range(-10, 11):
table += f"{i}: {sigmoid(i)}
"
# 打印数值表
print("Sigmoid函数数值表:")
print(table)
# 使用示例
input_value = 0.5
output_value = sigmoid(input_value)
print(f"Sigmoid函数对输入值 {input_value} 的输出值为 {output_value}")
这段代码首先定义了一个sigmoid函数,它接受一个实数作为输入并返回一个0到1之间的输出值。然后,代码使用一个循环从-10到10迭代,计算每个数值的Sigmoid值,并将其添加到一个字符串中。
接下来,代码打印生成的数值表到控制台上。
最后,代码给出了一个使用示例,它计算并打印了输入值0.5的Sigmoid输出值。
当你运行这段代码时,你将得到一个包含Sigmoid函数数值表的输出,如下所示:
Sigmoid函数数值表: -10: 4.5397868702434395e-05 -9: 0.00012339457598623172 -8: 0.0003353501304664781 -7: 0.0009110511944006454 -6: 0.0024726231566347743 -5: 0.0066928509242848554 -4: 0.01798620996209156 -3: 0.04742587317756678 -2: 0.11920292202211755 -1: 0.2689414213699951 0: 0.5 1: 0.7310585786300049 2: 0.8807970779778823 3: 0.9525741268224334 4: 0.9820137900379085 5: 0.9933071490757153 6: 0.9975273768433653 7: 0.9990889488055994 8: 0.9996646498695336 9: 0.9998766054240137 10: 0.9999546021312976 Sigmoid函数对输入值 0.5 的输出值为 0.6224593312018546
通过生成的数值表,我们可以看到当输入值接近于负无穷大时,Sigmoid函数的输出值接近于0;当输入值接近于正无穷大时,Sigmoid函数的输出值接近于1;当输入值为0时,Sigmoid函数的输出值为0.5,这是因为Sigmoid函数在输入值为0时取得最大的梯度。
使用示例展示了如何计算输入值0.5的Sigmoid输出值,结果约为0.622。这意味着根据Sigmoid函数,输入值0.5属于正类的概率约为62.2%。
通过这段代码,我们可以生成Sigmoid函数的数值表,并使用Sigmoid函数在二元分类问题中进行概率计算。
