這兩個函數(shù)相同的是,當(dāng)輸入的 x 值很大或者很小時,對應(yīng)函數(shù)輸出的 y 值近乎相等,同樣的缺點也是梯度特別小,非常不利于權(quán)重的更新;不同的是Tanh函數(shù)的值域為(-1,1),并且當(dāng) x = 0 時,輸出的函數(shù)值為0。 Tanh函數(shù)的代碼如下:
圖像很容易理解,若輸入的 x 值小于0,則輸出為也為0;若輸入的 x 值大于0,則直接輸出 x 值,需要注意的是ReLu函數(shù)在x = 0 處不連續(xù)(不可導(dǎo)),但同樣也可以作為激活函數(shù)。與Sigmoid函數(shù)和Tanh函數(shù)相比,ReLu函數(shù)一個很明顯的優(yōu)點就是在應(yīng)用梯度下降法是收斂較快,當(dāng)輸入值為整數(shù)時,不會出現(xiàn)梯度飽和的問題,因為大于0的部分是一個線性關(guān)系,這個優(yōu)點讓ReLu成為目前應(yīng)用較廣的激活函數(shù)。ReLu函數(shù)的代碼如下:
分類問題可以分為二分類問題和多分類問題,Sigmoid函數(shù)比較適合二分類問題,而SoftMax函數(shù)更加適合多分類問題。SoftMax函數(shù)的數(shù)學(xué)表達(dá)式為:其中表示分類器的輸出,i表示類別索引,總的類別個數(shù)為C,表示當(dāng)前元素的指數(shù)與所有元素指數(shù)和的比值。概括來說,SoftMax函數(shù)將多分類的輸出值按比例轉(zhuǎn)化為相對概率,使輸出更容易理解和比較。為了防止SoftMax函數(shù)計算時出現(xiàn)上溢出或者下溢出的問題,通常會提前對 V 做一些數(shù)值處理,即每個 V 減去 V 中的最大值,假設(shè),SoftMax函數(shù)數(shù)學(xué)表達(dá)式更改為:因為SoftMax函數(shù)計算的是概率,所以無法用圖像進(jìn)行展示,SoftMax函數(shù)的代碼如下: