快速入门高斯过程(Gaussian process)回归预测

2023-11-02

前言

这篇文章主要是教会你如何快速了解高斯过程进行回归预测的,并没有太多的公式推导,只有简单的相关的概念的介绍,如果您要自己掌握并使用高斯过程进行一个简单的预测,当然还需要进行一些基础知识学习的,我会在文章最后推荐一些博主有关高斯过程详细介绍的文章。

  • 话不多说,首先我们看一下面这道题目。这里该不会有人不知道“回归”的意思吧,简单讲回归就是一种拟合,把孤立的东西联系起来,找到规律,这就叫回归。正如题目所示,我们知道了六个点的纵坐标,要预测第七个点的纵坐标。我想很多人都知道线性回归的吧,也就是用y=kx+b来代表整个数据点的趋势,虽然数据点不能完全在这直线上,但是也可以通过这个表达式预测出第七个点(x=0.2)的纵坐标。但是记住,本篇文章是高斯过程回归预测呀!!!也就是我们要用高斯过程来进行回归并预测。接下来介绍一些基础的概率论的知识~

请添加图片描述

  • 我们看到一维高斯分布(正态分布)的概率密度函数决定因素有两个:均值和方差
    (标准差)。因此我们可以得到一个结论:一个均值和一个方差可以确定一个一维的高斯分布!!!!

请添加图片描述

  • 我们再看下面一幅图,这是二维高斯分布的概率密度函数,我们将这幅图分别从XOZ和YOZ两个方向看,我们可以看到两个方向得到的截面完全遵循一维高斯分布,那么动动小脑瓜想想,有两个一维高斯分布是不是需要两个均值和方差来确定,那么也就是说,两个均值和两个方差可以确定一个二维高斯分布,不妨把这个假设扩展到n维。

请添加图片描述

  • 从下图我们看出关于n维高斯分布的表达式,和一维高斯分布进行对比你们能更好理解了吧~

请添加图片描述

  • 接下来给大家引入一个超级超级重要的名词:“协方差”!!!!!这个名词非数学专业的想必以前都没有遇见过吧。我之前遇到这个东西也不明白它是啥以及他能干嘛。实际上在多维的高斯分布当中,两两分布之间肯定存在某种联系,那这种联系如何表达呢?脑袋瓜拍一拍,矩阵!是不是,矩阵那么多元素,是不是可以将每个元素代表两个东西之间的某种关系呢~按照上面的陈述,n维的高斯分布需要n个均值和n个方差来确定,通常情况下我们将均值定为一个均值向量,方差组用一个矩阵来表示——协方差矩阵,当两两分布之间相互独立,则这个协方差矩阵为对角矩阵,反之为非对角矩阵。

请添加图片描述

  • 那么我们在动自己脑袋瓜想想,一个均值和一个方差能确定一个一维的高斯分布,那么多维的高斯分布如何确定的呢?emmmmmmmmmm,没错,一个均值向量和一个协方差矩阵确定一个多维的高斯分布啦~

请添加图片描述

好啦~讲了这么多背景知识,可能你还是比较懵,但是没关系呀如果初步想了解高斯过程,这些知识是可以的,下面我们要开始正题了——高斯过程!

高斯过程初探

  • “如果多元高斯分布的随机变量为无数个,且是离散时间的状态量,即随机变量为随时间变化的函数。其中每个时刻的均值用一个均值函数刻画,两个不同时刻的方差用一个协方差函数刻画。”这句话什么意思呢?也就是说我现在将多维高斯分布的维数放大到无限大,其中均值向量里的每个元素都遵循一个函数——均值函数,就是说你给我这个无限维的高斯分布中某一维的高斯分布,我可以根据均值函数给出这一维高斯分布的均值。那么同理啦~我们设置一个协方差函数,这个协方差函数可以根据需要而给出对应的协方差矩阵,至于怎么给出的我们下文继续。那么,老问题来了,一个高斯过程由什么确定呢?emmmmmmmm,没错!一个高斯过程可以由一个均值函数和一个协方差函数来确定!

请添加图片描述

  • 想必大家还是对协方差函数有些懵逼吧,我们这讲讲协方差函数,协方差函数又称为核函数,呸呸呸!怎么又多了个核函数了,头又大了!!咱们不管,咱们只要知道协方差函数=核函数就行啦,贴图大王又来啦,看图片哟。左下角我给出一个协方差函数,这个函数是经典的高斯核函数,(ps:并不是高斯过程就必须要用高斯核函数哟,没关系,只是经典的高斯核函数比较简单,方便理解呀!)那么一个协方差函数如何确定一个协方差矩阵呢?你看看右下角嘛,不就出来了吗。嘻嘻嘻,懒人如我哟~

请添加图片描述

  • 大家再回到本文的正题高斯过程呀。我们把无限维的高斯分布,每一维按时间线或者其他量展开,就得到一个高斯分布的曲线啦,这个曲线中的每一个点都对应了一个一维的高斯分布,而每个高斯分布都有一个均值和方差,故高斯过程中每个点对应一个均值和方差,如下图所示哟~

