回歸問題的損失函數

簡單來說,?在回歸問題中,最常用的損失函數是均方誤差(MSE, Mean Squared Error)和平均絕對誤差(MAE, Mean Absolute Error)?。它們衡量的都是模型預測值(?)與真實值(y)之間的“距離”或“差異”。

下面我來詳細解釋它們的意思、區別和用途。

1. 均方誤差 (MSE) - L2 Loss?是什么意思???

均方誤差是回歸問題中最常見、最基礎的損失函數。它的計算方法是:

  1. 1.先計算每一個數據點的預測值與真實值的差(誤差)。
  2. 2.將這個差平方?(所以叫“均方”)。
  3. 3.將所有數據點的平方誤差加起來,再求平均。

?數學公式:??

其中:

  • n是樣本數量。
  • yi?是第 i個樣本的真實值。
  • y^?i?是模型對第 i個樣本的預測值。

?直觀理解與特點:??

  • 放大大的誤差?:因為誤差被平方了,所以如果一個預測誤差很大(例如誤差為10,平方后變成100),它會比多個小誤差(例如多個誤差為1,平方后還是1)對總損失的貢獻大得多。
  • ?曲線光滑?:數學性質很好,便于求導(它的導數是一個線性函數),這使得在梯度下降等優化算法中非常高效。
  • 對異常值敏感?:這是它的一個主要缺點。如果數據中存在少數偏離很大的異常值,MSE會變得非常大,模型會為了擬合這些異常值而犧牲對整體數據的擬合效果。

?用途?:廣泛應用于各種回歸問題,是很多模型的默認損失函數。


2. 平均絕對誤差 (MAE) - L1 Loss?是什么意思???

平均絕對誤差的計算方法是:

  1. 1.計算每一個數據點的預測值與真實值的差的絕對值
  2. 2.將所有絕對誤差加起來,再求平均。

?數學公式:??

?直觀理解與特點:??

  • ?線性懲罰誤差?:無論誤差是1還是10,它對總損失的貢獻就是1和10,是線性的關系。不會特別放大大的誤差。
  • ?對異常值更魯棒?:正因為它是線性懲罰,所以個別異常值不會像在MSE中那樣對損失產生巨大的影響,模型不會輕易被異常值“帶偏”。
  • ?曲線不光滑?:在零點處不可導(導數突然從-1變為+1),這在優化時可能不如ME高效(但在實際中可以通過次梯度等方法解決)。

?用途?:當你認為數據中含有異常值,并且不希望模型過度關注這些異常點時,MAE是一個很好的選擇。


對比與總結

特性

均方誤差 (MSE)

平均絕對誤差 (MAE)

?計算方式?

誤差的平方的平均

誤差的絕對值的平均

?對異常值?

?敏感?

?不敏感(更魯棒)??

?梯度性質?

光滑,易于優化

在零點不可導,優化稍復雜

?解讀?

懲罰大的誤差非常嚴厲

對所有誤差一視同仁


另一個重要的損失函數:Huber Loss

你可能會問,有沒有一個損失函數能結合MSE和MAE的優點呢?答案是有的,這就是 ?Huber Loss

?Huber Loss? 是一個混合損失函數。它在一個閾值 δ(delta)范圍內,它的行為像MSE?(曲線光滑,易于優化);當誤差超過這個閾值時,它的行為像MAE?(對大的異常值更魯棒)。

?特點?:

  • best of both worlds?:兼具MSE的優化友好和MAE的異常值魯棒性。
  • 需要超參數?:你需要手動設置一個閾值 δ。

?用途?:當數據中明顯存在異常值,但你又不愿意完全使用MAE時,Huber Loss是一個非常出色的折中方案。

總結

  • 分類問題的核心是預測概率分布,所以用交叉熵來衡量兩個分布之間的差異。
  • ?回歸問題的核心是預測一個連續值,所以用基于距離的損失函數?(如MSE, MAE)來衡量預測值與真實值的差距。
  • ?MSE是最常用的,數學性質好,但對異常值敏感。
  • ?MAE對異常值不敏感,但優化起來稍麻煩。
  • ?Huber Loss是一個聰明的結合體,在很多情況下能提供更好的性能。

