大数据:高斯过程回归

前面的几篇文章中介绍了很多回归问题的解决方法,本文介绍的是近年发展起来的一种机器学习回归方法——高斯过程回归(Gaussian Process Regression,GPR)。高斯过程回归有着严格的统计学习理论基础,对处理高维数、小样本、非线性等复杂问题具有很好的适应性,且泛化能力强。与神经网络、支持向量机相比,该方法具有容易实现、超参数自适应获取以及输出具有概率意义等优点,方便与预测控制、自适应控制、贝叶斯滤波技术等相结合来使用。

多元高斯分布

下图展示了一维高斯分布的概率密度分布图。一元高斯分布我们都很容易理解,接下来我们来看多元高斯分布。

一维高斯分布

在时域上,对于每一时刻,相应的表观值都服从高斯分布,即。其中是时刻表现值分布的均值,是时刻表现值分布的方差。那么对于整个时域上的联合分布,满足多元高斯分布。

多个时刻表现值,假定各个时刻的表现值都是相互独立的,那么联合概率密度为

可以写成:

其中:

其中每个时刻的均值用一个均值向量刻画,两个不同时刻之间的相关性用一个协方差矩阵刻画。如果各个时刻的表现值相互独立时,协方差矩阵就是对角阵;如果各个时刻的表现值存在相关性,那么协方差矩阵不再是对角阵,而只是具备半正定和对称的性质。

高斯过程

将多元高斯分布推广到连续域上的无限维高斯分布,就得到了高斯过程。举个例子,如果我们在每天的无数个时间点都进行测量,就会得到下图的情况,每一条曲线代表某一天无数个时间点的心率测量结果,无限次采样就得到了一个函数。每次采样无限维相当于采样一个函数之后,原本的概率密度函数就不再是点的分布 ,而变成了函数的分布

假如一个随机过程,任意有限维的多元采样都服从服从多元高斯分布,那么这个随机过程就是高斯过程。

因此我们只需要两个因素来确定一个高斯过程:

一个高斯过程被一个均值函数和协方差函数唯一地定义,并且一个高斯过程的有限维度的子集都服从一个多元高斯分布。高斯过程的协方差函数就是其核函数。核函数是高斯过程的核心,它决定了一个高斯过程的性质。核函数在高斯过程中起衡量任意两个点之间的“距离”的作用。

高斯过程回归

顾名思义,高斯过程回归就是通过高斯过程来求解回归问题。高斯过程回归直接从函数空间角度出发,定义一个高斯过程来描述函数分布,并在函数空间进行贝叶斯推理。

高斯过程回归(GPR)是通过有限的高维数据来拟合出相应的高斯过程,从而来预测任意随机变量下的函数值。简单来讲可以看作是根据先验+观测值推出后验的过程。

根据均值和协方差,我们可以定义一个高斯过程,但是此时并没有任何的观测值,是一个先验。在获得了一组观测值之后,可以根据观测值修正这个高斯过程的均值函数和核函数。

尽管GPR算法具有容易实现、超参数自适应获取以及预测输出具有概率意义等优点,但是它目前仍存在一些问题,主要有两个方面:一是计算量大;二是局限于高斯噪声分布假设。

对于计算量大的问题,通过使用数据子集近似法,从原始训练集中选择一个子集作为新的训练集,进行建模,并用于GPR预测。此外,还有降秩近似法、稀疏伪输入法等也可以有效降低计算量。

对局限于高斯噪声分布假设的问题,一般做法是先对其进行对数(log)变换处理,然后假设变换后的数据受高斯噪声干扰,此时GPR方法能得到较好的效果。

GPR算法的Python实现

根据GPR算法的实现思路,基于iris数据集,尝试使用GPR算法建立Sepal.Length、Sepal.Width、Petal.Length对Petal.Width回归问题的高斯过程回归模型,首先进行数据准备和初始化。

epsilon为控制精度,超参数theta1、theta2、theta3均初始化为 1。接着进入循环,开始迭代求取最优超参数。

经过139次迭代后,终于得到最优的超参数。

最终结果可见变量ypred 与真实值 y_test非常接近,同时标准差ysigma也在很小的范围,说明高斯随机过程预测的结果比较精确。

展开阅读全文

页面更新:2024-04-23

标签:协方差   过程   方差   子集   矩阵   概率   算法   函数   时刻   参数   数据

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top