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

Python实现Sigmoid函数的正向传播算法

发布时间:2023-12-11 04:52:34

Sigmoid函数是一种常用的激活函数,它的输出范围在0到1之间,可以将输出值映射到概率的范围内。在神经网络中,Sigmoid函数通常用于将输入的线性变换转换为非线性的激活输出。

Sigmoid函数的数学表达式如下:

f(x) = 1 / (1 + exp(-x))

其中exp(x)表示以e为底的指数函数。

正向传播是神经网络中基本的运算过程,通过输入数据和模型参数,在神经网络的每一层进行一系列的矩阵运算和激活函数的计算,最终得到输出结果。下面是Python实现Sigmoid函数的正向传播算法,并提供一个简单的使用例子。

import numpy as np

def sigmoid(x):
    return 1 / (1 + np.exp(-x))

def forward_propagation(inputs, weights):
    # 线性变换
    linear_transform = np.dot(inputs, weights)
    # 非线性激活
    activation = sigmoid(linear_transform)
    return activation

# 定义输入数据和模型参数
inputs = np.array([[0.5, 0.7, 0.3], [0.2, 0.3, 0.1]])
weights = np.array([[0.8, 0.6], [0.3, 0.5], [0.2, 0.4]])

# 进行正向传播算法
output = forward_propagation(inputs, weights)

print(output)

在上面的例子中,我们假设输入数据有两个样本,每个样本有三个特征。模型参数是一个3x2的矩阵,表示输入特征与输出的权重关系。在正向传播算法中,我们首先进行线性变换,计算得到线性变换的结果。然后,通过Sigmoid函数对线性变换的结果进行非线性的激活,得到最终的输出结果。

运行上面的代码,可以得到两个样本对应的输出结果。输出结果的每个元素都在0到1之间,表示该样本属于某个类别的概率。

正向传播算法是神经网络中的基本运算之一,通过对输入数据进行线性变换和非线性激活,得到神经网络的输出结果。Sigmoid函数常用于神经网络中的激活函数,可以将线性变换的结果映射到概率的范围内,适用于二分类和多分类问题。