1、 贝叶斯背景
MAP 本质是贝叶斯统计中的概念。贝叶斯公式:
p(θ∣D)=p(D∣θ),p(θ)p(D)
p(\\theta \\mid D) = \\frac{p(D \\mid \\theta), p(\\theta)}{p(D)}
p(θ∣D)=p(D)p(D∣θ),p(θ)
- θ\\thetaθ:未知参数或状态
- DDD:观测数据
- p(D∣θ)p(D\\mid\\theta)p(D∣θ):似然函数(Likelihood)
- p(θ)p(\\theta)p(θ):先验分布(Prior)
- p(θ∣D)p(\\theta\\mid D)p(θ∣D):后验分布(Posterior)
- p(D)=∫p(D∣θ)p(θ)dθp(D) = \\int p(D\\mid\\theta)p(\\theta)d\\thetap(D)=∫p(D∣θ)p(θ)dθ:边缘似然(Evidence),常作为归一化因子
1.1 最大后验定义
MAP 的定义:
θ^MAP=argmaxθp(θ∣D)
\\hat{\\theta}_{\\mathrm{MAP}} = \\arg \\max_{\\theta} p(\\theta \\mid D)
θ^MAP=argθmaxp(θ∣D)
代入贝叶斯公式:
θ^MAP=argmaxθp(D∣θ),p(θ)
\\hat{\\theta}_{\\mathrm{MAP}} = \\arg \\max_{\\theta} p(D \\mid \\theta), p(\\theta)
θ^MAP=argθmaxp(D∣θ),p(θ)
- 对比 MLE(最大似然估计):
θ^MLE=argmaxθp(D∣θ)
\\hat{\\theta}_{\\mathrm{MLE}} = \\arg \\max_{\\theta} p(D \\mid \\theta)
θ^MLE=argθmaxp(D∣θ)
-
关系:
- 若先验均匀:MAP=MLE\\text{MAP} = \\text{MLE}MAP=MLE
- MAP = MLE + 先验约束
-
MAP 可以理解为在数据拟合的同时考虑先验正则化
1.2 对数形式
通常求解 MAP 时使用对数:
θ^MAP=argmaxθ(logp(D∣θ)+logp(θ))
\\hat{\\theta}_{\\mathrm{MAP}} =
\\arg\\max_{\\theta}
\\big( \\log p(D\\mid\\theta) + \\log p(\\theta) \\big)
θ^MAP=argθmax(logp(D∣θ)+logp(θ))
- logp(D∣θ)\\log p(D\\mid\\theta)logp(D∣θ):数据拟合项
- logp(θ)\\log p(\\theta)logp(θ):正则化 / 先验项
2、 一维高斯观测的 MAP 推导
假设观测模型:
yi=θ+ϵi,ϵi∼N(0,σ2)
y_i = \\theta + \\epsilon_i,
\\quad
\\epsilon_i \\sim \\mathcal{N}(0, \\sigma^2)
yi=θ+ϵi,ϵi∼N(0,σ2)
先验:
θ∼N(μ0,σ02)
\\theta \\sim \\mathcal{N}(\\mu_0, \\sigma_0^2)
θ∼N(μ0,σ02)
2.1 似然函数
p(D∣θ)=∏i=1N12πσ2exp((yi−θ)22σ2)
p(D\\mid\\theta) =
\\prod_{i=1}^N
\\frac{1}{\\sqrt{2\\pi\\sigma^2}}
\\exp\\Big(
\\frac{(y_i-\\theta)^2}{2\\sigma^2}
\\Big)
p(D∣θ)=i=1∏N2πσ21exp(2σ2(yi−θ)2)
对数似然:
logp(D∣θ)=−N2log(2πσ2)−12σ2∑i(yi−θ)2
\\log p(D\\mid\\theta)=
-\\frac{N}{2} \\log(2\\pi\\sigma^2)-
\\frac{1}{2\\sigma^2} \\sum_i (y_i-\\theta)^2
logp(D∣θ)=−2Nlog(2πσ2)−2σ21i∑(yi−θ)2
2.2 先验对数
logp(θ)=−12log(2πσ02)−12σ02(θ−μ0)2
\\log p(\\theta)=
-\\frac12 \\log(2\\pi \\sigma_0^2)-
\\frac{1}{2\\sigma_0^2} (\\theta-\\mu_0)^2
logp(θ)=−21log(2πσ02)−2σ021(θ−μ0)2
2.3 MAP 公式
把根据将两项加起来:
logp(D∣θ)+logp(θ)=常数⏟与 θ 无关−[12σ2∑i(yi−θ)2+12σ02(θ−μ0)2]
\\log p(D \\mid \\theta)
+
\\log p(\\theta)=
\\underbrace{\\text{常数}}_{\\text{与 }\\theta\\text{ 无关}}-
\\left[
\\frac{1}{2\\sigma^2}
\\sum_i (y_i-\\theta)^2
+
\\frac{1}{2\\sigma_0^2}
(\\theta-\\mu_0)^2
\\right]
logp(D∣θ)+logp(θ)=与 θ 无关常数−[2σ21i∑(yi−θ)2+2σ021(θ−μ0)2]
关键认知点:
- 常数项 不影响 argmax\\arg\\maxargmax
- 最大化负的东西 ⇔ 最小化正的东西
因此:
argmaxθ(logp(D∣θ)+logp(θ))
\\arg\\max_\\theta
\\big(
\\log p(D \\mid \\theta)
+
\\log p(\\theta)
\\big)
argθmax(logp(D∣θ)+logp(θ))
等价于
θ^MAP=argminθ12σ2∑i(yi−θ)2+12σ02(θ−μ0)2
\\hat{\\theta}_{\\mathrm{MAP}}=
\\arg \\min_{\\theta}
\\frac{1}{2\\sigma^2} \\sum_i (y_i-\\theta)^2
+
\\frac{1}{2\\sigma_0^2} (\\theta-\\mu_0)^2
θ^MAP=argθmin2σ21i∑(yi−θ)2+2σ021(θ−μ0)2
- 直观:最小化数据残差 + 先验残差
求导:
∂∂θ[12σ2∑i(yi−θ)2+12σ02(θ−μ0)2]=0
\\frac{\\partial}{\\partial \\theta}
\\left[
\\frac{1}{2\\sigma^2} \\sum_i (y_i-\\theta)^2
+
\\frac{1}{2\\sigma_0^2} (\\theta-\\mu_0)^2
\\right]
= 0
∂θ∂[2σ21i∑(yi−θ)2+2σ021(θ−μ0)2]=0
−1σ2∑i(yi−θ)−1σ02(μ0−θ)=0
-\\frac{1}{\\sigma^2} \\sum_i (y_i-\\theta)-
\\frac{1}{\\sigma_0^2} (\\mu_0-\\theta)
= 0
−σ21i∑(yi−θ)−σ021(μ0−θ)=0
解出闭式解:
θ^MAP=Nσ2yˉ+1σ02μ0Nσ2+1σ02
\\hat{\\theta}_{\\mathrm{MAP}}=
\\frac{\\frac{N}{\\sigma^2} \\bar{y}
+
\\frac{1}{\\sigma_0^2} \\mu_0}
{\\frac{N}{\\sigma^2}
+
\\frac{1}{\\sigma_0^2}}
θ^MAP=σ2N+σ021σ2Nyˉ+σ021μ0
- yˉ=1N∑iyi\\bar{y} = \\frac{1}{N} \\sum_i y_iyˉ=N1∑iyi
- 直观:数据平均和先验平均加权融合,权重与方差成反比
详细求解过程:
先分别展开:
数据项
∑i(yi−θ)2=∑i(yi2−2yiθ+θ2)
\\sum_i (y_i-\\theta)^2=
\\sum_i (y_i^2 – 2y_i\\theta + \\theta^2)
i∑(yi−θ)2=i∑(yi2−2yiθ+θ2)
先验项
(θ−μ0)2=θ2−2μ0θ+μ02
(\\theta-\\mu_0)^2=
\\theta^2 – 2\\mu_0\\theta + \\mu_0^2
(θ−μ0)2=θ2−2μ0θ+μ02
2.对 θ\\thetaθ 求导
对 J(θ)J(\\theta)J(θ) 求导:
第一项
∂∂θ[12σ2∑i(yi−θ)2]=1σ2∑i(θ−yi)
\\frac{\\partial}{\\partial\\theta}
\\left[
\\frac{1}{2\\sigma^2}
\\sum_i (y_i-\\theta)^2
\\right]=
\\frac{1}{\\sigma^2}
\\sum_i (\\theta – y_i)
∂θ∂[2σ21i∑(yi−θ)2]=σ21i∑(θ−yi)
第二项
∂∂θ[12σ02(θ−μ0)2]=1σ02(θ−μ0)
\\frac{\\partial}{\\partial\\theta}
\\left[
\\frac{1}{2\\sigma_0^2}
(\\theta-\\mu_0)^2
\\right]=
\\frac{1}{\\sigma_0^2}(\\theta-\\mu_0)
∂θ∂[2σ021(θ−μ0)2]=σ021(θ−μ0)
3.令导数为零(一阶最优条件)
1σ2∑i(θ−yi)+1σ02(θ−μ0)=0
\\frac{1}{\\sigma^2}
\\sum_i (\\theta – y_i)
+
\\frac{1}{\\sigma_0^2}(\\theta-\\mu_0)
=0
σ21i∑(θ−yi)+σ021(θ−μ0)=0
整理:
Nσ2θ−1σ2∑iyi+1σ02θ−1σ02μ0=0
\\frac{N}{\\sigma^2}\\theta-
\\frac{1}{\\sigma^2}\\sum_i y_i
+
\\frac{1}{\\sigma_0^2}\\theta-
\\frac{1}{\\sigma_0^2}\\mu_0
=0
σ2Nθ−σ21i∑yi+σ021θ−σ021μ0=0
4.把 θ\\thetaθ 项合并
θ(Nσ2+1σ02)=1σ2∑iyi+1σ02μ0
\\theta
\\left(
\\frac{N}{\\sigma^2}
+
\\frac{1}{\\sigma_0^2}
\\right)=
\\frac{1}{\\sigma^2}\\sum_i y_i
+
\\frac{1}{\\sigma_0^2}\\mu_0
θ(σ2N+σ021)=σ21i∑yi+σ021μ0
5.解出 θ\\thetaθ
两边同时除以系数:
θ^MAP=1σ2∑iyi+1σ02μ0Nσ2+1σ02
\\hat{\\theta}_{\\mathrm{MAP}}=
\\frac
{
\\frac{1}{\\sigma^2}\\sum_i y_i
+
\\frac{1}{\\sigma_0^2}\\mu_0
}
{
\\frac{N}{\\sigma^2}
+
\\frac{1}{\\sigma_0^2}
}
θ^MAP=σ2N+σ021σ21∑iyi+σ021μ0
注意:
∑iyi=Nyˉ
\\sum_i y_i = N \\bar y
i∑yi=Nyˉ
代入即可得到上面的结果:
θ^MAP=Nσ2yˉ+1σ02μ0Nσ2+1σ02
\\boxed{
\\hat{\\theta}_{\\mathrm{MAP}}=
\\frac{\\frac{N}{\\sigma^2} \\bar{y}
+
\\frac{1}{\\sigma_0^2} \\mu_0}
{\\frac{N}{\\sigma^2}
+
\\frac{1}{\\sigma_0^2}}
}
θ^MAP=σ2N+σ021σ2Nyˉ+σ021μ0
6.这条公式的“物理意义”(非常重要)
精度加权平均
把它改写成:
θ^MAP=wdyˉ+wpμ0
\\hat{\\theta}_{\\mathrm{MAP}}=
w_d \\bar y
+
w_p \\mu_0
θ^MAP=wdyˉ+wpμ0
其中
wd=Nσ2Nσ2+1σ02,wp=1σ02Nσ2+1σ02
w_d = \\frac{\\frac{N}{\\sigma^2}}{\\frac{N}{\\sigma^2}+\\frac{1}{\\sigma_0^2}},
\\quad
w_p = \\frac{\\frac{1}{\\sigma_0^2}}{\\frac{N}{\\sigma^2}+\\frac{1}{\\sigma_0^2}}
wd=σ2N+σ021σ2N,wp=σ2N+σ021σ021
权重 ∝ 精度(方差的倒数)
3、 多维高斯线性模型 MAP
3.1 问题设定
假设我们有:
y=Hx+v,v∼N(0,R)
\\mathbf{y} = H \\mathbf{x} + \\mathbf{v}, \\quad \\mathbf{v} \\sim \\mathcal{N}(0, R)
y=Hx+v,v∼N(0,R)
- y∈Rm\\mathbf{y} \\in \\mathbb{R}^my∈Rm:观测向量
- x∈Rn\\mathbf{x} \\in \\mathbb{R}^nx∈Rn:未知状态向量
- H∈Rm×nH \\in \\mathbb{R}^{m \\times n}H∈Rm×n:观测矩阵
- R∈Rm×mR \\in \\mathbb{R}^{m \\times m}R∈Rm×m:观测噪声协方差(正定)
x∼N(μ0,Σ0)
\\mathbf{x} \\sim \\mathcal{N}(\\mu_0, \\Sigma_0)
x∼N(μ0,Σ0)
- μ0∈Rn\\mu_0 \\in \\mathbb{R}^nμ0∈Rn:先验均值
- Σ0∈Rn×n\\Sigma_0 \\in \\mathbb{R}^{n \\times n}Σ0∈Rn×n:先验协方差(正定)
目标:求 最大后验估计(MAP):
x^MAP=argmaxxp(x∣y)
\\hat{\\mathbf{x}}_{\\text{MAP}} = \\arg\\max_{\\mathbf{x}} p(\\mathbf{x}|\\mathbf{y})
x^MAP=argxmaxp(x∣y)
3.2 对数后验推导
根据贝叶斯公式:
p(x∣y)∝p(y∣x)p(x)
p(\\mathbf{x}|\\mathbf{y}) \\propto p(\\mathbf{y}|\\mathbf{x}) p(\\mathbf{x})
p(x∣y)∝p(y∣x)p(x)
- 观测似然:
p(y∣x)=1(2π)m/2∣R∣1/2exp(−12(y−Hx)TR−1(y−Hx))
p(\\mathbf{y}|\\mathbf{x}) =
\\frac{1}{(2\\pi)^{m/2} |R|^{1/2}}
\\exp\\Big(
-\\frac12 (\\mathbf{y}-H\\mathbf{x})^T R^{-1} (\\mathbf{y}-H\\mathbf{x})
\\Big)
p(y∣x)=(2π)m/2∣R∣1/21exp(−21(y−Hx)TR−1(y−Hx))
- 先验:
p(x)=1(2π)n/2∣Σ0∣1/2exp(−12(x−μ0)TΣ0−1(x−μ0))
p(\\mathbf{x}) =
\\frac{1}{(2\\pi)^{n/2} |\\Sigma_0|^{1/2}}
\\exp\\Big(
-\\frac12 (\\mathbf{x}-\\mu_0)^T \\Sigma_0^{-1} (\\mathbf{x}-\\mu_0)
\\Big)
p(x)=(2π)n/2∣Σ0∣1/21exp(−21(x−μ0)TΣ0−1(x−μ0))
取对数(丢掉常数项,因为不影响最大化):
logp(x∣y)=−12(y−Hx)TR−1(y−Hx)−12(x−μ0)TΣ0−1(x−μ0)+const
\\log p(\\mathbf{x}|\\mathbf{y})=
-\\frac12 (\\mathbf{y}-H\\mathbf{x})^T R^{-1} (\\mathbf{y}-H\\mathbf{x})
-\\frac12 (\\mathbf{x}-\\mu_0)^T \\Sigma_0^{-1} (\\mathbf{x}-\\mu_0)+
\\text{const}
logp(x∣y)=−21(y−Hx)TR−1(y−Hx)−21(x−μ0)TΣ0−1(x−μ0)+const
3.3 转化为加权最小二乘问题
MAP = 最大化后验 → 最小化负对数后验:
x^MAP=argminx(y−Hx)TR−1(y−Hx)⏟观测残差+(x−μ0)TΣ0−1(x−μ0)⏟先验正则
\\hat{\\mathbf{x}}_{\\text{MAP}}=
\\arg\\min_{\\mathbf{x}}
\\underbrace{(\\mathbf{y}-H\\mathbf{x})^T R^{-1} (\\mathbf{y}-H\\mathbf{x})}_{\\text{观测残差}}
+
\\underbrace{(\\mathbf{x}-\\mu_0)^T \\Sigma_0^{-1} (\\mathbf{x}-\\mu_0)}_{\\text{先验正则}}
x^MAP=argxmin观测残差(y−Hx)TR−1(y−Hx)+先验正则(x−μ0)TΣ0−1(x−μ0)
-
解释:
- 数据残差项:拟合观测
- 先验项:约束解靠近先验
-
权重由协方差矩阵的逆决定 → 协方差越小,约束越强
3.4 求闭式解
这是典型的二次型最小化问题,具体内容参见下面。
3.4.1 梯度求零
对 x\\mathbf{x}x 求梯度:
∇x[(y−Hx)TR−1(y−Hx)+(x−μ0)TΣ0−1(x−μ0)]=0
\\nabla_\\mathbf{x}
\\Big[
(\\mathbf{y}-H\\mathbf{x})^T R^{-1} (\\mathbf{y}-H\\mathbf{x})
+
(\\mathbf{x}-\\mu_0)^T \\Sigma_0^{-1} (\\mathbf{x}-\\mu_0)
\\Big]
= 0
∇x[(y−Hx)TR−1(y−Hx)+(x−μ0)TΣ0−1(x−μ0)]=0
计算梯度:
∇x(y−Hx)TR−1(y−Hx)=−2HTR−1(y−Hx)
\\nabla_\\mathbf{x}
(\\mathbf{y}-H\\mathbf{x})^T R^{-1} (\\mathbf{y}-H\\mathbf{x})=
-2 H^T R^{-1} (\\mathbf{y}-H\\mathbf{x})
∇x(y−Hx)TR−1(y−Hx)=−2HTR−1(y−Hx)
∇x(x−μ0)TΣ0−1(x−μ0)=2Σ0−1(x−μ0)
\\nabla_\\mathbf{x}
(\\mathbf{x}-\\mu_0)^T \\Sigma_0^{-1} (\\mathbf{x}-\\mu_0)=
2 \\Sigma_0^{-1} (\\mathbf{x}-\\mu_0)
∇x(x−μ0)TΣ0−1(x−μ0)=2Σ0−1(x−μ0)
合并:
−2HTR−1(y−Hx)+2Σ0−1(x−μ0)=0
-2 H^T R^{-1} (\\mathbf{y}-H\\mathbf{x})
+
2 \\Sigma_0^{-1} (\\mathbf{x}-\\mu_0)
= 0
−2HTR−1(y−Hx)+2Σ0−1(x−μ0)=0
除以 2 并整理:
HTR−1Hx+Σ0−1x=HTR−1y+Σ0−1μ0
H^T R^{-1} H \\mathbf{x}
+
\\Sigma_0^{-1} \\mathbf{x}=
H^T R^{-1} \\mathbf{y}
+
\\Sigma_0^{-1} \\mu_0
HTR−1Hx+Σ0−1x=HTR−1y+Σ0−1μ0
3.4.2 闭式解
x^MAP=(Σ0−1+HTR−1H)−1(HTR−1y+Σ0−1μ0)
\\boxed{
\\hat{\\mathbf{x}}_{\\text{MAP}}=
(\\Sigma_0^{-1} + H^T R^{-1} H)^{-1}
(H^T R^{-1} \\mathbf{y} + \\Sigma_0^{-1} \\mu_0)
}
x^MAP=(Σ0−1+HTR−1H)−1(HTR−1y+Σ0−1μ0)
- 条件协方差:
ΣMAP=(Σ0−1+HTR−1H)−1
\\boxed{
\\Sigma_{\\text{MAP}}=
(\\Sigma_0^{-1} + H^T R^{-1} H)^{-1}
}
ΣMAP=(Σ0−1+HTR−1H)−1
-
直观理解:
- 先验协方差小 → 先验更可信
- 观测协方差小 → 数据更可信
- MAP 均值 = 两者加权融合
3.5 数值稳定处理
- 矩阵求逆可能数值不稳定
- 推荐使用 Cholesky 分解 或 信息矩阵形式
3.5.1 信息矩阵形式
Λ0=Σ0−1,Λy=HTR−1H
\\Lambda_0 = \\Sigma_0^{-1}, \\quad
\\Lambda_y = H^T R^{-1} H
Λ0=Σ0−1,Λy=HTR−1H
ΣMAP=(Λ0+Λy)−1,x^MAP=ΣMAP(Λ0μ0+HTR−1y)
\\Sigma_{\\text{MAP}} = (\\Lambda_0 + \\Lambda_y)^{-1},
\\quad
\\hat{x}_{\\text{MAP}} = \\Sigma_{\\text{MAP}} (\\Lambda_0 \\mu_0 + H^T R^{-1} y)
ΣMAP=(Λ0+Λy)−1,x^MAP=ΣMAP(Λ0μ0+HTR−1y)
- 更稳定,尤其在协方差条件数很差时
3.5.2 Cholesky 求解
Λ=Σ0−1+HTR−1H
\\Lambda = \\Sigma_0^{-1} + H^T R^{-1} H
Λ=Σ0−1+HTR−1H
Cholesky 分解
Λ=LLT
\\Lambda = L L^T
Λ=LLT
先解
Lz=HTR−1y+Σ0−1μ0
L z = H^T R^{-1} y + \\Sigma_0^{-1} \\mu_0
Lz=HTR−1y+Σ0−1μ0
再解
LTx^MAP=z
L^T \\hat{x}_{\\text{MAP}} = z
LTx^MAP=z
避免显式求逆,提高数值稳定性
3.6 与卡尔曼滤波的联系
- 卡尔曼滤波后验公式:
x^k∣k=x^k∣k−1+Kk(yk−Hx^k∣k−1),Kk=Pk∣k−1HT(HPk∣k−1HT+R)−1
\\hat{x}_{k|k}=
\\hat{x}_{k|k-1}
+
K_k (y_k – H \\hat{x}_{k|k-1}),
\\quad
K_k=
P_{k|k-1} H^T (H P_{k|k-1} H^T + R)^{-1}
x^k∣k=x^k∣k−1+Kk(yk−Hx^k∣k−1),Kk=Pk∣k−1HT(HPk∣k−1HT+R)−1
-
可以看作 动态 MAP:
- (x^k∣k−1,Pk∣k−1)(\\hat{x}_{k|k-1}, P_{k|k-1})(x^k∣k−1,Pk∣k−1) = 先验
- (x^k∣k,Pk∣k)(\\hat{x}_{k|k}, P_{k|k})(x^k∣k,Pk∣k) = MAP 后验
-
数学上完全一致,只是卡尔曼做了增量更新
3.7 直觉与几何解释
3.8 小结
| 观测矩阵 | HHH | 状态到观测的线性映射 |
| 观测协方差 | RRR | 数据噪声协方差 |
| 先验均值 | μ0\\mu_0μ0 | 先验最可能解 |
| 先验协方差 | Σ0\\Sigma_0Σ0 | 先验不确定性 |
| MAP 均值 | x^MAP\\hat{x}_{\\text{MAP}}x^MAP | 后验最可能解 |
| 条件协方差 | ΣMAP\\Sigma_{\\text{MAP}}ΣMAP | 后验不确定性 |
| 信息矩阵 | Λ=Σ0−1+HTR−1H\\Lambda = \\Sigma_0^{-1} + H^T R^{-1} HΛ=Σ0−1+HTR−1H | 更稳定的计算方式 |
- 核心思想:MAP = 数据 + 先验 的加权融合
- 高斯情况下 → 二次型最小化
- 数值计算 → 信息矩阵 + Cholesky


