HOME 首頁(yè)
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運(yùn)營(yíng)
CASE 服務(wù)案例
NEWS 熱點(diǎn)資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專(zhuān)注品牌策劃15年

    svm損失函數(shù)(svm損失函數(shù)hinge loss)

    發(fā)布時(shí)間:2023-04-21 17:15:42     稿源: 創(chuàng)意嶺    閱讀: 145        

    大家好!今天讓創(chuàng)意嶺的小編來(lái)大家介紹下關(guān)于svm損失函數(shù)的問(wèn)題,以下是小編對(duì)此問(wèn)題的歸納整理,讓我們一起來(lái)看看吧。

    開(kāi)始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話(huà)答疑等等

    只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫(xiě)出的就越詳細(xì),有微信小程序端、在線(xiàn)網(wǎng)頁(yè)版、PC客戶(hù)端

    官網(wǎng):https://ai.de1919.com。

    創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶(hù)遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請(qǐng)撥打電話(huà)175-8598-2043,或添加微信:1454722008

    本文目錄:

    svm損失函數(shù)(svm損失函數(shù)hinge loss)

    一、什么是支持向量機(jī),SVM與LR的區(qū)別?

    支持向量機(jī)為一個(gè)二分類(lèi)模型,它的基本模型定義為特征空間上的間隔最大的線(xiàn)性分類(lèi)器。而它的學(xué)習(xí)策略為最大化分類(lèi)間隔,最終可轉(zhuǎn)化為凸二次規(guī)劃問(wèn)題求解。

    LR是參數(shù)模型,SVM為非參數(shù)模型。LR采用的損失函數(shù)為logisticalloss,而SVM采用的是hingeloss。在學(xué)習(xí)分類(lèi)器的時(shí)候,SVM只考慮與分類(lèi)最相關(guān)的少數(shù)支持向量點(diǎn)。LR的模型相對(duì)簡(jiǎn)單,在進(jìn)行大規(guī)模線(xiàn)性分類(lèi)時(shí)比較方便。

    二、常見(jiàn)的損失函數(shù)

    MSE也稱(chēng)為L(zhǎng)2 loss:

    隨著預(yù)測(cè)與真實(shí)值的絕對(duì)誤差的增加,均方差損失呈二次方增加。

    Huber Loss將L1和L2結(jié)合起來(lái),也被稱(chēng)做smoothed L1 Loss。增加了一個(gè)需要額外設(shè)置的超參數(shù) ,來(lái)控制L2和L1的連接位置。 在誤差接近0的時(shí)候使用L2,使損失函數(shù)可導(dǎo),梯度更加穩(wěn)定;誤差較大的時(shí)候用L1,可以降低outlier帶來(lái)的巨大誤差的影響。

    二分類(lèi)中,通常使用Sigmoid函數(shù)將模型的輸出壓縮到(0, 1)區(qū)間。給定輸入 ,模型判斷為正類(lèi)/負(fù)類(lèi)的概率:

    合并成一個(gè):

    取對(duì)數(shù)加負(fù)號(hào)之后,得到:

    N是所有樣本的數(shù)量。

    圖中曲線(xiàn)可以看出,當(dāng)預(yù)測(cè)值越接近目標(biāo)值損失越小,隨著誤差變差,損失呈現(xiàn)指數(shù)增長(zhǎng)。

    真實(shí)值 現(xiàn)在是一個(gè)One-hot向量,Sigmoid換成了Softmax來(lái)把輸出值壓縮到(0, 1)之間,所有維度的輸出和為1.

    Softmax公式:

    表示K個(gè)類(lèi)別中的一個(gè),k只在對(duì)應(yīng)的類(lèi)別上是1,其他時(shí)候是0。

    于是上式可以改寫(xiě)成:

    是樣本 的目標(biāo)類(lèi)。

    分類(lèi)問(wèn)題中為什么不用MSE? 因?yàn)镸SE假設(shè)了誤差服從高斯分布,在分類(lèi)任務(wù)下這個(gè)假設(shè)無(wú)法滿(mǎn)足,因此效果會(huì)很差。

    第二個(gè)論點(diǎn)是從信息論的角度來(lái)分析的,是關(guān)于由KL散度的角度來(lái)推導(dǎo)Cross Entropy的過(guò)程( 原文 )

    是另一種二分類(lèi)損失函數(shù),適用于Maximum-margin的分類(lèi),SVM的損失函數(shù)就是hinge loss + L2正則化

    下圖為,當(dāng)y為正類(lèi)的時(shí)候( ),不同的輸出 對(duì)應(yīng)的loss圖

    當(dāng)y為正類(lèi)時(shí),模型輸出負(fù)值會(huì)有很大的懲罰。即使輸出為正值在(0, 1)區(qū)間,也還是會(huì)有一個(gè)較小的懲罰。也就是只有置信度高的才會(huì)有零損失。使用hinge loss直覺(jué)上的理解是要找到一個(gè)決策邊界,使得素有數(shù)據(jù)點(diǎn)被這個(gè)邊界正確地,高置信度地被分類(lèi)。

    同時(shí)hinge loss也反應(yīng)了一點(diǎn),對(duì)于那些已經(jīng)可以被很好分類(lèi)的樣本,它不再對(duì)loss產(chǎn)生貢獻(xiàn),可以讓模型花更多的energy去學(xué)習(xí)難以分類(lèi)的樣本。

    https://zhuanlan.zhihu.com/p/77686118

    三、損失函數(shù)與魯棒性

    機(jī)器學(xué)習(xí)模型關(guān)于單個(gè)樣本的預(yù)測(cè)值與真實(shí)值的差稱(chēng)為損失。損失越小,模型越好,如果預(yù)測(cè)值與真實(shí)值相等,就是沒(méi)有損失。

    損失函數(shù)(Loss function)是用來(lái)估量模型的預(yù)測(cè)值 f(x) 與真實(shí)值 Y 的不一致程度,它是一個(gè)非負(fù)實(shí)值函數(shù),通常用 L(Y,f(x)) 來(lái)表示。損失函數(shù)越小,模型的魯棒性就越好。

    雖然損失函數(shù)可以讓我們看到模型的優(yōu)劣,并且為我們提供了優(yōu)化的方向,但是我們必須知道沒(méi)有任何一種損失函數(shù)適用于所有的模型。損失函數(shù)的選取依賴(lài)于參數(shù)的數(shù)量、異常值、機(jī)器學(xué)習(xí)算法、梯度下降的效率、導(dǎo)數(shù)求取的難易和預(yù)測(cè)的置信度等若干方面。

    由于機(jī)器學(xué)習(xí)的任務(wù)不同,損失函數(shù)一般分為分類(lèi)和回歸兩類(lèi),回歸會(huì)預(yù)測(cè)出一個(gè)數(shù)值結(jié)果,分類(lèi)則會(huì)給出一個(gè)標(biāo)簽。

    0-1損失是指,預(yù)測(cè)值和目標(biāo)值不相等為1,否則為0:

    感知機(jī)就是用的這種損失函數(shù)。但是由于相等這個(gè)條件太過(guò)嚴(yán)格,因此我們可以放寬條件,即滿(mǎn)足 |Y−f(X)|<T時(shí)認(rèn)為相等。

    邏輯回歸的損失函數(shù)就是對(duì)數(shù)損失函數(shù),在邏輯回歸的推導(dǎo)中,它假設(shè)樣本服從伯努利分布(0-1)分布,然后求得滿(mǎn)足該分布的似然函數(shù),接著用對(duì)數(shù)求極值。邏輯回歸并沒(méi)有求對(duì)數(shù)似然函數(shù)的最大值,而是把極大化當(dāng)做一個(gè)思想,進(jìn)而推導(dǎo)它的風(fēng)險(xiǎn)函數(shù)為最小化的負(fù)的似然函數(shù)。從損失函數(shù)的角度上,它就成為了對(duì)數(shù)損失函數(shù)。

    損失函數(shù)的標(biāo)準(zhǔn)形式:

    在極大似然估計(jì)中,通常都是先取對(duì)數(shù)再求導(dǎo),再找極值點(diǎn),這樣做是方便計(jì)算極大似然估計(jì)。損失函數(shù)L(Y,P(Y|X))是指樣本X在分類(lèi)Y的情況下,使概率P(Y|X)達(dá)到最大值(利用已知的樣本分布,找到最大概率導(dǎo)致這種分布的參數(shù)值)

    最小二乘法是線(xiàn)性回歸的一種方法,它將回歸的問(wèn)題轉(zhuǎn)化為了凸優(yōu)化的問(wèn)題。最小二乘法的基本原則是:最優(yōu)擬合曲線(xiàn)應(yīng)該使得所有點(diǎn)到回歸直線(xiàn)的距離和最小。通常用歐幾里得距離進(jìn)行距離的度量。平方損失的損失函數(shù)為:

    AdaBoost就是以指數(shù)損失函數(shù)為損失函數(shù)的。

    指數(shù)損失函數(shù)的標(biāo)準(zhǔn)形式:

    Hinge損失函數(shù)用于最大間隔(maximum-margin)分類(lèi),其中最有代表性的就是支持向量機(jī)SVM。

    Hinge函數(shù)的標(biāo)準(zhǔn)形式:

    其中,t為目標(biāo)值(-1或+1),y是分類(lèi)器輸出的預(yù)測(cè)值,并不直接是類(lèi)標(biāo)簽。其含義為,當(dāng)t和y的符號(hào)相同時(shí)(表示y預(yù)測(cè)正確)并且|y|≥1時(shí),hinge loss為0;當(dāng)t和y的符號(hào)相反時(shí),Hinge損失函數(shù)隨著y的增大線(xiàn)性增大。

    在支持向量機(jī)中,最初的SVM優(yōu)化的函數(shù)如下:

    將約束項(xiàng)進(jìn)行變形,則為:

    則損失函數(shù)可以進(jìn)一步寫(xiě)為:

    因此,SVM的損失函數(shù)可以看做是L2正則化與Hinge loss之和。

    平均絕對(duì)誤差(MAE)是一種常用的回歸損失函數(shù),它是目標(biāo)值與預(yù)測(cè)值之差絕對(duì)值的和,表示了預(yù)測(cè)值的平均誤差幅度,而不需要考慮誤差的方向(注:平均偏差誤差MBE則是考慮的方向的誤差,是殘差的和),范圍是0到∞,其公式如下所示:

    均方誤差(MSE)是回歸損失函數(shù)中最常用的誤差,它是預(yù)測(cè)值與目標(biāo)值之間差值的平方和,其公式如下所示:

    下圖是均方根誤差值的曲線(xiàn)分布,其中最小值為預(yù)測(cè)值為目標(biāo)值的位置。我們可以看到隨著誤差的增加損失函數(shù)增加的更為迅猛。

    Huber損失相比于平方損失來(lái)說(shuō)對(duì)于異常值不敏感,但它同樣保持了可微的特性。它基于絕對(duì)誤差但在誤差很小的時(shí)候變成了平方誤差。我們可以使用超參數(shù)δ來(lái)調(diào)節(jié)這一誤差的閾值。當(dāng)δ趨向于0時(shí)它就退化成了MAE,而當(dāng)δ趨向于無(wú)窮時(shí)則退化為了MSE,其表達(dá)式如下,是一個(gè)連續(xù)可微的分段函數(shù):

    對(duì)于Huber損失來(lái)說(shuō),δ的選擇十分重要,它決定了模型處理異常值的行為。當(dāng)殘差大于δ時(shí)使用L1損失,很小時(shí)則使用更為合適的L2損失來(lái)進(jìn)行優(yōu)化。

    Huber損失函數(shù)克服了MAE和MSE的缺點(diǎn),不僅可以保持損失函數(shù)具有連續(xù)的導(dǎo)數(shù),同時(shí)可以利用MSE梯度隨誤差減小的特性來(lái)得到更精確的最小值,也對(duì)異常值具有更好的魯棒性。而Huber損失函數(shù)的良好表現(xiàn)得益于精心訓(xùn)練的超參數(shù)δ。

    Log-Cosh損失函數(shù)是一種比L2更為平滑的損失函數(shù),利用雙曲余弦來(lái)計(jì)算預(yù)測(cè)誤差:

    它的優(yōu)點(diǎn)在于對(duì)于很小的誤差來(lái)說(shuō)log(cosh(x))與(x**2)/2很相近,而對(duì)于很大的誤差則與abs(x)-log2很相近。這意味著log cosh損失函數(shù)可以在擁有MSE優(yōu)點(diǎn)的同時(shí)也不會(huì)受到異常值的太多影響。它擁有Huber的所有優(yōu)點(diǎn),并且在每一個(gè)點(diǎn)都是二次可導(dǎo)的。二次可導(dǎo)在很多機(jī)器學(xué)習(xí)模型中是十分必要的,例如使用牛頓法的XGBoost優(yōu)化模型(Hessian矩陣)。

    在大多數(shù)真實(shí)世界的預(yù)測(cè)問(wèn)題中,我們常常希望看到我們預(yù)測(cè)結(jié)果的不確定性。通過(guò)預(yù)測(cè)出一個(gè)取值區(qū)間而不是一個(gè)個(gè)具體的取值點(diǎn),這對(duì)于具體業(yè)務(wù)流程中的決策至關(guān)重要。

    分位數(shù)損失函數(shù)在我們需要預(yù)測(cè)結(jié)果的取值區(qū)間時(shí)是一個(gè)特別有用的工具。通常情況下我們利用最小二乘回歸來(lái)預(yù)測(cè)取值區(qū)間主要基于這樣的假設(shè):取值殘差的方差是常數(shù)。但很多時(shí)候?qū)τ诰€(xiàn)性模型是不滿(mǎn)足的。這時(shí)候就需要分位數(shù)損失函數(shù)和分位數(shù)回歸來(lái)拯救回歸模型了。它對(duì)于預(yù)測(cè)的區(qū)間十分敏感,即使在非均勻分布的殘差下也能保持良好的性能。下面讓我們用兩個(gè)例子看看分位數(shù)損失在異方差數(shù)據(jù)下的回歸表現(xiàn)。

    上圖是兩種不同的數(shù)據(jù)分布,其中左圖是殘差的方差為常數(shù)的情況,而右圖則是殘差的方差變化的情況。我們利用正常的最小二乘對(duì)上述兩種情況進(jìn)行了估計(jì),其中橙色線(xiàn)為建模的結(jié)果。但是我們卻無(wú)法得到取值的區(qū)間范圍,這時(shí)候就需要分位數(shù)損失函數(shù)來(lái)提供。

    上圖中上下兩條虛線(xiàn)基于0.05和0.95的分位數(shù)損失得到的取值區(qū)間,從圖中可以清晰地看到建模后預(yù)測(cè)值得取值范圍。

    分位數(shù)回歸的目標(biāo)在于估計(jì)給定預(yù)測(cè)值的條件分位數(shù)。實(shí)際上分位數(shù)回歸就是平均絕對(duì)誤差的一種拓展。分位數(shù)值得選擇在于我們是否希望讓正的或者負(fù)的誤差發(fā)揮更大的價(jià)值。損失函數(shù)會(huì)基于分位數(shù)γ對(duì)過(guò)擬合和欠擬合的施加不同的懲罰。例如選取γ為0.25時(shí)意味著將要懲罰更多的過(guò)擬合而盡量保持稍小于中值的預(yù)測(cè)值。

    γ的取值通常在0-1之間,圖中描述了不同分位數(shù)下的損失函數(shù)情況,明顯可以看到對(duì)于正負(fù)誤差不平衡的狀態(tài)。

    參考文章:

    https://www.jianshu.com/p/b715888f079b

    http://baijiahao.baidu.com/s?id=1603857666277651546&wfr=spider&for=pc

    https://blog.csdn.net/weixin_37933986/article/details/68488339

    四、常見(jiàn)損失函數(shù)用法

    損失函數(shù)(loss function)又叫做代價(jià)函數(shù)(cost function),是用來(lái)評(píng)估模型的預(yù)測(cè)值與真實(shí)值不一致的程度,也是神經(jīng)網(wǎng)絡(luò)中優(yōu)化的目標(biāo)函數(shù),神經(jīng)網(wǎng)絡(luò)訓(xùn)練或者優(yōu)化的過(guò)程就是最小化損失函數(shù)的過(guò)程,損失函數(shù)越小,說(shuō)明模型的預(yù)測(cè)值就越接近真是值,模型的健壯性也就越好。

    常見(jiàn)的損失函數(shù)有以下幾種:

    0-1損失函數(shù)是最為簡(jiǎn)單的一種損失函數(shù),多適用于分類(lèi)問(wèn)題中,如果預(yù)測(cè)值與目標(biāo)值不相等,說(shuō)明預(yù)測(cè)錯(cuò)誤,輸出值為1;如果預(yù)測(cè)值與目標(biāo)值相同,說(shuō)明預(yù)測(cè)正確,輸出為0,言外之意沒(méi)有損失。其數(shù)學(xué)公式可表示為:

    由于0-1損失函數(shù)過(guò)于理想化、嚴(yán)格化,且數(shù)學(xué)性質(zhì)不是很好,難以?xún)?yōu)化,所以在實(shí)際問(wèn)題中,我們經(jīng)常會(huì)用以下的損失函數(shù)進(jìn)行代替。

    感知損失函數(shù)是對(duì)0-1損失函數(shù)的改進(jìn),它并不會(huì)像0-1損失函數(shù)那樣嚴(yán)格,哪怕預(yù)測(cè)值為0.99,真實(shí)值為1,都會(huì)認(rèn)為是錯(cuò)誤的;而是給一個(gè)誤差區(qū)間,只要在誤差區(qū)間內(nèi),就認(rèn)為是正確的。其數(shù)學(xué)公式可表示為:

    顧名思義,平方損失函數(shù)是指預(yù)測(cè)值與真實(shí)值差值的平方。損失越大,說(shuō)明預(yù)測(cè)值與真實(shí)值的差值越大。平方損失函數(shù)多用于線(xiàn)性回歸任務(wù)中,其數(shù)學(xué)公式為:

    接下來(lái),我們延伸到樣本個(gè)數(shù)為N的情況,此時(shí)的平方損失函數(shù)為:

    Hinge損失函數(shù)通常適用于二分類(lèi)的場(chǎng)景中,可以用來(lái)解決間隔最大化的問(wèn)題,常應(yīng)用于著名的SVM算法中。其數(shù)學(xué)公式為:

    其中在上式中,t是目標(biāo)值{-1,+1},y為預(yù)測(cè)值的輸出,取值范圍在(-1,1)之間。

    對(duì)數(shù)損失函數(shù)也是常見(jiàn)的一種損失函數(shù),常用于邏輯回歸問(wèn)題中,其標(biāo)準(zhǔn)形式為:

    上式中,y為已知分類(lèi)的類(lèi)別,x為樣本值,我們需要讓概率p(y|x)達(dá)到最大值,也就是說(shuō)我們要求一個(gè)參數(shù)值,使得輸出的目前這組數(shù)據(jù)的概率值最大。因?yàn)楦怕蔖(Y|X)的取值范圍為[0,1],log(x)函數(shù)在區(qū)間[0,1]的取值為負(fù)數(shù),所以為了保證損失值為正數(shù)要在log函數(shù)前加負(fù)號(hào)。

    交叉熵?fù)p失函數(shù)本質(zhì)上也是一種對(duì)數(shù)損失函數(shù),常用于多分類(lèi)問(wèn)題中。其數(shù)學(xué)公式為:

    注意:公式中的x表示樣本,y代表預(yù)測(cè)的輸出,a為實(shí)際輸出,n表示樣本總數(shù)量。交叉熵?fù)p失函數(shù)常用于當(dāng)sigmoid函數(shù)作為激活函數(shù)的情景,因?yàn)樗梢酝昝澜鉀Q平方損失函數(shù)權(quán)重更新過(guò)慢的問(wèn)題。

    原文參見(jiàn) https://www.toutiao.com/a6585133695361876487/

    以上就是關(guān)于svm損失函數(shù)相關(guān)問(wèn)題的回答。希望能幫到你,如有更多相關(guān)問(wèn)題,您也可以聯(lián)系我們的客服進(jìn)行咨詢(xún),客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。


    推薦閱讀:

    svip的全稱(chēng)是什么(svip的全稱(chēng)是什么英文)

    百度網(wǎng)盤(pán)svip共享賬號(hào)(百度云超級(jí)會(huì)員試用1天)

    pd.readcsv參數(shù)(pd.read_csv參數(shù))

    怎么用通道扣圖(怎么用通道摳圖)

    學(xué)機(jī)器人編程有用嗎(編程和機(jī)器人課有什么區(qū)別)