高斯过程回归python_scikit-learn中的多输出高斯过程回归

博客探讨了在scikit-learn中使用高斯过程回归进行多输出建模的问题。尽管scikit-learn的predict方法返回的是每个输出的协方差矩阵,但它无法真正处理多输出的复杂性。文章引用了科学研究,指出多输出高斯过程回归是一个活跃的研究领域,现有的方法往往忽略输出之间的相关性。推荐了一个名为runlmc的Python工具箱,该工具箱专门用于处理多输出GP建模。
摘要由CSDN通过智能技术生成

好吧,你无意中碰上了冰山......

作为前奏,让我们明确指出方差和标准差的概念仅适用于标量变量;对于矢量变量(比如你自己的3d输出),方差的概念不再有意义,而是使用协方差矩阵(Wikipedia,Wolfram) .

继续前奏,你的 sigma 的形状确实如预期的那样根据 predict 方法的scikit-learn docs(即你的情况下没有编码错误):

返回:y_mean:array,shape =(n_samples,[n_output_dims])查询指向y_std的预测分布的平均值:array,shape =(n_samples,),optional查询点处预测分布的标准偏差 . 仅在return_std为True时返回 . y_cov:array,shape =(n_samples,n_samples),可选的联合预测分布的协方差,查询点 . 仅在return_cov为True时返回 .

结合我之前关于协方差矩阵的评论,第一个选择是尝试使用参数 return_cov=True 的 predict 函数(因为要求矢量变量的方差是没有意义的);但同样,这将导致16x16矩阵,而不是3x3矩阵(3个输出变量的协方差矩阵的预期形状)......

澄清了这些细节之后,让我们继续讨论这个问题的本质 .

问题的核心在于实践和相关教程中很少提及(甚至暗示)的事情:具有多个输出的高斯过程回归是 highly non-trivial ,仍然是一个活跃的研究领域 . 可以说,scikit-learn无法真正处理这个案例,尽管事实上它表面上似乎没有发出至少一些相关的警告 .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值