[Machine Learning] Density Estimation


Parametric Approach

MLE

给定一个模型和一组观测数据,最大似然估计法的目标是找到一组参数值,使得在这组参数下观测到实际数据的概率(即似然)最大。具体地,似然函数被定义为

L ( θ ∣ x ) = ∏ i = 1 n f ( x i ∣ θ ) L(\theta|x) = \prod\limits^n_{i=1} f(x_i | \theta) L(θx)=i=1nf(xiθ)

这里, f ( x i ∣ θ ) f(x_i|\theta) f(xiθ) 是给定参数 θ \theta θ 下观测到 x i x_i xi 的概率密度。如果我们假设所有的观测数据都是独立同分布的,那么整体的似然就是每一个观测值的似然的乘积。

由于似然函数通常包含乘法运算,为了简化计算,我们通常会取对数,将乘法转化为加法,于是就得到了对数似然函数:

L ( θ ∣ x ) = ln ⁡ L ( θ ∣ x ) = ∑ i = 1 n ln ⁡ f ( x i ∣ θ ) \mathcal{L}(\theta|x) = \ln L(\theta|x) = \sum\limits^n_{i=1} \ln f(x_i | \theta) L(θx)=lnL(θx)=i=1nlnf(xiθ)

然后,我们的任务就是找到一个参数 θ \theta θ,使得这个对数似然函数最大。这个参数就是我们所说的最大似然估计。

Non-parametric Approach

Histograms

  • Very simple visualization.
  • Sensitive to the number of bins chosen and bin width.

Kernel Density Estimator (KDE)

在KDE(核密度估计)中,每一个数据点都会构建一个以该点为中心的kernel function。这个密度函数通过将所有这些kernel function相加,然后除以数据的数量来得到,以确保满足以下条件:

  • 密度函数的所有可能值都是非负的
  • 密度函数在其支持集上的定积分等于1

对于简单的KDE(也叫箱型核),所有在一个给定宽度h(即窗口或带宽)内的点被赋予相同的权重。你可以将其想象成一个长方形的窗口,滑过所有的数据点,窗口内的点贡献同样的权重,窗口外的点不贡献权重。这就好比说,我们认为窗口内的所有点对估计密度的影响是一样的:

f ^ ( x ) = 1 2 n h ∑ i = 1 n 1 { ∣ X i − x ∣ < h } \hat{f}(x) = \frac{1}{2nh} \sum\limits_{i =1}^n 1_{\{|X_i-x| < h\}} f^(x)=2nh1i=1n1{Xix<h}

这里的 1 A = 1 1_A = 1 1A=1 如果 A A A 为真,否则 1 A = 0 1_A = 0 1A=0

对于更通用的核密度估计,我们使用一个kernel function K来赋予不同的权重。这个kernel function是一个非负的函数,它的值在中心最大,在远离中心的地方逐渐减小,总和为1。这意味着在计算一个点的密度估计时,距离该点近的观测值将被赋予更大的权重,而距离远的观测值将被赋予更小的权重:

f ^ ( x ) = 1 n h ∑ i = 1 n K ( X i − x h ) \hat{f}(x) = \frac{1}{nh} \sum\limits_{i =1}^n K(\frac{X_i-x}{h}) f^(x)=nh1i=1nK(hXix)

其中 K K K 是kernel function, h h h 是带宽参数(可能是固定的或变化的)。

Kernel function是一种特殊的概率密度函数,具有以下性质:

  • 非负性: K ( x ) ≥ 0 K(x) \geq 0 K(x)0
  • 对称性: K ( − x ) = K ( x ) K(-x) = K(x) K(x)=K(x)
  • 单位测度: ∫ K ( x ) d x = 1 \int K(x)dx = 1 K(x)dx=1

我们有两个主要的参数可以进行调整:

  • kernel function K K K的选择
  • 带宽参数 h h h的选择

通常来说,kernel function的选择对结果的影响并不大,而带宽参数 h h h的选择对结果的影响就会很大。

选择合适的带宽 h h h可以平衡偏差和方差之间的权衡。

如果 h h h 太小,密度估计将趋向于在观测数据附近的地方过度地局部分配概率密度,会导致估计的密度函数出现许多虚假的模式(即估计曲线波动太大)。如果 h h h 太大,密度估计将过于分散地分配概率密度,可能会把 f f f 的重要特征平滑掉(即估计曲线过于平坦)。

V a r ( f ^ ( X ) ) = O ( 1 n h ) Var(\hat f (X)) = O(\frac{1}{nh}) Var(f^(X))=O(nh1)

B i a s ( f ^ ( X ) ) = O ( h ) Bias(\hat f (X)) = O(h) Bias(f^(X))=O(h)

总的来说,小的带宽会导致高的方差,大的带宽会导致高的偏差小的带宽会导致高的方差,大的带宽则会导致高的偏差。

以下是一些常用的kernel function:

Uniform Kernel: K ( x ) = 1 2 1 ∣ x ∣ ≤ 1 K(x) = \frac{1}{2} 1_{{|x| \leq 1}} K(x)=211x1

Gaussian Kernel: K ( x ) = 1 2 π e − 1 2 x 2 K(x) = \frac{1}{\sqrt{2\pi}} e^{-\frac{1}{2}x^2} K(x)=2π 1e21x2

Epanechnikov Kernel: K ( x ) = 3 4 ( 1 − x 2 ) 1 { ∣ x ∣ ≤ 1 } K(x) = \frac{3}{4}(1 - x^2) 1_{\{|x| \leq 1\}} K(x)=43(1x2)1{x1}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值