python人工智能tensorflow常用激活函數(shù)Activation?Functions
前言
激活函數(shù)在機器學習中常常用在神經(jīng)網(wǎng)絡(luò)隱含層節(jié)點與神經(jīng)網(wǎng)絡(luò)的輸出層節(jié)點上,激活函數(shù)的作用是賦予神經(jīng)網(wǎng)絡(luò)更多的非線性因素,如果不用激勵函數(shù),輸出都是輸入的線性組合,這種情況與最原始的感知機相當,網(wǎng)絡(luò)的逼近能力相當有限。如果能夠引入恰當?shù)姆蔷€性函數(shù)作為激活函數(shù),這樣神經(jīng)網(wǎng)絡(luò)逼近能力就能夠更加強大。
哦豁,激活函數(shù)那么厲害,那常見的激活函數(shù)有什么呢?感覺還挺多的。
常見的激活函數(shù)種類及其圖像
1 sigmoid(logsig)函數(shù)
特點:sigmoid函數(shù)函數(shù)在不同的地方表達方式不同,常用的名稱就是sigmoid和logsig,它能夠把輸入的連續(xù)實值變換為0和1之間的輸出,如果輸入是特別大的負數(shù),則輸出為0,如果輸入是特別大的正數(shù),則輸出為1。
缺點:
- 在深度神經(jīng)網(wǎng)絡(luò)中,容易導(dǎo)致梯度爆炸和梯度消失;
- 冪函數(shù)運算較慢;
- 不是0均值。
其計算公式為:

其圖像如下所示。

2 tanh函數(shù)
特點:它能夠把輸入的連續(xù)實值變換為-1和1之間的輸出,如果輸入是特別大的負數(shù),則輸出為-1,如果輸入是特別大的正數(shù),則輸出為1;
解決了Sigmoid函數(shù)的不是0均值的問題。
缺點:梯度消失的問題和冪運算的問題仍然存在。
其計算公式為:

其圖像如下所示。

3 relu函數(shù)
特點:解決了梯度消失的問題;計算速度非??欤恍枰袛噍斎胧欠翊笥?;
收斂速度遠快于sigmoid和tanh兩個函數(shù)。
缺點:不是0均值。
其計算公式為:

其圖像如下所示

4 softplus函數(shù)
特點:softplus函數(shù)相當于平滑版的relu函數(shù)。
缺點:不是0均值。
其計算公式為:

其圖像如下所示(與relu函數(shù)對比)。

tensorflow中損失函數(shù)的表達
1 sigmoid(logsig)函數(shù)
tf.nn.sigmoid(x, name=None)
2 tanh函數(shù)
tf.nn.tanh(x, name=None)
3 relu函數(shù)
tf.nn.relu(features, name=None) tf.nn.relu6(features, name=None) #relu6相對于普通relu更容易學習到稀疏特征。
4 softplus函數(shù)
tf.nn.softplus(features, name=None)
以上就是python人工智能tensorflow常用激活函數(shù)Activation Functions的詳細內(nèi)容,更多關(guān)于tensorflow激活函數(shù)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
利用python中pymysql操作MySQL數(shù)據(jù)庫的新手指南
PyMySQL是在Python3.x版本中用于連接MySQL服務(wù)器的一個庫,Python2中是使用mysqldb,這篇文章主要給大家介紹了關(guān)于利用python中pymysql操作MySQL數(shù)據(jù)庫的相關(guān)資料,需要的朋友可以參考下2021-09-09
python?pandas數(shù)據(jù)處理教程之合并與拼接
在實際處理數(shù)據(jù)業(yè)務(wù)需求中,我們經(jīng)常會遇到這樣的需求,將多個表連接起來再進行數(shù)據(jù)的處理和分析,類似SQL中的連接查詢功能,下面這篇文章主要給大家介紹了關(guān)于python?pandas數(shù)據(jù)處理教程之合并與拼接的相關(guān)資料,需要的朋友可以參考下2022-02-02
Pandas格式化DataFrame的浮點數(shù)列的實現(xiàn)
本文主要介紹了Pandas格式化DataFrame的浮點數(shù)列的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-05-05

