国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

一文速學(xué)-讓神經(jīng)網(wǎng)絡(luò)不再神秘,一天速學(xué)神經(jīng)網(wǎng)絡(luò)基礎(chǔ)-激活函數(shù)(二)

這篇具有很好參考價(jià)值的文章主要介紹了一文速學(xué)-讓神經(jīng)網(wǎng)絡(luò)不再神秘,一天速學(xué)神經(jīng)網(wǎng)絡(luò)基礎(chǔ)-激活函數(shù)(二)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。


前言

思索了很久到底要不要出深度學(xué)習(xí)內(nèi)容,畢竟在數(shù)學(xué)建模專欄里邊的機(jī)器學(xué)習(xí)內(nèi)容還有一大半算法沒(méi)有更新,很多坑都沒(méi)有填滿,而且現(xiàn)在深度學(xué)習(xí)的文章和學(xué)習(xí)課程都十分的多,我考慮了很久決定還是得出神經(jīng)網(wǎng)絡(luò)系列文章,不然如果以后數(shù)學(xué)建模競(jìng)賽或者是其他更優(yōu)化模型如果用上了神經(jīng)網(wǎng)絡(luò)(比如利用LSTM進(jìn)行時(shí)間序列模型預(yù)測(cè)),那么就更好向大家解釋并且闡述原理了。但是深度學(xué)習(xí)的內(nèi)容不是那么好掌握的,包含大量的數(shù)學(xué)理論知識(shí)以及大量的計(jì)算公式原理需要推理。且如果不進(jìn)行實(shí)際操作很難夠理解我們寫(xiě)的代碼究極在神經(jīng)網(wǎng)絡(luò)計(jì)算框架中代表什么作用。不過(guò)我會(huì)盡可能將知識(shí)簡(jiǎn)化,轉(zhuǎn)換為我們比較熟悉的內(nèi)容,我將盡力讓大家了解并熟悉神經(jīng)網(wǎng)絡(luò)框架,保證能夠理解通暢以及推演順利的條件之下,盡量不使用過(guò)多的數(shù)學(xué)公式和專業(yè)理論知識(shí)。以一篇文章快速了解并實(shí)現(xiàn)該算法,以效率最高的方式熟練這些知識(shí)。

現(xiàn)在很多競(jìng)賽雖然沒(méi)有限定使用算法框架,但是更多獲獎(jiǎng)的隊(duì)伍都使用到了深度學(xué)習(xí)算法,傳統(tǒng)機(jī)器學(xué)習(xí)算法日漸式微。比如2022美國(guó)大學(xué)生數(shù)學(xué)建模C題,參數(shù)隊(duì)伍使用到了深度學(xué)習(xí)網(wǎng)絡(luò)的隊(duì)伍,獲獎(jiǎng)比例都非常高,現(xiàn)在人工智能比賽和數(shù)據(jù)挖掘比賽都相繼增多,對(duì)神經(jīng)網(wǎng)絡(luò)知識(shí)需求也日漸增多,因此十分有必要掌握各類神經(jīng)網(wǎng)絡(luò)算法。

博主專注建模四年,參與過(guò)大大小小數(shù)十來(lái)次數(shù)學(xué)建模,理解各類模型原理以及每種模型的建模流程和各類題目分析方法。此專欄的目的就是為了讓零基礎(chǔ)快速使用各類數(shù)學(xué)模型、機(jī)器學(xué)習(xí)和深度學(xué)習(xí)以及代碼,每一篇文章都包含實(shí)戰(zhàn)項(xiàng)目以及可運(yùn)行代碼。博主緊跟各類數(shù)模比賽,每場(chǎng)數(shù)模競(jìng)賽博主都會(huì)將最新的思路和代碼寫(xiě)進(jìn)此專欄以及詳細(xì)思路和完全代碼。希望有需求的小伙伴不要錯(cuò)過(guò)筆者精心打造的專欄。

一文速學(xué)-讓神經(jīng)網(wǎng)絡(luò)不再神秘,一天速學(xué)神經(jīng)網(wǎng)絡(luò)基礎(chǔ)-激活函數(shù)(二),神經(jīng)網(wǎng)絡(luò),人工智能,深度學(xué)習(xí),機(jī)器學(xué)習(xí),數(shù)據(jù)挖掘


前一篇文章我們具體講述了神經(jīng)網(wǎng)絡(luò)神經(jīng)元的基本構(gòu)造,以及引入了神經(jīng)網(wǎng)絡(luò)一些概念性質(zhì),有了這些基礎(chǔ)我們就能更好的理解每一層神經(jīng)網(wǎng)絡(luò)究竟要做什么,如何工作的。

激活函數(shù)定義與功能

舉個(gè)例子,我們可以將激活函數(shù)比作人類的情緒,比如愉快、中立和生氣。如果一個(gè)神經(jīng)元的情緒是愉快的,那么它在收到信息后可能更容易激活,即傳遞信息。相反,如果它的情緒是生氣的,那么即使收到的信息很強(qiáng)烈,它也可能不會(huì)激活,即不傳遞信息。

