python編寫softmax函數(shù)、交叉熵函數(shù)實(shí)例
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))
補(bǔ)充知識(shí):分類時(shí),為什么不使用均方誤差而是使用交叉熵作為損失函數(shù)
MSE(均方誤差)對(duì)于每一個(gè)輸出的結(jié)果都非常看重,而交叉熵只對(duì)正確分類的結(jié)果看重。
例如:在一個(gè)三分類模型中,模型的輸出結(jié)果為(a,b,c),而真實(shí)的輸出結(jié)果為(1,0,0),那么MSE與cross-entropy相對(duì)應(yīng)的損失函數(shù)的值如下:
MSE:
cross-entropy:
從上述的公式可以看出,交叉熵的損失函數(shù)只和分類正確的預(yù)測結(jié)果有關(guān)系,而MSE的損失函數(shù)還和錯(cuò)誤的分類有關(guān)系,該分類函數(shù)除了讓正確的分類盡量變大,還會(huì)讓錯(cuò)誤的分類變得平均,但實(shí)際在分類問題中這個(gè)調(diào)整是沒有必要的。
但是對(duì)于回歸問題來說,這樣的考慮就顯得很重要了。所以,回歸問題熵使用交叉上并不合適。
以上這篇python編寫softmax函數(shù)、交叉熵函數(shù)實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. html中的form不提交(排除)某些input 原創(chuàng)2. 淺談CSS不規(guī)則邊框的生成方案3. ASP中解決“對(duì)象關(guān)閉時(shí),不允許操作。”的詭異問題……4. asp在iis7報(bào)錯(cuò)行號(hào)不準(zhǔn)問題的解決方法5. jsp實(shí)現(xiàn)簡單用戶7天內(nèi)免登錄6. 詳解盒子端CSS動(dòng)畫性能提升7. 5個(gè)HTML5的常用本地存儲(chǔ)方式詳解與介紹8. CSS可以做的幾個(gè)令你嘆為觀止的實(shí)例分享9. 基于javaweb+jsp實(shí)現(xiàn)學(xué)生宿舍管理系統(tǒng)10. CSS百分比padding制作圖片自適應(yīng)布局
