高斯过程回归GPR-MATLAB语法解释
MATLAB原文
1.1 readtable
语法:
T = readtable(filename)
通过从文件中读取列向数据来创建表;
例子:
tbl =readtable(‘abalone.data’,‘Filetype’,‘text’,‘ReadVariableNames’,false);
参数解释:
1.1.1 ‘filename’- 文件名
readtable 基于文件的扩展名确定文件格式:
.txt、.dat 或 .csv(适用于带分隔符的文本文件).xls、.xlsb、.xlsm、.xlsx、.xltm、.xltx 或 .ods(适用于电子表格文件)
1.1.2 ‘FileType’ - 文件类型
文件类型,以逗号分隔的对组形式指定,其中包含 ‘FileType’ 以及 ‘text’ 或 ‘spreadsheet’。
当 filename 不包含文件扩展名或扩展名不是以上列出来的任一项时,请指定 ‘FileType’ 名称-值对组参数。
示例:'FileType','text'
数据类型: char | string
1.1.3 ‘ReadVariableNames’ - 读取第一行作为变量名称
读取第一行以作为变量名称的指示符,指定为逗号分隔的对组,包含 ‘ReadVariableNames’ 和 true、false、1 或 0。如果未指定,readtable 将自动检测是否存在变量名称。
指示符 | 说明 |
---|---|
true | 当要读取的区域的第一行包含表格的变量名称时使用。readtable 将使用检测到的变量名称为 T 中的每列创建一个变量。 |
false | 当要读取的区域的第一行包含表格中的数据时使用。readtable 将创建 ‘Var1’,…,‘VarN’ 形式的默认变量名称,其中 N 是变量的数量。 |
未指定 | 如果未指定,readtable 将自动检测 true 或 false,并进行相应的处理。 |
注意:如果 ‘ReadVariableNames’ 和 ‘ReadRowNames’ 逻辑指示符都为 true,则 readtable 将读取的区域第一行第一列中的名称保存为属性 T.Properties.DimensionNames 中的第一个维度名称。
如果除 opts 导入选项外您还指定了 ReadVariableNames 参数,readtable 的行为将因您的指定而异:
- 如果 ReadVariableNames 为 true,则通过使用导入选项对象的 VariableNamesRange 或 VariableNamesLine 属性从指定的文件中读取变量名称。
- 如果 ReadVariableNames 为 false,则从导入选项对象的 VariableNames 属性中读取变量名称。
比如:tbl = readtable(‘abalone.data’,‘Filetype’,‘text’,‘ReadVariableNames’,false);
tbl.Properties.VariableNames = {‘Sex’,‘Length’,‘Diameter’,‘Height’,‘WWeight’,‘SWeight’,‘VWeight’,‘ShWeight’,‘NoShellRings’};
1.2 fitrgp
- 拟合高斯过程回归(GPR)模型
语法:
gprMdl = fitrgp(___,Name,Value)
返回先前语法中任何输入参数的GPR模型,以及由一个或多个名称、值对参数指定的其他选项。
例如,您可以指定拟合方法FitMethod,预测方法PredictMethod,协方差函数KernelFunction或活动集选择方法ActiveSetMethod。您还可以训练交叉验证的模型a cross-validated model。
例子:
gprMdl = fitrgp(tbl,‘NoShellRings’,‘KernelFunction’,‘ardsquaredexponential’,‘FitMethod’,‘sr’,‘PredictMethod’,‘fic’,‘Standardize’,1)
输出: gprMdl = RegressionGPPredictorNames: {'Sex' 'Length' 'Diameter' 'Height' 'WWeight' 'SWeight' 'VWeight' 'ShWeight'}ResponseName: 'NoShellRings'CategoricalPredictors: 1ResponseTransform: 'none'NumObservations: 4177KernelFunction: 'ARDSquaredExponential'KernelInformation: [1×1 struct]BasisFunction: 'Constant'Beta: 10.914842268491327Sigma: 2.024259943112117PredictorLocation: [10×1 double]PredictorScale: [10×1 double]Alpha: [1000×1 double]ActiveSetVectors: [1000×10 double]PredictMethod: 'FIC'ActiveSetSize: 1000FitMethod: 'SR'ActiveSetMethod: 'Random'IsActiveSetVector: [4177×1 logical]LogLikelihood: -9.001273721582709e+03ActiveSetHistory: [1×1 struct]BCDInformation: []
具体的Name,Value:
1.2.1 Fitting
1.2.1.1 ‘FitMethod’- 估计GPR模型参数的方法
估计GPR模型参数的方法,指定为逗号分隔的一对,由“ FitMethod”和以下项之一组成。
Fit Method | Description |
---|---|
‘none’ | 无需估算,可以将初始参数值用作已知参数值。 |
‘exact’ | 精确的高斯过程回归。如果n≤2000,则为默认值,其中n是观察数(样本数) |
‘sd’ | 数据点近似值的子集。如果n> 2000,则为默认值,其中n是观察数(样本数) |
‘sr’ | 回归子近似值的子集。 |
‘fic’ | 完全独立的条件逼近。 |
示例:“ FitMethod”,“ fic”
1.2.1.2 ‘BasisFunction’- GPR模型中的显式基础
GPR模型中的显式基础Explicit Basis,指定为由’BasisFunction’和以下项之一组成的逗号分隔对。如果n是观察次数,则基函数将项H*β添加到模型中,其中H是基矩阵,β是基系数,p*1向量。
Explicit Basis | Basis Matrix |
---|---|
‘none’ | Empty matrix. |
‘constant’ | H=1(n-by-1 vector of 1s, 其中n是观察数(样本数)) |
‘linear’ | H=[1,X] |
‘pureQuadratic’ | H=[1,X,X2], |
Function handle | fitrgp调用的函数句柄hfcn为:H = hfcn(X),其中X是预测变量n-d矩阵,H是基函数的n-p矩阵。 |
示例:“ BasisFunction”,“ pureQuadratic”
显式基函数,h将输入x投影到p维特征空间中。h(x)是一组基函数,它们将d维的原始特征向量x转换为p维中的新特征向量h(x)。
1.2.1.3 ‘Beta’-系数的初始值
显式基础Explicit Basis系数的初始值,指定为由’Beta’和p*1向量组成的逗号分隔对,其中p是基矩阵H中的列数。
基矩阵取决于对显式基函数the explicit basis function的选择,如下所示(另请参阅BasisFunction)。
1.2.1.4 ‘Sigma’-高斯过程模型的噪声标准偏差的初始值
高斯过程模型的噪声标准差的初始值,指定为由“ Sigma”和正标量值组成的逗号分隔对。
示例:“ Sigma”,2
1.2.1.5 ‘ConstantSigma’- 高斯过程模型的噪声标准差Sigma常数
高斯过程模型的噪声标准差的Sigma常数,指定为逻辑标量。当ConstantSigma为true时,fitrgp不会优化Sigma的值,而是在整个计算过程中将初始值作为值。
示例:“ ConstantSigma”,true
1.2.1.6 ‘Standardize’ - 标准化数据的指标
标准化数据的指示符,指定为以逗号分隔的一对,由“标准化”和逻辑值组成。
如果设置“ Standardize”,1,则软件将分别通过列均值和标准差对预测器数据的每一列进行居中和缩放。该软件未标准化它为分类预测变量生成的虚拟变量列中包含的数据。
示例:“ Standardize”,1
示例:“ Standardize”,true
1.2.1.7 ‘Regularization’ -正则化标准偏差
回归子集(‘sr’)和完全独立的条件变量(‘fic’)的稀疏方法子集的正则化标准差,指定为由“正则化”和标量值组成的逗号分隔对。
示例:‘Regularization’,0.2
1.2.1.8 ‘ComputationMethod’-计算对数似然和梯度的方法
使用回归子集(‘sr’)和完全独立的条件(‘fic’)近似方法(指定为以逗号分隔的一对,由’ComputationMethod’和下列值之一组成)来计算参数估计的对数似然度和梯度的方法。
'qr'-使用基于QR分解的方法,此选项可提供更好的准确性。
'v'-使用基于V方法的方法。此选项提供对数似然梯度的更快计算。
示例:“ ComputationMethod”,“ v”
1.2.2 Kernel (Covariance) Function
1.2.2.1 ‘KernelFunction’-协方差函数的形式
具体的核函数形式
示例:“ KernelFunction”,“ matern32”
1.2.2.2 ‘KernelParameters’-内核参数的初始值
内核参数的初始值,指定为以逗号分隔的一对,由“ KernelParameters”和一个向量组成。
向量的大小和值取决于KernelFunction名称-值对参数指定的协方差函数的形式。
具体的核函数形式
示例:“ KernelParameters”,theta
1.2.3 Active Set Selection
1.2.3.1 ‘ActiveSetMethod’-活动集选择方法
活动集选择方法,指定为以逗号分隔的一对,由“ ActiveSetMethod”和以下项之一组成。
Method | Description |
---|---|
‘random’ | 随机选择 |
‘sgma’ | 稀疏贪婪矩阵逼近 |
‘entropy’ | 基于微分熵的选择 |
‘likelihood’ | 基于对数似然选择的回归子集 |
所有活动集选择方法(“随机”除外)都需要存储一个n×m矩阵,其中m是活动集的大小,n是观察数。
示例:‘ActiveSetMethod’,‘entropy’
1.2.4 Prediction
1.2.4.1 ‘PredictMethod’-用于进行预测的方法
在给定参数的情况下用于根据高斯过程模型进行预测的方法,指定为以逗号分隔的一对,其中包括“ PredictMethod”和以下参数之一。
Method | Description |
---|---|
‘exact’ | 精确的高斯过程回归方法。如果n≤10000,则为默认值。 |
‘bcd’ | 块坐标下降。如果n> 10000,则为默认值。 |
‘sd’ | 数据点近似值的子集。 |
‘sr’ | 回归子近似值的子集。 |
‘fic’ | 完全独立的条件近似。 |
示例:“ PredictMethod”,“ bcd”
1.2.5 Optimization
1.2.5.1 ‘Optimizer’-用于参数估计的优化器
用于参数估计的优化器,指定为以逗号分隔的一对,由“ Optimizer”和此表中的值组成。
Value | Description |
---|---|
‘quasinewton’ | 对Hessian的密集,对称,基于秩1的拟牛顿近似 |
‘lbfgs’ | 基于LBFGS的Hessian拟牛顿近似 |
‘fminsearch’ | 使用Lagarias等人的单纯形搜索方法进行无约束的非线性优化。 |
‘fminunc’ | 不受约束的非线性优化(需要Optimization Toolbox™许可证) |
‘fmincon’ | 约束非线性优化(需要Optimization Toolbox许可证) |
有关优化器的更多信息,请参见算法。
示例:“ Optimizer”,“ fmincon”
1.2.6 Hyperparameter Optimization
1.2.6.1 ‘OptimizeHyperparameters’-要优化的参数
要优化的参数,指定为以逗号分隔的一对,由“ OptimizeHyperparameters”和以下项之一组成:
- ‘none’-不优化。
- ‘auto’ — Use {‘Sigma’}.
- ‘all’-优化所有合格参数,等效于{‘BasisFunction’,‘KernelFunction’,‘KernelScale’,‘Sigma’,‘Standardize’}。
1.2.7 Output Arguments
1.2.7.1 gprMdl —高斯过程回归模型
高斯过程回归模型,作为RegressionGP或RegressionPartitionedModel对象返回。
- 如果进行交叉验证,即使用’Crossval’, ‘KFold’, ‘Holdout’, ‘Leaveout’, 或 ‘CVPartition’ 名称/值对之一,则gprMdl是RegressionPartitionedModel对象。您不能使用RegressionPartitionedModel对象使用预测进行预测。有关此对象的方法和属性的更多信息,请参见RegressionPartitionedModel。
- 如果不交叉验证,则gprMdl是RegressionGP对象。您可以使用predict方法将此对象用于预测。有关此对象的方法和属性的更多信息,请参见RegressionGP。
1.2.8 Active Set Selection and Parameter Estimation
- fitrgp接受拟合,预测和活动集选择方法的任何组合。在某些情况下,可能无法计算预测响应的标准偏差,因此无法计算预测间隔。详见预测。在某些情况下,由于训练数据的大小,使用精确的方法可能会很昂贵。
- PredictorNames属性为每个原始预测变量名称存储一个元素。例如,如果有三个预测变量,其中一个是具有三个级别的分类变量,则PredictorNames是字符向量的1×3单元格数组。
- ExpandedPredictorNames属性为每个预测变量(包括伪变量)存储一个元素。例如,如果有三个预测变量,其中一个是具有三个级别的类别变量,则ExpandedPredictorNames是字符向量的1×5单元格数组。
- 类似地,Beta属性为每个预测变量(包括虚拟变量)存储一个beta系数。
- X属性将训练数据存储为原始输入。它不包括虚拟变量。
- 当您具有包含许多内核参数的GPR模型时(例如,使用具有许多预测变量的ARD内核时),在fitrgp中初始化Hessian逼近的默认方法可能会很慢。在这种情况下,请考虑指定“自动”或初始步长值。
- 您可以设置’Verbose’,1以显示迭代诊断消息,然后开始使用带有默认fitrgp优化的LBFGS或准牛顿优化器来训练GPR模型。
如果几秒钟后未显示迭代诊断消息,则可能是Hessian逼近的初始化时间太长。在这种情况下,请考虑重新开始训练并使用初始步长来加快优化速度。
1.2.9 Algorithms
拟合GPR模型涉及从数据估计以下模型参数:(3个超参数)
1、根据向量θ中的核参数进行参数化的协方差函数k(x i,x j|θ) 2、噪声方差Noise variance,σ2 3、固定基函数的系数向量Coefficient vector of fixed basis functions,β
“ KernelParameters”名称-值对参数的值是一个矢量[σl,σf],由特征长度尺度σl和信号标准偏差σf的初始值组成。 fitrgp函数使用这些值来确定内核参数。同样,“ Sigma”名称-值对参数包含噪声标准差σ的初始值。
- 在优化过程中,fitrgp通过使用噪声标准偏差和内核参数的初始值来创建不受约束的初始参数值η0的向量。
- fitrgp从θ和σ2的估计值解析确定由“ Beta”名称-值对自变量指定的显式基本系数β。因此,当fitrgp初始化数值优化时,β不会出现在η0向量中。
1.3 resubPredict
在支持向量机(SVM)分类器中对观察结果进行分类
语法:
label = resubPredict(SVMModel)
使用预测数据SVMModel.x返回经过训练的支持向量机(SVM)分类器SVMModel的预测类标签(Label)向量。
ypred = resubPredict(gprMdl), 注意这里的预测语句,resubPredict(gprMdl) 这个函数输入是训练好的gprMdl模型。然后对应于训练数据x预测相应的y,是用训练好的模型,重新预测训练数据x对应的y值。
1.4 resubLoss
通过替换查找支持向量机(SVM)分类器的分类损失
MATLAB的高斯过程回归模型推导
高斯过程回归GPR-MATLAB语法解释相关推荐
- 高斯过程分类 matlab,matlab 高斯过程回归模型 matlab Gaussian process regression model
[实例简介] 高斯过程回归及分类的代码,内容全,有实例,注释清晰.包括分类系列和预测回归系列,值得感兴趣的同学学习借鉴.里面有对应的数据和demo程序,程序可运行,MATLAB2014a下测试通过,其 ...
- GPR(高斯过程回归)
写在前面: 本文为科研理论笔记的第三篇,其余笔记目录传送门: 理论笔记专栏目录 介绍结束下面开始进入正题: 1 高斯分布 一元高斯分布的概率密度函数为: p(x)=1σ2πexp(− ...
- 趋势预测方法(四)高斯过程回归_时序概率性预测
高斯过程回归(GPR) a基本原理: 利用高斯过程回归将可能的数据趋势曲线都保存下来(每条趋势曲线都有自己的置信度,在区间内呈高斯分布),最后在一张图中显示出来,再判断总体的趋势情况. b算法原理: ...
- Gaussian Processes Regression(GPR) 高斯过程回归 Matlab 实现
高斯过程回归(GPR)的matlab 实现, Matlab 为实现高斯过程回归提供了接口函数 fitrgp, 详细参考fitrgp官方文档 非常详细[4] 语法: gprMdl = fitrgp(tb ...
- 高斯过程回归 | Matlab实现高斯过程回归多输入单输出预测(Gaussian Process Regression)
文章目录 效果一览 文章概述 研究内容 程序设计 参考资料 效果一览 文章概述 高斯过程回归 | Matlab实现高斯过程回归多输入单输出预测(Gaussian Process Regression) ...
- 高斯过程回归python_sklearn文档 — 1.7. 高斯过程
原文章为scikit-learn中"用户指南"-->"监督学习的第七节:Gaussian Processes"###### 高斯过程(GP)是一种被设计来 ...
- 转载:说说高斯过程回归
原文链接: 说说高斯过程回归 – 我爱计算机 http://www.52cs.org/?p=509&_360safeparam=1929050203 高斯过程回归 来自于 我爱计算机 WWW. ...
- python 高斯烟羽模型_GPR(高斯过程回归)详细推导
GPR(高斯过程回归)详细推导 一.综述 GPR来源于线性模型,有两种方式可以推导出GPR,一种是weight space view,另外一种是function space view.两者考察方式假设 ...
- 高斯过程回归python_scikit-learn中的多输出高斯过程回归
好吧,你无意中碰上了冰山...... 作为前奏,让我们明确指出方差和标准差的概念仅适用于标量变量;对于矢量变量(比如你自己的3d输出),方差的概念不再有意义,而是使用协方差矩阵(Wikipedia,W ...
- 高斯过程回归的权空间观点推导及代码实现
文章目录 1.高斯过程简介 1.1定义 2.部分基础知识(已具备的直接跳至第3节) 2.1 部分矩阵计算基础 2.1.1 分块矩阵求逆 2.1.2 矩阵求逆引理 2.2 多元高斯分布 2.2.1 联合 ...
最新文章
- 哈希--直接定值法和除留取余法
- pytest框架安装(MacOS)
- Shell与ShellScript
- 【强化学习】从强化学习基础概念开始
- commons-lang常用方法
- Php获取id并提交表单,提交表单后 PHP获取提交内容的实现方法
- 如何为你的数据选择最佳图表?
- ajax调用webService
- Mysql 导出导入
- 使用VSTO开发Excel WorkBook文档级项目中出现的Bug及处理办法
- 12306bycloud,免费开源抢票软件,无需安装,全平台可用
- 网络文学格局已定?未必
- 精品软件试用及分享 屏幕录像专家注册版 附下载地址
- 计算机查找的快捷键是,电脑快捷键快速查找
- 关于人脸识别的最全研究!
- 微信小程序之收藏的实现2020-05-16
- 因果图测试用例设计方法
- MATLAB图像分割的GUI设计
- 少儿计算机兴趣小组活动记录,小学美术兴趣小组活动记录-(一).doc
- uefi能重置系统吗_重装系统提示系统平台为uefi+gpt,无法进dos,请到pe中还原怎么办...