PRML第三章读书笔记——Linear Models For Regression 几何解释、多重共线性、贝叶斯线性回归、贝叶斯模型比较/模型证据/边缘似然、线性回归证据近似/参数有效数量

(拖了8个多月,我终于又开始读PRML了。从年初到现在,中间被很多其他事情耽搁了,包括读CVMLI、重学线性代数、刷闫令琪老师的CG Games101、读花书,等等……终于轮到PRML了,开心的一批。这回尽量每周读一章,嗯,尽量……)

3.1 Linear Basis Function Models

P143 线性回归的几何解释

记训练集标注为 t = ( t 1 , . . . , t N ) T \bf t = (t_1, ..., t_N)^T t=(t1,...,tN)T,并构成标注空间 R N \mathbb R^N RN S \mathcal{S} S是能在训练集的标注空间中用广义线性回归张成的超平面

  • 这里线性回归的基可以是带核 φ ( X ) \varphi (X) φ(X)的,实际上带核的仍然是张成超平面,而不是曲面,超平面的第 i i i个基由 φ i ( X ) \varphi_i(X) φi(X)决定, φ i \varphi_i φi表示第 i i i个特征, X X X表示所以的N个数据。
    这样线性回归是求了标注空间中训练集所在位置在超平面上的投影,垂直距离即为最小二乘的结果。
    在这里插入图片描述

P143 多重共线性

之前只知道多重共线性不好,到底哪里不好一直说不清楚。这里把它讲清楚。
多重共线性的灾难在于参数值爆炸

  • 我们记训练集(经过核变换后)为 Φ ∈ R N × M \Phi \in \mathbb{R}^{N \times M} ΦRN×M,其中 M M M是特征维度。用 r ( ⋅ ) r(\cdot) r()表示秩, r ( Φ ) < M r(\Phi)<M r(Φ)<M时,即产生了多重共线性问题,也即特征之间线性相关。注意到 r ( Φ ) = r ( Φ T Φ ) = r ( Φ Φ T ) r(\Phi) = r(\Phi^T \Phi) = r(\Phi \Phi^T) r(Φ)=r(ΦTΦ)=r(ΦΦT),(注:方法为证明 Φ x = 0 \Phi x =0 Φx=0 Φ T Φ x = 0 \Phi^T \Phi x= 0 ΦTΦx=0同解)。所以如何判断 r ( Φ ) r(\Phi) r(Φ) M M M的关系,只需要计算 Φ T Φ \Phi^T \Phi ΦTΦ是否奇异。
  • 实际上,如果 Φ T Φ \Phi^T \Phi ΦTΦ接近奇异,即行列式很小,那么线性回归的参数闭式解 ( Φ T Φ ) − 1 Φ T t (\Phi^T \Phi)^{-1} \Phi^T \bf t (ΦTΦ)1ΦTt会非常大
  • 从几何角度解释,即两个基向量方向非常近,那么为了表达出与这两个基向量几乎垂直的方向上的位置,这两个向量需要不断抵消,系数会增长非常快!

3.3 Bayesian Linear Regression

参考博客频率学派 vs 贝叶斯学派

P156 贝叶斯线性回归形式化