请添加图片描述

高斯过程回归预测

  • 我们现在要是做题啦,如何用高斯过程来做预测呢?

请添加图片描述

  1. 首先我们第一步要确定这些孤立的点是遵循一个高斯过程的,但是高斯过程又是由一个均值函数和一个协方差函数来确定的,也就是说我们要找均值函数和协方差函数,这里我们不妨设均值函数为常数0,也就是每个点对应的高斯分布的均值为0!那么协方差函数怎么确定呢?我们采用一个经典的高斯核函数的变形来确定这个高斯过程的协方差函数,函数表达式中有没法确定的未知量,我们称之为超参数!!!具体内容看图片呀~

请添加图片描述

  • 是呀,现在我们确定了一个高斯过程,我们怎么做预测呢?贝叶斯!!!大家都有所耳闻吧,那个大名鼎鼎的贝叶斯!贝叶斯给我们提供了一个方法,简单讲就是我们可以从已知条件中推出未知内容,俗称贝叶斯推断。复杂讲的话就是如下图所示啦,也就是的贝叶斯的概率表达,贝叶斯之所以这么强大是因为我们生活中面临的很多问题是知道了结果不知道原因,而贝叶斯推断能让你从结果推原因,厉害吧,那么我们通过贝叶斯推断可以推出我们要求的未知点的表达式(具体推导过程我这里不给出来了,因为没有必要知道,会用就行,推导过程的文章链接我会放到文章结尾)。第二幅就给你们补补贝叶斯的知识吧~

请添加图片描述
请添加图片描述

  1. 重新回到高斯过程回归预测的题目上来吧,我们知道了高斯过程的均值函数和协方差函数,通过贝叶斯推断求出了所要求的点条件概率均值和方差的表达式啦~

请添加图片描述

  1. 你看看是不是可以求了呢,知道了数据,知道了表达式,不就是往里面带数据嘛!!!等等!!好像之前提到协方差函数里有未知量也就是超参数没有确定?要不往上翻翻是不是有这么个东西,肯定没错啦,就是超参数没有确定啦,可是,超参数怎么确定呢?通常情况下要求似然估计最大,至于为什么要最大,我觉得没必要理解啦,可以看文章结尾处的链接啦,但是,我们看看最大似然估计的表达式啦,毕竟要求出超参数的,我们可以选择自己喜欢的一种最优算法求超参数,这里超参数如图所示啦~

请添加图片描述

  • 最后一步啦,就真的是带数据啦!不多说,继续放图~你看看这结果漂亮不

请添加图片描述

  • 最后的最后!!一定要对高斯过程回归预测进行一个总结了!!只有条理清晰才能求解出来呀~

请添加图片描述

