贝叶斯参数估计的理解及其在电商算法中的应用

本文深入介绍了贝叶斯参数估计的理论与应用,特别是其在电商算法中的作用。首先,文章阐述了极大似然估计与贝叶斯估计的区别,然后详细解释了损失函数、风险函数和贝叶斯风险的概念。接着,通过实例展示了如何利用先验知识最小化贝叶斯风险。最后,讨论了共轭先验在简化计算过程中的重要性,并给出了平方误差、绝对误差和均匀误差下的贝叶斯估计计算方法。
摘要由CSDN通过智能技术生成

极大似然估计

贝叶斯估计是参数估计中的一种方法,以贝叶斯思想为基础,而贝叶斯思想在机器学习中经常用到。机器学习中常涉及贝叶斯网络,最终的问题都是转化为参数求解。贝叶斯参数估计是这些问题的基础版本。前方高能预警,本文的讲解比较理论。

实际问题中我们会有很多数据,比如一篇文章中每个单词的词频等。我们得到的数据通常用 X X X表示,也称为样本。我们还会假设这些数据服从某一个分布,例如最常用的正态分布,这时可以将问题表示为 X ∼ N ( μ , σ ) X \sim N(\mu, \sigma) XN(μ,σ) μ \mu μ σ \sigma σ表示正态分布的两个参数。如果这两个参数已知,这个分布就确定了,从而可以知道数据 X X X的许多性质。这种情况下,参数估计就是要估计 μ \mu μ s i g m a sigma sigma的值。最常用的参数估计方法是极大似然(或最大似然估计)估计。

一般的最大似然法求解两个参数的基本步骤是:

  • 假设每个样本 X i X_i Xi是独立同分布(iid)的,即每一个样本都有 X i ∼ N ( μ , σ ) X_i \sim N(\mu, \sigma) XiN(μ,σ).
  • 求所有样本 X X X的联合分布
    因为是iid,所以 X X X的联合分布等于每个样本 X i X_i Xi的概率密度函数的乘积,即:
    L ( μ , σ 2 ; x ) = f ( x ) = ( 1 2 π σ 2 ) n exp ⁡ { − ∑ i = 1 n ( x i − μ ) 2 2 σ 2 } L(\mu, \sigma^2; \boldsymbol{x}) = f(\boldsymbol{x}) = \left(\frac{1}{\sqrt{2\pi\sigma^2}}\right)^n \exp\left\{-\sum_{i=1}^n \frac{(x_i - \mu)^2}{2\sigma^2}\right\} L(μ,σ2;x)=f(x)=(2πσ2 1)nexp{ i=1n2σ2(xiμ)2}
  • 对上述联合分布的概率密度函数取对数,即:
    ℓ ( μ , σ 2 ; x ) = log ⁡ L ( μ , σ 2 ; x ) = − n 2 log ⁡ ( 2 π σ 2 ) − ∑ i = 1 n ( x i − μ ) 2 2 σ 2 \ell(\mu, \sigma^2; \boldsymbol{x}) = \log L(\mu, \sigma^2; \boldsymbol{x}) = -\frac{n}{2}\log\left(2\pi\sigma^2\right) -\sum_{i=1}^n \frac{(x_i - \mu)^2}{2\sigma^2} (μ,σ2;x)=logL(μ,σ2;x)=2nlog(2πσ2)i=1n2σ2(xiμ)2
  • 对上述函数分别求 ∂ ℓ ∂ μ \frac{\partial \ell}{\partial \mu} μ ∂ ℓ ∂ σ 2 \frac{\partial \ell}{\partial \sigma^2} σ2,并令它们等于0,进而求得极值
  • 分别对 μ \mu μ σ 2 \sigma^2 σ2求二阶偏导,验证极值是最大值

上述步骤是极大似然法的求解步骤,用到的信息都是已知样本的信息。但是通常在估计参数时我们可能已经对参数有了一个大概的了解,比如已经知道 μ \mu μ σ 2 \sigma^2 σ2的取值范围。仅仅知道取值范围还太简单,有时会更进一步假设 μ \mu μ σ 2 \sigma^2 σ2的取值服从某个分布,这样问题就变成了在正态分布中,要估计期望 μ \mu μ和方差 σ 2 \sigma^2 σ2的值,但与极大似然法不同的是,我们事先已经知道了 μ \mu μ σ 2 \sigma^2 σ2的取值是服从某种分布的,这个信息如果不用到参数估计中有点浪费了,于是问题变成:如何将这两个参数的分布结合到参数估计过程中? 贝叶斯估计解决了这个问题。

贝叶斯估计(Bayes Estimation)

上述提到的在估计参数之前对参数已经有了了解称为参数的先验知识。贝叶斯估计即在估计过程中将先验知识也考虑了进去,博众家之长总是好的。先验知识可以是一个具体的值,也可以是取值范围,也可以是一个函数(某种分布)。实际应用中,通常会将参数的先验知识视作一个分布,那么这个参数就会有一个概率密度函数(pdf),这个pdf叫做待估计参数的先验概率

一般待估计的一维参数用 θ \theta θ表示,多维用粗体 θ \boldsymbol{\theta} θ. 先验概率密度函数用符号 π ( θ ) \pi(\theta) π(θ)表示。样本的概率密度函数用 f ( x ∣ θ ) f(x|\theta) f(xθ)表示,其中加入 θ \theta θ是表示该pdf跟 θ \theta θ有关,同时说明要估计的参数是 θ \theta θ.