選擇哪個損失函數取決于你的數據、模型和你最關心什么。通常可以從MSE開始,如果發現模型效果受異常值影響很大,再嘗試MAE或Huber Loss。

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

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

相關文章

吳恩達機器學習(四)

一、神經網絡神經元模擬邏輯單元:神經網絡簡單模型:神經網絡中的前向傳播過程:依次計算激活項,從輸入層到隱藏層再到輸出層的過程。樣例:多元分類:

【重學 MySQL】九十三、MySQL的字符集的修改與底層原理詳解

【重學 MySQL】九十三、MySQL的字符集的修改與底層原理詳解一、字符集修改方法1. **配置文件修改**2. **SQL命令修改**3. **數據遷移方案**二、底層原理與注意事項1. **字符集與排序規則**2. **存儲與性能影響**3. **數據一致性風險**三、常見問題解決1. **亂碼問題**2. **性能…

pdf 轉圖片工具實現

一、安裝 sudo yum install poppler-utils pdftoppm -v pdftoppm -png -r 300 a.pdf /tmp/page 運行效果: PDF轉圖片工具 - 在線PDF轉PNG/JPG/TIFF轉換器 | 免費在線工具 后臺實現: using System.Diagnostics; using System.IO.Compression;namespac…

Zynq開發實踐(FPGA之輸入、輸出整合)

【 聲明:版權所有,歡迎轉載,請勿用于商業用途。 聯系信箱:feixiaoxing 163.com】fpga開發的時候習慣上先把功能拆分成若干個模塊。針對這些模塊,一個一、個實現好之后,再用wire連接即可。這一點有點像軟件編…

【Linux基礎】深入理解計算機啟動原理:MBR主引導記錄詳解

目錄 引言 1 硬盤分區初始化概述 1.1 為什么需要硬盤分區 1.2 硬盤分區格式的發展 1.3 分區初始化的基本流程 2 MBR詳解 2.1 MBR的定義與位置 2.2 MBR的結構詳解 2.3 分區表結構詳解 2.4 MBR的工作原理 2.5 MBR的引導程序 3 MBR的局限性 3.1 硬盤容量限制 3.2 分…

Linux 線程同步

線程同步 由于線程共享內存,訪問共享數據(全局變量、堆內存)必須進行同步,以防止競態條件(Race Conditions)導致數據不一致或程序崩潰。 子線程沒有獨立的地址空間,數據通常是共享的&#xff1b…

世界模型的典型框架與分類

1.概述 人類和動物智能的一個重要方面是我們對世界的內部模型。我們使用這個模型來預測我們的行為將如何影響我們的環境,預測未來的事件,并計劃復雜的行動序列以實現目標。當前大多數機器學習研究都集中在被動理解數據的模型上,例如圖像分類…

【Day 35】Linux-Mysql錯誤總結

