信息量,驚奇度,熵、KL散度(相對熵),交叉熵、最大似然估計MLE與最小化交叉熵的等價證明、

一: 一些基本概念

1.1 信息量:特定事件所攜帶的信息多少

信息量衡量的是特定事件所攜帶的信息多少,其數學定義為:其中p(x)是事件x發生的概率。
在這里插入圖片描述

核心思想:越罕見的事件,其攜帶的信息量越大;越常見的事件,其攜帶的信息量越小。

例如:

  • 如果某事件必然發生(p(x)=1),信息量為0,意味著觀察到它不會帶來任何新信息
    -如果某事件極其罕見(p(x)很小),信息量很大,觀察到它提供了大量信息

1.2 驚奇度:觀察到某事件時的"意外程度"

驚奇度表示觀察到某事件時的"意外程度",其數學定義為:
?

核心思想:越意外的事件驚奇度越高,越預期的事件驚奇度越低。

實際上,驚奇度和信息量是完全等價的數學表達式:

信息量強調的是事件所攜帶的信息內容
驚奇度強調的是事件發生的意外程度

1.3 熵 Entropy:度量隨機變量的不確定性

信息論中的基本概念,用于度量隨機變量(一個概率分布)的不確定性。

熵的概念可以從信息論角度推導:

  • 定義信息量: 對于概率為 p 的事件,其信息量為 I( p )=-log2 ( p)
  • 低概率事件攜帶更多信息(更"意外")
  • 高概率事件攜帶更少信息(更"預期")

1.3.1 定義:熵是平均信息量

熵是平均信息量:

對于離散隨機變量X,其熵定義為:
在這里插入圖片描述

對于一個特例,p(X=x?)=1,即隨機變量 X 確定性地取值為 x?,我們可以如下推導:

所以,p(X=x?)=1表示隨機變量 X 是一個確定性變量,它總是取值為 x?,沒有任何不確定性。這種情況下:
– 隨機變量沒有任何隨機性
– 系統處于完全確定的狀態
– 我們可以100%確定 X 的值

熵為0正是反映了這種情況:當系統完全確定(無不確定性)時,熵達到最小值0,不需要任何額外信息就能預測其狀態。

二元分布的熵與概率 p
  • 橫軸是第一個事件發生的概率 p(第二個事件的概率就是 1-p)
  • 縱軸是對應的熵值
  • 這個圖會呈現出一個倒U形曲線,
  • 在 p = 0.5 處達到最大值1比特。這是因為:
    當 p 接近 0 或 1 時,分布非常不平衡,一個事件幾乎必然發生,另一個幾乎不可能發生,這種情況下熵接近于0(表示低不確定性)
    當 p = 0.5 時,兩個事件等可能發生,這是最不確定的情況,熵達到最大值1比特
三元分布belike:
  • 當分布均勻時(p1=p2=p3=1/3),熵達到最大值 log?(3) ≈ 1.585 比特
  • 當一個概率接近1,其他接近0時,熵接近0
  • 當兩個概率相等且較大,第三個較小時,熵介于log?(2)和log?(3)之間
  • 分布越不均勻,熵值越低,表示不確定性越小
    在這里插入圖片描述
自由度解釋:

三元分布有兩個自由度時:
在一個有n個可能取值的概率分布中,因為所有概率之和必須等于1(∑p_i = 1),所以只有(n-1)個概率值可以自由選擇。一旦確定了這(n-1)個值,最后一個值就被約束了。

例如:
二元分布:只有1個自由度。如果p? = 0.3,那么必然p? = 0.7
三元分布:有2個自由度。如果p? = 0.2,p? = 0.5,那么必然p? = 0.3

1.3.2 熵 Entropy和期望 Expectation

期望是隨機變量的平均值或加權平均值,表示隨機變量的"中心位置"。

對于離散隨機變量 X,其期望定義為:
在這里插入圖片描述
x 是隨機變量 X 可能的取值、p(x) 是 X 取值為 x 的概率

對于連續隨機變量 X,其期望定義為:
在這里插入圖片描述
其中 f(x) 是 X 的概率密度函數。

推導過程

第一步:熵的標準定義
在這里插入圖片描述
第二步:對數性質的應用
在這里插入圖片描述
這一步是將負號移入對數內部,使用了對數的基本性質。

第三步:轉換為期望形式
在這里插入圖片描述
這一步表明熵是隨機變量log(1/p(X))關于分布 p(x) 的期望。

熵是隨機變量 X的"驚奇度"log2(1/p(X))的平均值。
1/p(x) 越大(即概率越小),驚奇度越高,貢獻的信息量也越大。

