让我们先考虑关于α来最大化p(t|α,β)。首先定义特征方程:
(βΦTΦ)ui=λiui
根据式(3.81)得到A的特征值α+λi。现在考虑式(3.86)中涉及ln|A|的项关于α的导数。得到:
ddαln|A|=ddαln∏i(λi+α)=ddα∑iln(λi+α)=∑i1λi+α
因此式(3.86)关于α的驻点满足
0=M2α−12mTNmN−12∑i1λi+α
乘以2α,整理,可得
αmTNmN=M−α∑i1λi+α=γ
由于关于i的求和项有M个,因此γ可以写成:
γ=∑iλiα+λi
稍后讨论γ的解释。根据方程(3.90),得到使得边缘似然函数最大化的α满足:
α=γmTNmN
注意,这是alpha的一个隐式解,不仅仅因为γ与α相关,还因为后验分布众数mN本身也与α的选择有关。因此我们使用迭代的方法求解。首先我们选择一个α的初始值,再把这个初始值代入式(3.53)求得mN,利用式(3.91)计算得到γ,然后这些值再被代入式(3.92)来重新估计α的值。 不断执行这个过程直至收敛。注意,由于矩阵ΦTΦ是固定的,因此我们只需要在最开始的时候计算一次特征值,然后接下来只需乘以beta就可以得到λi的值。
需要强调的是,α的值是完全通过训练集的数据来确定的。最大似然方法不同,模型的最优的复杂度不需要独立的数据集。
类似地,我们可以关于β最大化对数边缘似然函数(3.86)。为了达到这个目的,我们注意到由式(3.87)定义的特征值λi正比于β,即dλi/dβ=λi/β,得到:
ddβln|A|=ddβ∑iln(λi+α)=1β∑iλiλi+α=γβ
因此,边缘似然的驻点满足:
0=N2β−12N∑n=1{tn−mTNϕ(xn)}2−γ2β
整理可得:
1β=1N−γN∑n=1{tn−mTNϕ(xn)}2
与之前一样,这是β的一个隐式解,可以通过迭代的方法解出。首先选择β的一个初始值,然后使用这个初始值计算mN,γ,然后使用式(3.95)重新估计β的值,重复直到收敛。如果α,β的值都是由数据确定的,那么他们的值可以在每次更新γ之后一起重新估计。