国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

邏輯回歸為什么使用交叉熵而不用均方差?

這篇具有很好參考價值的文章主要介紹了邏輯回歸為什么使用交叉熵而不用均方差?。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。



邏輯回歸為什么使用交叉熵而不用均方差?或者說邏輯回歸的損失函數(shù)為什么不用最小二乘?

下面主要從兩個角度進行闡述:

  • 從邏輯回歸的角度出發(fā),邏輯回歸的預(yù)測值是一個概率,而交叉熵又表示真實概率分布與預(yù)測概率分布的相似程度,因此選擇使用交叉熵
  • 從均方差(MSE)的角度來說,預(yù)測值概率與歐式距離沒有任何關(guān)系,并且在分類問題中,樣本的值不存在大小比較關(guān)系,與歐式距離更無關(guān)系,因此不適用MSE

1、損失函數(shù)的凸性(使用MSE可能會陷入局部最優(yōu))

前面我們在介紹線性回歸時,我們用到的損失函數(shù)是誤差(殘差)平方和

L = ∑ i = 1 m ( y i ? y ^ i ) 2 = ∑ i = 1 m ( y i ? x i ω ) 2 L=\sum_{i=1}^m(y_i-\hat y_i)^2=\sum_{i=1}^m(y_i-x_i\omega)^2 L=i=1m?(yi??y^?i?)2=i=1m?(yi??xi?ω)2

這是一個凸函數(shù),有全局最優(yōu)解

如果邏輯回歸也使用誤差平方和,由于邏輯回歸假設(shè)函數(shù)的外層函數(shù)是Sigmoid函數(shù),Sigmoid函數(shù)是一個復雜的非線性函數(shù),這就使得我們將邏輯回歸的假設(shè)函數(shù)代入上式時,即
L = ∑ i = 1 m ( y i ? 1 1 + e ? x i ω ) 2 L=\sum_{i=1}^m\left(y_i-\frac{1}{1+e^{-x_i\omega}}\right)^2 L=i=1m?(yi??1+e?xi?ω1?)2

那么,我們得到的 L L L是一個非凸函數(shù),不易優(yōu)化,容易陷入局部最優(yōu)解。所以邏輯回歸的損失函數(shù)使用的是對數(shù)損失函數(shù)(Log Loss Function)

在邏輯回歸(詳見:傳送門)一文中,我們已經(jīng)給出了KL散度與交叉熵的關(guān)系
交叉熵 = K L 散度 + 信息熵 交叉熵=KL散度+信息熵 交叉熵=KL散度+信息熵

即交叉熵等于KL散度加上信息熵。而信息熵是一個常數(shù),并且在計算的時候,交叉熵相較于KL散度更容易,所以我們直接使用了交叉熵作為損失函數(shù)

因此,我們在最小化交叉熵的時候,實際上就是在最小化 KL散度,也就是在讓預(yù)測概率分布盡可能地與真實概率分布相似

2、MSE的損失小于交叉熵的損失(導致對分類錯誤點的懲罰不夠)

邏輯回歸的數(shù)學表達式如下
h θ ( x ) = g ( θ T x ) = 1 1 + e ? θ T x h_\theta(x)=\rm g(\theta^Tx)=\frac{1}{1+e^{-\theta^Tx}} hθ?(x)=g(θTx)=1+e?θTx1?

對于一元邏輯回歸,其預(yù)測值為
y ^ = σ ( ω x + b ) \hat y = \sigma(\omega x+b) y^?=σ(ωx+b)

其中, σ \sigma σSigmoid函數(shù)

如果使用均方差作為損失函數(shù),我們以一個樣本為例,為方便計算,我們給均方差除以2(不改變函數(shù)的單調(diào)性)
C = 1 2 ( y ? y ^ ) 2 C=\frac{1}{2}(y-\hat y)^2 C=21?(y?y^?)2

其中 y ^ \hat y y^?= σ ( z ) \sigma(z) σ(z)= 1 1 + e ? z \frac{1}{1+e^{-z}} 1+e?z1?, z z z= ω x + b \omega x+b ωx+b,使用梯度下降法對 ω \omega ω進行更新,那么就需要將損失函數(shù)對 ω \omega ω進行求偏導數(shù)
? C ? ω = ( y ? y ^ ) σ ′ ( z ) x = ( y ? y ^ ) y ^ ( 1 ? y ^ ) x \frac{\partial C}{\partial \omega}=(y-\hat y)\sigma'(z)x=(y-\hat y)\hat y(1-\hat y)x ?ω?C?=(y?y^?)σ(z)x=(y?y^?)y^?(1?y^?)x

具體計算過程可參考如下或文末參考文章

邏輯回歸為什么使用交叉熵而不用均方差?,# 人工智能與機器學習,基礎(chǔ)理論,邏輯回歸,機器學習

可以看到,均方差損失函數(shù)的梯度與激活函數(shù)(Sigmoid函數(shù))的梯度成正比,當預(yù)測值接近于1或0時,梯度會變得非常小,幾乎接近于0,這樣會導致當真實值與預(yù)測值差距很大時,損失函數(shù)收斂的很慢,無法進行有效學習,與我們的期望不符合

因此,如果使用均方差損失,訓練的時候可能看到的情況是預(yù)測值和真實值之間的差距越大,參數(shù)調(diào)整的越小,訓練的越慢

如果使用交叉熵作為損失函數(shù),對于二分類問題,交叉熵的形式是由極大似然估計下概率的連乘然后取對數(shù)得到的(推導見文章:傳送門)
C = ? [ y ln ? y ^ + ( 1 ? y ) ln ? ( 1 ? y ^ ) ] C=-[y\ln \hat y +(1-y)\ln (1-\hat y)] C=?[ylny^?+(1?y)ln(1?y^?)]