熵是平均信息量 。換句話說,熵是對隨機變量不確定性的平均度量,數學上就是信息量的期望(期望值)

1.4 相對熵(KL散度)

KL散度的定義:
對于未知概率分布p(x),我們用q(x)去逼近p(x),并定義相對熵或稱KL散度。
在這里插入圖片描述

1.5 交叉熵 Cross Entropy:度量兩個概率分布之間的差異

交叉熵定義:用于度量兩個概率分布之間的差異
在這里插入圖片描述
所以可以得到
在這里插入圖片描述

這個公式可以從編碼理論角度理解:

  • H( p) - 使用最優編碼方案(基于真實分布p)對來自分布p的數據進行編碼所需的平均比特數
  • H(p,q) - 使用基于估計分布q的編碼方案對來自真實分布p的數據進行編碼所需的平均比特數
  • D(p||q) - 使用分布q的編碼方案(而非最優編碼方案p)所導致的額外編碼成本

因此,這個公式表明:交叉熵 = 最優編碼長度 + 使用錯誤分布造成的額外成本

二:從機器學習訓練角度理解交叉熵與KL散度

2.1 模型訓練目標:

有監督學習中:H( p) 是固定的,等價于最小化 D(p||q)

目標:最小化 p 和 q 之間的差異

在有監督學習中:
H( p)是固定的(取決于真實數據分布)
我們試圖最小化H(p,q)(交叉熵損失)
等價于最小化D(p||q)(KL散度)

p(x) 是數據的真實分布(由標簽定義)
q(x) 是模型預測的分布(模型輸出)
我們的目標是最小化 p 和 q 之間的差異

2.2 為什么使用交叉熵作為損失函數

最小化交叉熵等價于最大化對數似然

當我們使用交叉熵 H(p,q) 作為損失函數時:
我們實際上是在最小化 D(p||q),因為 H( p) 是固定的
最小化交叉熵等價于最大化對數似然(log-likelihood)
交叉熵容易計算,且梯度性質好

梯度下降最小化交叉熵,D(p||q)→0時,q→p

當我們通過梯度下降最小化交叉熵時:
我們在尋找能夠使模型分布q最接近真實分布p的參數
在訓練過程中,D(p||q)逐漸減小
理想情況下,當D(p||q)→0時,q→p,模型完美擬合數據

  • 訓練開始時:
    q分布與p分布差異大,D(p||q)值高, 交叉熵損失值大
  • 訓練進行中:
    模型更新使q逐漸接近p, D(p||q)逐漸減小, 交叉熵損失逐漸降低

過擬合與正則化

如果模型過度專注于使訓練數據的D(p||q)→0,可能會導致過擬合
正則化技術可以理解為對模型分布q施加額外約束,防止其過度擬合訓練數據的p

2.3 具體例子

2.3.1 多分類問題

p 是one-hot編碼的真實標簽 [0,1,0,0,…]
q 是模型輸出的softmax概率 [0.1,0.7,0.05,…]
交叉熵損失: H(p,q) = -∑p(x)log q(x)
因為p是one-hot編碼,這簡化為: -log q(正確類別)

2.3.2 在語言模型訓練中

p是下一個token的真實分布
q是模型預測的下一個token的概率分布
最小化H(p,q)使模型預測分布盡可能接近真實分布

這種框架不僅解釋了為什么交叉熵是首選損失函數,還幫助我們理解模型訓練的本質:讓模型分布逐漸接近數據真實分布的過程。
它幫助我們讓模型分布q盡可能接近真實分布p,當q完全匹配p時,KL散度為0,交叉熵達到理論最小值H§ 。

2.4 最大似然估計 MLE

最大似然估計是統計學習的核心原理,
MLE的本質:找到一組參數使模型生成觀測數據的概率最大

基本概念
我們從真實但未知的數據分布 p_data(x) 中采樣得到數據集

每個樣本 x_i 都是獨立同分布(i.i.d.)的
目標是估計模型參數 θ,使得模型分布Pmodel (x; θ)最接近真實分布

2.4.1 推導過程解析:MLE與交叉熵

在這里插入圖片描述這一步是對目標函數(也就是似然函數)取對數。這樣做的原因是:

  • 對數是單調遞增函數,所以最大化一個函數和最大化這個函數的對數是等價的,不會改變最大值對應的參數θ
  • 將乘積轉換為求和,計算上更加方便,特別是當我們需要計算導數時
  • 避免數值計算中的下溢問題。直接計算很多小概率的乘積容易導致數值變得極小,超出計算機的表示范圍

