經典核密度估計(Kernel Density Estimation):從直覺到數學

經典核密度估計(Kernel Density Estimation):從直覺到數學

作為一名在大模型時代進入深度學習領域的研究者,你可能對 Transformer、擴散模型等現代技術駕輕就熟。然而,在閱讀一些生成模型的文獻(如 Explicit Score-Matching)時,你可能會遇到一些“古典”概念,比如“經典核密度估計”(Classical Kernel Density Estimation, KDE)。這個方法雖然看似古老,但在理解概率分布估計和生成模型(如 Score-Matching 和擴散模型)的理論基礎時非常重要。本篇博客將面向具有大模型理論基礎的研究者,介紹核密度估計的直覺、數學定義及其在現代深度學習中的意義,幫助你快速補齊這一知識點。

什么是核密度估計?

核密度估計是一種非參數的概率密度估計方法,用于從有限的數據樣本中估計數據的概率密度函數 ( p ( x ) p(x) p(x) )。在深度學習中,我們通常假設數據分布是某種已知形式(比如高斯分布),然后用神經網絡去擬合參數。但在現實中,真實數據分布 ( p ( x ) p(x) p(x) ) 往往是未知且復雜的。KDE 的目標就是不假設分布的具體形式,而是直接從數據樣本中“平滑”地構建一個近似分布。

假設我們有一個數據集 ( X = { x ( 1 ) , x ( 2 ) , … , x ( M ) } X = \{x^{(1)}, x^{(2)}, \dots, x^{(M)}\} X={x(1),x(2),,x(M)} ),包含 ( M M M ) 個樣本。KDE 定義了一個分布 ( q h ( x ) q_h(x) qh?(x) ) 來近似真實分布 ( p ( x ) p(x) p(x) ):
q h ( x ) = 1 M ∑ m = 1 M 1 h K ( x ? x ( m ) h ) q_h(x) = \frac{1}{M} \sum_{m=1}^M \frac{1}{h} K\left( \frac{x - x^{(m)}}{h} \right) qh?(x)=M1?m=1M?h1?K(hx?x(m)?)
其中:

  • ( K ( ? ) K(\cdot) K(?) ) 是核函數(Kernel Function),通常是一個對稱的概率密度函數(如高斯核)。
  • ( h ) 是帶寬(Bandwidth),一個超參數,控制平滑程度。
  • ( x ( m ) x^{(m)} x(m) ) 是第 ( m m m ) 個訓練樣本。
直覺理解

想象你有一堆離散的數據點(比如 ( x ( 1 ) , x ( 2 ) , … x^{(1)}, x^{(2)}, \dots x(1),x(2), )),你想估計這些點背后的連續分布。一種簡單的方法是用直方圖,但直方圖的問題是它依賴于分箱的選擇,結果可能不平滑。KDE 的思路是為每個數據點 ( x ( m ) x^{(m)} x(m) ) 放置一個“核”(一個小的概率密度函數),然后把所有核加起來,得到一個平滑的整體分布。

  • 核函數 ( K ( ? ) K(\cdot) K(?) ):可以看作是一個“模板”,決定了每個數據點對周圍區域的貢獻。例如,高斯核 ( K ( u ) = 1 2 π e ? u 2 2 K(u) = \frac{1}{\sqrt{2\pi}} e^{-\frac{u^2}{2}} K(u)=2π ?1?e?2u2? ) 會生成一個鐘形曲線。
  • 帶寬 ( h h h ):控制核的寬度。( h h h ) 越大,核越寬,分布越平滑;( h h h ) 越小,核越窄,分布更貼近數據點。

用一個比喻來說,KDE 就像在每個數據點上放一個“水滴”,水滴的大小由 ( h h h ) 決定,所有水滴疊加后形成一個平滑的“水面”,這就是 ( q h ( x ) q_h(x) qh?(x) )。

數學推導與形式化

讓我們更正式地理解 KDE。假設核函數 ( K ( u ) K(u) K(u) ) 滿足:
∫ K ( u ) d u = 1 , ∫ u K ( u ) d u = 0 , ∫ u 2 K ( u ) d u < ∞ \int K(u) \, du = 1, \quad \int u K(u) \, du = 0, \quad \int u^2 K(u) \, du < \infty K(u)du=1,uK(u)du=0,u2K(u)du<
這保證了 ( K ( ? ) K(\cdot) K(?)) 是一個有效的概率密度函數,且對稱(均值為 0)。

