五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

什么是交叉熵誤差,多分類中的交叉熵損失函數(shù)

2023-09-24 15:45 作者:小黑黑講AI  | 我要投稿


大家好,今天要講的內容是多分類中的交叉熵損失函數(shù)。

交叉熵誤差,cross entropy error,用來評估模型輸出的概率分布和真實概率分布的差異情況,一般用于解決分類問題。它有兩種定義形式,分別對應二分類與多分類問題。

在二分類問題中,E=- [y * log(p) + (1 - y) * log(1 - p)],其中y是樣本的真實標記,p是模型的預測概率。

在多分類問題中,E=- Σ [y_i * log(p_i)],y_i和p_i對應第i個類別的真實標記與預測概率,n是類別個數(shù)。


多分類中的交叉熵誤差

在多分類問題中,如果每個類別之間的定義是互斥的,那么任何樣本都只能被標記為一種類別。

我們使用向量y來表示樣本的標記值,如果有n種類別,那么y就是一個n乘1的列向量,向量中只有1個元素是1,其余元素是0。

定義m個樣本、n種類別的交叉熵誤差E。它等于m個樣本的平均交叉熵誤差。在公式中,y-i-k和p-i-k代表了,第i個樣本,第k個類別的真實標記和第k個類別的模型預測概率。

如果第i個樣本被標記為第k個類別,那么在向量y-i中,第k個元素y-i-k就等于1,其余均是0。

多分類問題的交叉熵損失,只與真實類別對應的模型預測概率有關。這里我們單獨來看第i個樣本的誤差Ei。

如果該樣本的真實類別是第k個類別,那么在西格瑪求和的過程中,只有第k項是存在的,其余項均是0。因此Ei=-(y-i-k)*log(p-i-k)。

上述計算說明了,在交叉熵損失函數(shù)中,只有真實類別對應的那一項會被計算在內,其他類別的項,在求和過程中均為0。

所以即便模型對其他類別的預測概率不準確,但只要對真實類別的預測概率較高,損失函數(shù)的值仍然較低。


均方誤差與交叉熵誤差的舉例對比

下面是一個圖片分類的例子,圖片的類別有貓、狗、牛三種情況。


我們訓練出了兩個模型a和b,使用a和b,對3個測試樣本進行預測,得到了相應的預測結果。

我們要基于這個結果,來說明均方誤差與交叉熵誤差,兩種損失函數(shù),在多分類問題上的表現(xiàn)區(qū)別。

觀察模型的預測結果可以發(fā)現(xiàn),對于每個樣本,a和b兩個模型,都會輸出三種類別的3個概率。每個概率會對應標記值0或1。

例如,模型a預測第1個樣本,得到3個概率是0.3、0.3和0.4,它們對應的標記是0、0、1。模型預測正確。

從數(shù)據(jù)來看,a和b兩個模型,都正確的預測了樣本1和樣本2,錯誤預測了樣本3。

但是模型a在預測樣本1和2時,三種類別的概率差異并不明顯,只是很微弱的判斷正確,并且樣本3的錯誤還非常明顯。

對于模型b,在判斷前兩個樣本時,正確類別對應的預測概率很大,都是0.7,同時第3個樣本的錯誤也不明顯。

下面就使用均方誤差和交叉熵誤差,分別對這兩個模型進行衡量。

首先使用均方誤差,計算a和b兩個模型的差異。對于每個樣本,都需要計算所有類別的預測概率和標記值差的平方和,再求平均。

例如,模型a對于三個樣本的誤差是0.54、0.54和1.34,平均誤差是0.81,模型b對三個樣本的誤差是0.14、0.14和0.74,平均誤差0.34,可以得出模型b更好。

接下來使用交叉熵誤差,計算兩個模型的區(qū)別。實際上,對于每個樣本,我們只關注該樣本的真實標記類別的預測概率。

例如,模型a預測第1個樣本時,類別1和2的交叉熵都是0,類別3是負log0.4,因此得到結果0.91。

按照這種方式,計算a和b兩個模型對于3個樣本的誤差,然后求出平均值。

模型a的平均交叉熵誤差是1.37,b是0.63,同樣會得到模型b比a好的結論。

比較兩種方法的計算結果,可以發(fā)現(xiàn),a和b兩個模型的均方誤差的差異是0.81-0.34=0.47。交叉熵誤差的差異是1.37-0.63=0.74。

因此,基于交叉熵誤差比較兩個模型,可以得到更大的差異,這也就說明了,在該多分類問題中,如果使用交叉熵誤差,可以更好的區(qū)分出模型的差異。

那么到這里,多分類中的交叉熵損失函數(shù)就講完了,感謝大家的觀看,我們下節(jié)課再會。


什么是交叉熵誤差,多分類中的交叉熵損失函數(shù)的評論 (共 條)

分享到微博請遵守國家法律
墨江| 邯郸市| 延寿县| 嵊州市| 元朗区| 镇原县| 京山县| 循化| 阿拉善右旗| 磐安县| 曲周县| 阿克| 安阳市| 英吉沙县| 河南省| 松溪县| 永定县| 临洮县| 阿克| 堆龙德庆县| 黎平县| 错那县| 乌兰察布市| 名山县| 垫江县| 江城| 汉寿县| 三原县| 襄城县| 沙田区| 巴中市| 三明市| 密云县| 邯郸市| 彭山县| 峨山| 灵山县| 滦南县| 东兴市| 东辽县| 遂宁市|