答应的事呀~

  • 有关高斯过程一些公式的详细推导可以看这个博主的文章哟~知乎用户
    (https://www.zhihu.com/people/singinginthewind/posts),他的很多系列的文章详细介绍了高斯过程,我的这篇文章知识帮助你们快速的入门和上手使用高斯过程进行预测

  • 王桂波:高斯过程 Gaussian Processes
    原理、可视化及代码实现这篇文章讲解步骤也很详细,大家可以参考着看哟~(https://zhuanlan.zhihu.com/p/75589452)

————————————————
版权声明:本文为CSDN博主「摸鱼大王二百五」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_50310065/article/details/111775468

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

快速入门高斯过程(Gaussian process)回归预测 的相关文章

随机推荐

  • grep命令常用用法示例

    参数列表 color auto 或者 color 表示对匹配到的文本着色显示 i 在搜索的时候忽略大小写 n 显示结果所在行号 c 统计匹配到的行数 注意 是匹配到的总行数 不是匹配到的次数 o 只显示符合条件的字符串 但是不整行显示 每个
  • 错误: 编码 GBK 的不可映射字符 (0x80)

    在我想要在命令行使用println输出一些中文的时候 发现编码出现错误 原因 java程序在编译的时候 需要使用JDK开发工具包中的JAVAC EXE命令 而JDK开发工具包是国际版的 默认格式为UNICODE的编码格式 因此在默认情况下
  • Apollo客户端配置获取深度解析

    Apollo客户端配置获取深度解析 Apollo 阿波罗 是携程框架部门研发的开源配置管理中心 能够集中化管理应用不同环境 不同集群的配置 配置修改后能够实时推送到应用端 并且具备规范的权限 流程治理等特性 这篇文章主要来剖析客户端获取配置
  • Unity小地图的实现

    关于小地图中的图片显示 我用了缩略图 其实就是直接顶视角对场景截个图当小地图用 其他的做法有RenderTexture等 但是需要建立一个相机跟随 对于开放世界大场景不错 但对于小点的场景 就不如直接拿张图片 开销低且方便 场景是官方商店的
  • (3)MyBatis-Plus待开发

    常用注解 TableName MyBatis Plus在确定操作的表时 由BaseMapper的泛型决定即实体类型决定 且默认操作的表名和实体类型的类名一致 如果不一致则会因找不到表报异常 向表中插入一条数据 Test public voi
  • vgg16对猫狗分类

    from keras models import Sequential from keras layers import Conv2D MaxPool2D Activation Dropout Flatten Dense from kera
  • VS2017+OpenCV+Halcon实现包装袋日期识别(一)——目标提取

    前言 本文将介绍在vs平台上OpenCV联合Halcon 实现包装袋的日期识别 本文仅供学习和参考 若有不妥的地方 欢迎友善指出 本示例分为三部分 第一部分介绍使用OpenCV提取目标区域 第二部分介绍使用Halcon的OCR进行日期识别
  • 数据仓库主题九-(事务事实表)

    事务事实表 对于单事务事实表 一个业务过程建立一个事实表 只反映一个业务过程的事实 对于多事务事实表 在同一个事实表中反映多个业务过程 多个业务过程是否放到同一个事实表中 订单作为交易行为的核心载体 直接反应了交易的状况 订单的流转回产生很
  • vue + element-ui el-form-item循环校验及 el-table和el-form表单校验嵌套使用

    vue element ui el form item循环校验及 el table和el form表单校验嵌套使用 第一种 可以无限循环无限嵌套 支持同步异步 更加灵活 拓展性更强 另一种 每个form item都当成一个form 然后循环
  • makefile学习2

    变量赋值 基本赋值 与位置无关 可能被后面的语句改变 覆盖之前的值 与位置有关 是如果没有被赋值过就赋予等号后面的值 是添加等号后面的值 strip函数 strip STRINT 函数名称 去空格函数 strip 函数功能 去掉字串 若干单
  • 阿里钉钉Android实习面试也太太太太难了吧,对算法的要求堪比字节

    本人研究生在读 在2月26日找了师兄内推阿里钉钉团队 28号接到了约1面的电话 幸好我提前准备了一个多月的样子 刷面试题 刷LeetCode 面了之后才觉得自己刷少了 对于我这样一个实习生来说题目还是有些偏难 不过在4月20号终于拿到意向书
  • 对话MVP

    换位思考 我想到通过知识分享来帮助更多开发者解决开发细节问题 林宣名 开源社区成立以来 吸引汇聚了许多热爱分享 交流的技术爱好者 为感谢大家一路以来对FISCO BCOS的支持与贡献 社区开放FISCO BCOS MVP认定 以鼓励为开源社
  • MySQL-SQL InnoDB引擎 (下)

    作者 小刘在C站 个人主页 小刘主页 努力不一定有回报 但一定会有收获加油 一起努力 共赴美好人生 学习两年总结出的运维经验 以及思科模拟器全套网络实验教程 专栏 云计算技术 小刘私信可以随便问 只要会绝不吝啬 感谢CSDN让你我相遇 前言
  • 2023最新软件测试面试题大全(包含答案)

    前言 在我认为 对于测试面试以及进阶的最佳学习方法莫过于刷题 博客 书籍 视频 总结 前几者博主将淋漓尽致地挥毫于这篇博客文章中 至于总结在于个人 实际上越到后面你会发现面试并不难 其次就是在刷题的过程中有没有去思考 刷题只是次之 这又是一
  • vue json数据可视化展示

    使用vue json viewer插件 官网地址 https www npmjs com package vue json viewer 安装vue json viewer插件 npm install vue json viewer sav
  • 文件映射mmap简单设置文件大小(lseek (ftruncate可以设置文件大小))__使用mmap即文件映射实现文件的快速复制代码

    lseek fd pagesize 10 100 SEEK SET lseek应该是文件指针移动到的位置 why mmap1是文件的长度呢 lseek 是获取文件的长度 移动到最后 则是文件的总长 如lseek fd 80 1 write
  • js获取当前时间(昨天、今天、明天)

    1 时间格式化 1 昨天的时间 2 var day1 new Date 3 day1 setTime day1 getTime 24 60 60 1000 4 var s1 day1 getFullYear day1 getMonth 1
  • 【牛客网机试】写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。

    题目描述 写出一个程序 接受一个十六进制的数 输出该数值的十进制表示 输入描述 输入一个十六进制的数值字符串 注意 一个用例会同时有多组输入数据 请参考帖子https www nowcoder com discuss 276处理多组输入的问
  • 起名字!

    五一假期没有出去 闲来找了以下名字 仅以参考 黄哲轩 黄凯轩 黄良宇 黄思禾 黄景龙 黄作湛 黄沐东 黄阳棣 黄骁辉 黄浩锭 黄雷星 黄海城 黄文冰 黄箫程 黄海泽 黄鑫群 黄子铭 黄嘉涛 黄智豪 黄之维 黄逸鑫 黄培祺 黄圣东 黄曙橙 黄
  • 快速入门高斯过程(Gaussian process)回归预测

    前言 这篇文章主要是教会你如何快速了解高斯过程进行回归预测的 并没有太多的公式推导 只有简单的相关的概念的介绍 如果您要自己掌握并使用高斯过程进行一个简单的预测 当然还需要进行一些基础知识学习的 我会在文章最后推荐一些博主有关高斯过程详细介