對于每個樣本 ( x ( m ) x^{(m)} x(m) ),項 ( 1 h K ( x ? x ( m ) h ) \frac{1}{h} K\left( \frac{x - x^{(m)}}{h} \right) h1?K(hx?x(m)?)) 是一個以 ( x ( m ) x^{(m)} x(m) ) 為中心的縮放核,縮放因子 ( 1 h \frac{1}{h} h1? ) 確保其積分為 1:
∫ 1 h K ( x ? x ( m ) h ) d x = ∫ K ( u ) d u = 1 \int \frac{1}{h} K\left( \frac{x - x^{(m)}}{h} \right) \, dx = \int K(u) \, du = 1 h1?K(hx?x(m)?)dx=K(u)du=1
因此,( q h ( x ) = 1 M ∑ m = 1 M 1 h K ( x ? x ( m ) h ) q_h(x) = \frac{1}{M} \sum_{m=1}^M \frac{1}{h} K\left( \frac{x - x^{(m)}}{h} \right) qh?(x)=M1?m=1M?h1?K(hx?x(m)?) ) 是一個合法的概率密度函數,滿足:
∫ q h ( x ) d x = 1 \int q_h(x) \, dx = 1 qh?(x)dx=1

KDE 的可視化
  • 單點貢獻:每個 ( 1 h K ( x ? x ( m ) h ) \frac{1}{h} K\left( \frac{x - x^{(m)}}{h} \right) h1?K(hx?x(m)?) ) 是一個以 ( x ( m ) x^{(m)} x(m) ) 為中心的平滑“峰”。
  • 整體估計:所有 ( M M M ) 個核的平均值 ( q h ( x ) q_h(x) qh?(x) ) 形成一個連續的密度曲線。
  • 直方圖對比:相比直方圖的階梯狀,KDE 提供了一個平滑的估計,更接近真實分布的形狀。
在深度學習中的意義

作為大模型研究者,你可能好奇 KDE 為什么會在現代生成模型(如 Score-Matching 或擴散模型)中出現。以下是它與你熟悉的領域之間的聯系:

  1. 分布近似
    在 Score-Matching 中,我們需要估計數據分布 ( p ( x ) p(x) p(x) ) 的梯度(即分數函數 ( ? x log ? p ( x ) \nabla_x \log p(x) ?x?logp(x)))。但 ( p ( x ) p(x) p(x) ) 通常未知,KDE 提供了一種基于樣本的近似 ( q h ( x ) q_h(x) qh?(x) ),可以用作替代目標。

  2. 平滑性
    大模型(如擴散模型)依賴于連續的概率密度假設。KDE 的平滑特性使其成為理論分析和損失函數設計的基礎。

  3. 非參數方法
    與深度學習中的參數化分布(如高斯混合模型)不同,KDE 不假設分布形式,這與生成模型追求靈活性的目標一致。

例如,在 Explicit Score-Matching 中,有文獻使用 KDE 定義 ( q h ( x ) q_h(x) qh?(x) ) 來近似 ( p ( x ) p(x) p(x)),然后基于此訓練一個網絡 ( s θ ( x ) s_\theta(x) sθ?(x) ) 來匹配分數函數。這種方法避免了直接訪問真實分布的需求。

優缺點
  • 優點
    • 非參數化,無需假設分布形式。
    • 平滑且直觀,易于理解和實現。
  • 缺點
    • 計算復雜度高:對于 ( M M M ) 個樣本,評估 ( q h ( x ) q_h(x) qh?(x) ) 需要 ( O ( M ) O(M) O(M) ) 次計算。
    • 帶寬 ( h h h ) 的選擇敏感:( h h h ) 過大導致過平滑,( h h h ) 過小則過擬合。
總結

經典核密度估計是一個從數據樣本直接估計概率密度的強大工具,盡管它在深度學習時代顯得有些“古典”,但其思想在生成模型的理論基礎中仍然發揮作用。對于熟悉大模型的你來說,KDE 可以看作是一種“前神經網絡時代”的分布建模方法,它通過核函數的疊加實現了平滑估計。如今,它更多作為理論橋梁,幫助我們理解從數據到連續分布的轉換過程。

后記

2025年3月7日20點04分于上海,在grok 3大模型輔助下完成。

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

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

相關文章

Halcon 算子 一維碼檢測識別、項目案例

