GPR模型的块坐标下降逼近
对于大量的观测,使用精确的方法进行参数估计和对新数据进行预测可能是昂贵的(见精确探地雷达方法).帮助解决这一问题的一种近似方法是块坐标下降(BCD)方法。类指定预测方法,就可以使用BCD方法进行预测“PredictMethod”、“bcd的
调用中的名称-值对参数fitrgp
,然后使用预测
函数。
BCD方法的思想是计算
用不同于精确方法的方法。BCD估计 通过求解以下优化问题:
在哪里
fitrgp
采用块坐标下降法(BCD)来解决上述优化问题。对于熟悉支持向量机(svm)的用户,用于拟合支持向量机的顺序最小优化(SMO)和ISDA(迭代单数据算法)是BCD的特殊情况。fitrgp
对每个BCD更新执行两个步骤-块选择和块更新。在区块选择阶段,fitrgp
的集合使用随机和贪婪策略的组合
接下来要优化的系数。在块更新阶段,所选
系数是优化的同时保持另一个
系数固定于它们之前的值。重复这两个步骤直到收敛为止。BCD不存储
矩阵
在内存中,但它只是计算
矩阵。因此,与BCD相比,它的内存效率更高“PredictMethod”、“准确”
.
实践经验表明,不需要求解优化问题进行计算
达到非常高的精度。例如,停止迭代是合理的
低于
,在那里
的初值是
而且
是一个小常数(比如说
).结果来自“PredictMethod”、“准确”
而且“PredictMethod”、“bcd的
除了BCD计算之外是等效的
以不同的方式。因此,“PredictMethod”、“bcd的
可以认为是一种有效的记忆方法吗“PredictMethod”、“准确”
.BCD往往比“PredictMethod”、“准确”
对于大型n.方法不能计算预测间隔“PredictMethod”、“bcd的
选择。这是因为计算预测区间需要解决与计算问题类似的问题
对于每个测试点,这也是很昂贵的。
使用BCD近似拟合GPR模型
这个例子展示了使用块坐标下降(BCD)近似拟合高斯过程回归(GPR)模型到具有大量观测数据。
小n -PredictMethod
“准确”
而且“bcd”
产生相同的结果
生成一个小型样本数据集。
rng (0,“旋风”);N = 1000;X = linspace(0,1,n)';X = [X,X.^2];y = 1 + X *[1, 2] +罪(20 * X *[1, 2])。/ (X (: 1) + 1) + 0.2 * randn (n, 1);
使用创建GPR模型“FitMethod”、“准确”
而且“PredictMethod”、“准确”
.
gpr = fitrgp(X,y,“KernelFunction”,“squaredexponential”,...“FitMethod”,“准确”,“PredictMethod”,“准确”);
使用创建另一个GPR模型“FitMethod”、“准确”
而且“PredictMethod”、“bcd的
.
gprbcd = fitrgp(X,y,“KernelFunction”,“squaredexponential”,...“FitMethod”,“准确”,“PredictMethod”,“bcd”,“BlockSize”, 200);
“PredictMethod”、“准确”
而且“PredictMethod”、“bcd的
应该是相等的。计算结果是一样的只是方式不同而已。方法还可以查看迭代“详细”,1
调用中的名称-值对参数fitrgp
.
用这两种方法计算拟合值并进行比较:
ypred = resubPredict(gpr);ypredbcd = resubPredict(gprbcd);马克斯(abs (ypred-ypredbcd))
Ans = 5.8853e-04
拟合值彼此接近。
现在,将数据与拟合值一起绘制“PredictMethod”、“准确”
而且“PredictMethod”、“bcd的
.
图;情节(y,“k”。);持有在;情节(ypred“b -”,“线宽”2);情节(ypredbcd“m——”,“线宽”2);传奇(“数据”,“PredictMethod准确”,“PredictMethod BCD”,“位置”,“最佳”);包含(“观察指数”);ylabel (的响应值);
可见“PredictMethod”、“准确”
而且“PredictMethod”、“bcd的
制作几乎相同的套装。
大n -使用“FitMethod”、“sd”
而且“PredictMethod”、“bcd的
生成一个类似于前一个数据集的更大数据集。
rng (0,“旋风”);N = 50000;X = linspace(0,1,n)';X = [X,X.^2];y = 1 + X *[1, 2] +罪(20 * X *[1, 2])。/ (X (: 1) + 1) + 0.2 * randn (n, 1);
为n= 50000,矩阵K(X,X)是5万乘5万。存储K(X,X)则需要约20gb的RAM。要将GPR模型拟合到此数据集,请使用“FitMethod”、“sd”
的随机子集米= 2000分。的“ActiveSetSize”
调用中的名称-值对参数fitrgp
指定活动集大小米.计算使用“PredictMethod”、“bcd的
与一个“BlockSize”
5000股。的“BlockSize”
中的名称-值对参数fitrgp
元素的元素个数软件在每次迭代中优化的向量。一个“BlockSize”
Of 5000假设您使用的计算机可以在内存中存储5000 × 5000的矩阵。
gprbcd = fitrgp(X,y,“KernelFunction”,“squaredexponential”,...,“FitMethod”,“sd”,“ActiveSetSize”, 2000,“PredictMethod”,“bcd”,“BlockSize”, 5000);
绘制数据和拟合值。
图;情节(y,“k”。);持有在;情节(resubPredict (gprbcd),“m -”,“线宽”2);传奇(“数据”,“PredictMethod BCD”,“位置”,“最佳”);包含(“观察指数”);ylabel (的响应值);
这个情节和小一点的情节相似n.
参考文献
Grippo, L.和M. Sciandrone。凸约束下块非线性Gauss-Seidel方法的收敛性。运筹学通讯。卷26,页127-136,2000。
[2]波,L.和C.斯米彻斯库。“用于大规模高斯过程回归的贪婪块坐标下降。”在第二十四届人工智能不确定性会议论文集(UAI2008): http://arxiv.org/abs/1206.3238, 2012。