深度學習——第2章習題2-1分析為什么平方損失函數不適用于分類問題

深度學習——第2章習題2-1

《神經網絡與深度學習》——邱錫鵬

2-1 分析為什么平方損失函數不適用于分類問題。

平方損失函數(Quadratic Loss Function)經常用在預測標簽y為實數值的任務中,定義為
L ( y , f ( x ; θ ) ) = 1 2 ( y ? f ( x ; θ ) ) 2 \mathcal{L}\left(y,f(x;\theta)\right)=\frac{1}{2}\left(y-f(x;\theta)\right)^2 L(y,f(x;θ))=21?(y?f(x;θ))2
平方損失函數一般不適用于分類問題。

為什么呢?

在issue里有人這樣回答:

先來弄清楚回歸問題和分類問題的區別:

回歸問題:簡單來說,就是預測一個連續的數值。比如,預測明天的氣溫、房價、股票價格等等。這里的關鍵在于,預測的結果是一個具體的數字,范圍可以非常廣泛。

分類問題:指的是將數據分到離散的類別中。比如,判斷一封郵件是“垃圾郵件”還是“正常郵件”;識別一張圖片是“貓”還是“狗”;或者診斷一個病人是“健康”還是“生病”。這里的關鍵在于,結果是有限的幾個類別之一。

分類問題的核心目標是估計樣本屬于每個類別的概率,并最大化正確類別的概率(或對數似然)。
而平方損失函數的目標是最小化預測值(連續數值)與目標值(0或1)之間的數值差異。它沒有直接建模概率或最大化似然的機制。
交叉熵損失函數直接來源于最大似然估計原理。它衡量的是預測概率分布于真實分布(one-hot)之間的差異,完美契合分類問題的概率建模目標。

(額。。。可能看不太懂,下面通俗一點講)

分類問題要的是“選對”,而平方損失關心的是“猜得差不多”。
也就是說分類問題就像考試在做選擇題(A/B/C/D),目標是選對正確答案。平方損失函數像是一個奇怪的考官:他不在乎你選哪個選項,他讓你給每個選項打分(比如A打90分,B打5分,C打3分,D打2分)。然后他只看正確答案的分數離100分差多少,差的平方就是扣分。學生把正確答案從60分提高到70分,考官覺得“有進步,但不用非得追求90分”。交叉熵損失函數才是一個正常的分類考官:他要求你直接選一個答案(或者說每個答案的概率)。他只看你分配給正確答案的概率是多少。如果你很確定正確答案(概率接近100%),扣分極少;如果你不太確定(比如60%),扣分較多;如果你完全選錯(概率接近0%),扣分極其嚴厲。這逼著學生:

  1. 在確定時大膽選正確答案(輸出接近1)。
  2. 在不確定時,也會傾向于提高正確答案的概率(即使從60%到70%,考官給的“獎勵”/減少的扣分也很大)。
  3. 絕不會為了“安全”而把答案說得模棱兩可。

還有梯度問題,在優化過程中,模型需要根據損失函數的梯度來調整參數。對于分類問題,特別是多分類問題,平方損失函數在預測值接近實際值時梯度會變得非常小,這意味著模型的調整速度會變得很慢,收斂時間會更長。另外,在分類問題中,我們希望模型能給出一個概率值,表示某個樣本屬于某個類別的可能性。**平方損失函數只是簡單地計算預測值和實際值之間的差距,沒有考慮到概率的含義。**對數損失函數則能更好地解釋模型的預測概率,幫助我們更準確地評估模型的性能。

平方損失函數一般用于解決什么問題呢?

平方損失函數的核心思想是:預測值離真實值越遠,懲罰越重(按距離的平方增長)。很適合解決回歸問題

有很多關于MSE與CE的面試題(從xhs上找了兩題):

1.MSE Loss 與 CE Loss 的誤差分別滿足什么分布?

MSE即均方誤差,常用于回歸任務(如預測連續值),其誤差滿足正態分布(高斯分布)。
原理:假設預測值與真實值的誤差以真實值為中心,呈對稱“鐘形”分布(多數誤差集中在0附近,離0越遠概率越低)。
數學邏輯:當誤差服從正態分布時,通過最大似然估計推導出的損失函數即為MSE,因此MSE本質是高斯分布假設下的最優選擇。

