【深度學習】——分類損失函數、回歸損失函數、交叉熵損失函數、均方差損失函數、損失函數曲線、

目錄

代碼

回歸問題的損失函數

分類問題的損失函數

1、 0-1損失 (zero-one loss)

2、Logistic loss

3、Hinge loss

4、指數損失(Exponential loss)

機器學習的損失函數

Cross Entropy Loss Function(交叉熵損失函數)

交叉熵優點

?Mean Squared Error (均方誤差)

均方差不足

實例

? 交叉熵求解損失:

?均方差函數求損失

學習過程

學習筆記

?參考文獻


代碼

損失函數的一般表示為L(y,f(x)),用以衡量真實值y和預測值f(x)之間不一致的程度,一般越小越好。為了便于不同損失函數的比較,常將其表示為單變量的函數,在回歸問題中這個變量為y?f(x),在分類問題中則為yf(x)。下面分別進行討論。


?

回歸問題的損失函數

回歸問題中yf(x)皆為實數∈R,因此用殘差 y?f(x)來度量二者的不一致程度。殘差 (的絕對值) 越大,則損失函數越大,學習出來的模型效果就越差(這里不考慮正則化問題)。


其中最常用的是平方損失,然而其缺點是對于異常點會施以較大的懲罰,因而不夠robust。如果有較多異常點,則絕對值損失表現較好,但絕對值損失的缺點是在y?f(x)=0處不連續可導,因而不容易優化。
Huber損失是對二者的綜合,當|y?f(x)|小于一個事先指定的值δ時,變為平方損失,大于δ時,則變成類似于絕對值損失,因此也是比較robust的損失函數。三者的圖形比較如下:

huber函數與smoothL1函數差不多


分類問題的損失函數

對于二分類問題,y∈{?1,+1}

,損失函數常表示為關于yf(x)

的單調遞減形式。如下圖:


?

