Python中ReLU函数的导数
ReLU 代表 Rectified Linear Activation Function,它是深度学习范围内最流行的激活函数替代方案。 ReLU 是线性函数的一部分,如果输入值为正,则输出相同的输入; 如果不是,它将使输出为零。
本文介绍如何使用 Python 编程语言对 ReLU 函数进行派生。
在 Python 中实现 ReLU 函数
作为一个数学函数,我们可以定义 ReLU 函数如下:
f(x) = max(0,x)
此函数关于 x 是线性的,并且对于所有负值输出零。
以下伪代码表示 ReLU 函数。
if input > 0:
return input
else:
return 0
正如上面的伪代码,我们可以构建我们的 ReLU 函数的实现如下:
import numpy as nm
def relu_func(x):
return(nm.maximum(0,x))
print(relu_func(2))
print(relu_func(0))
print(relu_func(0.1))
print(relu_func(-3))
考虑到这个例子,它定义了带有参数 x 的函数 relu_func。 此函数返回考虑 ReLU 函数的输出。
我们一次将一个整数作为参数传递给 relu_func 函数。
maximum()
函数返回最大值。 如果整数大于0,它将打印与输入相同的整数; 如果不是,它打印零。
因此,我们在上面的代码中实现的 ReLU 函数将适用于任何单个整数; 也有 numpy 数组。
我们可以得到如下输出:
Python中 ReLU 函数的导数
否则,ReLU 函数的导数称为 ReLu 的梯度。 函数的导数是斜率。
如果我们创建一个图,例如,y= ReLu(x)
,并且 x 大于零,则梯度为 1。
如果 x 小于零,则梯度为 0。如果 x = 0,则导数不存在。
ReLu函数的数学导数可以定义如下:
f'(x) = 1, x >= 0
= 0, x < 0
我们可以将 ReLu 函数的导数应用于图形。 那么,让我们看看下面的例子。
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
#define relu function
def relu_func(z):
return np.maximum(0,z)
z = np.arange(-3,5,1)
print (z)
Y = relu_func(z)
print(Y)
plt.plot(z,Y,'o-')
plt.xlabel('X')
plt.ylabel('F(x)')
plt.grid()
考虑到上面的代码,它被定义为传递 z 参数的 relu_func。 在这个函数下,我们返回relu函数和定义的z变量来获取x轴的范围。
还定义了 Y 变量定义为传递带有参数的 relu_func。 relu_func(Z)
函数计算所有 z 值的 reLU。
因此,所有负值都表示零。 x 轴图是 X,y 轴图是 F(x)。
下图是我们从上面的代码中得到的输出。
如前所述,导数是指图形在某一点的斜率。 所以,x=1 的斜率为 1。
所有其他大于 0 的点的斜率为 1。但是,x=-3 的斜率是多少?
我们可以看到该点没有斜率。
所有其他小于 0 的点都得到 slope none,这意味着斜率为 0。所以这被称为 ReLu 函数的导数,内置 Python 编程语言。
总结
本文介绍如何在Python中实现ReLu函数,主要讨论如何实现ReLu导数函数。 ReLU 函数在深度学习中经常使用。
但它有一些问题。 例如,如果输入值小于 0,则输出将为 0。
因此,神经网络无法继续其某些工作。 作为解决方案,它主要使用 Leaky ReLU 函数。
相关文章
Pandas DataFrame DataFrame.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:Python
-
DataFrame.shift() 函数是将 DataFrame 的索引按指定的周期数进行移位。
Python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
Pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:Python
-
Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。
Pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:Python
-
本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。
Pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:Python
-
本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串