首先我們要明白碼的識別思路 把窗口全部關閉讀取新的圖片圖像預處理創建條碼模型設置模型參數搜索模型獲取條碼結果顯示條碼結果 圖像預處理和條碼增強 對比度太低&#xff1a; scale_image&#xff08;或使用外部程序scale_image_range&#xff09;,增強圖像的對比度圖像模糊…

vue-cli3+vue2+elementUI+avue升級到vite+vue3+elementPlus+avue總結

上一個新公司接手了一個vue-cli3vue2vue-router3.0elementUI2.15avue2.6的后臺管理項目&#xff0c;因為vue2在2023年底已經不更新維護了&#xff0c;elementUI也只支持到vue2&#xff0c;然后總結了一下vue3的優勢&#xff0c;最后批準升級成為了vitevue3vue-router4.5element…

SpringBoot實戰(三十五)微服務集成OAuth2.0(UAA)

目錄 一、知識回顧1.1 什么是 OAuth2 協議&#xff1f;1.2 OAuth2 的4個角色1.3 OAuth2 的3種令牌1.4 OAuth2 的5種認證方式1.5 OAuth2 內置接口地址 二、UAA介紹2.1 概述2.2 UAA的主要功能2.3 UAA 的應用場景 三、微服務集成3.1 集成示例介紹3.2 集成測試 一、知識回顧 在進行…

紅果短劇安卓+IOS雙端源碼,專業短劇開發公司

給大家拆解一下紅果短劇/河馬短劇&#xff0c;這種看光解鎖視頻&#xff0c;可以掙金幣的短劇APP。給大家分享一個相似的短劇APP源碼&#xff0c;這個系統已接入穿山甲廣告、百度廣告、快手廣告、騰訊廣告等&#xff0c;類似紅果短劇的玩法&#xff0c;可以看劇賺錢&#xff0c…

從0開始的操作系統手搓教程23:構建輸入子系統——實現鍵盤驅動1——熱身驅動

目錄 所以&#xff0c;鍵盤是如何工作的 說一說我們的8042 輸出緩沖區寄存器 狀態寄存器 控制寄存器 動手&#xff01; 注冊中斷 簡單整個鍵盤驅動 Reference ScanCode Table 我們下一步就是準備進一步完善我們系統的交互性。基于這個&#xff0c;我們想到的第一個可以…

百度SEO關鍵詞布局從堆砌到場景化的轉型指南

百度SEO關鍵詞布局&#xff1a;從“堆砌”到“場景化”的轉型指南 引言 在搜索引擎優化&#xff08;SEO&#xff09;領域&#xff0c;關鍵詞布局一直是核心策略之一。然而&#xff0c;隨著搜索引擎算法的不斷升級和用戶需求的多樣化&#xff0c;傳統的“關鍵詞堆砌”策略已經…

Python ? Unix時間戳轉日期或日期轉時間戳工具分享

設計一款Unix時間戳和日期轉換工具&#xff0c;其代碼如下&#xff1a; from datetime import datetimeclass Change_Date_Time(object):def __init__(self, date_strNone, date_numNone):self.date_str date_strself.date_num date_num# 轉時間戳def datetime2timestamp(s…

【目標檢測】【NeuralPS 2023】Gold-YOLO:通過收集與分發機制實現的高效目標檢測器

Gold-YOLO&#xff1a; Efficient Object Detector via Gather-and-Distribute Mechanism Gold-YOLO&#xff1a;通過收集與分發機制實現的高效目標檢測器 0.論文摘要 在過去的幾年中&#xff0c;YOLO系列模型已成為實時目標檢測領域的領先方法。許多研究通過修改架構、增強數…

π0源碼解析——一個模型控制7種機械臂:對開源VLA sota之π0源碼的全面分析,含我司的部分落地實踐

前言 ChatGPT出來后的兩年多&#xff0c;也是我瘋狂寫博的兩年多(年初deepseek更引爆了下)&#xff0c;比如從創業起步時的15年到后來22年之間 每年2-6篇的&#xff0c;干到了23年30篇、24年65篇、25年前兩月18篇&#xff0c;成了我在大模型和具身的原始技術積累 如今一轉眼…

K8s 1.27.1 實戰系列(六)Pod