想象一下神經(jīng)元是大腦中的小工人,他們負(fù)責(zé)接受信息并決定是否傳遞這些信息給下一個(gè)神經(jīng)元。但是這些神經(jīng)元并不是簡(jiǎn)單地將信息原封不動(dòng)地傳遞,它們還會(huì)加上一些個(gè)人的“情緒”來(lái)影響信息的傳遞。

這種“情緒”就好比神經(jīng)網(wǎng)絡(luò)中的激活函數(shù)。激活函數(shù)就像神經(jīng)元的情緒開(kāi)關(guān),當(dāng)神經(jīng)元收到信息時(shí),它會(huì)根據(jù)這些信息的強(qiáng)弱和自己的“情緒”來(lái)決定是否激活(傳遞信息)。

總的來(lái)說(shuō),激活函數(shù)的作用就是在神經(jīng)網(wǎng)絡(luò)中引入非線性性質(zhì),使得神經(jīng)網(wǎng)絡(luò)可以學(xué)習(xí)更加復(fù)雜和抽象的模式。它們幫助神經(jīng)元決定是否傳遞信息,從而讓整個(gè)神經(jīng)網(wǎng)絡(luò)能夠更好地適應(yīng)和學(xué)習(xí)輸入數(shù)據(jù)的特征。就像人類情緒決定了我們?nèi)绾螌?duì)待收到的信息一樣,激活函數(shù)也決定了神經(jīng)元如何處理輸入信息。

一文速學(xué)-讓神經(jīng)網(wǎng)絡(luò)不再神秘,一天速學(xué)神經(jīng)網(wǎng)絡(luò)基礎(chǔ)-激活函數(shù)(二),神經(jīng)網(wǎng)絡(luò),人工智能,深度學(xué)習(xí),機(jī)器學(xué)習(xí),數(shù)據(jù)挖掘

?我們來(lái)更直觀的感受一下激活函數(shù)的作用:在現(xiàn)實(shí)中,存在非常復(fù)雜的線性不可分的情況。

一文速學(xué)-讓神經(jīng)網(wǎng)絡(luò)不再神秘,一天速學(xué)神經(jīng)網(wǎng)絡(luò)基礎(chǔ)-激活函數(shù)(二),神經(jīng)網(wǎng)絡(luò),人工智能,深度學(xué)習(xí),機(jī)器學(xué)習(xí),數(shù)據(jù)挖掘

激活函數(shù)的設(shè)計(jì)靈感來(lái)自于生物神經(jīng)元。生物神經(jīng)元不僅僅是線性的輸入輸出關(guān)系,它們?cè)谶_(dá)到一定電位閾值后會(huì)激活,產(chǎn)生脈沖。激活函數(shù)模擬了這種生物神經(jīng)元的激活過(guò)程,使得神經(jīng)網(wǎng)絡(luò)更貼近生物神經(jīng)系統(tǒng)的工作方式。

?激活函數(shù)的作用是為神經(jīng)網(wǎng)絡(luò)引入非線性性,提高網(wǎng)絡(luò)的表達(dá)能力,模擬生物神經(jīng)元的工作方式,解決優(yōu)化問(wèn)題,以便網(wǎng)絡(luò)可以更好地學(xué)習(xí)和表示各種數(shù)據(jù)的復(fù)雜模式和特征。

一文速學(xué)-讓神經(jīng)網(wǎng)絡(luò)不再神秘,一天速學(xué)神經(jīng)網(wǎng)絡(luò)基礎(chǔ)-激活函數(shù)(二),神經(jīng)網(wǎng)絡(luò),人工智能,深度學(xué)習(xí),機(jī)器學(xué)習(xí),數(shù)據(jù)挖掘

激活函數(shù)分類

每個(gè)激活函數(shù)都有自己的優(yōu)點(diǎn)和適用場(chǎng)景。在選擇激活函數(shù)時(shí),需要根據(jù)具體任務(wù)、網(wǎng)絡(luò)結(jié)構(gòu)和訓(xùn)練效果進(jìn)行選擇。激活函數(shù)可以分為以下幾類:

