筆記-softmax、softmax loss

爲何須要softmax?
複製代碼

咱們知道max,假如說我有兩個數,a和b,而且a>b,若是取max,那麼就直接取a,沒有第二種可能數組

但有的時候我不想這樣,由於這樣會形成分值小的沒法取到。因此我但願分值大的那一項常常取到,分值小的那一項也偶爾能夠取到,那麼我用softmax就能夠了 如今仍是a和b,a>b,若是咱們取按照softmax來計算取a和b的機率,那a的softmax值大於b的,因此a會常常取到,而b也會偶爾取到,機率跟它們原本的大小有關。cors

機率要求值必須在0~1之間,而且全部的機率加起來應該等於1;故能夠用下面的公式表示
複製代碼

假設咱們有一個數組,V,Vi表示V中的第i個元素,那麼這個元素的Softmax值就是 spa

也就是說,是該元素的指數,與全部元素指數和的比值


弄懂了softmax,就要來講說softmax loss了。 那softmax loss是什麼意思呢?以下:
複製代碼

首先L是損失。Sj是softmax的輸出向量S的第j個值,前面已經介紹過了,表示的是這個樣本屬於第j個類別的機率。yj前面有個求和符號,j的範圍也是1到類別數T,所以y是一個1*T的向量,裏面的T個值,並且只有1個值是1,其餘T-1個值都是0。那麼哪一個位置的值是1呢?答案是真實標籤對應的位置的那個值是1,其餘都是0。因此這個公式其實有一個更簡單的形式:

固然此時要限定j是指向當前樣本的真實標籤。

理清了softmax loss,就能夠來看看cross entropy了。 
corss entropy是交叉熵的意思,它的公式以下:
複製代碼

當cross entropy的輸入P是softmax的輸出時,cross entropy等於softmax loss。Pj是輸入的機率向量P的第j個值,因此若是你的機率是經過softmax公式獲得的,那麼cross entropy就是softmax loss。
相關文章
相關標籤/搜索