【问题标题】:Conditioning Gaussian process regression调节高斯过程回归
【发布时间】:2016-09-29 02:24:08
【问题描述】:

我想知道如何调节高斯过程(例如,通过调整协方差函数?)以仅生成满足某些预设约束的轨迹。例如,以下用 R 编写的代码会生成平滑曲线(图 1),我想让曲线从原点开始,即 f(0)=0。此外,是否可以强制附加特征,例如,使所有曲线下凹并且只有一个拐点等。

require(MASS) ## mvrnorm function is needed 
## to generate covariance matrix using a squared exponential function
calc.sigma <- function( X1, X2, sigma_sq, phi_sq, tau_sq ) {
    Sigma <- matrix( rep( 0, length(X1)*length(X2) ), nrow=length(X1) )
    for( i in 1:nrow(Sigma) ) {
        for( j in 1:ncol(Sigma) ) {
            Sigma[i,j] <- sigma_sq*exp(-phi_sq*(X1[i] - X2[j])^2) + ifelse(i==j, tau_sq, 0.0);
        }
    }
    return(Sigma)
}

x <- seq(0,1,len=100) # input value
## parameters for covariance function 
sigma_sq <- 1 
phi_sq <- 10
tau_sq <- 1e-6

## parameters for mean function
a <- 1
b <- 5
mu <- a*( 1-exp(-b*x) ) # mean
# plot(mu)

sigma <- calc.sigma( x, x , sigma_sq, phi_sq, tau_sq )

N <- 10 # number of samples
samples <- matrix( rep( 0, length(x)*N ), ncol=N )
for ( i in 1:N ) {
    samples[,i] <- mvrnorm( 1, mu, sigma )
}

plot( x, samples[,1], type="l", xlim=c(0,1), ylim=c(-5,5) )
for( i in 2:ncol(samples) ){
    lines( x, samples[,i] ) 
}

Figure 1.

【问题讨论】:

    标签: gaussian normal-distribution


    【解决方案1】:

    在我看来,对高斯过程的理解并不透明。

    虽然有许多来自实验的轨迹,但可以检查它们是否是高斯过程的结果,可以将它们建模为高斯过程,并在估计平均值时找到平均值或误差。

    但反过来是不可能的:即使一个人有一个精确的高斯过程模型,每个实验中的轨迹也会不同——因为过程中发生的事情服从正态分布...

    因此,不,您无法从概率过程中获得可预测的行为(给定轨迹,甚至不是共享某些特征的轨迹族),即使您可以塑造过程的概率特征。

    【讨论】:

    • 感谢您的来信。当然,这个过程是概率性的。毫无疑问。但是我认为均值和协方差函数的参数确实允许对过程进行一些控制。作为一个极端的例子,我认为在第一行和第一列中将协方差设置为零只会产生零(即,我原来的帖子中的 f(0)=0)。然而,轨迹在接近零时不再平滑。我在想调整协方差函数可能会解决这个问题并寻求帮助。
    【解决方案2】:

    您请求的第一个属性很容易实现:

    • 当且仅当均值函数和方差函数在 x=0 处消失时,您的 GP 的样本路径几乎肯定会满足属性 f(0)=0
    • 请注意,这仅适用于非平稳 GP(当然,也适用于具有零均值和方差函数的平凡 GP)。
    • 一个典型的例子是标准布朗运动在[0; +\infty),具有零均值函数和协方差函数 k(x,y) = min(x,y)。
    • 从通用协方差函数 k0 开始,您可以使用条件公式获得此属性:k(x,y) = k0(x,y) - k0(x,0) k0(0,y) / k0( 0,0)。

    以上所有内容都可以推广到任何属性,即对函数的某些值的等式约束,或此类的线性组合。

    关于仿射约束的调节是可能的,但更难:

    • 样本路径的单调性相当于导数上的无限数量的正性约束(每个点一个)。
    • 样本路径的凹度等效于二阶导数的无限数量的正性约束。
    • 这些属性的近似版本可以通过以有限数量的此类约束为条件来强制执行 GP。然而,由此产生的过程不再是 GP。有关更多详细信息,请参见例如 [1]。
    • 我不知道是否有任何现成的软件包可以提出这个建议。

    [1] S. Da Veiga & A. Marrel (2012), 具有不等式约束的高斯过程建模, Annales de la faculté des Sciences de Toulouse Mathématiques, 21(3), 529-555 .

    【讨论】:

      猜你喜欢
      • 2015-09-10
      • 2018-12-06
      • 1970-01-01
      • 2020-07-16
      • 2021-03-08
      • 1970-01-01
      • 2017-12-09
      • 2021-10-07
      相关资源
      最近更新 更多