Calculating the matrix K at test inputs after training a Gaussian Process with fitrgp

11 ビュー (過去 30 日間)
If I trained a GP using training data D = {X, y} with fitrgp and I obtained my gprMdl:
gprMdl = fitrgp(data.X, data.Y, 'KernelFunction', 'squaredexponential', ...
'BasisFunction', 'none', 'verbose', 1, 'FitMethod', 'exact')
[ystar, ysd, yint] = predict(gprMdl, Xstar)
How can I obtain the matrix K(Xstar, Xstar)? I can not find the subfunction of the RegressionGP that calculates the matrices K.
Thanks

採用された回答

Gautam Pendse
Gautam Pendse 2015 年 11 月 9 日
Hi Umberto,
There is an undocumented way of calculating what you want. Here is an example:
rng(0,'twister');
N = 100;
x = linspace(-10,10,N)';
y = 1 + x*5e-2 + sin(x)./x + 0.2*randn(N,1);
gpr = fitrgp(x,y,'FitMethod','Exact','PredictMethod','Exact');
kfcn = gpr.Impl.Kernel.makeKernelAsFunctionOfXNXM(gpr.Impl.ThetaHat)
K = kfcn(x(1:5,:),x(1:7,:))
K(i,j) kernel function evaluated for x(i,:) and x(j,:). For example,
K(3,6)
kfcn(x(3,:),x(6,:))
I would be interested in knowing why you want to compute K.
Hope that helps,
Gautam
  7 件のコメント
Sterling Baird
Sterling Baird 2021 年 7 月 25 日
@Gautam Pendse does makeKernelAsFunctionOfXNXM produce the prior or posterior covariance matrix? If it's the prior, is there an undocumented function for producing the posterior covariance matrix (other than predictExactWithCov)? (happy to post as a separate question if this is too involved)
Sterling Baird
Sterling Baird 2021 年 7 月 25 日
編集済み: Sterling Baird 2021 年 7 月 25 日
I think I'm realizing that what I'm asking for is just the predictExactWithCov function (see Sampling from Posterior Distribution of GPR Model from fitrgp()). I think I misunderstood the "Exact" part of this function. I take it "exact" refers to not using sparse methods rather than assuming no noise in the input data (originally I was under the impression that it was the latter).

サインインしてコメントする。

その他の回答 (1 件)

Basim Khalid
Basim Khalid 2020 年 11 月 1 日
I have images of 15 plant leaf diseases i have extructed features using GLCM , how can i make a classifier using Gussian , can anyone help lease

カテゴリ

Help Center および File ExchangeGaussian Process Regression についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by