贝叶斯回归中,不断加样本,精确度矩阵的正定性会越强。
p ( t ∣ X , w , β ) = ∏ n = 1 N ( t n ∣ w T ϕ ( x n ) , β − 1 ) p ( w ) = N ( w ∣ m 0 , S 0 ) \begin{aligned} p( \textbf t| \textbf X, \textbf w,\beta) &=\prod_{n=1}^N \mathcal (t_n| \textbf w^T\phi(\textbf x_n), \beta^{-1}) \\ p( \textbf w) &=\mathcal N( \textbf w|\textbf m_0, \textbf S_0) \end{aligned} p(tX,w,β)p(w)=n=1N(tnwTϕ(xn),β1)=N(wm0,S0)
可以得到参数后验分布
p ( w ∣ t ) = N ( w ∣ m N , S N ) m N = S N ( S 0 − 1 m 0 + β Φ T t ) S N − 1 = S 0 − 1 + β Φ T Φ \begin{aligned} p(\textbf w| \textbf t) &=\mathcal N (\textbf w|\textbf m_N,\textbf S_N) \\ \textbf m_N&=\textbf S_N(\textbf S_0^{-1} \textbf m_0+\beta {\Phi}^T \textbf t) \\ \textbf S_N^{-1} &=\textbf S_0^{-1}+ \beta \Phi^T\Phi \end{aligned} p(wt)mNSN1=N(wmN,SN)=SN(S01m0+βΦTt)=S01+βΦTΦ
常取 m 0 = 0 \textbf m_0 = 0 m0=0 S 0 = α − 1 I \textbf S_0=\alpha ^{-1}\textbf I S0=α1I,所以
m N = β S N Φ T t S N − 1 = α I + β Φ T Φ \begin{aligned} \textbf m_N &=\beta \textbf S_N \Phi^T \textbf t \\ \textbf S_N^{-1} &=\alpha \textbf I + \beta \Phi ^T \Phi \end{aligned} mNSN1=βSNΦTt=αI+βΦTΦ.
Φ = [ ϕ ( x 0 ) T ; ϕ ( x 1 ) T ; ⋯   ; ϕ ( x N − 1 ) T ] \Phi=[\phi(x_0)^T; \phi(x_1)^T;\cdots;\phi(x_{N-1})^T] Φ=[ϕ(x0)T;ϕ(x1)T;;ϕ(xN1)T],进而
p ( t t e s t ∣ x , t , X , α , β ) = N ( t t e s t ∣ m N T ϕ ( x ) , σ N 2 ( x ) ) σ N 2 ( x ) = 1 β + ϕ ( x ) T S N ϕ ( x ) \begin{aligned} p(t_{test}|\textbf x,\textbf t, \textbf X, \alpha, \beta) &=\mathcal N (t_{test}|\textbf m_N^T\phi(\textbf x), \sigma^2_N(\textbf x)) \\ \sigma^2_N(\textbf x) &=\frac{1}{\beta} + \phi(\textbf x)^T\textbf S_N \phi(\textbf x) \end{aligned} p(ttestx,t,X,α,β)σN2(x)=N(ttestmNTϕ(x),σN2(x))=β1+ϕ(x)TSNϕ(x)

  • σ N + 1 2 ⩽ σ N 2 \sigma_{N+1}^2\leqslant \sigma_N^2 σN+12σN2
  • N → ∞ N\rightarrow\infty N时,上式第二项趋近于0.

P159 等价核Equivalent kernel

预测均值为
y ( x , m N ) = m N T ϕ ( x ) = β ϕ ( x ) T S N Φ T t = ∑ n = 1 N β ϕ ( x ) T S N ϕ ( x n ) t n = ∑ n = 1 N k ( x , x n ) t n \begin{aligned} y(\textbf x, \textbf m_N)= \textbf m_N^T\phi(x) = \beta\phi(\textbf x) ^T \textbf S_N {\Phi}^T \textbf t = \sum_{n=1}^N \beta \phi(x)^T \textbf S_N \phi(x_n)t_n= \sum_{n=1}^N k(\textbf x, \textbf x_n)t_n \end{aligned} y(x,mN)=mNTϕ(x)=βϕ(x)TSNΦTt=n=1Nβϕ(x)TSNϕ(xn)tn=n=1Nk(x,xn)tn
其中
k ( x , x ′ ) = β ϕ ( x ) T S N ϕ ( x ′ ) k(x, x')=\beta \phi(x)^T \textbf S_N\phi(x') k(x,x)=βϕ(x)TSNϕ(x)
称为平滑矩阵smoother matrix等价核

