只是想看看是否有人有将高斯过程回归(GPR)应用于高维数据集的经验。我正在研究一些不同的稀疏 GPR 方法(例如稀疏伪输入 GPR),以了解哪些方法适用于理想情况下特征选择是参数选择过程的一部分的高维数据集。
任何关于论文/代码/或各种尝试方法的建议绝对值得赞赏。
谢谢。
只是想看看是否有人有将高斯过程回归(GPR)应用于高维数据集的经验。我正在研究一些不同的稀疏 GPR 方法(例如稀疏伪输入 GPR),以了解哪些方法适用于理想情况下特征选择是参数选择过程的一部分的高维数据集。
任何关于论文/代码/或各种尝试方法的建议绝对值得赞赏。
谢谢。
高斯过程模型通常适用于高维数据集(我已将它们与微阵列数据等一起使用)。它们的关键是为超参数选择好的值(以与正则化类似的方式有效地控制模型的复杂性)。
稀疏方法和伪输入方法更适用于具有大量样本(我的计算机大约 4000 个)而不是大量特征的数据集。如果您有足够强大的计算机来执行协方差矩阵的 Cholesky 分解(n x n,其中 n 是样本数),那么您可能不需要这些方法。
如果您是 MATLAB 用户,那么我强烈推荐GPML工具箱以及Rasmussen 和 Williams的书作为开始的好地方。
但是,如果您对功能选择感兴趣,那么我会避免使用 GP。使用 GP 进行特征选择的标准方法是使用自动相关性确定内核(例如 GPML 中的 covSEard),然后通过调整内核参数以最大化边际似然来实现特征选择。不幸的是,这很可能最终会过度拟合边际似然,并最终得到一个比具有简单球面径向基函数(GPML 中的 covSEiso)协方差的模型执行(可能很多)差的模型。
我目前的研究重点在于模型选择中的过度拟合,我发现这对于 GPs 中的证据最大化和内核模型中基于交叉验证的超参数优化同样是一个问题,详情看这篇论文,还有这个。
非线性模型的特征选择非常棘手。通常,通过坚持线性模型并使用 L1 正则化类型方法(Lasso/LARS/Elastic net 等)来实现稀疏或随机森林方法,您可以获得更好的性能。
您可以尝试使用专门设计用于处理高维数据的协方差函数。例如,查看关于 Additive covariance function 的论文。在我的数值实验中,它们比其他最先进的协方差函数工作得更好,一些输入维度相当大(大约)的真实数据。
但是,如果输入维度真的很大(超过或),似乎任何内核方法都会失败,并且不排除高斯过程回归。
您可以尝试使用高斯过程回归器 (GPR) 作为 Bagging Regressor 的基本回归器。每个基本回归器都将在样本子集和特征上进行训练,这样每个回归器的训练数据的维数就会大大降低。我观察到这样做会提高速度和准确性,因为在数据子集上训练多个 GPR 可能比在整个高维数据上训练一个 GPR 更快。此外,聚合多个弱 GPR 的结果通过减少方差来提高性能。