在這里插入圖片描述

當我們將 p_model(x; θ) 記為 q(x),將 p_data(x) 記為 p(x) 時:
在這里插入圖片描述
這最后一步正是最小化交叉熵

2.4.2 MLE的與交叉熵的等價性,

最小化交叉熵也等價于最小化KL散度
  • MLE的本質
    找到一組參數使模型生成觀測數據的概率最大
  • 與交叉熵的等價性:
    最大化似然等價于最小化真實分布與模型分布之間的交叉熵
  • 與KL散度的關系:
    由于H(p,q) = H§ + D(p||q),而H§是常數,最小化交叉熵也等價于最小化KL散度
  • 實際應用:
    這就是為什么在神經網絡等模型訓練中,我們使用交叉熵作為損失函數 - 它直接對應于最大似然估計原則

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

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

相關文章

VBA 64位API聲明語句第012講

跟我學VBA,我這里專注VBA, 授人以漁。我98年開始,從源碼接觸VBA已經20余年了,隨著年齡的增長,越來越覺得有必要把這項技能傳遞給需要這項技術的職場人員。希望職場和數據打交道的朋友,都來學習VBA,利用VBA,起碼可以提高…

深入理解Java中String.intern()方法:從原理到并發控制實踐

深入理解 Java 中 String.intern () 方法:從原理到并發控制實踐 在 Java 開發中,String.intern()方法是一個看似簡單卻蘊含深意的 API。它在字符串常量池管理、內存優化以及并發控制等場景中有著關鍵作用。本文將從底層原理出發,結合實際案例…

在Linux中創建LVGL應用

在Linux中創建LVGL應用 簡介 上一篇文章介紹了在imx6上開發UI的流程 . 這篇接上文, 介紹具體的開發步驟。 1. 創建項目主目錄 mkdir my_lvgl_project cd my_lvgl_project2. 初始化 Git 倉庫 (可選但推薦) git init echo "# My Project with Dependencies&…

大模型對比評測:Qwen2.5 VS Gemini 2.0誰更能打?

一、背景與選型關鍵 在 AI 應用落地的時代,“AI大模型選型對比”成為關鍵環節。選擇合適的模型要綜合考量性能、上下文長度、推理能力、中文/編程支持、成本等多維度指標。 本文重點比較 Gemini2.0Flash-Lite (Preview)、Gemini2.0Flash &a…

轉置卷積解釋與示例計算

文章目錄轉置卷積的三種等價實現方法:原理、公式與等價性分析數學定義與核心公式方法一:零填充翻轉核卷積(數學定義方法)原理與公式等價性說明方法二:直接位置映射(pytorch框架高效實現)原理與公…

關于車位引導及汽車乘梯解決方案的專業性、系統性、可落地性強的綜合設計方案與技術實現說明,旨在為現代智慧停車樓提供高效、安全、智能的停車體驗。

一、系統概述隨著城市土地資源日益緊張,立體停車、自動化停車成為發展趨勢。本方案圍繞“車位引導系統 汽車乘梯系統”構建智慧停車核心體系,結合地磁/視頻/超聲波檢測、AI識別、語音交互、電梯自動調度等先進技術,實現車輛入場、引導、停泊…

【相機】曝光時間長-->拖影

