r - 使用贝叶斯优化时 Cholesky 分解的错误
问题描述
因此,我一直在使用贝叶斯优化 ( rBayesianOptimization ) 来调整基于交叉验证性能指标的机器学习模型的超参数。经过几次贝叶斯优化迭代后,我时不时地遇到以下错误:
Error in chol.default(x = Sig): the leading minor of order XXX is not positive definite.
不幸的是,我无法共享我的数据集以获得可重现的示例,并且问题的发生有些不规律(我还没有查明究竟是什么导致了问题)。看来,在这些情况下,协方差矩阵产生了我为高斯过程指定的核,导致它不是正定的。
这是什么原因造成的,如何处理?
解决方案
此错误似乎是在拟合高斯过程时引起的,该过程是贝叶斯优化的基础。问题是使用指定内核生成的协方差矩阵不是正定的。我很想知道在哪些情况下会发生这种情况(我观察到这是在一组类似的参数连续测试几次之后发生的)。我可以通过从默认内核(指数)切换到母体来避免这个错误,这可以通过在贝叶斯优化调用中添加以下参数来完成:
kernel = list(type = "matern", nu = 5/2)
推荐阅读
- java - 如何设置一个 txt 文件,以便它可以在 .jar 文件内部使用?
- python - Python 2.7.17 - PyAutoGUI 说 Pillow 未安装,但已安装
- reactjs - 获取 API 失败
- javascript - 然后 axios.get 的代码未完成并捕获错误
- apache-kafka - 在 Kafka 中,如果客户端更改主题的分区,它会创建一个新主题吗?它会导致再平衡吗?
- javascript - blob URL 文件预览的自定义名称(如果已下载)
- javascript - 我正在尝试从用户输入中获取一些数据到 JSON 文件中。我收到此消息
- docker - 如何将多个目录复制到一个目录中并保留目录结构
- numpy - fsolve 函数与 exp
- node.js - 有谁明白为什么我的 Heroku 构建可能会失败?