迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

Python中ReLU函数的导数

作者:迹忆客 最近更新:2023/06/16 浏览次数:

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 数组。

我们可以得到如下输出:

relu 函数


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)。

下图是我们从上面的代码中得到的输出。

导数 relu 函数

如前所述,导数是指图形在某一点的斜率。 所以,x=1 的斜率为 1。

所有其他大于 0 的点的斜率为 1。但是,x=-3 的斜率是多少?

我们可以看到该点没有斜率。

所有其他小于 0 的点都得到 slope none,这意味着斜率为 0。所以这被称为 ReLu 函数的导数,内置 Python 编程语言。


总结

本文介绍如何在Python中实现ReLu函数,主要讨论如何实现ReLu导数函数。 ReLU 函数在深度学习中经常使用。

但它有一些问题。 例如,如果输入值小于 0,则输出将为 0。

因此,神经网络无法继续其某些工作。 作为解决方案,它主要使用 Leaky ReLU 函数。

上一篇:计算 Python 中一个句子的平均字长

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Python 中的可选链

发布时间:2023/06/16 浏览次数:80 分类:Python

本文描述了我们在适应 Python 中的可选链接时可以遵循的方法。 适应以下方法之一将使在 Python 而不是 JavaScript 中使用可选链接变得容易。

Python 四舍五入到最接近的十位

发布时间:2023/06/16 浏览次数:124 分类:Python

本篇文章将讨论使用 Python 的 ceil() 函数将数字四舍五入到最接近的十。Python 整数到最接近的十 Python 具有三个内置函数 round()、floor() 和 ceil(),可用于对数字进行舍入。

Python 中的模拟函数

发布时间:2023/06/16 浏览次数:127 分类:Python

Mock 是为与 unittest 一起使用而创建的,它基于操作到断言模式而不是大多数模拟框架中使用的记录到重播。 对于以前版本的 Python,有一个 unittest.mock 的反向移植。

基于 Python 中输入的模拟返回值

发布时间:2023/06/16 浏览次数:171 分类:Python

本文将介绍如何在 Python 中创建一个根据输入返回不同值的模拟函数。 我们还将向您展示如何测试我们的模拟函数。最后,我们将向您展示一些更高级的模拟函数的技术。

Python 模拟导入

发布时间:2023/06/16 浏览次数:129 分类:Python

在这篇 Python 文章中,我们将研究 mock 库并学习如何有效地使用它。 我们将从简单的示例开始,然后查看更高级的用法。Python 模拟导入 我们将学习模拟对象和模拟的用途和陷阱。

在 Python 中计算和显示凸包

发布时间:2023/06/16 浏览次数:142 分类:Python

因此,凸包是指围绕凸物体形状的边界。 本教程将教您在 Python 中计算和显示一组随机点的凸包。在 Python 中计算并显示一个凸包

Python 密码哈希

发布时间:2023/06/16 浏览次数:90 分类:Python

我们将了解密码散列以及如何使用名为 bcrypt 的第三方库加密 salt 和 hash 密码。 我们还研究了 Python 中 hashlib 库中的不同哈希算法。Python 中使用 bcrypt 库的 Salt 和 Hash 密码

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便