一文速學(xué)-讓神經(jīng)網(wǎng)絡(luò)不再神秘,一天速學(xué)神經(jīng)網(wǎng)絡(luò)基礎(chǔ)-激活函數(shù)(二),神經(jīng)網(wǎng)絡(luò),人工智能,深度學(xué)習(xí),機(jī)器學(xué)習(xí),數(shù)據(jù)挖掘

  1. 線性激活函數(shù): 線性激活函數(shù)是最簡(jiǎn)單的激活函數(shù),其輸出與輸入成正比。然而,由于線性函數(shù)的疊加仍然是線性的,所以線性激活函數(shù)的疊加多層無(wú)法表達(dá)復(fù)雜的非線性模式,因此在深度神經(jīng)網(wǎng)絡(luò)中很少使用。

  2. 非線性激活函數(shù): 非線性激活函數(shù)是神經(jīng)網(wǎng)絡(luò)中常用的激活函數(shù),它們引入了非線性變換,使得網(wǎng)絡(luò)能夠?qū)W習(xí)復(fù)雜的數(shù)據(jù)模式和特征。常見(jiàn)的非線性激活函數(shù)包括 ReLU、Leaky ReLU、PReLU、Tanh 和 Sigmoid 等。

  3. 輸出激活函數(shù): 輸出激活函數(shù)位于神經(jīng)網(wǎng)絡(luò)的輸出層,通常用于處理不同類型的任務(wù),如分類、回歸、生成等。常見(jiàn)的輸出激活函數(shù)有 Sigmoid(二元分類問(wèn)題)、Softmax(多類別分類問(wèn)題)、線性激活函數(shù)(回歸問(wèn)題)等。

  4. 歸一化激活函數(shù): 歸一化激活函數(shù)在一定范圍內(nèi)對(duì)輸入進(jìn)行縮放和平移,以便使輸出位于特定的范圍內(nèi)。例如,Sigmoid 函數(shù)和 Tanh 函數(shù)就是歸一化激活函數(shù)。

  5. 帶參數(shù)的激活函數(shù): 有些激活函數(shù)具有可調(diào)節(jié)的參數(shù),允許網(wǎng)絡(luò)自適應(yīng)地學(xué)習(xí)激活函數(shù)的形狀。例如,Leaky ReLU 和 PReLU 就是帶參數(shù)的激活函數(shù),其中參數(shù)可以在訓(xùn)練中進(jìn)行調(diào)整。

  6. 自適應(yīng)激活函數(shù): 這些激活函數(shù)根據(jù)輸入數(shù)據(jù)的性質(zhì)自動(dòng)調(diào)整激活函數(shù)的形狀。例如,自適應(yīng)的激活函數(shù)可以根據(jù)數(shù)據(jù)分布動(dòng)態(tài)地選擇合適的非線性變換。

?常用的激活函數(shù)

一文速學(xué)-讓神經(jīng)網(wǎng)絡(luò)不再神秘,一天速學(xué)神經(jīng)網(wǎng)絡(luò)基礎(chǔ)-激活函數(shù)(二),神經(jīng)網(wǎng)絡(luò),人工智能,深度學(xué)習(xí),機(jī)器學(xué)習(xí),數(shù)據(jù)挖掘

1.Sigmoid函數(shù)

關(guān)于Sigmoid函數(shù),與人工智能算法有過(guò)接觸的小伙伴估計(jì)都有使用到過(guò)這個(gè)函數(shù),無(wú)論是作為啟發(fā)函數(shù)還是作為數(shù)據(jù)處理的歸一化函數(shù),該函數(shù)的功能都十分好用。Sigmoid非線性激活函數(shù)的數(shù)學(xué)表達(dá)式為 :

一文速學(xué)-讓神經(jīng)網(wǎng)絡(luò)不再神秘,一天速學(xué)神經(jīng)網(wǎng)絡(luò)基礎(chǔ)-激活函數(shù)(二),神經(jīng)網(wǎng)絡(luò),人工智能,深度學(xué)習(xí),機(jī)器學(xué)習(xí),數(shù)據(jù)挖掘

?其中e是納皮爾常數(shù),其值為2.7182...

一文速學(xué)-讓神經(jīng)網(wǎng)絡(luò)不再神秘,一天速學(xué)神經(jīng)網(wǎng)絡(luò)基礎(chǔ)-激活函數(shù)(二),神經(jīng)網(wǎng)絡(luò),人工智能,深度學(xué)習(xí),機(jī)器學(xué)習(xí),數(shù)據(jù)挖掘

優(yōu)點(diǎn)

  1. 輸出范圍有界: Sigmoid 函數(shù)的輸出范圍在 0 到 1 之間,這使得它在表示概率或概率分布時(shí)很有用。在二元分類問(wèn)題中,Sigmoid 函數(shù)的輸出可以被解釋為樣本屬于某一類別的概率。

  2. 可導(dǎo)性: Sigmoid 函數(shù)在其定義范圍內(nèi)是連續(xù)可導(dǎo)的,這對(duì)于使用梯度下降等優(yōu)化算法進(jìn)行模型訓(xùn)練是有幫助的。導(dǎo)數(shù)的計(jì)算也相對(duì)簡(jiǎn)單。

  3. 閾值控制: Sigmoid 函數(shù)在接近原點(diǎn)時(shí),輸出變化比較敏感。這意味著它可以幫助網(wǎng)絡(luò)學(xué)習(xí)對(duì)輸入的微小變化做出較大的響應(yīng),有助于模型進(jìn)行精細(xì)的調(diào)整。

