可見,啟用函式能夠幫助我們引入非線性因素,使得神經網路能夠更好地解決更加複雜的問題。
s ig
moid
(x)=
11+e
−xsigmoid(x) = \frac}
sigmoi
d(x)
=1+e
−x1
s ig
moid
′(x)
=11+
e−xsigmoid'(x) = \frac}
sigmoi
d′(x
)=1+
e−x1
sigmoid 函式的取值範圍在 (0,1) 之間,單調連續,求導容易,一般用於二分類神經網路的輸出層。
函式影象和導數影象:
)# 函式值
y2=math.e**
(-x)/(
(1+math.e**
(-x))**
2)# 導數值
plt.xlim(-11
,11)ax = plt.gca(
)# get current axis 獲得座標軸物件
ax.spines[
'right'
].set_color(
'none'
)ax.spines[
'top'
].set_color(
'none'
)# 將右邊 上邊的兩條邊顏色設定為空 其實就相當於抹掉這兩條邊
ax.xaxis.set_ticks_position(
'bottom'
)ax.yaxis.set_ticks_position(
'left'
)# 指定下邊的邊作為 x 軸 指定左邊的邊為 y 軸
ax.spines[
'bottom'
].set_position(
('data',0
))#指定 data 設定的bottom(也就是指定的x軸)繫結到y軸的0這個點上
ax.spines[
'left'
].set_position(
('data',0
))plt.plot(x,y1,label=
'sigmoid'
,linestyle=
"-", color=
"blue"
)#label為標籤
plt.plot(x,y2,label=
'deriv.sigmoid'
,linestyle=
"--"
, color=
"red")#l
plt.legend(
['sigmoid'
,'deriv.sigmoid'
])優缺點
優點:sigmoid 是使用範圍最廣的一類啟用函式,具有指數函式形狀,它在物理意義上最為接近生物神經元。此外,(0, 1) 的輸出還可以被表示作概率,或用於輸入的歸一化,代表性的如sigmoid交叉熵損失函式。
缺點:(1)首先,sigmoid 函式軟飽和區範圍廣(左右趨向於無窮的兩個部分),容易造成梯度消失,使得網路引數很難得到有效訓練。一般來說, sigmoid 網路在 5 層之內就會產生梯度消失現象
(2)此外,sigmoid函式的輸出均大於0,使得輸出不是0均值,這稱為偏移現象,這會導致後一層的神經元將得到上一層輸出的非0均值的訊號作為輸入。這樣會使權重更新效率降低。
(3)最後還有一點,sigmoid 函式包含 exp 指數運算,運算成本也比較大。
注:軟飽和:lim
x→∞f
′(x)
=0lim_ }f'(x)=0
limx→∞
f′(
x)=0
t an
h(x)
=sin
hxco
shx=
ex−e
−xex
+e−x
tanh(x)=\frac=\frac}}
tanh(x
)=co
shxs
inhx
=ex
+e−x
ex−e
−xtan
h′(x
)=1−
tanh
2(x)
tanh'(x)=1-tanh^2(x)
tanh′(
x)=1
−tan
h2(x
) 函式影象和導數影象:
優缺點:
優點:與sigmoid相比,它的輸出均值是0,使得其收斂速度要比sigmoid快,減少迭代次數。
缺點:tanh一樣具有軟飽和性,從而造成梯度消失,在兩邊一樣有趨近於0的情況
relu的全稱是rectified linear units,是一種alexnet時期才出現的啟用函式。
常用啟用函式
優點 能夠把輸入的連續實值變換為0和1之間的輸出,如果是非常大的負數,那麼輸出就是0 如果是非常大的正數,輸出就是1。缺點 1 sigmoid函式的導數範圍是 0,0.25 導數最大都不大於1,容易引起梯度消失 2 公式包含冪運算,導致方向傳播運算速度慢 3 sigmoid函式輸出不是零中心對稱。s...
什麼是啟用函式?常用的啟用函式
啟用函式是神經網路中的重要一環,也是神經網路之所以能叫 神經網路 的原因。初中應該就學過關於神經元的知識了。神經系統的結構和功能的基本單位是神經元,神經元的基本結構包括細胞體和突起兩部分神經元的功能是神經元接受刺激並能產生興奮 神經衝動 並能把興奮傳導到其它的神經元。也就是說其作用主要有三個 接受刺...
常用啟用函式介紹
sigmod函式 函式公式和圖表如下圖 sigmod函式公式 sigmod函式圖 在sigmod函式中我們可以看到,其輸出是在 0,1 這個開區間內,這點很有意思,可以聯想到概率,但是嚴格意義上講,不要當成概率。sigmod函式曾經是比較流行的,它可以想象成乙個神經元的放電率,在中間斜率比較大的地方...