曝光時間長 → 運動目標在快門開啟期間持續移動 → 同一像素記錄多個位置的能量 → 圖像出現“拖影”(運動模糊)。🔍 具體原因卷簾快門(Rolling Shutter)效應 RealSense 的 RGB 傳感器(如 IMX 系列&#xf…

day36 力扣1049.最后一塊石頭的重量II 力扣494.目標和 力扣474.一和零

最后一塊石頭的重量II有一堆石頭&#xff0c;用整數數組 stones 表示。其中 stones[i] 表示第 i 塊石頭的重量。每一回合&#xff0c;從中選出任意兩塊石頭&#xff0c;然后將它們一起粉碎。假設石頭的重量分別為 x 和 y&#xff0c;且 x < y。那么粉碎的可能結果如下&#…

Java內存模型(Java Memory Model,JMM)

?? JMM?? 是Java虛擬機&#xff08;JVM&#xff09;規范中定義的一組規則和規范&#xff0c;用于描述多線程環境下&#xff0c;Java程序中變量的訪問和修改行為&#xff0c;尤其是在并發編程中如何保證內存可見性、原子性和有序性。JMM 是 Java 并發編程的基石&…

【swoole Windows 開發(swoole-cli 開發 hyperf)】

先前swoole在Windows平臺的開發體驗極差&#xff0c;如果在Windows開發swoole的東西可以用docker或者虛擬機&#xff0c;遠程開發&#xff0c;體驗比較好的是直接Mac或者Linux系統開發。但是作為window平臺的釘子戶表示我窮。swoole之前已經推出了cygwin64編譯成winwods版本的方…

興達餐飲 酒店 進銷存管理系統軟件

興達餐飲 酒店 進銷存管理系統軟件

Seal Report:一款免費開源的報表工具

Seal Report 是一款基于 C# 語言開發的開源報表工具&#xff0c;可以從各種數據庫或 NoSQL 數據源中生成日常報告&#xff0c;并且執行復雜的計劃任務。 功能特性 免費開源&#xff1a;源代碼托管在 GitHub 上&#xff0c;用戶可以自由使用、修改、甚至集成到自己的系統中&…

WebRTC 多媒體 SDP 示例與解析

webRTC中的SDP的Bundlle可能包含一個或者多個媒體塊&#xff08;媒體描述, 源碼對應類ContentInfo&#xff09;&#xff0c;從 m 開始到下一個 m 行&#xff08;或 SDP 結束&#xff09;之間的所有屬性&#xff08;包括 a&#xff09;都屬于同一個媒體塊&#xff08;media sect…

SpringBoot 啟動富文本文字更改

正常來說 SpringBoot啟動時候&#xff0c;展示的文字是這個 、 主播這邊想要換一個樣式&#xff0c;換一個自己自定義的文字 這邊換成了自己的博客名字 具體實現操作如下 在項目目錄 resources下創建一個名字為banner.txt的文本&#xff0c;這是SpringBoot啟動的時候尋找的…

基于結構熵權-云模型的鑄鐵浴缸生產工藝安全評價

一、評價模型核心思想 結構熵權法 解決傳統熵權法忽略指標間結構關系的問題,通過指標層次網絡計算權重。 步驟: 構建工藝安全評價指標體系(樹狀/網絡結構) 計算同級指標間的影響度矩陣 引入修正熵權:wj=1?Ej∑(1?Ek)結構影響因子w_j = \frac{1 - E_j}{\sum (1 - E_k)} \…

[Linux]從零開始的vs code交叉調試arm Linux程序教程

一、前言 最近的項目中需要集成rknn的視覺識別&#xff0c;在這之前我并且沒有將rknn集成到自己項目的經驗。這里我需要在rknn原本demo的基礎上我還需要集成自己的業務代碼。但是又有一個問題&#xff0c;原本rknn我們都是使用交叉編譯編譯到開發板上的&#xff0c;并且我們還要…

視頻號私信自動化回復插件

給自己的瀏覽器插件又增加了視頻號斯信的自動化回復搜索&#xff1a;程序員老狼主體邏輯就是&#xff0c;不停的點擊打招呼和斯信那個tab切換查看有無小紅點&#xff0c;有小紅點的會話&#xff0c;就點擊。查看有無打招呼&#xff0c;有打招呼就點擊&#xff0c;抓取昵稱和內容…

Web前端實現銀河粒子流動特效的3種技術方案對比與實踐

文章目錄 前端實現銀河粒子流動特效的技術原理與實踐 引言:銀河粒子特效的技術背景與現狀 技術發展歷史 當前技術現狀 技術原理與實現方案 思維導圖:銀河粒子特效技術架構 1. CSS3實現方案 基礎實現代碼 性能優化技巧 2. Canvas 2D實現方案 基礎實現代碼 Canvas高級優化技術 …

Linux:告別Jammy,擁抱Noble!WSL Ubuntu 22.04 到 24.04 LTS 終極升級指南

大家好&#xff01;如果大家和我一樣&#xff0c;是Windows Subsystem for Linux (WSL) 的忠實用戶&#xff0c;那么大家一定對Ubuntu在其中的表現印象深刻。我們中的許多人可能還在使用穩定可靠的Ubuntu 22.04 LTS (Jammy Jellyfish)。但現在&#xff0c;一個更令人興奮的時代…

江協科技STM32 11-1 SPI通信協議

本節課我們將繼續學習下一個通信協議&#xff0c;SPI。SPI通信和我們剛剛學習過的I2C通信差不多。兩個協議的設計目的都一樣都是實現主控芯片和各種外掛芯片之間的數據交流&#xff0c;有了數據交流的能力&#xff0c;我們的主控芯片就可以掛載并操縱各式各樣的外部芯片&#x…