?缺點(diǎn)

  1. 梯度消失問(wèn)題: 當(dāng)輸入值很大或很小時(shí),Sigmoid 函數(shù)的導(dǎo)數(shù)接近于零,這會(huì)導(dǎo)致梯度消失的問(wèn)題。在深度神經(jīng)網(wǎng)絡(luò)中,這可能導(dǎo)致訓(xùn)練過(guò)程變得困難,甚至無(wú)法進(jìn)行有效的訓(xùn)練。

  2. 不以零為中心: Sigmoid 函數(shù)的輸出不以零為中心,這可能導(dǎo)致神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過(guò)程中的權(quán)重更新存在偏移,影響學(xué)習(xí)的效果。

  3. 計(jì)算成本較高: 在計(jì)算 Sigmoid 函數(shù)時(shí),需要進(jìn)行指數(shù)運(yùn)算,這在某些情況下會(huì)增加計(jì)算成本,尤其是當(dāng)神經(jīng)元數(shù)量很多時(shí)。

Python代碼

import numpy as np
import matplotlib.pyplot as plt

# 定義 Sigmoid 激活函數(shù)
def sigmoid(x):
    return 1 / (1 + np.exp(-x))

# 生成一組輸入值
x = np.linspace(-10, 10, 100)

# 計(jì)算對(duì)應(yīng)的 Sigmoid 輸出
y = sigmoid(x)

# 繪制輸入和輸出曲線
plt.figure(figsize=(8, 6))
plt.plot(x, y, label='Sigmoid Function')
plt.title('Sigmoid Activation Function')
plt.xlabel('Input')
plt.ylabel('Output')
plt.legend()
plt.grid(True)
plt.show()

一文速學(xué)-讓神經(jīng)網(wǎng)絡(luò)不再神秘,一天速學(xué)神經(jīng)網(wǎng)絡(luò)基礎(chǔ)-激活函數(shù)(二),神經(jīng)網(wǎng)絡(luò),人工智能,深度學(xué)習(xí),機(jī)器學(xué)習(xí),數(shù)據(jù)挖掘

2. ReLU 函數(shù)

ReLU(Rectified Linear Activation)函數(shù)是深度學(xué)習(xí)中常用的非線性激活函數(shù)之一。它在神經(jīng)網(wǎng)絡(luò)中廣泛應(yīng)用,因?yàn)樗?jiǎn)單有效,能夠解決梯度消失問(wèn)題,并且在實(shí)際應(yīng)用中取得了良好的結(jié)果。

ReLU 函數(shù)的定義很簡(jiǎn)單:對(duì)于任何輸入值 x,輸出等于輸入 x(如果 x 大于等于零),或者輸出為零(如果 x 小于零)。數(shù)學(xué)表達(dá)式如下:

一文速學(xué)-讓神經(jīng)網(wǎng)絡(luò)不再神秘,一天速學(xué)神經(jīng)網(wǎng)絡(luò)基礎(chǔ)-激活函數(shù)(二),神經(jīng)網(wǎng)絡(luò),人工智能,深度學(xué)習(xí),機(jī)器學(xué)習(xí),數(shù)據(jù)挖掘

?優(yōu)點(diǎn)

  1. 非線性性質(zhì): ReLU 函數(shù)引入了非線性變換,使得神經(jīng)網(wǎng)絡(luò)可以學(xué)習(xí)更加復(fù)雜的數(shù)據(jù)模式和特征,從而提升網(wǎng)絡(luò)的表達(dá)能力。

  2. 避免梯度消失問(wèn)題: 在反向傳播過(guò)程中,ReLU 的導(dǎo)數(shù)在正區(qū)間是常數(shù) 1,這意味著梯度不會(huì)隨著層數(shù)增加而消失。相比于一些 Sigmoid 和 Tanh 等函數(shù),在深度網(wǎng)絡(luò)中使用 ReLU 函數(shù)更不容易出現(xiàn)梯度消失的情況。

  3. 計(jì)算高效: ReLU 函數(shù)的計(jì)算非常簡(jiǎn)單,只需要判斷輸入是否大于零,不涉及復(fù)雜的數(shù)學(xué)運(yùn)算。

缺點(diǎn)

  1. 神經(jīng)元死亡問(wèn)題: 當(dāng)輸入為負(fù)值時(shí),ReLU 函數(shù)的導(dǎo)數(shù)為零,這可能導(dǎo)致一些神經(jīng)元在訓(xùn)練過(guò)程中“死亡”,即永遠(yuǎn)不會(huì)被激活。這通常發(fā)生在學(xué)習(xí)率過(guò)大時(shí)。

  2. 不以零為中心: ReLU 函數(shù)在輸入為負(fù)時(shí)輸出為零,這使得神經(jīng)網(wǎng)絡(luò)中的某些權(quán)重在訓(xùn)練過(guò)程中可能出現(xiàn)偏移,影響網(wǎng)絡(luò)的學(xué)習(xí)。