CE即交叉熵,常用于分類任務(如二分類、多分類),其誤差對應伯努利分布(二分類)或多項式分布(多分類)。
原理:衡量預測概率分布與真實標簽分布的差異。以二分類為例,真實標簽0/1服從伯努利分布(類似拋硬幣的概率模型),CE損失通過最大化“預測概率符合真實分布”的似然性來優化。
數學邏輯:若樣本服從伯努利/多項式分布,CE損失等價于最大化似然函數,誤差本質是預測概率偏離真實分布的程度。

伯努利分布是什么?
伯努利分布(bernouli distribution),又叫做0-1分布,是一種離散型概率分布,指一次隨機試驗,結果只有兩種。也就是一個隨機變量的取值只有0和1.最簡單的例子就是跑一次硬幣,預測結果為正還是反。記成功概率為 p ( 0 ≤ p ≤ 1 ) ,則失敗概率為 p(0\leq p \leq 1),則失敗概率為 p(0p1),則失敗概率為 q = 1 ? p q=1-p q=1?p,則:
其概率質量函數為:
P ( x ) = p x ( 1 ? p ) 1 ? x = { p i f x = 1 q i f x = 0 P(x)=p^x(1-p)^{1-x}= \begin{cases} p & if\ x=1 \\ q & if\ x=0 \end{cases} P(x)=px(1?p)1?x={pq?if?x=1if?x=0?
其期望值為:
E ( x ) = ∑ x P ( x ) = 0 × q + 1 × p = p E(x)=\sum xP(x) = 0 \times q + 1 \times p=p E(x)=xP(x)=0×q+1×p=p
其方差為:
V a r ( x ) = E [ ( x ? E ( x ) ) 2 ] = ∑ ( x ? p ) 2 P ( x ) ? p q Var(x)=E[(x-E(x))^2] = \sum (x-p)^2P(x)-pq Var(x)=E[(x?E(x))2]=(x?p)2P(x)?pq

2.為什么分類都用CE損失?回歸用MSE損失?

先講分類任務選擇CE損失的核心原因。

  • 與分類問題的概率本質匹配
    分類任務的目標是預測樣本屬于某一類的概率(如圖片是“貓”的概率為90%),而CE損失直接衡量預測概率分布與真實標簽分布的差異(真實標簽是one-hot向量,屬于確定概率分布)。
    例如:二分類中真實標簽為1,若模型預測概率為0.1,CE損失會通過對數運算放大這種偏差,促使模型提高正確類別的概率;而MSE損失此時僅計算“0.1與1的差值平方”,對概率的懲罰不夠直接。
  • 避免MSE在分類中的梯度缺陷
    若分類模型使用 sigmoid/softmax 激活函數,MSE損失會導致梯度消失問題:當預測概率接近0或1時,梯度趨近于0,模型難以優化。而CE損失與 sigmoid/softmax 組合時,梯度公式更簡潔(如二分類中梯度為預測概率與真實標簽的差值),訓練更穩定。
  • 符合分類誤差的概率分布假設
    分類問題的誤差本質是“預測概率偏離真實分布”對應伯努利/多項式分布(如二分類類似拋硬幣的概率模型)。CE損失基于最大似然估計,假設樣本服從這些分布,因此更貼合分類任務的概率邏輯。

再看看回歸問題選擇MSE損失的核心原因。

  • 與回歸問題的連續值特性匹配
    回歸任務需要預測連續值(如房價、溫度),目標是讓預測值盡可能接近真實值,而MSE直接度量預測值與真實值的距離平方,誤差越大懲罰越重,符合“最小化絕對偏差”的直觀需求。

    例如:真實值為10,預測值為8和5,MSE對5的懲罰(25)遠大于對8的懲罰(4),能更強烈地推動模型修正大誤差。

  • 符合回歸誤差的正態分布假設
    回歸問題中,誤差(真實值-預測值)通常被假設為正態分布(如測量誤差、自然現象的波動符合高斯分布)。MSE損失等價于在正態分布假設下的最大似然估計,即當誤差服從高斯分布時,最小化MSE等價于最大化數據出現的概率,理論上最優。

  • 更易優化
    MSE損失函數是凸函數,梯度為“預測值-真實值”,計算簡單且優化過程平滑,不易陷入局部最小值(相比某些非凸損失函數),適合回歸任務的數值優化。

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

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

相關文章

【Linux】運行腳本后打屏同時保存到本地

命令: sh run.sh 2>&1 | tee output.log sh run.sh 2>&1 | tee output_$(date "%Y%m%d%H%M").log作用:運行腳本,并同時將輸出(包括標準輸出和錯誤輸出)顯示到終端,并保存到文件中…

Spark 在小眾日常場景中的實戰應用:從小店數據到社區活動

Spark 在小眾日常場景中的實戰應用:從小店數據到社區活動? 提起 Spark,大家往往會聯想到大型互聯網公司的數據處理、金融行業的復雜分析。但實際上,Spark 在許多小眾、貼近生活的場景中也能大顯身手。結合學習與實踐,我探索了 S…

mysql 執行計劃 explain命令 詳解

explain id :select查詢的序列號,包含一組數字,表示查詢中執行select子句或操作表的順序select_type:查詢類型 或者是 其他操作類型table :正在訪問哪個表partitions :匹配的分區type :訪問的類…

讓大模型“更懂人話”:對齊訓練(RLHF DPO)全流程實戰解析

網羅開發 (小紅書、快手、視頻號同名) 大家好,我是 展菲,目前在上市企業從事人工智能項目研發管理工作,平時熱衷于分享各種編程領域的軟硬技能知識以及前沿技術,包括iOS、前端、Harmony OS、Java、Python等…

GO 原子操作面試題及參考答案

Go 的 sync/atomic 包和 sync.Mutex 的根本區別是什么? Go 語言中的 sync/atomic 包和 sync.Mutex 都用于處理并發編程中的同步問題,但它們的實現機制、應用場景和性能特性存在根本差異。理解這些差異對于編寫高效、安全的并發代碼至關重要。 sync/atomi…

MATLAB 山脊圖繪制全解析:從數據生成到可視化進階

一、引言:當數據分布擁有「層次感」—— 山脊圖的魅力? 在數據可視化的世界里,我們常常需要同時展示多個分布的形態差異。傳統的重疊密度圖雖然能呈現整體趨勢,但當分布數量較多時,曲線交疊會讓畫面變得雜亂。這時候&#xff0c…

跨境電商每周資訊—6.16-6.20

1. Instagram 在亞太地區逐漸超越 TikTok 在整個亞太地區,Instagram用戶數量正逐漸超過TikTok。預計2025年日本Instagram用戶數量將增至4440萬,印度今年用戶數量將增長10%,領跑亞太。與之形成對比的是,TikTok在一些國家增長速度放…

計算機網絡 網絡層:數據平面(一)

前一節學習了運輸層依賴于網絡層的主機到主機的通信服務,提供各種形式的進程到進程的通信。了解這種主機到主機通信服務的真實情況,是什么使得它工作起來的。 在本章和下一章,將學習網絡層實際是怎樣實現主機到主機的通信服務。與運輸層和應用…

Suna本地部署詳細教程

一、安裝基礎環境 # 1、創建環境 conda create -n suna python3.11.7# 2、激活虛擬環境 conda activate suna# 3、安裝jupyter和ipykernel pip install jupyter ipykernel# 4、將虛擬環境添加到jupyter # python -m ipykernel install --user --namemyenv --display-name"…

LeetCode 每日一題打卡|若谷的刷題日記 3day--最長連續序列

1.最長連續序列 題目: 給定一個未排序的整數數組 nums ,找出數字連續的最長序列(不要求序列元素在原數組中連續)的長度。 請你設計并實現時間復雜度為 O(n) 的算法解決此問題。 示例 1: 輸入:nums [1…

EfficientVLA:面向視覺-語言-動作模型無訓練的加速與壓縮

25年6月來自上海交大、哈工大、西安交大和電子科大(成都)的論文“EfficientVLA: Training-Free Acceleration and Compression for Vision-Language-Action Models”。 視覺-語言-動作 (VLA) 模型,特別是基于擴散的架構,展現出具…

wireshark抓包分析TCP數據包

1、直接從TCP的三次握手開始說起 三次握手就是客戶與服務器建立連接的過程 客戶向服務器發送SYN(SEQ=x)報文,然后就會進入SYN_SEND狀態服務器收到SYN報文之后,回應一個SYN(SEQ=y)ACK(ACK=x+1)報文,然后就會進入SYN_RECV狀態客戶收到服務器的SYN報文,回應一個ACK(AC…

同等學力申碩-計算機統考-歷年真題和備考經驗

同等學力申請碩士學位考試是比較適合在職人員的提升學位方式,了解過的人應該都知道,現在社會的競爭壓力越來越大,為了提高職業生存能力,提升學位在所難免。 一、已有計算機統考歷年真題資料 報名過同等學力申碩計算機專業的朋友都…

OSI網絡通信模型詳解

OSI 模型就是把這整個過程拆解成了 7 個明確分工的步驟,每一層只負責自己那一攤事兒,這樣整個系統才能順暢運轉,出了問題也容易找到“鍋”在誰那。 核心比喻:寄快遞 📦 想象你要把一份重要的禮物(你的數據…

C++ 檢測文件大小和文件傳輸

檢測文件的大小 你可以通過標準 C/C 的文件 API 很方便地獲取文件的字節大小&#xff0c;以下是幾種常用方法&#xff1a; ? 方法一&#xff1a;使用 stat() 函數&#xff08;推薦&#xff09; #include <sys/stat.h> #include <stdio.h>off_t get_file_size(co…

Ubuntu 中修改網卡 IP

在 Ubuntu 中修改網卡 IP 地址可以通過以下方法實現&#xff0c;具體取決于你使用的網絡管理工具&#xff08;如 netplan、ifconfig/ip 命令或傳統 interfaces 文件&#xff09;。以下是常見方法&#xff1a; 方法 1&#xff1a;使用 netplan&#xff08;Ubuntu 17.10 及更新版…

記錄學習three.js 為什么 .glTF 是更適合 Web 的 3D 模型格式?——從 .OBJ 到 .glTF 的轉變?

在上一篇中&#xff0c;我們介紹了如何在 Three.js 中加載 .OBJ 模型。如果你沒看過&#xff0c;建議先閱讀一下基礎內容。然而你很快會發現&#xff0c;.OBJ 雖然入門簡單&#xff0c;卻并不是 Web3D 場景中的最佳格式。 .OBJ 是什么&#xff1f; .OBJ 是最早期的3D交換格式之…

H遞歸函數.go

前言&#xff1a;遞歸函數是一種強大而又充滿魅力的編程技巧。它就像是一面神奇的鏡子&#xff0c;函數在其中能夠調用自身的倒影&#xff0c;從而以一種簡潔而優雅的方式解決許多復雜的問題。 目錄 一、遞歸函數是啥玩意兒 二、遞歸函數的優缺點 優點 缺點 三、遞歸函數…

軟件功能測試的測試標準

一、軟件功能測試行業標準概述 軟件功能測試行業標準是規范軟件測試流程、方法、工具及人員資質的準則&#xff0c;是確保軟件產品的功能性、可靠性、易用性等質量特性符合用戶需求。這些標準不僅為測試人員提供了明確的指導&#xff0c;也為軟件產品的質量控制提供了有力保障。…

EchoEar(喵伴):樂鑫發布與火山引擎扣子聯名 AI 智能體開發板

隨著生成式人工智能技術的快速發展&#xff0c;大語言模型 (LLM) 正逐步成為推動智能設備升級的核心力量。樂鑫科技攜手火山引擎扣子大模型團隊&#xff0c;共同推出智能 AI 開發套件 —— EchoEar&#xff08;喵伴&#xff09;。該套件以端到端開發為核心理念&#xff0c;構建…