一、Pod介紹 1、Pod 的定義與核心設計 Pod 是 Kubernetes 的最小調度單元,由一個或多個容器組成,這些容器共享網絡、存儲、進程命名空間等資源,形成緊密協作的應用單元。Pod 的設計靈感來源于“豌豆莢”模型,容器如同豆子,共享同一環境但保持隔離性。其核心設計目標包括…

企業日常工作中常用的 Linux 操作系統命令整理

Linux 操作系統命令整理 在企業級運維、開發和日常工作中&#xff0c;Linux 命令是繞不開的核心技能。不論是日志排查、進程管理&#xff0c;還是高效運維優化&#xff0c;掌握這些命令都能讓你事半功倍&#xff01;本篇文章整理了自己在日常工作中積累最常用的 Linux 命令&am…

實現NTLM relay攻擊工具的Python代碼示例

以下是一個實現NTLM relay攻擊工具的Python代碼示例&#xff0c;該工具可以完成自動掃描IP、配置相關協議、獲取hash、自動化設置和執行攻擊步驟等功能。 代碼思路 IP掃描&#xff1a;使用scapy庫進行IP掃描&#xff0c;找出活躍的IP地址。Responder配置&#xff1a;自動配置…

Kotlin和Java區別

哈哈哈&#xff0c;前段時間&#xff0c;面試的時候&#xff0c;突然問到我Kotlin和Java的區別&#xff0c;一下子把我問懵逼了&#xff0c;確實沒遇到問這個的&#xff0c;想了下&#xff0c;說了下Kotlin的編譯時空檢查機制&#xff0c;代碼更簡潔&#xff0c;很多封裝好的AP…

【大模型】大模型分類

大模型&#xff08;Large Models&#xff09;通常指參數量巨大、計算能力強大的機器學習模型&#xff0c;尤其在自然語言處理&#xff08;NLP&#xff09;、計算機視覺&#xff08;CV&#xff09;等領域表現突出。以下是大模型的常見分類方式&#xff1a; 1. 按應用領域分類 …

centos中使用svn整理

centos中使用svn整理 1. 安裝 SVN 客戶端2. 常見 SVN 用法及示例2.1 創建 SVN 倉庫2.2 檢出&#xff08;Checkout&#xff09;項目2.3 添加文件到版本控制2.4 提交&#xff08;Commit&#xff09;更改2.5 更新&#xff08;Update&#xff09;本地工作副本2.6 查看文件狀態2.7 查…

游戲元宇宙崛起:AI代理IP驅動虛擬世界“無限可能”?

在科技飛速發展的當下&#xff0c;游戲元宇宙正以一種前所未有的姿態崛起&#xff0c;它猶如一顆璀璨的新星&#xff0c;吸引著無數人的目光。而AI代理IP&#xff0c;正成為驅動這個虛擬世界展現“無限可能”的關鍵力量。 「快代理&#xff5c;11年專注企業級代理IP云服務 —…

基于Servlet + JSP 的物業管理系統

Javaweb物業管理系統&#xff5c;Java&#xff5c;Servlet | JavaWeb&#xff5c;web網站&#xff5c; 分管理員登錄&#xff0c;用戶登錄。 一、內容 項目源碼 配套文檔 環境部署教程 項目運行教程 二、技術介紹 技術應用&#xff1a; Servlet JavaBean CSS JSP 開發環…

Billing的patient balance的2個例子

Billing的patient balance的2個例子 第一個例子 下面是 0852醫院的00005641的計算&#xff1a; 主保險 Allowable: 78.81 Applied:61.79 CoInsurance:17.02 第二保險 Allowable: 15.76 Applied:15.76 我們在計算時是用主保險的Allowable: 78.81&#xff…

哪些培訓課程適合學習PostgreSQL中級認證知識?

PostgreSQL 中級工程師 PGCP 認證培訓&#xff1a;由重慶思 莊經驗豐富的講師鄭全老師授課。課程內容系統全面&#xff0c;涵蓋了 PostgreSQL 數據庫從基礎到高級的知識&#xff0c;包括數據庫的安裝、建庫、用戶與角色管理等基礎內容&#xff0c;也有性能調優、索引原理與應用…

計算機二級MS之PPT

聲明&#xff1a;跟著大貓和小黑學習隨便記下一些筆記供大家參考&#xff0c;二級考試之前將持續更新&#xff0c;希望大家二級都能輕輕松松過啦&#xff0c;過了二級的大神也可以在評論區留言給點建議&#xff0c;感謝大家&#xff01;&#xff01; 文章目錄 考題難點1cm25px…