給公司做網(wǎng)站銷(xiāo)售怎樣啦網(wǎng)絡(luò)公司品牌推廣
文章目錄
- 一、說(shuō)明
- 二、擠壓方法
- 三、Logistic 回歸中的損失函數(shù)
- 四、后記
一、說(shuō)明
?
在這篇文章中,我們將深入研究 squashing 方法,這是有符號(hào)距離方法(第 12節(jié))的一種很有前途的替代方案。squashing 方法通過(guò)提供增強(qiáng)的對(duì)異常值的彈性來(lái)解決有符號(hào)距離方法的缺點(diǎn),從而提高 Logistic 回歸模型的整體性能和準(zhǔn)確性。
在整個(gè)討論中,我們將對(duì) shushing 方法進(jìn)行概述,詳細(xì)介紹其基本原理并說(shuō)明其相對(duì)于有符號(hào)距離方法的優(yōu)勢(shì)。通過(guò)了解這種替代方法的復(fù)雜性,我們的目標(biāo)是為從業(yè)者提供一個(gè)有價(jià)值的工具,以有效處理異常值并增強(qiáng) Logistic 回歸模型的穩(wěn)健性。
二、擠壓方法
這種方法不是使用簡(jiǎn)單的有符號(hào)距離,而是如果提到的距離很小,我們就按原樣使用它,如果有符號(hào)距離是一個(gè)很大的數(shù)字,我們就減少該值。所以,我們需要一個(gè)函數(shù),當(dāng)輸入值較小時(shí)線(xiàn)性增加,當(dāng)輸入值較大時(shí),它減少輸出值,這個(gè)函數(shù)將輸入從負(fù)無(wú)窮大映射到 0 到 1 之間的無(wú)窮大,對(duì)于這種行為,它被稱(chēng)為“擠壓”。其中一個(gè)函數(shù)是 sigmoid 函數(shù)。Sigmoid 是一個(gè)實(shí)數(shù)、有界且可微分的函數(shù),可以針對(duì)所有實(shí)數(shù)值進(jìn)行定義,并且具有正導(dǎo)數(shù)。從圖形上看,此函數(shù)類(lèi)似于英語(yǔ)中的字母“S”和希臘語(yǔ)中的 sigma “?”,在某些來(lái)源中,它也稱(chēng)為 sigma 函數(shù)。sigmoid 函數(shù)也稱(chēng)為 logistic 函數(shù),該函數(shù)是這樣的,如果 x 的值趨向于正無(wú)窮大,則預(yù)測(cè)值或 y 是接近 1 的數(shù)字,如果趨向于負(fù)無(wú)窮大,則預(yù)測(cè)值或 y 是接近零的數(shù)字??梢允?sigmoid 函數(shù)顯示在表達(dá)式 1 中。
sigmoid 函數(shù)的表達(dá)式 1:
圖 1 顯示了 sigmoid 函數(shù)
?
在這個(gè)函數(shù)中,如果輸入數(shù)字為零,則輸出數(shù)字為 0.5,可以假設(shè)如果輸出大于 0.5,則結(jié)果為 1 類(lèi) (y_i = +1),如果小于 0.5,則將其歸類(lèi)為負(fù)類(lèi) (y_i = -1)。
我們?cè)谏弦还?jié)(第 12 天)之前想要最大化的優(yōu)化問(wèn)題:
應(yīng)該更改此表達(dá)式,以便我們通過(guò) sigmoid 函數(shù) “?” 傳遞有符號(hào)區(qū)間值,并顯示使用 sigmoid 函數(shù)的 Logistic 回歸算法:
Logistic 回歸的目標(biāo)是最大化上述表達(dá)式。
三、Logistic 回歸中的損失函數(shù)
雙類(lèi)分類(lèi)中使用的函數(shù)之一是 “Binary Cross Entropy” 函數(shù)。此函數(shù)將每個(gè)預(yù)測(cè)概率與相應(yīng)類(lèi)或標(biāo)簽的實(shí)際輸出(可以是 0 或 1)進(jìn)行比較,然后計(jì)算一個(gè)分?jǐn)?shù),該分?jǐn)?shù)根據(jù)與預(yù)期值的距離對(duì)概率進(jìn)行懲罰。這意味著它與每個(gè)類(lèi)的 label 值的接近或距離。
下面的方程式以分段函數(shù)的形式顯示了此函數(shù):
此外,上述函數(shù)也可以使用以下公式編寫(xiě),如下面的等式所示:
“二進(jìn)制交叉熵”函數(shù)的方程如下:
在上面的等式中,p_i 指的是算法的概率輸出值,我們通常用 y-hat 表示,但在這個(gè)例子中,需要強(qiáng)調(diào)的是,這個(gè)值是帶有 p_i 的概率輸出,它是從第一個(gè)字母“Probability”派生出來(lái)的,y_i也指每個(gè)類(lèi)的標(biāo)簽或?qū)嶋H輸出,當(dāng)該值等于數(shù)字 1 (y_i = 1) 時(shí),只有執(zhí)行第一個(gè)短語(yǔ),第二個(gè)短語(yǔ)變?yōu)榱?#xff0c;同樣,當(dāng)此值等于零 (y_i = 0) 時(shí),僅執(zhí)行第二個(gè)短語(yǔ),第一個(gè)短語(yǔ)的值變?yōu)榱?#xff0c;n 引用數(shù)據(jù)數(shù)。從上面的語(yǔ)句中可以看出,算法的輸出值是通過(guò)對(duì)數(shù)函數(shù)傳遞的,因此,它在某些來(lái)源中也被稱(chēng)為 “Log Loss”。
我們用表 1 中的一個(gè)例子來(lái)展示這個(gè)函數(shù)的性能。
?
在第一個(gè)數(shù)據(jù) (x_1) 中,實(shí)際輸出值或標(biāo)簽為 1,算法的預(yù)測(cè)值為 0.95 且接近 1,此數(shù)據(jù)的誤差值為 0.022?,F(xiàn)在,如果我們關(guān)注第二行,這個(gè)數(shù)據(jù)的實(shí)際輸出值是 1,但是預(yù)測(cè)值是 0.6,不出所料,這個(gè)數(shù)據(jù)的生產(chǎn)誤差比第一行高,因?yàn)樗惴ǖ陌l(fā)生率較小,或者換句話(huà)說(shuō),它與第一行相比有一個(gè)遠(yuǎn)的鼻子, 同樣,如果我們看屬于零類(lèi)的第三和第四個(gè)數(shù)據(jù),第三個(gè)數(shù)據(jù)的誤差值低于第四個(gè)數(shù)據(jù)的誤差,因?yàn)?0.15 的預(yù)測(cè)比第四個(gè)數(shù)據(jù)中預(yù)測(cè)的數(shù)字 0.55 更接近零類(lèi)。
注意:讓我們看看為什么我們應(yīng)該在損失函數(shù)中使用負(fù)對(duì)數(shù)函數(shù) (-log (p_i)),原因是算法產(chǎn)生的可能輸出 (p_i) 介于 0 和 1 之間,并且我們知道 0 和 1 之間的數(shù)字的對(duì)數(shù)是負(fù)數(shù), 因此,使用負(fù)系數(shù) 1 來(lái)避免產(chǎn)生負(fù)誤差。
圖 4 顯示了從 0 到 5 的輸入的對(duì)數(shù)函數(shù)的輸出。
?
四、后記
我分兩部分解釋了邏輯回歸的理論,在下一部分機(jī)器學(xué)習(xí)系列: 邏輯回歸(第 3 部分 — 實(shí)施)中,我想深入研究使用 Python 代碼進(jìn)行邏輯回歸的簡(jiǎn)單實(shí)現(xiàn)。