為什麼pytorch中的交叉熵損失用的是ylogp而不是ylogp 1 y log 1 p ?

時間 2021-05-31 04:51:38

1樓:Honda

交叉熵反映的是兩個概率分布的近似程度,其中式子裡面的y是實際分布,如果是二分類的話,它的取值只有0和1,所以當y=1的時候,後面那項就消掉了,當y=0的時候,前面那項消掉了,後面那項變成ylogp..因此可以直接這樣寫..

2樓:Shawvin

ylogp需要y是獨熱編碼,比如分成三類就是[0,0,1], [0,1,0]和[1,0,0], 而不能是0,1,2。並且可以用在多分類上。ylogp+(1-y)log(1-p)是binary cross entroy,是前者在二分類上形式,在這裡y也只能是0或者1,不能用獨熱編碼。

3樓:Github屆的卡卡西

ylog(p)+(1-y)log(1-p),這個是二分類的交叉熵完整寫法。二分類時,隨意輸入乙個樣本,y只能取0或者1,計算loss的時候,加號兩邊總有乙個是0;這個跟ylog(p)是一樣的。ylog(p)是統一的寫法,既可以用作二分類的交叉熵,也可以用作多分類的交叉熵。

4樓:TY Sun

第乙個是softmax使用n個出口表示n分類,注意還要求和。

第二個是sigmoid使用1個出口表示2分類,可以認為是求和後的形式。

為什麼交叉熵(cross entropy)可以用於計算代價?

Satie 尋找乙個有意義的代價函式的 其最小值有意義 可以等價於尋找乙個有意義的其他函式 其最大值有意義 訴求的 距離 問題可以轉化為 概率 問題。求乙個代價函式 Loss 的最小值 距離最短 可以等價於求乙個描述函式的最大值 概率最大 在用神經網路的求解分類問題中,這個轉化可以用輸出的最後一層 ...

不理解為什麼分類問題的代價函式是交叉熵而不是誤差平方,為什麼邏輯回歸要配乙個sigmod函式?

木訥沒有了 MSE是高斯分布的最大似然 CE是多項式分布的最大似然 對於回歸任務 高斯分布的概率密度函式 假設誤差服從均值為零的高斯分布,對可觀測樣本集Y,其對數似然 對於分類任務 單標籤多分類任務 多項式分布的概率質量函式 其對數似然 機器學習中one hot編碼 的項乘積為0,只考慮 簡化為 約...

pytorch中的 contiguous 是如何設計的

說乙個應用,在pytorch的ShuffleNet實現中,需要進行通道的shuffle操作 def channel shuffle x,groups type torch.Tensor,int torch.Tensor batchsize,num channels,height,width x.da...