為了克服 ReLU 函數(shù)的缺點(diǎn),也有一些改進(jìn)版本,如 Leaky ReLU、Parametric ReLU(PReLU)等,它們?cè)谝欢ǔ潭壬辖鉀Q了神經(jīng)元死亡問(wèn)題并且可以學(xué)習(xí)不同的斜率。

Python代碼

import numpy as np
import matplotlib.pyplot as plt

# 定義 ReLU 激活函數(shù)
def relu(x):
    return np.maximum(0, x)

# 生成一組輸入值
x = np.linspace(-10, 10, 100)

# 計(jì)算對(duì)應(yīng)的 ReLU 輸出
y = relu(x)

# 繪制輸入和輸出曲線
plt.figure(figsize=(8, 6))
plt.plot(x, y, label='ReLU Function')
plt.title('ReLU Activation Function')
plt.xlabel('Input')
plt.ylabel('Output')
plt.legend()
plt.grid(True)
plt.show()

一文速學(xué)-讓神經(jīng)網(wǎng)絡(luò)不再神秘,一天速學(xué)神經(jīng)網(wǎng)絡(luò)基礎(chǔ)-激活函數(shù)(二),神經(jīng)網(wǎng)絡(luò),人工智能,深度學(xué)習(xí),機(jī)器學(xué)習(xí),數(shù)據(jù)挖掘

?3.Tanh 函數(shù)

Tanh 函數(shù)(雙曲正切函數(shù))是一種常用的激活函數(shù),它在神經(jīng)網(wǎng)絡(luò)中用于引入非線性性,并可以將輸入映射到一個(gè)在 -1 到 1 之間的輸出范圍。Tanh 函數(shù)類似于 Sigmoid 函數(shù),但在輸出值的范圍上更廣泛,因此在某些情況下更有用。

Tanh 函數(shù)的數(shù)學(xué)表達(dá)式如下:

一文速學(xué)-讓神經(jīng)網(wǎng)絡(luò)不再神秘,一天速學(xué)神經(jīng)網(wǎng)絡(luò)基礎(chǔ)-激活函數(shù)(二),神經(jīng)網(wǎng)絡(luò),人工智能,深度學(xué)習(xí),機(jī)器學(xué)習(xí),數(shù)據(jù)挖掘

?Tanh 函數(shù)的圖像呈現(xiàn)出 S 形曲線,類似于 Sigmoid 函數(shù),但 Tanh 函數(shù)的輸出范圍在 -1 到 1 之間。當(dāng)輸入接近正無(wú)窮時(shí),Tanh 函數(shù)的輸出趨近于 1,而當(dāng)輸入接近負(fù)無(wú)窮時(shí),輸出趨近于 -1。當(dāng)輸入接近零時(shí),輸出在 0 附近。

優(yōu)點(diǎn)

  1. 非線性性質(zhì): Tanh 函數(shù)引入了非線性變換,使得神經(jīng)網(wǎng)絡(luò)可以學(xué)習(xí)更加復(fù)雜的數(shù)據(jù)模式和特征,提高網(wǎng)絡(luò)的表達(dá)能力。

  2. 輸出范圍有界: Tanh 函數(shù)的輸出范圍在 -1 到 1 之間,這使得它在一些情況下適用于數(shù)據(jù)標(biāo)準(zhǔn)化和縮放。

  3. 以零為中心: Tanh 函數(shù)的輸出在零點(diǎn)附近有對(duì)稱性,這使得神經(jīng)網(wǎng)絡(luò)中的權(quán)重更新相對(duì)均衡,避免偏移。

缺點(diǎn)

  1. 梯度消失問(wèn)題: 當(dāng)輸入接近正無(wú)窮或負(fù)無(wú)窮時(shí),Tanh 函數(shù)的導(dǎo)數(shù)接近于零,這可能導(dǎo)致梯度消失的問(wèn)題,特別是在深度神經(jīng)網(wǎng)絡(luò)中。

  2. 計(jì)算成本較高: 計(jì)算 Tanh 函數(shù)需要進(jìn)行指數(shù)運(yùn)算,這在某些情況下可能會(huì)增加計(jì)算成本。

Python代碼

import numpy as np
import matplotlib.pyplot as plt

# 定義 Tanh 激活函數(shù)
def tanh(x):
    return np.tanh(x)

# 生成一組輸入值
x = np.linspace(-10, 10, 100)

# 計(jì)算對(duì)應(yīng)的 Tanh 輸出
y = tanh(x)

# 繪制輸入和輸出曲線
plt.figure(figsize=(8, 6))
plt.plot(x, y, label='Tanh Function')
plt.title('Tanh Activation Function')
plt.xlabel('Input')
plt.ylabel('Output')
plt.legend()
plt.grid(True)
plt.show()