關(guān)于 ω \omega ω求偏導數(shù)得
? C ? ω = ( σ ( z ) ? y ) x \frac{\partial C}{\partial \omega}=(\sigma(z)-y)x ?ω?C?=(σ(z)?y)x

可以看到,交叉熵損失函數(shù)的梯度和當前預(yù)測值與真實值之間的差是有關(guān)的,沒有受到Sigmoid函數(shù)的梯度的影響,且真實值與預(yù)測值的差越大,損失函數(shù)的梯度就越大,更新的速度也就越快,這正是我們想要的



參考文章:https://zhuanlan.zhihu.com/p/453411383?login=from_csdn文章來源地址http://www.zghlxwxcb.cn/news/detail-832871.html


到了這里,關(guān)于邏輯回歸為什么使用交叉熵而不用均方差?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Fragment為什么不用構(gòu)造函數(shù)傳遞參數(shù)?

    Fragment 的構(gòu)造方法通常不建議直接傳遞參數(shù)。我們先來看一下Fragment源碼: 在源碼中會發(fā)現(xiàn),F(xiàn)ragment的構(gòu)造函數(shù)是空的,所以他和普通類的創(chuàng)建對象的方式不太一樣。接著我們看源碼:

    2024年01月24日
    瀏覽(22)
  • 記錄--為什么推薦用svg而不用icon?

    記錄--為什么推薦用svg而不用icon?

    使用背景: 1.因為svg圖標在任何設(shè)備下都可以高清顯示,不會模糊。而icon會在顯卡比較低的電腦上有顯示模糊的情況 2.svg圖標在頁面render時 速度會比icon稍微快一點 3.實現(xiàn)小程序換膚功能 ;方案見:www.yuque.com/lufeilizhix… SVG基礎(chǔ)可參考:www.yuque.com/lufeilizhix… inline svg是目前前

    2024年02月08日
    瀏覽(32)
  • SpringBoot有的時候引入依賴為什么不用加版本號

    有的小伙伴做項目時候,引入新的包時候,會有疑問,為什么有些依賴需要加版本號,有些依賴不需要加版本號?不加版本號的依賴,版本號都寫在哪里了呢? 內(nèi)置的依賴可以不加版本號 這是因為SpringBoot內(nèi)置了很多依賴,引入這些內(nèi)置的依賴時不需要加版本號,相反,如果

    2024年01月19日
    瀏覽(26)
  • 【知識儲備】Transformer為什么用LN而不用BN
  • 為什么很多程序員不用switch,而是大量 的if......else if?

    不會吧還有人用if else和switch case?三目運算符? 不會吧? 不會吧?大佬都是全都不用的!以JAVA為例 條件判斷語句的四種寫法,茴字的四種寫法大家不會不知道吧 1.正常人寫法: //輸出 :張三應(yīng)該去男廁所 2.Lambda策略模式寫法: 某些大公司P6級別以上(年薪30w-50w)標準寫法

    2024年02月15日
    瀏覽(21)
  • 游戲引擎中為什么要用四元數(shù)表示旋轉(zhuǎn)而不用歐拉角旋轉(zhuǎn)?

    個人觀點,僅供參考,如有錯誤可太刺激了 四元數(shù)的簡單概念和使用 歐拉角通常用于表示一個物體的 旋轉(zhuǎn)狀態(tài) ,而不是表示 旋轉(zhuǎn)過程 。 歐拉角描述的是物體相對于某個參考坐標系的朝向或旋轉(zhuǎn)狀態(tài),通常以不同的軸(例如,繞X軸、Y軸和Z軸)的旋轉(zhuǎn)角度來表示。這可以讓

    2024年02月06日
    瀏覽(30)
  • 為什么網(wǎng)線接法要分交叉連接和直連連接兩種方式

    為什么網(wǎng)線接法要分交叉連接和直連連接兩種方式

    水晶頭有兩種連接方式T568A和T568B。網(wǎng)線的兩頭都使用同一標準連接就是直連線,兩頭使用不同的標準就是交叉線。 ** ** 如下圖所示: 電腦連接路由器等其他設(shè)備的時候需要使用直連線。 相同設(shè)備使用交叉線,比如路由器和路由器之間,電腦和電腦之間。 結(jié)論:簡單理解就是

    2024年02月05日
    瀏覽(18)
  • 表單的總數(shù)據(jù)為什么可以寫成一個空對象,不用具體的寫表單中綁定的值,vue3

    表單的總數(shù)據(jù)為什么可以寫成一個空對象,不用具體的寫表單中綁定的值,vue3

    ? from為空對象? 在v-model里寫form.name,其實就是在form這個空對象里添加了一個鍵名為name的成員,你不用在script標簽的form對象里面特意寫name屬性。

    2024年01月23日
    瀏覽(37)
  • 為什么要使用卷積

    為什么要使用卷積

    1. 卷積這個名詞是怎么解釋?“卷”是什么意思?“積”又是什么意思? 卷積的“卷”,指的的函數(shù)的翻轉(zhuǎn),從? g(t) ?變成? g(-t) ?的這個過程;同時,“卷”還有滑動的意味在里面(吸取了網(wǎng)友李文清的建議)。如果把卷積翻譯為“褶積”,那么這個“褶”字就只有翻轉(zhuǎn)的

    2024年02月09日
    瀏覽(34)
  • 為什么使用AutoMapper

    為什么使用AutoMapper

    類庫

    2024年02月14日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包