参数估计方法
推断问题中, 一般会碰到两个问题: 1.参数估计问题: 已知 观测数据集 X, 估计其分布参数 θ, 也就是p(θ|X) 2. 预测或回归问题: 已知观测数据集 X, 推测新观测数据 ~x, 也就是 计算p(~x|X).
数据集 X 可以被认为是独立同分布的随机变量 X 的观测值. θ 则是分布参数, 比如, 在高斯分布中: θ={μ,σ2}.
根据贝叶斯定理:
p(θ|X)=p(X|θ)⋅p(θ)p(X)
上面的定理可用如下解释:
posterior=likelihood⋅priorevidence
Maximum likelihood estimation
L(θ|X)≜p(X|θ)=⋂x∈XP{X=x|θ}=∏x∈Xp(x|θ)
对上式取log , 可得如下化简的估计式:
^θML=argmaxθL(θ|X)=argmaxθ∑x∈Xlogp(x|θ)
其中 L≜logL.
求解方式也很自然:
∂L(θ|X)∂θk=0∀θk∈θ
对于预测问题:
p(~x|X)=∫θ∈Θp(~x|θ)p(θ|X)dθ≈∫θ∈Θp(~x|^θML)p(θ|X)dθ=p(~x|^θML)
例子:
有一硬币, 出现正面的概率是p, 重复投掷N次,估计 p
根据上面的ML:
L=log∏Ni=1p(X=xi|p)=∑Ni=1logp(xi|p)=∑Ni=1log(pc⋅p1−c)=∑Ni=1{logp(c=1|p)+logp(c=0|p)}=n1logp(c=1|p)+n0logp(c=0|p)=n1logp+n0log(1−p)
其中 c取 1(正面), 0(背面). n1, n0 分别为正, 背面出现的次数,显然: n1 + n0 = N.
则:
∂L∂p=n1p+n01−p=0==>^p=n1N
Maximum a posteriori(MAP) estimation
MAP 在ML的基础上对 参数 加上先验信念(priori belief),操作上,即对参数进行加权(权重即为其出现的概率(先验的) p(θ)), 虽是这样, 但信念却不等同于概率.
^θMAP=argmaxθp(θ|X)
由贝叶斯定理:
^θMAP=argmaxθp(X|θ)p(θ)p(X)=argmaxθp(X|θ)p(θ)=argmaxθ{L(θ|X)+logp(θ)}=argmaxθ{∑x∈Xlogp(x|θ)+logp(θ)}
其中, P(X) 因不是θ的函数, 故可省略.
在MAP中, θ (一般多维) 被认为是随机变量(列), 正如上面所述, θ 的信念虽是以概率表示,
对于预测问题:
p(~x|X)=∫θ∈Θp(~x|θ)p(θ|X)dθ≈∫θ∈Θp(~x|^θML)p(θ|X)dθ=p(~x|^θML)
再次考虑上面的例子, 一般我们会猜, 硬币两面出现的概率d大致相等, 即 p 的概率应该在0.5 附近. 这可表示为p 拥有一个先验分布, 且在 0.5 附近有很高的概率密度. 比如我们可能认为 p 服从 beta分布:
p(p|α,β)=1B(α,β)pα−1(1−p)β−1≜Beta(p|α,β)
其中, B(α,β)=Γ(α)Γ(β)Γ(α+β), 而 Γ(x)=∫∞0tx−1e−tdt.
因此对 (9)式 求(偏)导:
∂∂p(L+logp(p))=n1p+n01−p+α−2p−β−11−p=0==>^pMAP=n1+α−1N+α+β−2
Bayesian estimation
在MAP中,只取了P(θ|X)的峰值作为θ的估计,忽略了θ的其他可能性,可能丢失信息。贝叶斯在MAP的基础上更进一步, 把θ的所有可能取值考虑进来,然后算posterior分布上的期望.
同样的, 根据贝叶斯定理:
p(θ|X)=p(X|θ)⋅p(θ)p(X)
在贝叶斯估计中, P(X) 可能表示成 参数的分布上的所有可能性的期望:
p(X)=∫θ∈Θp(X|θ)p(θ)dθ
预测问题:
p(~x|X)=∫θ∈Θp(~x|θ)p(θ|X)dθ≈∫θ∈Θp(~x|^θ)p(θ|X)dθ=∫θ∈Θp(~x|^θ)p(X|θ)⋅p(θ)p(X)
再看上面的例子, 仍令 θ服从Beta 分布:
p(θ|X)=p(X|θ)⋅p(θ|α,β)p(X)=p(X|θ)⋅p(θ|α,β)∫θ∈Θp(X|θ)p(θ|α,β)dθ=∏Ni=1p(X=xi|p)p(p|α,β)∫10∏Ni=1p(X=xi|p)p(p|α,β)dp=pn1+α−1(1−p)n0+β−11Beta(α,β)pα−1(1−p)β−1Z=Beta(p|n1+α,n0+β)
其中Z 为Beta分布的归一化因子.
Ep(p|X)=n1+αN+α+β
共轭分布:
一个似然概率p(x|θ)的共轭先验分布p(θ) 是使参数的后验分布的形式与其相一致的分布, 如上面例子的贝叶斯估计中, 我们令 p 的概率分布服从 beta分布, 经计算p 的后验也是beta分布, 只不过分布的参数由原来的(α,β)变成 (n1+α,n0+β). 而这个似然概率是二次分布(N次重复的做bernulli 实验). 也即二项分布的共轭分为beta分布.
推广:
多项分布的 共轭分布为 Dirichlet 分布.
多项分布:
p(n|p,N)=(Nn)K∏k=1pn(k)k≜Mult(n|p,N)
Dirichlet分布:
p(p|α)=D(p|α)≜Γ(∑Kk=1α)∏Kk=1Γ(αk)K∏k=1pαk−1k=∏Kk=1pαk−1kΔ(α)
其中, Δ(α)=∏Kk=1Γ(αk)Γ(∑Kk=1α).
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架