GPR模型的块坐标下降近似
对于大量观察,使用确切的参数估计方法和对新数据进行预测的方法很昂贵(请参阅精确的GPR方法)。有助于解决此问题进行预测的近似方法之一是块坐标下降(BCD)方法。您可以通过首先使用BCD方法进行预测“预测方法”,“ BCD”
呼叫中的名称值对参数fitrgp
,然后使用预测
功能。
BCD方法的想法是计算
与确切方法不同。BCD估计 通过解决以下优化问题:
在哪里
fitrgp
使用块坐标下降(BCD)来解决上述优化问题。对于熟悉支持向量机(SVM)的用户,用于拟合SV金宝appM的Sequential Minimal优化(SMO)和ISDA(SMO)和ISDA(迭代单个数据算法)是BCD的特殊情况。fitrgp
为每个BCD更新执行两个步骤 - 块选择和块更新。在块选择阶段,fitrgp
使用随机和贪婪策略的组合来选择一组
接下来优化的系数。在块更新阶段,选定
系数是优化的,同时保持另一个
系数固定在其先前的值上。重复这两个步骤,直到收敛为止。BCD不存储
矩阵
在内存中,但它只是计算
根据需要矩阵。结果,与BCD相比,BCD更有效“预测方法”,“精确”
。
实际经验表明,无需解决计算的优化问题
至高准确。例如,当停止迭代时,合理
下方
, 在哪里
是初始值
和
是一个小常数(例如
)。结果“预测方法”,“精确”
和“预测方法”,“ BCD”
除了BCD计算外是否等效
以不同的方式。因此,“预测方法”,“ BCD”
可以将其视为有效的记忆方式“预测方法”,“精确”
。BCD通常比“预测方法”,“精确”
大n。但是,您无法使用“预测方法”,“ BCD”
选项。这是因为计算预测间隔需要解决一个问题,例如解决的问题
对于每个测试点,这再次很昂贵。
使用BCD近似拟合GPR模型
此示例使用块坐标下降(BCD)近似值显示了与大量观测值的拟合高斯过程回归(GPR)模型。
小n-预测方法
'精确的'
和'BCD'
产生相同的结果
生成一个小样本数据集。
rng(0,'twister');n = 1000;x = linspace(0,1,n)';x = [x,x。^2];y = 1 + x*[1; 2] + sin(20*x*[1; -2])./(x(x(:,1)+1) + 0.2*randn(n,1);
使用使用GPR模型“ fitMethod”,“精确”
和“预测方法”,“精确”
。
gpr = fitrgp(x,y,'kernelfunction',,,,“平方指数”,,,,...'FitMethod',,,,'精确的',,,,“预测方法”,,,,'精确的');
使用另一个使用GPR模型“ fitMethod”,“精确”
和“预测方法”,“ BCD”
。
gprbcd = fitrgp(x,y,'kernelfunction',,,,“平方指数”,,,,...'FitMethod',,,,'精确的',,,,“预测方法”,,,,'BCD',,,,“阻止”,200);
“预测方法”,“精确”
和“预测方法”,“ BCD”
应该等效。他们计算相同但是只是以不同的方式。您还可以使用“冗长”,1
呼叫中的名称值对参数fitrgp
。
使用两种方法计算拟合值并将其比较:
ypred = repubedict(gpr);ypredbcd = repubpredict(gprBCD);Max(ABS(Ypred-YpredBCD))
ANS = 5.8853E-04
拟合值彼此接近。
现在,绘制数据以及适合的值“预测方法”,“精确”
和“预测方法”,“ BCD”
。
数字;情节(Y,'k。');抓住上;情节(ypred,'b-',,,,'行宽',2);情节(ypredbcd,'M--',,,,'行宽',2);传奇('数据',,,,“预测精确”,,,,“预测无限BCD”,,,,'地点',,,,'最好的');Xlabel(“观察指数”);ylabel(“响应值”);
可以看出“预测方法”,“精确”
和“预测方法”,“ BCD”
产生几乎相同的拟合。
大N-使用“ fitMethod','sd'
和“预测方法”,“ BCD”
生成一个类似于上一个的较大数据集。
rng(0,'twister');n = 50000;x = linspace(0,1,n)';x = [x,x。^2];y = 1 + x*[1; 2] + sin(20*x*[1; -2])./(x(x(:,1)+1) + 0.2*randn(n,1);
为了n= 50000,矩阵k((X,,,,X)为50000 x 50000。存储k((X,,,,X)在内存中,大约需要20 GB的RAM。要适合GPR模型到此数据集中,请使用“ fitMethod','sd'
随机子集的m= 2000分。这“ ActiveSetsize”
呼叫中的名称值对参数fitrgp
指定活动设置大小m。用于计算利用“预测方法”,“ BCD”
与“阻止”
5000“阻止”
名称值对参数fitrgp
指定元素的数量该软件在每次迭代中优化的向量。一个“阻止”
在5000中,假设您使用的计算机可以在内存中存储5000 x 5000矩阵。
gprbcd = fitrgp(x,y,'kernelfunction',,,,“平方指数”,,,,...,,,,'FitMethod',,,,'SD',,,,“ ActiveSetsize”,2000年,“预测方法”,,,,'BCD',,,,“阻止”,5000);
绘制数据和拟合值。
数字;情节(Y,'k。');抓住上;情节(重新提出(GPRBCD),'M-',,,,'行宽',2);传奇('数据',,,,“预测无限BCD”,,,,'地点',,,,'最好的');Xlabel(“观察指数”);ylabel(“响应值”);
该情节类似于较小的情节n。
参考
[1] Grippo,L。和M. Sciandrone。“关于凸约限制下的非线性高斯 - 西德尔方法的收敛性。”操作研究信。卷。26,第127–136页,2000年。
[2] Bo,L。和C. Sminchisecu。“大规模高斯过程回归的贪婪块坐标下降。”在第二十四届人工智能不确定性会议(UAI2008)会议论文集(UAI2008):http://arxiv.org/abs/1206.3238,2012。