⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 covnnone.m

📁 高斯过程在回归和分类问题中的应用
💻 M
字号:
function [A, B] = covNNone(loghyper, x, z)% Neural network covariance function with a single parameter for the distance% measure. The covariance function is parameterized as:%% k(x^p,x^q) = sf2 * asin(x^p'*P*x^q / sqrt[(1+x^p'*P*x^p)*(1+x^q'*P*x^q)])%% where the x^p and x^q vectors on the right hand side have an added extra bias% entry with unit value. P is ell^-2 times the unit matrix and sf2 controls the% signal variance. The hyperparameters are:%% loghyper = [ log(ell)%              log(sqrt(sf2) ]%% For more help on design of covariance functions, try "help covFunctions".%% (C) Copyright 2006 by Carl Edward Rasmussen (2006-03-24)if nargin == 0, A = '2'; return; end              % report number of parameterspersistent Q K;                 [n D] = size(x);ell = exp(loghyper(1)); em2 = ell^(-2);sf2 = exp(2*loghyper(2));x = x/ell;if nargin == 2                                             % compute covariance  Q = x*x';  K = (em2+Q)./(sqrt(1+em2+diag(Q))*sqrt(1+em2+diag(Q)'));  A = sf2*asin(K);                 elseif nargout == 2                              % compute test set covariances  z = z/ell;   A = sf2*asin((em2+sum(z.*z,2))./(1+em2+sum(z.*z,2)));  B = sf2*asin((em2+x*z')./sqrt((1+em2+sum(x.*x,2))*(1+em2+sum(z.*z,2)')));else                                                % compute derivative matrix  % check for correct dimension of the previously calculated kernel matrix  if any(size(Q)~=n)      Q = x*x';  end  % check for correct dimension of the previously calculated kernel matrix  if any(size(K)~=n)      K = (em2+Q)./(sqrt(1+em2+diag(Q))*sqrt(1+em2+diag(Q)'));  end  if z == 1                                                   % first parameter    v = (em2+sum(x.*x,2))./(1+em2+diag(Q));    A = -2*sf2*((em2+Q)./(sqrt(1+em2+diag(Q))*sqrt(1+em2+diag(Q)'))- ...                            K.*(repmat(v,1,n)+repmat(v',n,1))/2)./sqrt(1-K.^2);    clear Q;  else                                                       % second parameter    A = 2*sf2*asin(K);    clear K;  endend

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -