概念
激活函數(shù)是神經(jīng)網(wǎng)絡中的一個重要組成部分,它引入了非線性性質(zhì),使得神經(jīng)網(wǎng)絡可以學習和表示更復雜的函數(shù)關系。激活函數(shù)對于將輸入信號轉換為輸出信號起到了關鍵作用,它在神經(jīng)元的計算過程中引入了非線性變換。
幾種常見的激活函數(shù)及其特點
Sigmoid函數(shù):
Sigmoid 函數(shù)將輸入映射到一個 0 到 1 的范圍,它的公式是:f(x) = 1 / (1 + exp(-x))。
特點:Sigmoid 函數(shù)在輸入很大或很小時,輸出接近于0或1,適合用于輸出層進行二分類問題的概率估計。但它在遠離零點時梯度接近于零,可能導致梯度消失問題。
ReLU函數(shù)(Rectified Linear Unit):
ReLU 函數(shù)將負數(shù)輸入變?yōu)榱悖秦摂?shù)輸入保持不變,它的公式是:f(x) = max(0, x)。
特點:ReLU 對于正數(shù)輸入有很強的激活作用,能夠緩解梯度消失問題。但存在一個問題,即在訓練過程中可能出現(xiàn)“神經(jīng)元死亡”現(xiàn)象,即某些神經(jīng)元永遠不會被激活。
Leaky ReLU函數(shù):
Leaky ReLU 是對 ReLU 的改進,它在負數(shù)區(qū)域引入一個小的斜率,公式是:f(x) = x (x > 0),f(x) = ax (x <= 0),其中 a 是一個小于 1 的常數(shù)。
特點:Leaky ReLU 克服了 ReLU 的神經(jīng)元死亡問題,但仍然能夠引入一些非線性。
Tanh函數(shù)(雙曲正切函數(shù)):
Tanh 函數(shù)將輸入映射到 -1 到 1 的范圍,公式是:f(x) = (exp(x) - exp(-x)) / (exp(x) + exp(-x))。
特點:Tanh 函數(shù)可以將輸入的負值映射到負區(qū)間,適合用于隱藏層中。但仍然存在梯度消失問題。文章來源:http://www.zghlxwxcb.cn/news/detail-660679.html
Softmax函數(shù):
Softmax 函數(shù)將一組實數(shù)映射到概率分布,用于多分類問題。它的公式是:f(x_i) = exp(x_i) / sum(exp(x_j)),其中 i 表示第 i 個類別。
特點:Softmax 函數(shù)用于多分類輸出,將神經(jīng)網(wǎng)絡的輸出轉換為概率分布。文章來源地址http://www.zghlxwxcb.cn/news/detail-660679.html
代碼實現(xiàn)
import numpy as np
def sigmoid(x):
return 1 / (1 + np.exp(-x))
import numpy as np
def relu(x):
return np.maximum(0, x)
import numpy as np
def leaky_relu(x, alpha=0.01):
return np.where(x > 0, x, alpha * x)
import numpy as np
def tanh(x):
return np.tanh(x)
import numpy as np
def softmax(x):
exp_x = np.exp(x - np.max(x, axis=-1, keepdims=True))
return exp_x / np.sum(exp_x, axis=-1, keepdims=True)
到了這里,關于神經(jīng)網(wǎng)絡基礎-神經(jīng)網(wǎng)絡補充概念-20-激活函數(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!