一文速學(xué)-讓神經(jīng)網(wǎng)絡(luò)不再神秘,一天速學(xué)神經(jīng)網(wǎng)絡(luò)基礎(chǔ)-激活函數(shù)(二),神經(jīng)網(wǎng)絡(luò),人工智能,深度學(xué)習(xí),機(jī)器學(xué)習(xí),數(shù)據(jù)挖掘

?4.Softmax函數(shù)

Softmax特別適用于多類別分類問(wèn)題。它將一組實(shí)數(shù)作為輸入,將其轉(zhuǎn)換為表示概率分布的輸出,使得所有輸出的和為 1。Softmax 函數(shù)廣泛應(yīng)用于神經(jīng)網(wǎng)絡(luò)中的分類問(wèn)題,例如圖像分類、自然語(yǔ)言處理中的文本分類等。

Softmax 函數(shù)的數(shù)學(xué)表達(dá)式如下,假設(shè)有一個(gè)包含 n 個(gè)元素的輸入向量 x

一文速學(xué)-讓神經(jīng)網(wǎng)絡(luò)不再神秘,一天速學(xué)神經(jīng)網(wǎng)絡(luò)基礎(chǔ)-激活函數(shù)(二),神經(jīng)網(wǎng)絡(luò),人工智能,深度學(xué)習(xí),機(jī)器學(xué)習(xí),數(shù)據(jù)挖掘

其中,是輸入向量中的第 i 個(gè)元素,而分母部分是所有輸入元素的指數(shù)和。這樣,Softmax 函數(shù)將每個(gè)輸入值映射到一個(gè) [0, 1] 范圍內(nèi)的概率值,并保證所有概率值的和為 1。

在多類別分類問(wèn)題中,假設(shè)有 k 個(gè)類別,Softmax 函數(shù)的輸出可以解釋為輸入屬于每個(gè)類別的概率。輸出向量的第 i 個(gè)元素就是輸入屬于第 i 個(gè)類別的概率。

?優(yōu)點(diǎn)

  1. 概率分布: Softmax 函數(shù)生成一個(gè)概率分布,使得網(wǎng)絡(luò)的輸出可以解釋為屬于每個(gè)類別的概率,有助于對(duì)分類問(wèn)題進(jìn)行解釋和分析。

  2. 多類別分類: Softmax 函數(shù)適用于多類別分類問(wèn)題,能夠同時(shí)處理多個(gè)類別的輸出。

  3. 可導(dǎo)性: Softmax 函數(shù)是可導(dǎo)的,這對(duì)于使用梯度下降等優(yōu)化算法進(jìn)行模型訓(xùn)練是有幫助的。

缺點(diǎn)

  1. 數(shù)值穩(wěn)定性: 當(dāng)輸入值較大或較小時(shí),Softmax 函數(shù)中的指數(shù)運(yùn)算可能導(dǎo)致數(shù)值溢出或下溢。為了解決這個(gè)問(wèn)題,通常會(huì)在計(jì)算 Softmax 時(shí)進(jìn)行數(shù)值穩(wěn)定性處理,例如通過(guò)減去輸入向量中的最大值。

  2. 標(biāo)簽不平衡問(wèn)題: 如果某個(gè)類別的訓(xùn)練樣本數(shù)量遠(yuǎn)大于其他類別,Softmax 函數(shù)可能會(huì)傾向于預(yù)測(cè)數(shù)量更多的類別。

Python代碼

import numpy as np

# 定義 Softmax 函數(shù)
def softmax(x):
    e_x = np.exp(x - np.max(x))  # 為了數(shù)值穩(wěn)定性,減去最大值
    return e_x / e_x.sum()

# 生成一組輸入向量
x = np.array([2.0, 1.0, 0.1])

# 計(jì)算 Softmax 輸出
softmax_output = softmax(x)

print("Input vector:", x)
print("Softmax output:", softmax_output)
print("Sum of probabilities:", np.sum(softmax_output))

?生成一個(gè)輸入向量 x,并使用 Softmax 函數(shù)計(jì)算對(duì)應(yīng)的輸出向量 y。為了保證數(shù)值穩(wěn)定性,我們?cè)谟?jì)算時(shí)減去了輸入向量中的最大值。運(yùn)行代碼后,你將看到輸入向量經(jīng)過(guò) Softmax 函數(shù)轉(zhuǎn)換后得到的概率分布,所有輸出值都在 [0, 1] 范圍內(nèi),且和為 1。

總結(jié)

大家使用激活函數(shù)的時(shí)候如果有條件的話,盡量都選擇用一遍,選擇效果最好的函數(shù)再進(jìn)行微調(diào)。如果拿不定主意的話就先選ReLU 或其變種。避免使用 Sigmoid 和 Tanh,盡管 Sigmoid 和 Tanh 激活函數(shù)在一些情況下仍然有用,但它們?nèi)菀滓l(fā)梯度消失問(wèn)題,并且在深度網(wǎng)絡(luò)中不如 ReLU 及其變種效果好。