参数估计必然会涉及到『损失』的概念,用于表示参数的估计值与真实值之间的差距。差距越小,损失越小,说明参数估计得约准确。

贝叶斯估计涉及到三个损失概念,他们长的很像:

  • 损失函数(Loss Funcition)
  • 风险函数(Risk Function)
  • 贝叶斯风险(Bayes Risk)

贝叶斯估计的目的是:结合参数的先验知识,使得参数的估计值令贝叶斯风险达到最小。简单说就是最小化贝叶斯风险

下面解释这三个概念。

损失函数

在参数估计问题中,评价估计的好坏就是看估计出来的参数与真值的差距有多小。估计出来的参数通常用 θ ^ \hat{\theta} θ^表示,参数的真值用 θ \theta θ表示。 θ \theta θ θ ^ \hat{\theta} θ^的差距就是损失函数。

损失函数有好几种定义方式,常见的如下:

  • L ( θ ^ , θ ) = ( θ ^ − θ ) 2 L(\hat{\theta}, \theta) = (\hat{\theta} - \theta)^2 L(θ^,θ)=(θ^θ)2
  • L ( θ ^ , θ ) = ∣ θ ^ − θ ∣ L(\hat{\theta}, \theta) = |\hat{\theta} - \theta| L(θ^,θ)=θ^θ
  • L ( θ ^ , θ ) = { 0 if  ∣ θ − θ ^ ∣ ⩽ Δ 1 if  ∣ θ − θ ^ ∣ > Δ \begin{aligned} L(\hat{\theta}, \theta) = \begin{cases} 0 &\text{if $|\theta - \hat{\theta}| \leqslant \Delta$} \\ 1 &\text{if $|\theta - \hat{\theta}| > \Delta$} \end{cases} \end{aligned} L(θ^,θ)={ 01if ∣θθ^Δif ∣θθ^>Δ

当估计值与真实值无限接近时,损失函数都会无限接近0,相当于没有损失。损失函数中的估计值 θ ^ \hat{\theta} θ^是通过样本计算出来的。比如正态分布中的 μ \mu μ,我们可以用样本均值来估计 μ \mu μ(即将样本均值当成 μ \mu μ),即 μ ^ = 1 n ∑ n X i = X ˉ \hat{\mu} = \frac{1}{n}\sum^n X_i = \bar{\boldsymbol{X}} μ^=n1nXi=Xˉ。类似地,也常用样本方差来估计 σ 2 \sigma^2 σ2. 但是注意到 μ ^ \hat{\mu} μ^ σ ^ 2 \hat{\sigma}^2 σ^2的值都跟样本的个数有关,即都跟 n n n有关。如果 1 n ∑ i = 0 n X i \frac{1}{n}\sum_{i=0}^n X_i n1i=0nXi μ \mu μ的估计值,那 1 n − 1 ∑ i = 0 n − 1 X i \frac{1}{n-1}\sum_{i=0}^{n-1} X_i n11i=0n1Xi μ \mu μ的估计值吗?那 1 n − 6 ∑ i = 0 n − 6 X i \frac{1}{n-6}\sum_{i=0}^{n-6} X_i n61i=0n6Xi呢?可以看到 n n n不一样,估计值也不一样,到底用哪个 n n n(用多少个样本)来计算损失函数呢?这时容易(其实不容易)想到,既然损失函数可以因为 θ ^ \hat{\theta} θ^的不同而有不同的值,那就求平均。通过判断损失的平均值的大小来判断参数估计得好不好。求平均是很自然的想法,但平均通常是相对样本来说的,如果是总体,我们通常说期望。这时就要引入风险函数了。

风险函数

风险就是损失函数关于 θ ^ \hat{\theta} θ^的期望

既然估计值 θ ^ \hat{\theta} θ^是随 n n n的变化而变化的,那也可以将 θ ^ \hat{\theta} θ^视为随机变量,进而可以计算损失函数的期望。于是风险函数的定义如下:

R ( θ ^ , θ ) = E θ ^ [ L ( θ ^ , θ ) ] R(\hat{\theta}, \theta) = E_{\hat{\theta}} \left[L(\hat{\theta}, \theta) \right] R(θ^,θ)=Eθ^[L(θ^,θ)]

E θ ^ E_{\hat{\theta}} Eθ^表示对 θ ^ \hat{\theta} θ^求期望(注意真值 μ \mu μ是固定的,不是变量)。我们的目标是:求出一个 θ ^ \hat{\theta} θ^,使得风险最小(最小化风险)

例如,要估计期望 μ \mu μ,假设损失函数是 L ( μ ^ , μ ) = ( μ ^ − μ ) 2 L(\hat{\mu}, \mu) = (\hat{\mu} - \mu)^2 L(μ^,μ)=(μ^μ)2,如果用样本均值作为 μ \mu μ的估计值(即 μ ^ = 1 n ∑ i = 0 n X i \hat{\mu} = \frac{1}{n}\sum_{i=0}^n X_i μ^=n1i=0nXi),这样的风险是多少?

E [ L ( μ ^ , μ ) ] = E

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值