在 Python 中實現 ReLU 函式

Vaibhhav Khetarpal 2023年1月30日
  1. ReLU 函式
  2. 在 Python 中實現 ReLU 函式
在 Python 中實現 ReLU 函式

本教程將討論 Relu 函式以及如何在 Python 中實現它。

ReLU 函式

Relu 函式是機器學習的基礎,在使用深度學習時必不可少。

ReLU 一詞是 Rectified Linear Unit 的首字母縮寫詞,在作為深度學習基礎的人工神經網路的情況下用作啟用函式。Python 作為適用於實現機器學習和深度學習演算法的程式語言之一,具有 ReLU 函式的使用範圍。

用簡單的數學術語,ReLU 函式可以定義為,

f(x) = max(0,x)

該函式對 x 是線性的,可以將所有負值歸零。

在 Python 中實現 ReLU 函式

要在 Python 中實現 ReLU 函式,我們可以定義一個新函式並使用 NumPy 庫。

NumPy 庫使得在 Python 中處理矩陣和陣列成為可能,因為它們不能直接在這種程式語言中實現。NumPy 庫中的 maximum() 函式可以在我們新建立的函式定義中使用,以建立一個 ReLU 函式。

以下程式碼在 Python 中實現了 ReLU 函式。

import numpy as np


def relu1(a):
    return np.maximum(0, a)


print(relu1(-3))

上面的程式碼提供了以下輸出:

0

在上面的程式碼中,我們處理一個整數。但是,我們建立的 ReLU 函式可以輕鬆處理從單個整數到 NumPy 陣列和類似物件的任何內容。

當此函式獲取一個數字作為輸入時,輸出將始終是一個數字。當我們將陣列傳遞給此函式時,遵循相同的規則。

輸入的物件型別始終是作為輸出返回的物件型別。

有趣的是,在處理陣列時,我們可以使用 plotly 庫,甚至可以建立圖形來描述 ReLU 函式對陣列和類似物件的作用。

為了更好地解釋 ReLU 函式的工作原理,我們現在將舉一個簡單陣列的示例並完成手頭的任務。此外,我們還將描繪一個圖表,並檢視 ReLU 函式在該陣列上的實際作用。

以下程式碼在 Python 中對陣列使用 ReLU 函式。

import numpy as np
import plotly.express as px


def relu1(a):
    return np.maximum(0, a)


x1 = np.linspace(start=-5, stop=5, num=26)
print(x1)
x2 = relu1(x1)
print(x2)
px.line(x=x1, y=x2)

上面的程式碼提供了以下輸出:

ReLU 函式輸出

Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

相關文章 - Python NumPy