對(duì)于二元分類問(wèn)題,常用 Sigmoid 激活函數(shù);對(duì)于多類別分類問(wèn)題,常用 Softmax 激活函數(shù)。對(duì)于回歸問(wèn)題,通常不需要使用激活函數(shù)。某些情況下,激活函數(shù)可能導(dǎo)致梯度爆炸。如果你遇到梯度爆炸問(wèn)題,可以考慮使用梯度裁剪等方法來(lái)控制梯度大小。所以說(shuō)每個(gè)問(wèn)題和數(shù)據(jù)集都可能有不同的特點(diǎn),因此最好通過(guò)實(shí)驗(yàn)驗(yàn)證不同激活函數(shù)的效果,找到最適合的激活函數(shù)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-670862.html

到了這里,關(guān)于一文速學(xué)-讓神經(jīng)網(wǎng)絡(luò)不再神秘,一天速學(xué)神經(jīng)網(wǎng)絡(luò)基礎(chǔ)-激活函數(shù)(二)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 一文通俗入門(mén)·脈沖神經(jīng)網(wǎng)絡(luò)(SNN)·第三代神經(jīng)網(wǎng)絡(luò)

    一文通俗入門(mén)·脈沖神經(jīng)網(wǎng)絡(luò)(SNN)·第三代神經(jīng)網(wǎng)絡(luò)

    原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處: https://blog.csdn.net/weixin_37864449/article/details/126772830?spm=1001.2014.3001.5502 如上動(dòng)態(tài)圖所示,脈沖網(wǎng)絡(luò)由脈沖神經(jīng)元連接而成,脈沖神經(jīng)元輸入為脈沖,輸出也是脈沖,脈沖神經(jīng)元內(nèi)部有電動(dòng)勢(shì)v,v在沒(méi)有接收到任何輸入時(shí)會(huì)隨著時(shí)間指數(shù)衰減到某個(gè)穩(wěn)定

    2023年04月09日
    瀏覽(29)
  • 一文精簡(jiǎn)介紹CNN神經(jīng)網(wǎng)絡(luò)

    一文精簡(jiǎn)介紹CNN神經(jīng)網(wǎng)絡(luò)

    “簡(jiǎn) 介: 這是 love1005lin 在CSDN上2021-11-19發(fā)布的一篇深度學(xué)習(xí)的卷積神經(jīng)網(wǎng),內(nèi)容整理的精簡(jiǎn),移動(dòng),現(xiàn)在將其進(jìn)行轉(zhuǎn)載,供大家參考。 01 ? 基本原理 卷積神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)大致包括:卷積層、激活函數(shù)、池化層、全連接層、輸出層等。 ▲ 圖1.1 CNN的基本結(jié)構(gòu) ▲ 圖1.2 CN

    2024年04月16日
    瀏覽(25)
  • 【綜述】一文讀懂卷積神經(jīng)網(wǎng)絡(luò)(CNN)

    【綜述】一文讀懂卷積神經(jīng)網(wǎng)絡(luò)(CNN)

    卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)是一類包含卷積計(jì)算且具有深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò)(Feedforward Neural Networks),是深度學(xué)習(xí)(deep learning)的代表算法之一。本文旨在介紹CNN的基本概念和結(jié)構(gòu),以及CNN網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)的基本思路。 1. 什么是卷積神經(jīng)網(wǎng)絡(luò)? 卷積神經(jīng)網(wǎng)

    2024年01月18日
    瀏覽(20)
  • 頭疼!卷積神經(jīng)網(wǎng)絡(luò)是什么?CNN結(jié)構(gòu)、訓(xùn)練與優(yōu)化一文全解

    頭疼!卷積神經(jīng)網(wǎng)絡(luò)是什么?CNN結(jié)構(gòu)、訓(xùn)練與優(yōu)化一文全解

    本文全面探討了卷積神經(jīng)網(wǎng)絡(luò)CNN,深入分析了背景和重要性、定義與層次介紹、訓(xùn)練與優(yōu)化,詳細(xì)分析了其卷積層、激活函數(shù)、池化層、歸一化層,最后列出其訓(xùn)練與優(yōu)化的多項(xiàng)關(guān)鍵技術(shù):訓(xùn)練集準(zhǔn)備與增強(qiáng)、損失函數(shù)、優(yōu)化器、學(xué)習(xí)率調(diào)整、正則化技巧與模型評(píng)估調(diào)優(yōu)。旨

    2024年02月12日
    瀏覽(27)
  • 故障診斷 | 一文解決,GCN圖卷積神經(jīng)網(wǎng)絡(luò)模型的故障診斷(Matlab)

    故障診斷 | 一文解決,GCN圖卷積神經(jīng)網(wǎng)絡(luò)模型的故障診斷(Matlab)

    故障診斷 | 一文解決,GCN圖卷積神經(jīng)網(wǎng)絡(luò)模型的故障診斷(Matlab) GCN(Graph Convolutional Network)是一種基于圖結(jié)構(gòu)數(shù)據(jù)進(jìn)行卷積操作的神經(jīng)網(wǎng)絡(luò)模型。它在處理圖數(shù)據(jù)上展現(xiàn)了很好的性能,特別適用于節(jié)點(diǎn)分類、圖分類和圖生成等任務(wù)。 GCN模型的核心思想是將圖結(jié)構(gòu)數(shù)據(jù)轉(zhuǎn)化

    2024年04月11日
    瀏覽(53)
  • 大數(shù)據(jù)深度學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)CNN:CNN結(jié)構(gòu)、訓(xùn)練與優(yōu)化一文全解

    大數(shù)據(jù)深度學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)CNN:CNN結(jié)構(gòu)、訓(xùn)練與優(yōu)化一文全解

    本文全面探討了卷積神經(jīng)網(wǎng)絡(luò)CNN,深入分析了背景和重要性、定義與層次介紹、訓(xùn)練與優(yōu)化,詳細(xì)分析了其卷積層、激活函數(shù)、池化層、歸一化層,最后列出其訓(xùn)練與優(yōu)化的多項(xiàng)關(guān)鍵技術(shù):訓(xùn)練集準(zhǔn)備與增強(qiáng)、損失函數(shù)、優(yōu)化器、學(xué)習(xí)率調(diào)整、正則化技巧與模型評(píng)估調(diào)優(yōu)。

    2024年02月01日
    瀏覽(34)
  • 神經(jīng)網(wǎng)絡(luò)基礎(chǔ)-神經(jīng)網(wǎng)絡(luò)補(bǔ)充概念-30-搭建神經(jīng)網(wǎng)絡(luò)塊

    搭建神經(jīng)網(wǎng)絡(luò)塊是一種常見(jiàn)的做法,它可以幫助你更好地組織和復(fù)用網(wǎng)絡(luò)結(jié)構(gòu)。神經(jīng)網(wǎng)絡(luò)塊可以是一些相對(duì)獨(dú)立的模塊,例如卷積塊、全連接塊等,用于構(gòu)建更復(fù)雜的網(wǎng)絡(luò)架構(gòu)。

    2024年02月12日
    瀏覽(30)
  • 神經(jīng)網(wǎng)絡(luò)基礎(chǔ)-神經(jīng)網(wǎng)絡(luò)補(bǔ)充概念-17-計(jì)算神經(jīng)網(wǎng)絡(luò)的輸出

    計(jì)算神經(jīng)網(wǎng)絡(luò)的輸出通常涉及前向傳播(Forward Propagation)的過(guò)程,其中輸入數(shù)據(jù)通過(guò)網(wǎng)絡(luò)的層級(jí)結(jié)構(gòu),逐步被傳遞并變換,最終生成預(yù)測(cè)結(jié)果。下面我將為你展示一個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)前向傳播的示例。 假設(shè)我們有一個(gè)具有以下參數(shù)的簡(jiǎn)單神經(jīng)網(wǎng)絡(luò): 輸入層:2個(gè)神經(jīng)元 隱藏

    2024年02月12日
    瀏覽(30)
  • 神經(jīng)網(wǎng)絡(luò)與卷積神經(jīng)網(wǎng)絡(luò)

    神經(jīng)網(wǎng)絡(luò)與卷積神經(jīng)網(wǎng)絡(luò)

    全連接神經(jīng)網(wǎng)絡(luò)是一種深度學(xué)習(xí)模型,也被稱為多層感知機(jī)(MLP)。它由多個(gè)神經(jīng)元組成的層級(jí)結(jié)構(gòu),每個(gè)神經(jīng)元都與前一層的所有神經(jīng)元相連,它們之間的連接權(quán)重是可訓(xùn)練的。每個(gè)神經(jīng)元都計(jì)算輸入的加權(quán)和,并通過(guò)一個(gè)非線性激活函數(shù)進(jìn)行轉(zhuǎn)換,然后將結(jié)果傳遞到下一

    2024年02月10日
    瀏覽(25)
  • 神經(jīng)網(wǎng)絡(luò)實(shí)驗(yàn)--卷積神經(jīng)網(wǎng)絡(luò)

    神經(jīng)網(wǎng)絡(luò)實(shí)驗(yàn)--卷積神經(jīng)網(wǎng)絡(luò)

    本實(shí)驗(yàn)主要為了掌握深度學(xué)習(xí)的基本原理;能夠使用TensorFlow實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò),完成圖像識(shí)別任務(wù)。 文章目錄 1. 實(shí)驗(yàn)?zāi)康?2. 實(shí)驗(yàn)內(nèi)容 3. 實(shí)驗(yàn)過(guò)程 題目一: 題目二: 實(shí)驗(yàn)小結(jié)討論題 ①掌握深度學(xué)習(xí)的基本原理; ②能夠使用TensorFlow實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò),完成圖像識(shí)別任務(wù)。

    2024年02月06日
    瀏覽(20)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包