yf(x)被稱為margin,其作用類似于回歸問題中的殘差 y?f(x)。
二分類問題中的分類規則通常為 sign(f(x))={+1ifyf(x)≥0?1ifyf(x)<0

可以看到如果 yf(x)>0,則樣本分類正確,yf(x)<0 則分類錯誤,而相應的分類決策邊界即為 f(x)=0

。所以最小化損失函數也可以看作是最大化 margin 的過程,任何合格的分類損失函數都應該對 margin<0 的樣本施以較大的懲罰。

1、 0-1損失 (zero-one loss)

0-1損失對每個錯分類點都施以相同的懲罰,這樣那些“錯的離譜“ (即 margin→?∞)的點并不會收到大的關注,這在直覺上不是很合適。另外0-1損失不連續、非凸,優化困難,因而常使用其他的代理損失函數進行優化。

2、Logistic loss



?

3、Hinge loss

L(y,f(x))=max(0,1?yf(x))

hinge loss為svm中使用的損失函數,hinge loss使得yf(x)>1的樣本損失皆為0,由此帶來了稀疏解,使得svm僅通過少量的支持向量就能確定最終超平面。

hinge loss被翻譯為“合頁損失”,那么合頁究竟長啥樣?如圖,確實有點像hinge loss的形狀:

4、指數損失(Exponential loss)

L(y,f(x))=e?yf(x)

exponential loss為AdaBoost中使用的損失函數,使用exponential loss能比較方便地利用加法模型推導出AdaBoost算法 (具體推導過程)。然而其和squared loss一樣,對異常點敏感,不夠robust。

最后來張全家福:

從上圖可以看出上面介紹的這些損失函數都可以看作是0-1損失的單調連續近似函數,而因為這些損失函數通常是凸的連續函數,因此常用來代替0-1損失進行優化。它們的相同點是都隨著margin→?∞

而加大懲罰;不同點在于,logistic loss和hinge loss都是線性增長,而exponential loss是以指數增長。

值得注意的是上圖中modified huber loss的走向和exponential loss差不多,并不能看出其robust的屬性。其實這和算法時間復雜度一樣,成倍放大了之后才能體現出巨大差異:

機器學習的損失函數

Cross Entropy Loss Function(交叉熵損失函數)

交叉熵優點

?Mean Squared Error (均方誤差)

均方差不足

實例

交叉熵求解損失:

?均方差函數求損失

學習過程

?4、根據損失函數進行梯度計算,反向傳播更新參數,反復1-4

學習筆記

?參考文獻

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

常見回歸和分類損失函數比較

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/255833.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/255833.shtml
英文地址,請注明出處:http://en.pswp.cn/news/255833.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

伺服電機慣量問題

在伺服系統選型及調試中&#xff0c;常會碰到慣量問題。 其具體表現為&#xff1a;在伺服系統選型時&#xff0c;除考慮電機的扭矩和額定速度等等因素外&#xff0c;我們還需要先計算得知機械系統換算到電機軸的慣量&#xff0c;再根據機械的實際動作要求及加工件質量要求來…

【轉】應用架構一團糟?如何將單體應用改造為微服務

概述 將單體應用改造為微服務實際上是應用現代化的過程&#xff0c;這是開發者們在過去十年來一直在做的事情&#xff0c;所以已經有一些可以復用的經驗。 全部重寫是絕對不能用的策略&#xff0c;除非你要集中精力從頭構建一個基于微服務的應用。雖然聽起來很有吸引力&#xf…

Linux 解決ssh連接慢的問題

備份文件 cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak 編輯文件 vi /etc/ssh/sshd_config 輸入/ 查找GSSAPIAuthentication 設置如下 GSSAPIAuthentication no # 是否允許使用基于 GSSAPI 的用戶認證。默認值為"no"。僅用于SSH-2 詳細解釋 輸入/ 查找UseDNS …

ABB機器人與PC計算機控制口連接 超級終端 命令清單

條件&#xff1a; 9 針串口通信 RS232。 PC 啟動超級終端軟件。Windows -> Start -> Accessories -> Terminal 通信設置&#xff1a; 1. 波特率 9600 8 位2. 1 個停止位 沒有奇偶校驗3. 沒有 Modern 采用直接串口連接4. 使用 Xon/Xoff 通信形式當故障發生時&#xff0…

【Hibernate】Hibernate系列6之HQL查詢

HQL查詢 6.1、概述 6.2、分頁查詢 6.3、命名查詢 6.4、投影查詢-部分字段查詢 6.5、報表查詢 6.6、迫切左外連接、左外連接 6.7、迫切內連接、內連接 6.8、QBC查詢、本地查詢 轉載于:https://www.cnblogs.com/junneyang/p/5254641.html

【深度學習】——梯度下降優化算法(批量梯度下降、隨機梯度下降、小批量梯度下降、Momentum、Adam)

目錄 梯度 梯度下降 常用的梯度下降算法&#xff08;BGD&#xff0c;SGD&#xff0c;MBGD&#xff09; 梯度下降的詳細算法 算法過程 批量梯度下降法&#xff08;Batch Gradient Descent&#xff09; 隨機梯度下降法&#xff08;Stochastic Gradient Descent&#xff09…

Javascript隱式轉換

亂想 javascript為什么需要隱式轉換&#xff1f;如果沒有會出現什么情況&#xff1f; 找了一圈沒有看到關于這個的討論&#xff0c;只好自己研究了&#xff0c;可能不一定正確&#xff0c;自行辨知。 郁悶就是郁悶在好好的&#xff0c;為什么要搞個隱式轉換&#xff0c;一般來講…

雙工位機器人 焊接夾具注意事項 o(╯□╰)o

焊接夾具設計注意事項 一套完美的夾具,需要機械設計人員正確的設計思想&#xff0c;良好的配件質量&#xff0c;鉗工負責認真的裝配質量,卡具在使用中不斷的修磨和改進&#xff0c;才會達到好的效果。 本人非機械設計&#xff0c;只是在使用焊接卡具過程中遇到了很多卡具設計上…

【公共類庫】加密解密

public static class MyEncryption{#region Md5加密/// <summary>/// 使用MD5加密/// </summary>/// <param name"str">需要加密的數據。</param>/// <param name"kind">加密類型&#xff1a;1-普通加密&#xff1b;2-密碼加…

使用JOTM實現分布式事務管理(多數據源)

使用spring和hibernate可以很方便的實現一個數據源的事務管理,但是如果需要同時對多個數據源進行事務控制,并且不想使用重量級容器提供的機制的話,可以使用JOTM達到目的. JOTM的配置十分簡單,spring已經內置了對JOTM的支持,一.<bean id"jotm" class"org.spri…

【機器學習】——《機器學習實戰》面試復習

目錄 一、機器學習概念 二、機器學習步驟 三、有監督學習 1、k-近鄰算法 核心思想 實例&#xff1a;手寫數字的識別 優缺點&#xff1a; 2、決策樹 相關概念 核心思想 一些小技巧 優缺點 3、神經網絡 4、SVM——支持向量機 核心思想 SVM和SVR的區別 ? 優缺點…

一鍵分享代碼

文章出處&#xff1a;http://share.baidu.com/code/advance 一、概述 百度分享代碼已升級到2.0&#xff0c;本頁將介紹新版百度分享的安裝配置方法&#xff0c;請點擊左側列表查看相關章節。 二、代碼結構 分享代碼可以分為三個部分&#xff1a;HTML、設置和js加載&#xff0c;…

ubuntu安裝LDAP

參考文獻&#xff1a; https://help.ubuntu.com/12.04/serverguide/openldap-server.html&#xff08;最主要的&#xff09; http://www.linuxidc.com/Linux/2011-08/40020.htm http://blog.chinaunix.net/uid-24276740-id-3360306.html 前言 在網上搜索ldap的安裝配置&#xf…

58.貪心算法練習:??最小新整數

總時間限制: 1000ms 內存限制: 65536kB 描述 給定一個十進制正整數n(0 < n < 1000000000)&#xff0c;每個數位上數字均不為0。n的位數為m。現在從m位中刪除k位(0< m)&#xff0c;求生成的新整數最小為多少&#xff1f;例如: n 9128456, k 2, 則生成的新整數最小…

ABB機器人之LOADDATA

ABB機器人之LOADDATA loaddata是用來描述連接到機器人機械接口的負載&#xff08;機器人的安裝法蘭&#xff09;。loaddata數據通常定義有效載荷或負荷&#xff08;通過指令gripload設置機器人抓手負載 或mechunitload指令設置變位機負載。loaddata通常也作為tooldata的一部分&…

【深度學習】——性能指標(ROC、MAP、AUC等)

目錄 一、分類任務性能指標 1、混淆矩陣 2、精確度ACCURACY 正確數/總數 3、查全率&#xff08;RECALL&#xff09;——真正正樣本中預測正確的比例 4、查準率&#xff08;precision&#xff09;——預測為正樣本中的預測正確的比例 5、F-score——對查準率和查全率進行結…

【深度學習】——過擬合的處理方法

目錄 一、什么是過擬合&#xff1f;&#xff08;overfitting&#xff09; 二、過擬合的表現&#xff08;判定方法&#xff09; 訓練集、測試集、驗證集區別 測試集與驗證集的區別 三、產生過擬合的原因 1、樣本方面 2、模型方面 四、避免過擬合的方法 1、樣本方面 1&…

ASP.NET頁面的字符編碼設置

在用ASP.NET寫網上支付的接口程序時&#xff0c;遇到一個奇怪問題&#xff0c;通過表單提交過去的中文全是亂碼&#xff0c;英文正常。而用asp程序進行測試&#xff0c;可以正常提交中文&#xff0c;asp頁面中有這樣的HTML代碼&#xff1a; <meta http-equiv"Content-T…

帝人製機--適合的機遇--遇到恰到好處的產品--工業機器人減速機造就一個百年企業

持之以恒是成功的必要條件&#xff0c;但是也要有恰當的土壤。日本Nabtesco(納博特斯克)舊名&#xff1a;帝人製機(TEIJINSEIKI)高性能日本RV減速機納博特斯克(Nabtesco)公司是一家居世界領先地位的精密傳動控制系統及組件製造商。目前全世界已有超過兩百萬件由Nabtesco製造的精…

Python個人項目--豆瓣圖書個性化推薦

項目名稱: 豆瓣圖書個性化推薦 需求簡述&#xff1a;從給定的豆瓣用戶名中&#xff0c;獲取該用戶所有豆瓣好友列表&#xff0c;從豆瓣好友中找出他們讀過的且評分5星的圖書&#xff0c;如果同一本書被不同的好友評5星&#xff0c;評分人數越多推薦度越高。 輸入&#xff1a;豆…