Tensorflow

為什麼在 softmax 中使用“e”?

  • August 6, 2017

我正在用 tensorflow 介紹 ML,我遇到了 softmax 激活函數。為什麼在 softmax 公式中e?為什麼不是2?3? 7?

張量流教程

神經網絡書

使用不同的基數相當於縮放數據

讓 $ \mathbf{z} = \left(\ln a\right) \mathbf{y} $

現在觀察 $ e^{z_i} = a^{y_i} $ 因此:

$$ \frac{e^{z_i}}{\sum_j e^{z_j}} = \frac{a^{y_i}}{\sum_j a^{y_j}} $$

乘法向量 $ \mathbf{y} $ 的自然對數 $ a $ 相當於將softmax函數切換為base $ a $ 而不是基地 $ e $ .

您通常在 softmax 函數中有一個線性模型(例如。 $ z_i = \mathbf{x}' \mathbf{w}_i $ )。這 $ \mathbf{w} $ 在 $ \mathbf{x}' \mathbf{w} $ 可以擴展數據,因此允許不同的基礎不會增加任何解釋力。如果縮放比例可以改變,那麼不同的基數是有感覺的 $ a $ 都是等效模型。

那為什麼要基 $ e $ ?

在指數設置中, $ e $ 通常是最美觀、最自然的使用基礎: $ \frac{d}{dx} e^x = e^x $ . 當你使用 base 時,很多數學在頁面上看起來更漂亮 $ e $ .

引用自:https://stats.stackexchange.com/questions/296471

comments powered by Disqus