欢迎访问宙启技术站
智能推送

利用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函数在二元分类问题中进行概率计算。