PRML第六章读书笔记——Kernel Methods 静止核、对偶表示、构造核、高斯核函数、Fisher核、径向基函数网络Nadaraya-Watson模型、高斯过程回归分类自动相关确定

    科技2022-07-10  104

    (这一章感觉比较抽象,而且和之前学的线性回归和逻辑回归之间有奇妙的联系。最后一页高斯过程用于分类时选模型的公式推导我略去了,没有细看)

    目录

    静止核stationary kernel径向基函数radial basis function(同质核homogeneous kernel) 6.1 Dual Representations6.2 Constructing KernelsP296 高斯核P297 其他数据类型的核函数P297 从生成式模型构造核函数P298 Fisher核 6.3 Radial Basis Function NetworksP299 输入特征带噪声P301 Nadaraya-Watson模型 6.4 Gaussian ProcessesP306 高斯过程回归P311 学习超参数P312 自动相关确定automatic relevance determination(ARD)P313 高斯过程分类P319 高斯过程和神经网络的关系

    许多线性参数模型可以被转化为一个等价的“对偶表示”dual representation,其中,预测是基于训练数据点处的核函数线性组合 对于非线性特征空间映射 ϕ ( x ) \phi(\bm x) ϕ(x),核函数为 k ( x , x ′ ) = ϕ ( x ) T ϕ ( x ′ ) k(\bm x,\bm x')=\phi(\bm x)^T\phi(\bm x') k(x,x)=ϕ(x)Tϕ(x) 注意核函数是对称的 核函数有许多扩展,例如核技巧。如果有一个算法,只和输入向量的标量积有关,则可以用其它的核函数形式来替换这个标量积。例如把PCA扩展到非线性PCA,把knn扩展到非线性knn,以及带核的Fisher判别分析等。 (核技巧之前写过一篇博客:核技巧的一些知识点——CVMLI Prince读书随笔第7章,这里要融会贯通一下)

    核技巧能把特征升到高维,从而避免避免维度灾难吗? 实际上,升到高维后,数据仍然是高维空间中的低维流形。本身维度没有发生变化。

    静止核stationary kernel

    只和差有关,具有平移不变性 k ( x , x ′ ) = k ( x − x ′ ) k(\bm x,\bm x')=k(\bm x-\bm x') k(x,x)=k(xx)

    径向基函数radial basis function(同质核homogeneous kernel)

    只和距离有关,具有平移不变性 k ( x , x ′ ) = k ( ∥ x − x ′ ∥ ) k(\bm x,\bm x')=k(\|\bm x-\bm x'\|) k(x,x)=k(xx)

    6.1 Dual Representations

    考虑线性回归MAP解,损失函数为 J ( w ) = 1 2 ∑ n = 1 N { w T ϕ ( x n ) − t n } 2 + λ 2 w T w J(\bm w)=\frac{1}{2}\sum_{n=1}^N \{ \bm w^T\bm\phi(\bm x_n)-t_n \}^2+\frac{\lambda}{2}\bm w^T\bm w J(w)=21n=1N{wTϕ(xn)tn}2+2λwTw 回顾第3章,这个解为 w = ( λ I M + Φ T Φ ) − 1 Φ T t \bm w=(\lambda \bm I_M+\bm\Phi^T \bm\Phi)^{-1}\bm\Phi^T \bm t w=(λIM+ΦTΦ)1ΦTt 其中 Φ = [ ϕ ( x 1 ) , ϕ ( x 2 ) , ⋯   , ϕ ( x N ) ] T \bm\Phi=[\bm\phi(x_1),\bm\phi(x_2), \cdots, \bm\phi(x_N)]^T Φ=[ϕ(x1),ϕ(x2),,ϕ(xN)]T 用Woodbury恒等式,右侧变为 [ λ − 1 Φ T − λ − 1 Φ T ( I N + Φ λ − 1 Φ T ) − 1 Φ λ − 1 Φ T ] t = [ λ − 1 Φ T − λ − 1 Φ T ( λ I N + Φ Φ T ) − 1 Φ Φ T ] t = [ λ − 1 Φ T ( λ I N + Φ Φ T ) − 1 ( λ I N + Φ Φ T − Φ Φ T ) ] t = Φ T ( λ I N + Φ Φ T ) − 1 t \begin{aligned} &[\lambda^{-1}\bm\Phi^T-\lambda^{-1}\bm\Phi^T(\bm I_N+\bm\Phi \lambda^{-1} \bm\Phi^T)^{-1}\bm\Phi \lambda^{-1}\bm\Phi^T] \bm t \\ =&[\lambda^{-1}\bm\Phi^T-\lambda^{-1}\bm\Phi^T(\lambda \bm I_N+\bm\Phi \bm\Phi^T)^{-1}\bm\Phi \bm\Phi^T ]\bm t \\ =&[\lambda^{-1}\bm\Phi^T(\lambda \bm I_N+\bm\Phi\bm\Phi^T)^{-1}(\lambda \bm I_N + \bm\Phi \bm\Phi^T-\bm\Phi\bm\Phi^T) ]\bm t \\ =& \bm\Phi^T(\lambda \bm I_N+\bm\Phi\bm\Phi^T)^{-1} \bm t \end{aligned} ===[λ1ΦTλ1ΦT(IN+Φλ1ΦT)1Φλ1ΦT]t[λ1ΦTλ1ΦT(λIN+ΦΦT)1ΦΦT]t[λ1ΦT(λIN+ΦΦT)1(λIN+ΦΦTΦΦT)]tΦT(λIN+ΦΦT)1t 这波操作有点神奇。。。 (书上用的另一种推法,我没有细看,但是结果一样的,我为了保持思路连续,沿用了第3章的结论) 从而 y ( x ) = ϕ ( x ) T w = ϕ ( x ) T Φ T ( λ I N + Φ Φ T ) − 1 t = k ( x ) T ( K + λ I N ) − 1 t y(\bm x)=\bm\phi(\bm x)^T\bm w=\bm\phi(\bm x)^T\bm\Phi^T(\lambda \bm I_N+\bm\Phi \bm\Phi^T)^{-1}\bm t=\bm k(\bm x)^T(\bm K+\lambda \bm I_N)^{-1}\bm t y(x)=ϕ(x)Tw=ϕ(x)TΦT(λIN+ΦΦT)1t=k(x)T(K+λIN)1t

    其中 K = Φ Φ T \bm K=\bm\Phi \bm\Phi^T K=ΦΦT是Gram矩阵,元素为 K n m = ϕ ( x n ) T ϕ ( x m ) = k ( x n , x m ) K_{nm}=\bm\phi(\bm x_n)^T\bm\phi(\bm x_m)=k(\bm x_n,\bm x_m) Knm=ϕ(xn)Tϕ(xm)=k(xn,xm),向量 k \bm k k k n ( x ) = k ( x n , x ) k_n(\bm x)=k(\bm x_n,\bm x) kn(x)=k(xn,x)组成

    这里的对偶形式,完全由核函数表达结果是新观测和训练集计算核函数的结果的线性组合,满足 y ( x ) = ∑ n = 1 N α n k ( x n , x ) y(\bm x)=\sum_{n=1}^N \alpha_n k(\bm x_n, \bm x) y(x)=n=1Nαnk(xn,x)实际上 ( λ I N + K ) − 1 t (\lambda \bm I_N+\bm K)^{-1}\bm t (λIN+K)1t是向量 ϕ ( x n ) \bm\phi(\bm x_n) ϕ(xn)的线性组合(没证……)这里对偶形式求逆的维度为 N N N,当数据量大时,比原形式的复杂度要大很多不过这里可以直接定义核函数 k k k,而不用考虑特征映射 ϕ \bm\phi ϕ

    感知机也可以写出对偶形式

    6.2 Constructing Kernels

    最简单的构造核方法是从 k ( x , x ′ ) = ϕ ( x ) T ϕ ( x ′ ) k(x,x')=\phi(x)^T\phi(x') k(x,x)=ϕ(x)Tϕ(x) 如图所示

    但我们可以不需要直接设计 ϕ \phi ϕ,直接构造 k k k,但是要保证它对应一个标量积(可以是无穷维)

    关于核函数的判定参见最上方贴出的之前的博客,这里再回顾一下:

    对于任意 { x n } \{\bm x_n\} {xn} K \bm K K需要半正定,其中元素由 k ( x n , x m k(\bm x_n,\bm x_m k(xn,xm)组成

    一种构造核的办法是根据已有的核构造新的

    P296 高斯核

    k ( x , x ′ ) = exp ⁡ ( − ∥ x − x ′ ∥ 2 / ( 2 σ 2 ) ) k(\bm x,\bm x')=\exp \left(-\| \bm x-\bm x'\|^2/(2\sigma^2)\right) k(x,x)=exp(xx2/(2σ2)) 可以认为构造方法为 exp ⁡ ( − x T x / ( 2 σ 2 ) exp ⁡ ( x T x ′ / σ 2 ) exp ⁡ ( − x ′ T x ′ / ( 2 σ 2 ) ) \exp(-\bm x^T\bm x/(2\sigma^2)\exp(\bm x^T\bm x'/\sigma^2)\exp(-\bm x'^T\bm x'/(2\sigma^2)) exp(xTx/(2σ2)exp(xTx/σ2)exp(xTx/(2σ2)) 使用上述图中(6.14)和(6.16)进行构造 注意特征向量是无穷维的 高斯核函数可以不局限于欧氏距离 k ( x , x ′ ) = exp ⁡ ( − 1 2 σ 2 ( κ ( x , x ) + κ ( x ′ , x ′ ) − 2 κ ( x , x ′ ) ) k(\bm x,\bm x')=\exp(-\frac{1}{2\sigma^2}(\kappa(\bm x,\bm x) +\kappa(\bm x',\bm x') - 2\kappa(\bm x, \bm x')) k(x,x)=exp(2σ21(κ(x,x)+κ(x,x)2κ(x,x)) (注意,高斯核函数是径向基核函数的一种)

    P297 其他数据类型的核函数

    核函数中的自变量不一定要是实数或向量,可以是其他符号(如图、集合、字符串等等)

    P297 从生成式模型构造核函数

    我们可以在判别式框架中使用生成式模型,生成式模型可以自然处理缺失数据,以及隐马尔科夫模型下的边长序列。判别式模型则在判别式任务中表现更好。 一种将结合的方式是使用生成式模型定义核,在判别式方法中使用 例如 k ( x , x ′ ) = p ( x ) p ( x ′ ) k(\bm x,\bm x')=p(\bm x)p(\bm x') k(x,x)=p(x)p(x) 这里实际上把 p p p看作是特征向量 进一步,可以构造出 k ( x , x ′ ) = ∑ i p ( x ∣ i ) p ( x ′ ∣ i ) p ( i ) k(\bm x,\bm x')=\sum_i p(\bm x|i)p(\bm x'|i)p(i) k(x,x)=ip(xi)p(xi)p(i) k ( x , x ′ ) = ∫ p ( x ∣ z ) p ( x ′ ∣ z ) p ( z ) d z k(\bm x,\bm x')=\int p(\bm x|\bm z)p(\bm x'|\bm z)p(\bm z)d\bm z k(x,x)=p(xz)p(xz)p(z)dz 在隐马尔科夫模型生成的序列数据中 X = { x 1 , ⋯   , x L } \bm X=\{\bm x_1, \cdots, \bm x_L\} X={x1,,xL},隐状态为 Z = { z 1 , ⋯   , z L } \bm Z=\{\bm z_1, \cdots, \bm z_L\} Z={z1,,zL},从而可以度量两个序列的相似性 k ( X , X ′ ) = ∑ Z p ( X ∣ Z ) p ( X ′ ∣ Z ) p ( Z ) k(\bm X,\bm X')=\sum_{\bm Z} p(\bm X|\bm Z)p(\bm X'|\bm Z)p(\bm Z) k(X,X)=Zp(XZ)p(XZ)p(Z) 这种方法可以扩展到变长序列

    P298 Fisher核

    也是用于生成式模型。这里不展开讲,仅Mark一下 其想法是找到一个核,度量分布中两个变量 x , x ′ \bm x,\bm x' x,x之间的相似性(分布由参数 θ \bm\theta θ控制)。Fisher得分Fisher score定义为 g ( θ , x ) = ∇ θ ln ⁡ p ( x ∣ θ ) \bm g(\bm\theta,\bm x)=\nabla_{\bm\theta}\ln p(\bm x|\bm\theta) g(θ,x)=θlnp(xθ) Fisher核定义为 k ( x , x ′ ) = g ( θ , x ) T F − 1 g ( θ , x ′ ) k(\bm x,\bm x')=\bm g(\bm\theta, \bm x)^T\bm F^{-1}\bm g(\bm\theta,\bm x') k(x,x)=g(θ,x)TF1g(θ,x) 其中 F \bm F F为Fisher信息矩阵Fisher information matrix F = E x ∼ p x ( ⋅ ∣ θ ) [ g ( θ , x ) g ( θ , x ) T ] \bm F=\mathbb E_{\bm x\sim p_{\bm x}(\cdot|\bm\theta)} [g(\bm\theta, \bm x)g(\bm\theta,\bm x)^T] F=Expx(θ)[g(θ,x)g(θ,x)T] 这种方法的动机来自信息几何information geometry 对于高斯分布 p ( x ∣ μ ) p(\bm x|\mu) p(xμ),均值是参数,方差固定为 S \bm S S,Fisher核的形式可以算出为 k ( x , x ′ ) = ( x − μ ) T S − 1 ( x ′ − μ ) k(\bm x,\bm x')=(\bm x-\mu)^T\bm S^{-1}(\bm x'-\mu) k(x,x)=(xμ)TS1(xμ) 这是马氏距离Mahalanobis distance的平方

    6.3 Radial Basis Function Networks

    P299 输入特征带噪声

    ϕ j ( x ) = h ( ∥ x − μ j ∥ ) \phi_j(\bm x)=h(\| \bm x-\mu_j\|) ϕj(x)=h(xμj)

    考虑输入 x \bm x x带有噪声的回归问题,噪声分布为 ν ( ξ ) \nu(\bm\xi) ν(ξ) 则平方和损失变成 E = 1 2 ∑ n = 1 N ∫ { y ( x n + ξ ) − t n } 2 ν ( ξ ) d ξ E=\frac{1}{2}\sum_{n=1}^N\int \{ y(\bm x_n+\bm\xi)-t_n\}^2 \nu(\bm\xi)d\bm\xi E=21n=1N{y(xn+ξ)tn}2ν(ξ)dξ 用变分法,可以得到 y ( x ) = ∑ n = 1 N t n h ( x − x n ) y(\bm x)=\sum_{n=1}^N t_n h(\bm x-\bm x_n) y(x)=n=1Ntnh(xxn) 其中 h ( x − x n ) = ν ( x − x n ) ∑ i = 1 N ν ( x − x i ) h(\bm x-\bm x_n)=\frac{\nu (\bm x - \bm x_n)}{\sum_{i=1}^N \nu (\bm x-\bm x_i)} h(xxn)=i=1Nν(xxi)ν(xxn) 如果 ν ( ξ ) \nu(\xi) ν(ξ)各向同性,即只和 ∥ ξ ∥ \|\xi\| ξ有关,那么基函数就是径向的 径向基函数出现了! ∑ n h ( x − x n ) = 1 \sum_n h(\bm x-\bm x_n)=1 nh(xxn)=1,这种标准化的作用如图所示。这可以避免所有的基函数都很小。 如果每个数据点都关联一个基函数,那么开销很大。可以只让部分数据关联基函数。例如随机选择一个子集,或者采用正交最小平方orthogonal least squares,顺序选择每一个样本点,使平方和损失下降最快。也可以基于K-means算法,得到一组基中心,这是基中心不与数据点重合

    P301 Nadaraya-Watson模型

    Nadaraya-Watson模型和第3章的等价核模型,可以对比起来看 假定有训练集 { x n , t n } \{\bm x_n, t_n\} {xn,tn},采用第2章的Parzen密度估计来建模联合分布 p ( x , t ) = 1 N ∑ n = 1 N f ( x − x n , t − t n ) p(\bm x, t) = \frac{1}{N}\sum_{n=1}^N f(\bm x-\bm x_n, t-t_n) p(x,t)=N1n=1Nf(xxn,ttn) 其中 f f f是分量密度函数,则 y ( x ) = E [ t ∣ x ] = ∫ − ∞ ∞ t p ( t ∣ x ) d t = ∫ t p ( x , t ) d t ∫ p ( x , t ) d t = ∑ n ∫ t f ( x − x n , t − t n ) d t ∑ m ∫ f ( x − x m , t − t m ) d t \begin{aligned} y(\bm x) &= \mathbb E[t|\bm x]=\int_{-\infty}^{\infty}tp(t|\bm x)dt \\ &=\frac{\int tp(\bm x,t)dt}{\int p(\bm x,t)dt} \\ &=\frac{\sum_n \int tf(\bm x-\bm x_n, t-t_n)dt}{\sum_m \int f(\bm x - \bm x_m , t-t_m)dt} \end{aligned} y(x)=E[tx]=tp(tx)dt=p(x,t)dttp(x,t)dt=mf(xxm,ttm)dtntf(xxn,ttn)dt 假定 ∫ − ∞ ∞ f ( x , t ) t d t = 0 \int_{-\infty}^{\infty} f(\bm x, t)tdt=0 f(x,t)tdt=0 y ( x ) = ∑ n k ( x , x n ) t n y(\bm x)=\sum_n k(\bm x,\bm x_n)t_n y(x)=nk(x,xn)tn 其中 k ( x , x n ) = g ( x − x n ) ∑ m g ( x − x m ) g ( x ) = ∫ − ∞ ∞ f ( x , t ) d t \begin{aligned} k(\bm x,\bm x_n)= &\frac{g(\bm x - \bm x_n)}{\sum_m g(\bm x-\bm x_m)}\\ g(\bm x)=& \int_{-\infty}^{\infty}f(\bm x, t)dt \end{aligned} k(x,xn)=g(x)=mg(xxm)g(xxn)f(x,t)dt 而且易得,这个结果称之为Nadaraya-Watson模型,或者核回归kernel regression ∑ n k ( x , x n ) = 1 \sum_n k(\bm x, \bm x_n)=1 nk(x,xn)=1 这和等价核类似 注意这里不仅仅是 t t t的期望, p ( t ∣ x ) p(t|\bm x) p(tx)是可以求出来的 p ( t ∣ x ) = ∑ n f ( x − x n , t − t n ) ∑ m ∫ f ( x − x m , t − t m ) d t p(t|\bm x) = \frac{\sum_n f(\bm x-\bm x_n, t-t_n)}{\sum_m \int f(\bm x - \bm x_m , t-t_m)dt} p(tx)=mf(xxm,ttm)dtnf(xxn,ttn) 如果把 f f f建模成各向同性的高斯,则结果如图所示 此外,可以把 p ( t , x ) p(t, \bm x) p(t,x)建模成混合高斯,这样核函数不在训练点处,但是成分少了,推断时计算效率高了。

    总之,在(1)输入变量被污染;(2)Nadaraya-Watson模型,这两种假设下,都能得到同样的径向基函数模型

    6.4 Gaussian Processes

    直接定义函数 y y y上的先验概率分布,而不是定义在参数上。(这句话很深刻,也是高斯过程的主要特点。另外,高斯过程是一个随机过程) 很多模型都能看作是高斯过程的形式,包括ARMA、卡尔曼滤波、径向基函数网络等。

    高斯过程是定义在函数 y ( x ) y(\bm x) y(x)上的一个概率分布,使得在任意点集 x 1 , ⋯   , x N \bm x_1, \cdots, \bm x_N x1,,xN计算的 y y y的集合联合起来服从高斯分布。更一般的情况下可以用更合理的方式为 y ( x 1 ) , ⋯   , y ( x N ) y(\bm x_1),\cdots,y(\bm x_N) y(x1),,y(xN)赋予联合概率分布,来确定一个随机过程 y ( x ) y(\bm x) y(x),高斯过程中, N N N个变量 y 1 , ⋯   , y N y_1, \cdots, y_N y1,,yN上的联合概率分布完全由二阶统计确定,大部分应用中,直接把 y y y的均值设为0,方差则由核函数确定 E [ y ( x n ) y ( x m ) ] = k ( x n , x m ) \mathbb E[y(\bm x_n)y(\bm x_m)]=k(\bm x_n, \bm x_m) E[y(xn)y(xm)]=k(xn,xm) 对于线性回归而言 y = Φ w \bm y=\bm\Phi \bm w y=Φw E [ y ] = Φ E [ w ] = 0 c o v [ y ] = E [ y y T ] = Φ E [ w w T ] Φ T = K \begin{aligned} \mathbb E[\bm y]= &\bm\Phi \mathbb E[\bm w]=\bm 0 \\ cov[\bm y] =&\mathbb E[\bm y\bm y^T]=\bm\Phi \mathbb E[\bm w\bm w^T]\bm\Phi^T=K \end{aligned} E[y]=cov[y]=ΦE[w]=0E[yyT]=ΦE[wwT]ΦT=K 也可以直接定义核函数,而不用选择基函数。如图所示(图中横轴是 x x x,纵轴是 y y y,每一条线是一个 y ( x ) y(x) y(x)的采样。这里应该可以理解为有无穷个 { x , y } \{x,y\} {x,y}样本),第一个是高斯核,第二个是指数核 k ( x , x ′ ) = exp ⁡ ( − θ ∣ x − x ′ ∣ ) k(x,x')=\exp(-\theta |x-x'|) k(x,x)=exp(θxx),后者对应Ornstein-Uhlenbeck过程,描述布朗运动

    P306 高斯过程回归

    在回归中,要考虑噪声。 y = y ( x ) , t = y + ϵ y=y(\bm x),t=y+\epsilon y=y(x)t=y+ϵ,也即 p ( t ∣ y ) = N ( t ∣ y , β − 1 I N ) p ( y ) = N ( y ∣ 0 , K ) \begin{aligned} p(\bm t|\bm y) &=\mathcal N(\bm t|\bm y, \beta^{-1}\bm I_N) \\ p(\bm y)&=\mathcal N (\bm y|\bm 0,\bm K) \end{aligned} p(ty)p(y)=N(ty,β1IN)=N(y0,K) 根据线性高斯模型,得到 p ( t ) = N ( t ∣ 0 , C ) p(\bm t)=\mathcal N(\bm t|\bm 0, \bm C) p(t)=N(t0,C) 其中 C ( x n , x m ) = k ( x n , x m ) + β − 1 δ n m C(\bm x_n,\bm x_m)=k(\bm x_n, \bm x_m)+\beta^{-1} \delta_{nm} C(xn,xm)=k(xn,xm)+β1δnm

    一种常用的核函数是指数-二次核exponential-quadratic kernel k ( x n , x m ) = θ 0 exp ⁡ { − θ 1 2 ∥ x n − x m ∥ 2 } + θ 2 + θ 3 x n T x m k(\bm x_n, \bm x_m)=\theta_0 \exp\left\{ -\frac{\theta_1}{2}\|\bm x_n-\bm x_m\|^2 \right\}+\theta_2+\theta_3 \bm x_n^T\bm x_m k(xn,xm)=θ0exp{2θ1xnxm2}+θ2+θ3xnTxm

    推断时,考虑一个新样本点 p ( t N + 1 ∣ t ) p(t_{N+1}|\bm t) p(tN+1t)(这里略去了 x \bm x x为了书写方便)。先考虑 p ( t N + 1 ) p(\bm t_{N+1}) p(tN+1),有 p ( t N = 1 ) = N ( t N + 1 ∣ 0 , C N + 1 ) p(\bm t_{N=1})=\mathcal N(\bm t_{N+1}|\bm 0,\bm C_{N+1}) p(tN=1)=N(tN+10,CN+1) 其中 C N + 1 \bm C_{N+1} CN+1 ( N + 1 ) × ( N + 1 ) (N+1)\times(N+1) (N+1)×(N+1)的协方差矩阵,满足 C N + 1 = [ C N k k T c ] \bm C_{N+1}=\begin{bmatrix} \bm C_N & \bm k \\ \bm k^T & c \end{bmatrix} CN+1=[CNkTkc] 其中 k \bm k k中第 n n n个元素为 k ( x n , x N + 1 ) k(\bm x_n,\bm x_{N+1}) k(xn,xN+1) c = k ( x N + 1 , x N + 1 ) + β − 1 c=k(\bm x_{N+1}, \bm x_{N+1})+\beta^{-1} c=k(xN+1,xN+1)+β1 利用第2章求高斯分布的条件概率,得 p ( t N + 1 ∣ t ) p(t_{N+1}|\bm t) p(tN+1t)的均值、方差为 m ( x N + 1 ) = k T C N − 1 t σ 2 ( x N + 1 ) = c − k T C N − 1 k \begin{aligned} m(\bm x_{N+1})&=\bm k^T\bm C_N^{-1}\bm t\\ \sigma^2(\bm x_{N+1})&=c-\bm k^T\bm C_N^{-1}\bm k \end{aligned} m(xN+1)σ2(xN+1)=kTCN1t=ckTCN1k

    另外,如果考虑有限个样本,则这里的结果与贝叶斯线性回归完全一致(方差用woodbury恒等式直接替换就可以验证) 所以这里也有核函数的线性组合 m ( x N + 1 ) = ∑ n = 1 N a n k ( x n , x N + 1 ) m(\bm x_{N+1})=\sum_{n=1}^N a_n k(\bm x_n, \bm x_{N+1}) m(xN+1)=n=1Nank(xn,xN+1) 其中 a n a_n an C N − 1 t \bm C_N^{-1}\bm t CN1t的第 n n n个分量

    对比高斯过程和线性基函数模型,高斯过程需要对维度为 N × N N\times N N×N的矩阵求逆,而线性基函数只需要考虑特征有关的 M × M M\times M M×M矩阵求逆(这也和woodbury恒等式的变换有关)。所以效率低。但是高斯过程的一个好处是可以考虑协方差只能被表达为无穷维的情况对于大数据集,直接应用高斯过程很困难,所以有很多种近似方法高斯过程可以扩展到高维目标观测上

    P311 学习超参数

    高斯过程的超参数 θ \bm \theta θ在协方差矩阵的核函数中(也就是说核函数带参数了!) 所以目标可以是最大化似然 p ( t ∣ θ ) p(\bm t|\bm \theta) p(tθ) ln ⁡ p ( t ∣ θ ) = − 1 2 ln ⁡ ∣ C N ∣ − 1 2 t T C N − 1 t − N 2 ln ⁡ ( 2 π ) \ln p(\bm t|\bm \theta)=-\frac{1}{2} \ln |\bm C_N| - \frac{1}{2}\bm t^T\bm C_N^{-1}\bm t-\frac{N}{2}\ln (2\pi) lnp(tθ)=21lnCN21tTCN1t2Nln(2π) 求梯度得到 ∂ ∂ θ i ln ⁡ p ( t ∣ θ ) = − 1 2 T r ( C N − 1 ∂ C N ∂ θ i ) + 1 2 t T C N − 1 ∂ C N ∂ θ i C N − 1 t \frac{\partial}{\partial \theta_i} \ln p(\bm t|\bm \theta) = -\frac{1}{2}Tr\left( \bm C_N^{-1}\frac{\partial \bm C_N}{\partial \theta_i} \right) + \frac{1}{2}\bm t^T\bm C_N^{-1}\frac{\partial \bm C_N}{\partial \theta_i} \bm C_N^{-1}\bm t θilnp(tθ)=21Tr(CN1θiCN)+21tTCN1θiCNCN1t 如果用完全贝叶斯的想法。可以直接在 θ \bm \theta θ上引入先验,这样能直接积分出 p ( t ) p(\bm t) p(t),但精确积分困难,这里进行近似(所以从贝叶斯的角度来看,求极大似然是一种近似)

    P312 自动相关确定automatic relevance determination(ARD)

    对于高维输入,ARD用来选特征的重要性。例如采用二维输入对应的核函数 k ( x , x ′ ) = θ 0 exp ⁡ { − 1 2 ∑ i = 1 2 η i ( x i − x i ′ ) 2 } k(\bm x,\bm x')=\theta_0 \exp \left \{ -\frac{1}{2}\sum_{i=1}^2 \eta_i(x_i-x_i')^2 \right\} k(x,x)=θ0exp{21i=12ηi(xixi)2} 从先验采样的 y y y如图所示 当 η n \eta_n ηn减小时, y y y x i x_i xi之间的关系变得不敏感。 第二个例子是从 y = sin ⁡ ( 2 π x 1 ) y=\sin(2\pi x_1) y=sin(2πx1)中采样, t t t y y y之上加入随机噪声; x 2 x_2 x2则在 x 1 x_1 x1基础上加入随机噪声; x 3 x_3 x3则从另一个独立的高斯分布中采样,优化结果如图所示 ARD可以整合到上文的指数-二次核中,其中 D D D是输入维度 k ( x n , x m ) = θ 0 exp ⁡ { − 1 2 ∑ i = 1 D η i ( x n i − x m i ) 2 } + θ 2 + θ 3 x n T x m k(\bm x_n, \bm x_m)=\theta_0 \exp\left\{ -\frac{1}{2} \sum_{i=1}^D \eta_i(x_{ni}-x_{mi})^2 \right\}+\theta_2+\theta_3 \bm x_n^T\bm x_m k(xn,xm)=θ0exp{21i=1Dηi(xnixmi)2}+θ2+θ3xnTxm

    P313 高斯过程分类

    由于高斯过程中 y y y是联合高斯分布,所以为了适应分类任务,要在输出 a \bm a a套上激活函数得到 t \bm t t。例如二分类问题,如图所示 p ( t ∣ a ) = σ ( a ) t ( 1 − σ ( a ) ) 1 − t p(t|a)=\sigma(a)^t(1-\sigma(a))^{1-t} p(ta)=σ(a)t(1σ(a))1t 仿照回归 p ( a N + 1 ) = N ( a N + 1 ∣ 0 , C N + 1 ) p(\bm a_{N+1})=\mathcal N (\bm a_{N+1}|\bm 0,\bm C_{N+1}) p(aN+1)=N(aN+10,CN+1) 其中 C ( x n , x m ) = k ( x n , x m ) + ν δ n m C(\bm x_n,\bm x_m)=k(\bm x_n,\bm x_m)+\nu\delta_{nm} C(xn,xm)=k(xn,xm)+νδnm ν \nu ν是一个提前固定的参数,保证 C \bm C C正定(注意 K \bm K K半正定) p ( t N + 1 = 1 ∣ t N ) = ∫ p ( t N + 1 = 1 ∣ a N + 1 ) p ( a N + 1 ∣ t N ) d a N + 1 p(t_{N+1}=1|\bm t_N)=\int p(t_{N+1}=1|a_{N+1})p(a_{N+1}|\bm t_N)da_{N+1} p(tN+1=1tN)=p(tN+1=1aN+1)p(aN+1tN)daN+1 其中 p ( t N + 1 = 1 ∣ a N + 1 ) = σ ( a N + 1 ) p(t_{N+1}=1|a_{N+1})=\sigma(a_{N+1}) p(tN+1=1aN+1)=σ(aN+1) 这积分没有解析解,所以采用近似。三种方法:

    变分推断variational inference期望传播expectation propagation拉普拉斯近似laplace approximation

    这里考虑第三种方法,把 p ( a N + 1 ∣ t N ) p(a_{N+1}|\bm t_N) p(aN+1tN)近似成高斯分布,这样就可以用第4章的高斯分布和logistic函数卷积进行近似(probit函数代替logistic函数)的方法求解 p ( a N + 1 ∣ t N ) = ∫ p ( a N + 1 ∣ a N ) p ( a N ∣ t N ) d a N (1) p(a_{N+1}|\bm t_N)=\int p(a_{N+1}|\bm a_N)p(\bm a_N|\bm t_N)d\bm a_N \tag{1} p(aN+1tN)=p(aN+1aN)p(aNtN)daN(1) 这里 a N + 1 a_{N+1} aN+1 t N \bm t_N tN在给定 a N \bm a_N aN的条件下独立。其中已知 p ( a N + 1 ∣ a N ) = ( a N + 1 ∣ k T C N − 1 a N , c − k T C N − 1 k ) p(a_{N+1}|\bm a_N)=\mathcal (a_{N+1}|\bm k^T \bm C_N^{-1}\bm a_N, c-\bm k^T \bm C_N^{-1}\bm k) p(aN+1aN)=(aN+1kTCN1aN,ckTCN1k) 这里再对 p ( a N ∣ t N ) p(\bm a_N|\bm t_N) p(aNtN)运用拉普拉斯近似 考虑到 p ( a N ∣ t N ) ∝ p ( a N ) p ( t N ∣ a N ) p(\bm a_N|\bm t_N)\propto p(\bm a_N)p(\bm t_N|\bm a_N) p(aNtN)p(aN)p(tNaN),其中 p ( a N ) = N ( a N ∣ 0 , C N ) p ( t N ∣ a N ) = ∏ n = 1 N σ ( a n ) t n ( 1 − σ ( a n ) ) 1 − t n = ∏ n = 1 N e a n t n σ ( − a n ) \begin{aligned} p(\bm a_N) &=\mathcal N(\bm a_N|\bm 0, \bm C_N) \\ p(\bm t_N|\bm a_N) &=\prod_{n=1}^N \sigma(a_n)^{t_n}(1-\sigma(a_n))^{1-t_n}=\prod_{n=1}^N e^{a_nt_n}\sigma(-a_n) \end{aligned} p(aN)p(tNaN)=N(aN0,CN)=n=1Nσ(an)tn(1σ(an))1tn=n=1Neantnσ(an) 所以 p ( a N ∣ t N ) p(\bm a_N| \bm t_N) p(aNtN)的概率对数为 Ψ ( a N ∣ t N ) = ln ⁡ p ( a N ) + ln ⁡ p ( t N ∣ a N ) = − 1 2 a N T C N − 1 a N − N 2 ln ⁡ ( 2 π ) − 1 2 ln ⁡ ∣ C N ∣ + t N T a N − ∑ n = 1 N ln ⁡ ( 1 + e a n ) + const \begin{aligned} \Psi(\bm a_N|\bm t_N) &=\ln p(\bm a_N)+\ln p(\bm t_N|\bm a_N) \\ &= -\frac{1}{2}\bm a_N^T\bm C_N^{-1}\bm a_N-\frac{N}{2}\ln(2\pi)-\frac{1}{2}\ln |\bm C_N|+\bm t_N^T \bm a_N-\sum_{n=1}^N \ln (1+e^{a_n})+\text{const} \end{aligned} Ψ(aNtN)=lnp(aN)+lnp(tNaN)=21aNTCN1aN2Nln(2π)21lnCN+tNTaNn=1Nln(1+ean)+const

    ∇ Ψ ( a N ) = t N − σ N − C N − 1 a N \nabla \Psi(\bm a_N)=\bm t_N- \bm \sigma_N-\bm C_N^{-1}\bm a_N Ψ(aN)=tNσNCN1aN 因为 σ N \bm \sigma_N σN a N \bm a_N aN有关,导致上式零点不好求,用泰勒展开近似(这第三波近似了) ∇ 2 Ψ ( a N ) = − W N − C N − 1 \nabla^2 \Psi(\bm a_N)=-\bm W_N - \bm C_N^{-1} 2Ψ(aN)=WNCN1 其中 W N \bm W_N WN是对角矩阵,元素为 σ ( a n ) ( 1 − σ ( a n ) ) \sigma(a_n)(1-\sigma(a_n)) σ(an)(1σ(an)). 能看出 ∇ 2 Ψ ( a N ) \nabla^2 \Psi(\bm a_N) 2Ψ(aN)负定,所以泰勒展开近似的 p ( a N ∣ t N ) p(\bm a_N|\bm t_N) p(aNtN)上凸,有最大值 所以二次迭代公式为 a N n e w = C N ( I + W N C N ) − 1 { t N − σ N + W N a N } \bm a_N^{new}=\bm C_N(\bm I+\bm W_N\bm C_N)^{-1}\{ \bm t_N-\bm \sigma_N+\bm W_N\bm a_N \} aNnew=CN(I+WNCN)1{tNσN+WNaN} 这样一波算下来,能得到 q ( a N ) q(\bm a_N) q(aN)去近似 p ( a N ∣ t N ) p(\bm a_N|\bm t_N) p(aNtN),进而求出 E [ a N + 1 ∣ t N ] = k T ( t N − σ N ) v a r [ a N + 1 ∣ t N ] = c − k T ( W N − 1 + C N ) − 1 k \begin{aligned} \mathbb E[a_{N+1}|\bm t_N] =& \bm k^T(\bm t_N-\bm \sigma_N) \\ var[a_{N+1}|\bm t_N] =&c-\bm k^T(\bm W_N^{-1}+\bm C_N)^{-1}\bm k \end{aligned} E[aN+1tN]=var[aN+1tN]=kT(tNσN)ckT(WN1+CN)1k 得到 p ( a N + 1 ∣ t N ) p(a_{N+1}|\bm t_N) p(aN+1tN)的近似,从而得到 p ( t N + 1 ∣ t N ) p(t_{N+1}|\bm t_N) p(tN+1tN) 如果只关心决策边界,那么只需要看均值就已经结束了,不用再处理式(1)的积分

    此外,我们还可以用上文的方法学习超参数 θ \bm \theta θ,即优化 p ( t N ∣ θ ) p(\bm t_N|\bm \theta) p(tNθ),这一页公式太繁琐,我跳过了没看。。。(饶恕了自己。。)

    可视化的结果如图

    P319 高斯过程和神经网络的关系

    当神经网络的隐含单元 M → ∞ M\to\infty M时(把隐含单元看作基函数,也即基函数的数量有无穷多的极限情况下),对于参数 w \bm w w的一大类恰当先验分布,神经网络产生的函数分布会趋于高斯过程。不过,在极限情况下,神经网络的输出变量会相互独立,不再共享隐含单元的“统计优势”

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

    Processed: 0.020, SQL: 8