对于数据集,可以证明(严谨的证明待补,自己整了一遍,能证出来),有
∑ n = 1 N k ( x , x n ) = 1 \sum_{n=1}^N k(\textbf x,\textbf x_n)=1 n=1Nk(x,xn)=1
(这里需要数据点的个数 N N N多于独立的基函数;还要一个基函数是常数,对应偏置项,例如 ϕ 0 ( x ) = 1 \phi_0(\textbf x)=1 ϕ0(x)=1
另外,等价核可以分解成
k ( x , z ) = ψ ( x ) T ψ ( z ) k(\textbf x,\textbf z)=\psi(\textbf x)^T \psi (\textbf z) k(x,z)=ψ(x)Tψ(z)
其中 ψ ( x ) = β 1 / 2 S N 1 / 2 ϕ ( x ) \psi(\textbf x)=\beta^{1/2}\textbf S_N^{1/2} \phi(\textbf x) ψ(x)=β1/2SN1/2ϕ(x)
在这里插入图片描述

3.4 Bayesian Model Comparison

贝叶斯方法防止过拟合的原因在于平滑。而贝叶斯模型比较的方法则也是不需要测试集的,评估的是模型的后验分布
假设有一堆模型 { M i ∣ i = 1 , . . . , L } \{\mathcal M_i | i=1, ..., L\} {Mii=1,...,L},则
p ( M i ∣ D ) ∝ p ( M i ) p ( D ∣ M i ) p(\mathcal M_i|\mathcal D) \propto p(\mathcal M_i) p(\mathcal D |\mathcal M_i) p(MiD)p(Mi)p(DMi)
如果假设所有模型的 p ( M i ) p(\mathcal M_i) p(Mi)相等,则直接比较模型证据model evidence(也叫边缘似然marginal likelihood) p ( D ∣ M i ) p(\mathcal D|\mathcal M_i) p(DMi)。两个模型的后验之比 p ( D ∣ M i ) / p ( D ∣ M j ) p(\mathcal D|\mathcal M_i)/p(\mathcal D|\mathcal M_j) p(DMi)/p(DMj)叫做贝叶斯因子(Bayes factor)

一旦知道了模型关于数据的后验,数据预测方法为
p ( t ∣ x , D ) = ∑ i = 1 L p ( t ∣ x , M i , D ) p ( M i ∣ D ) p(t|\textbf x, \mathcal D)=\sum_{i=1}^L p(t|\textbf x, \mathcal M_i, \mathcal D)p(\mathcal M_i |\mathcal D) p(tx,D)=i=1Lp(tx,Mi,D)p(MiD)
这是混合分布mixture distribution的一个例子。其简单近似是选其中最可能的模型做预测,这叫做模型选择model selection

模型证据可以写成
p ( D ∣ M i ) = ∫ p ( D ∣ θ , M i ) p ( θ ∣ M i ) d θ p(\mathcal D|\mathcal M_i)=\int p(\mathcal D|\theta, \mathcal M_i)p(\theta|\mathcal M_i)d\theta p(DMi)=p(Dθ,Mi)p(θMi)dθ
注意模型证据实际上是参数后验估计的分母归一化项
p ( θ ∣ D , M i ) = p ( D ∣ θ , M i ) p ( θ ∣ M i ) p ( D ∣ M i ) p(\theta|\mathcal D,\mathcal M_i)=\frac{p(\mathcal D|\theta, \mathcal M_i)p(\theta|\mathcal M_i)}{p(\mathcal D|\mathcal M_i)} p(θD,Mi)=p(DMi)p(Dθ,Mi)p(θMi)

  • 对于越复杂的模型, θ \theta θ维度越高, p ( D ∣ θ , M i ) p(\mathcal D|\theta, \mathcal M_i) p(Dθ,Mi)能取得越高,但是对应高概率的 θ \theta θ区域 θ p ( θ ∣ M i ) Δ θ \theta p(\theta|\mathcal M_i) \Delta \theta θp(θMi)Δθ会越低,所以这里有一个trade-off
  • 贝叶斯模型比较倾向于选择正确的模型,假设模型 M 1 \mathcal M_1 M1是数据集 D \mathcal D D的真实模型, M 2 \mathcal M_2 M2是另一个模型,则数据集 D \mathcal D D的分布服从 p ( D ∣ M 1 ) p(\mathcal D|\mathcal M_1) p(DM1),在某种采样下会出现 p ( D ∣ M 1 ) p(\mathcal D| \mathcal M_1) p(DM1)小于 p ( D ∣ M 2 ) p(\mathcal D|\mathcal M_2) p(DM2)的情况,但是在期望贝叶斯因子来看,则一定会选出 M 1 \mathcal M_1 M1
    ∫ p ( D ∣ M 1 ) ln ⁡ p ( D ∣ M 1 ) p ( D ∣ M 2 ) d D \int p(\mathcal D|\mathcal M_1)\ln \frac{p(\mathcal D|\mathcal M_1)}{p(\mathcal D|\mathcal M_2)}d\mathcal D p(DM1)lnp(DM2)p(DM1)dD
    注意上式是KL散度的形式,恒为正。实际上如果不用对数贝叶斯因子,直接比较贝叶斯因子也能证,即 ∫ p ( D ∣ M 1 ) p ( D ∣ M 1 ) p ( D ∣ M 2 ) d D ⩾ 1 \int p(\mathcal D|\mathcal M_1) \frac{p(\mathcal D|\mathcal M_1)}{p(\mathcal D|\mathcal M_2)}d\mathcal D\geqslant 1 p(DM1)p(DM2)p(DM1)dD1
  • 贝叶斯比较方法虽好,但需要对模型的形式作出假设(应是对 θ \theta θ的先验分布做出假设),如果假设出问题,那就会出错。此外,如果参数的先验分布是反常的(例如方差趋于无穷大的高斯分布),那么模型证据会趋近于0,但也可以通过先考虑证据比值,即贝叶斯因子,取极限,得到有意义的答案。而在实际应用中,则直接用一个测试集,进行评估。(不得不说,这是一种妥协)

3.5 The Evidence Approximation

P165 线性基函数模型的证据近似

对于线性回归问题中的超参数 α , β \alpha, \beta α,β,可以用经验贝叶斯empirical Bayes(也叫第2类最大似然type 2maximum likelihood,推广的最大似然generalized maximum likelihood)的方法进行固定值优化
p ( t ∣ α , β ) = ∫ p ( t ∣ w , β ) p ( w ∣ α ) d w p(\textbf t|\alpha, \beta)=\int p(\textbf t|\textbf w, \beta)p(\textbf w|\alpha)d\textbf w p(tα,β)=p(tw,β)p(wα)dw
这里 t \textbf t t是label,省略了feature X X X.
化简后得到(配平方或者带入线性高斯模型)
ln ⁡ p ( t ∣ α , β ) = M 2 ln ⁡ α + N 2 ln ⁡ β − E ( m N ) − 1 2 ln ⁡ ∣ A ∣ − N 2 ln ⁡ ( 2 π ) \ln p(\textbf t|\alpha, \beta)=\frac{M}{2}\ln \alpha + \frac{N}{2}\ln \beta -E(\textbf m_N)-\frac{1}{2}\ln |\textbf A| - \frac{N}{2}\ln(2\pi) lnp(tα,β)=2Mlnα+2NlnβE(mN)21lnA2Nln(2π)
其中
E ( m N ) = β 2 ∥ t − Φ m N ∥ 2 + α 2 m N T m N A = α I + β Φ T Φ m N = β S N Φ t = β A − 1 Φ T t \begin{aligned} E( \textbf m_N) &=\frac{\beta}{2}\|\textbf t - \Phi \textbf m_N\|^2 + \frac{\alpha}{2}\textbf m_N^T \textbf m_N \\ A &=\alpha I+\beta \Phi^T\Phi \\ \textbf m_N &= \beta \textbf S_N \Phi \textbf t = \beta \textbf A^{-1} \Phi^T \textbf t \end{aligned} E(mN)AmN=2βtΦmN2+2αmNTmN=αI+βΦTΦ=βSNΦt=βA1ΦTt

  • 凑巧的是 A = ∇ 2 E A=\nabla^2E A=2E,是E的Hessian矩阵
  • 由此可以做实验观察 M M M的阶数与模型证据的关系
  • 考虑优化 α \alpha α β \beta β,记特征值分解: ( β Φ T Φ ) u i = λ i u i (\beta \Phi^T \Phi) \textbf u_i=\lambda_i \textbf u_i (βΦTΦ)ui=λiui,则 A \textbf A A的特征值为 α + λ i \alpha +\lambda_i α+λi. 所以有
    d d α ln ⁡ ∣ A ∣ = d d α ln ⁡ ∏ i ( λ i + α ) = ∑ i 1 λ i + α \frac{d}{d\alpha}\ln |\textbf A| = \frac{d}{d\alpha} \ln \prod_i (\lambda_i + \alpha)=\sum_i \frac{1}{\lambda_i + \alpha} dαdlnA=dαdlni(λi+α)=iλi+α1
    所以极值点方程为(这我怎么觉得不对啊,尤其中间 1 2 m N T m N \frac{1}{2}\textbf m_N^T \textbf m_N 21mNTmN那一项)
    ∂ ln ⁡ p ( t ∣ α , β ) ∂ α = M 2 α − 1 2 m N T m N − 1 2 ∑ i 1 λ i + α = 0 \frac {\partial \ln p(\textbf t|\alpha, \beta)}{\partial \alpha} =\frac{M}{2\alpha}-\frac{1}{2}\textbf m_N^T \textbf m_N -\frac{1}{2}\sum_i \frac{1}{\lambda_i+\alpha} = 0 αlnp(tα,β)=2αM21mNTmN21iλi+α1=0

    α m N T m N = M − α ∑ i 1 λ i + α = γ \alpha \textbf m_N ^T \textbf m_N = M-\alpha \sum_i \frac{1}{\lambda_i +\alpha} = \gamma αmNTmN=Mαiλi+α1=γ
    其中记 γ = ∑ i λ i α + λ i \gamma = \sum_i \frac{\lambda_i}{\alpha + \lambda_i} γ=iα+λiλi

    α = γ m N T m N \alpha = \frac{\gamma}{\textbf m_N^T\textbf m_ N} α=mNTmNγ
    注意右侧也和 α \alpha α有关,是一个隐方程
    α \alpha α优化方法为迭代方式:由 α \alpha α的初始值,找 m N \textbf m_N mN,再计算 γ \gamma γ,再估计 α \alpha α,如此迭代。
    对于 β \beta β,注意到 d λ i / d β = λ i / β d\lambda_i /d\beta = \lambda_i /\beta dλi/dβ=λi/β,所以
    d d β ln ⁡ ∣ A ∣ = d d β ∑ i ln ⁡ ( λ i + α ) = 1 β ∑ i λ i λ i + α = γ β \frac{d}{d\beta}\ln |\textbf A| = \frac{d}{d\beta}\sum_i \ln (\lambda_i + \alpha)=\frac{1}{\beta} \sum_i \frac{\lambda_i}{\lambda_i + \alpha } = \frac{\gamma}{\beta} dβdlnA=dβdiln(λi+α)=β1iλi+αλi=βγ
    不动点方程整理后可得(没有验证这个方程)
    1 β = 1 N − γ ∑ n = 1 N [ t n − m N T ϕ ( x n ) ] 2 \frac{1}{\beta} = \frac{1}{N-\gamma} \sum_{n=1}^N [t_n - \textbf m_N^T \phi(\textbf x_n)]^2 β1=Nγ1n=1N[tnmNTϕ(xn)]2
    优化方法同样是 β , m N , γ \beta, \textbf m_N, \gamma β,mN,γ迭代进行。当同时优化 α , β \alpha,\beta α,β时,可以在估计 γ \gamma γ后同时估计

P170 参数的有效数量

上一段的 γ \gamma γ其实衡量了良好确定well determined的参数数量,当 λ i α + λ i \frac{\lambda_i}{\alpha +\lambda_i} α+λiλi越接近1,对应 m N \textbf m_N mN的该分量越接近最大似然解;
λ i α + λ i \frac{\lambda_i}{\alpha +\lambda_i} α+λiλi越接近0,对应 m N \textbf m_N mN的该分量越接近先验 m 0 \textbf m_0 m0
在这里插入图片描述

在这里插入图片描述

参考文献:
[1] Christopher M. Bishop. Pattern Recognition and Machine Learning. 2006

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值