您好,登錄后才能下訂單哦!
不懂關于python編寫softmax函數、交叉熵函數的案例?其實想解決這個問題也不難,下面讓小編帶著大家一起學習怎么去解決,希望大家閱讀完這篇文章后大所收獲。
python代碼如下:
import numpy as np # Write a function that takes as input a list of numbers, and returns # the list of values given by the softmax function. def softmax(L): pass expL = np.exp(L) sumExpL = sum(expL) result = [] for i in expL: result.append(i*1.0/sumExpL) return result
python編寫交叉熵公式:
import numpy as np def cross_entropy(Y, P): Y = np.float_(Y) P = np.float_(P) return -np.sum(Y * np.log(P) + (1 - Y) * np.log(1 - P))
補充知識:分類時,為什么不使用均方誤差而是使用交叉熵作為損失函數
MSE(均方誤差)對于每一個輸出的結果都非常看重,而交叉熵只對正確分類的結果看重。
例如:在一個三分類模型中,模型的輸出結果為(a,b,c),而真實的輸出結果為(1,0,0),那么MSE與cross-entropy相對應的損失函數的值如下:
MSE:
cross-entropy:
從上述的公式可以看出,交叉熵的損失函數只和分類正確的預測結果有關系,而MSE的損失函數還和錯誤的分類有關系,該分類函數除了讓正確的分類盡量變大,還會讓錯誤的分類變得平均,但實際在分類問題中這個調整是沒有必要的。
但是對于回歸問題來說,這樣的考慮就顯得很重要了。所以,回歸問題熵使用交叉上并不合適。
感謝你能夠認真閱讀完這篇文章,希望小編分享關于python編寫softmax函數、交叉熵函數的案例內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。