(一)MySQL 基礎操作與服務故障類 連接層錯誤(客戶端與服務器的連接建立失敗) 解決 socket 路徑、文件存在性及服務可用性問題。 1、MySQL 客戶端連接失敗(報錯 “Cant connect to local MySQL server throgh socket…

MYSQL速通(2/5)

六、多表查詢1、多表關系①、一對多(多對一)舉例:一個部門對多個員工實現:多的那邊建立外鍵,指向一的那邊的主鍵②、多對多舉例:一個學生可選多門課,一門課可被多個學生選實現:建立中…

CRM、ERP、HRP系統有啥區別?

要理解CRM、ERP、HRP系統,需先明確三者的核心定位(聚焦客戶、企業全資源、特定領域資源),再從管理范圍、目標、用戶等維度區分。以下是詳細解析: 一、各系統核心定義與核心模塊 1. CRM系統:客戶關系管理系統…

【系統分析師】高分論文:論系統測試技術及應用

【摘要】 2022 年 7月,我作為項目負貴人,參加了某銀行的統計數據發布系統建設項目。該項目合同金額230 萬元,合同工期為半年。統計數據發布系統的主要目標是為該行建設一個企業級的數據統計、分析、發布平臺,實現定制化的數據應用…

第5篇 c++ 函數的多返回值實現-返回多個值

c 函數的多返回值實現std::tuple<Mat, int, double, std::string> AuatoPafackSydstem::GetMatchingValue(Mat mat_img, std::string img_template_path) {Mat a;return {a,1,0.001,""}; }std::tuple<Mat, int, double, std::string> GetMatchingValue(M…

C++基礎(⑤刪除鏈表中的重復節點(鏈表 + 遍歷))

題目描述 給定一個排序好的鏈表&#xff08;升序&#xff09;&#xff0c;刪除所有重復的元素&#xff0c;使每個元素只出現一次。 示例&#xff1a; 輸入&#xff1a;1 → 1 → 2 → 3 → 3 輸出&#xff1a;1 → 2 → 3 解題思路 核心觀察&#xff1a;鏈表已排序&#xff0c;…

摩搭api 實現

AI圖片生成器前端實現詳解本文詳細解析一個功能完整的AI圖片生成器前端實現&#xff0c;包含主題切換、參數配置、圖片生成與預覽等核心功能。項目概述 這是一個基于ModelScope平臺的AI圖片生成器前端實現&#xff0c;用戶可以通過輸入提示詞、選擇模型和調整參數來生成高質量圖…

c++--線程休眠/sleep

線程休眠<unistd.h>--sleep()<thread>--std::this_thread::sleep_for()ros--rclcpp::sleep_for()以上的三個sleep也就是休眠會占用CPU嗎簡單直接的回答是&#xff1a;不會。一個正確使用、正在休眠的線程不會占用CPU資源。核心原理當你調用像 std::this_thread::sl…

人工智能基礎概念

The brain happens to be a meat machine. —— Marvin Lee Minsky 目錄 人類智能 人工智能 三個階段 三大學派 四個要素 關系辨析 維度分類 發展簡史 技術方向 應用領域 產業圖譜 發展趨勢 人類智能 人工智能的目的是通過探索智慧的實質&#xff0c;擴展人類智能…

企業數字資產管理怎么轉型更高效?一文打通策略與實踐

核心要點 問題&#xff1a; 傳統的內容管理方式效率低、協作難、版本混亂&#xff0c;企業轉型 DAM 系統面臨選型難和落地難兩大挑戰。 答案&#xff1a; 采用階段性轉型策略&#xff0c;結合智能化工具和標準化流程&#xff0c;能幫助企業構建可擴展、易協作、強治理的內容資…

python pyqt5開發DoIP上位機【源碼】

目錄 文章合集 文章合集 python pyqt5開發DoIP上位機【介紹】 python pyqt5開發DoIP上位機【代碼里發送常用uds命令是怎么實現的?】 python pyqt5開發DoIP上位機【代碼里是怎么獲取診斷回復的?】 python pyqt5開發DoIP上位機【診斷回復的函數都是怎么調用的?】 python …

IIC (I2C)通信

一、IIC的特點I2C&#xff08;Inter IC Bus&#xff09;又成為&#xff08;愛方C I2C&#xff09;是由Philips公司開發的一種通用數據總線兩根通信線&#xff1a;SCL&#xff08;Serial Clock&#xff09;、SDA&#xff08;Serial Data&#xff09;同步&#xff0c;半雙工帶數據…

【圖像處理 - 基礎知識】ISP(Image Signal Processor)處理

文章目錄1. 圖像傳感背景2. 圖像數據格式2.1. 【RAW】Bayer濾色陣列&#xff08;Bayer Filter Array&#xff09;2.2. 【RGB】2.3. 【YUV】3. ISP&#xff08;Image Signal Processor&#xff09;3.1. ISP定義3.2. 分類概括1 RAW 域&#xff08;Raw Domain&#xff09;2 RGB 域…