高斯过程 Gaussian Process

news2025/1/14 17:59:02

What does GP do?

  • GP是一种回归方法,但也能够用来分类和聚类
  • 均值表示数据最有可能出现的位置

多变量高斯分布

  • X ∼ N ( μ , Σ ) X\sim N(\mu,\Sigma) XN(μ,Σ): 包含的信息有每个变量的均值和协方差矩阵
  • 均值决定分布中心
  • 协方差矩阵确定形状

Marginalization & Conditioning

  • 高斯过程的基础:边缘分布和条件分布依然是高斯
    • 边缘分布:从联合概率分布分离出一个随机变量的概率分布
    • 条件分布:从两个变量的概率分布得到条件随机变量的概率分布

高斯过程

  • 函数的离散化表示:
    • test point: 我们感兴趣预测的一系列离散的、具体的点
  • 高斯过程是一个随机过程,是一个随机变量序列。假设这个序列的长度为 n n n,则这些序列就构成一个 n n n维高斯分布
  • 高斯过程将训练点 Y Y Y和测试点 X X X放在一起建模为一个 n = ∣ X ∣ + ∣ Y ∣ n=|X|+|Y| n=X+Y维的高斯分布
  • 把这个过程看做一个贝叶斯推断问题:随着新信息的获取而更新假设

获取 n n n维高斯分布的均值和协方差

  • kernel: 一个用于决定协方差的函数,又称作covariance function k ( ⋅ ) k(\cdot) k()

  • kernel输入为两个样本点,输出一个表示两个点的相似程度的标量值

    • 对每个两两组合获取这个similarity metrix,作为样本点间的协方差
    • 核函数的选择需要保证生成的矩阵满足协方差矩阵的性质
  • n n n维高斯分布进行的每一次采样就是取到了一系列函数值

  • 先验分布

    • 在没有拿到任何数据时的分布称为先验分布 P X P_X PX
    • 不同的核函数对应出不同的采样函数!
      在这里插入图片描述
  • 后验分布

    • 后验分布是拿到训练数据 Y Y Y后的分布 P X ∣ Y P_{X|Y} PXY
    • 首先构造一个 ∣ X ∣ + ∣ Y ∣ |X|+|Y| X+Y维的联合概率分布,用核函数计算出协方差矩阵
    • 根据联合概率分布得到条件概率分布 P X ∣ Y P_{X|Y} PXY
    • 通过取条件分布,被预测函数被强行限制穿过样本

代码实现

步骤

  1. 核函数选择:表述数据点之间的相似度
  2. 核参数优化:(可省略)自动进行参数调优
  3. 预测:利用训练数据和核参数,通过GP的闭合形式解或者通过采样方法来预测新的数据点

参数含义

在高斯过程回归中,三个主要的参数具有以下含义:

  1. 长度尺度( l l l:长度尺度决定了不同输入点之间的相似度衰减的速度。较大的长度尺度意味着输入点的相似度衰减得较慢,产生更平滑的函数;而较小的长度尺度会产生更为波动的函数。

  2. 输出尺度( s f sf sf:输出尺度控制了函数值的变化范围。较大的输出尺度将导致函数值变化的范围更大。

  3. 噪声标准差( s n sn sn:噪声标准差参数表示观测噪声的大小。它帮助模型了解观测数据中的噪声程度,从而在预测时考虑到这种不确定性。

Matlab实现

% 生成示例数据
x = linspace(-5, 5, 20)'; % 输入数据
y = sin(x) + 0.1*randn(size(x)); % 输出数据

% 高斯过程参数
ell = 1; % 长度尺度:越大函数越平滑
sf = 1; % 输出尺度:越大函数值变化越大
sn = 0.1; % 噪声标准差:增加泛化性

% 计算核矩阵

K = sf^2 * exp(-0.5/ell^2 * (x - x').^2);
Ks = sf^2 * exp(-0.5/ell^2 * (x - x(end)).^2);
Kss = sf^2;

% 预测新数据点

xs = linspace(-6, 6, 100)';
K_star = sf^2 * exp(-0.5/ell^2 * (xs - x').^2);
K_star_star = sf^2 * exp(-0.5/ell^2 * (xs - xs').^2);
mu = K_star / (K + sn^2*eye(size(x,1))) * y;
cov = K_star_star - K_star / (K + sn^2*eye(size(x,1))) * K_star';

% 绘制结果

figure;
scatter(x, y); % 绘制原始数据
hold on;
plot(xs, mu, 'r'); % 绘制高斯过程拟合
legend('Original Data', 'Gaussian Process Fit');

Result:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1149368.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Selenium自动化测试:如何搭建自动化测试环境?

最近也有很多人私下问我,selenium学习难吗,基础入门的学习内容很多是3以前的版本资料,对于有基础的人来说,3到4的差别虽然有,但是不足以影响自己,但是对于没有学过的人来说,通过资料再到自己写的…

c++-二叉树进阶

文章目录 前言一、二叉搜索树1、二叉搜索树介绍2、二叉搜索树循环实现3、二叉搜索树递归实现4、二叉搜索树的性能分析5、二叉搜索树的应用6、二叉树练习题6.1 根据二叉树创建字符串6.2 二叉树的层序遍历6.3 二叉树的层序遍历 II6.4 二叉树的最近公共祖先6.5 二叉搜索树与双向链…

项目文章 | Plant Physiology 华南农业大学揭示组蛋白修饰调节水稻器官大小的表观遗传机制

发表单位:华南农业大学生命科学学院 发表日期:2023年10月24日 期刊:Plant Physiology 影响因子:7.4 2023年10月24日,华南农业大学生命科学学院郑少燕副教授/刘振兰教授团队在Plant Physiology上发表题为“SET DOMA…

系列三十二、代理(二)静态代理

一、静态代理 1.1、概述 静态代理是由程序员创建或者工具生成代理类的源码,再编译代理类。在程序运行前就已经存在代理类的字节码文件了,即代理类和被代理类的关系在运行前就确定了。 简单理解:在程序运行前,代理类就存在了&…

Linux虚拟机安装centos7配置及常用命令

一.VMWare的安装 详情请看上期:VM虚拟机的安装与配置及操作系统的安装-CSDN博客 二.centos7安装 1.创建新的虚拟机 选择自定义,然后下一步 默认选择就行,直接下一步 选择稍后安装,然后直接下一步 选择Linux,然后向上…

【Python 零基础入门】常用内置函数 再探

【Python 零基础入门】内容补充 1 常用内置函数 Python 简介为什么要学习内置函数集合操作len(): 计算长度sorted(): 排序all(): 检查所有元素any(): 检查任一元素filter(): 过滤元素map(): 应用函数zip(): 组合元素 文件操作和输入输出open(): 打开文件read(): 读取文件write(…

深入解析 Spring Framework 中 @Autowired 注解的实现原理

摘要 关于Autowired注解的作用 Autowired 注解在Spring中的作用是实现依赖注入(Dependency Injection),它用于自动装配(autowiring)Spring Bean 的依赖关系。具体来说, Autowired 注解有以下作用&#xf…

3D模拟场景开发引擎

在3D工程模拟开发中,有一些专门的引擎和工具可供选择,以帮助您创建逼真的三维模拟和模型。以下是一些用于3D工程模拟的开发引擎和工具,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流…

Youtube DNN:Deep Neural Networks for YouTube Recommendations

1.介绍 本文主要解决的三个挑战: 大规模的推荐场景,能够支持分布式训练和提供有效率的服务。不断更新的新物料。稀疏的用户行为,包含大量的噪声。 2.推荐系统 文章包含推荐系统的两阶段模型:召回和排序。 召回网络根据用户的历…

CSS基础入门04

目录 1.内边距 1.1基础写法 1.2复合写法 2.外边距 2.1基础写法 2.2复合写法 2.3块级元素水平居中 3.去除浏览器默认样式 4.弹性布局 4.1初体验 5.flex 布局基本概念 6.常用属性 6.1justify-content 6.2align-items 1.内边距 padding 设置内容和边框之间的距离. …

Go 语言gin框架的web

节省时间与精力,更高效地打造稳定可靠的Web项目:基于Go语言和Gin框架的完善Web项目骨架。无需从零开始,直接利用这个骨架,快速搭建一个功能齐全、性能优异的Web应用。充分发挥Go语言和Gin框架的优势,轻松处理高并发、大…

Pycharm使用阿里云SDK发送短信(超详细+避坑!!)

文章目录 1. 注册阿里云2. 创建签名3. 创建模板4. 创建AccessKey5. API发送测试6. 获取示例7. pycharm发送验证码7.1 安装sdk7.2 参数修改7.3 发送随机四位数字7.4 验证码信息返回7.5 简易版代码: 1. 注册阿里云 访问阿里云官网,进行注册 https://www.…

ZYNQ连载03-Vivado创建工程

ZYNQ连载03-Vivado创建工程 1. 硬件参数 名称参数主控xc7z020clg400-2DDRMT41J256M16RE-125 2. 创建工程 3. 串口配置 4. DDR配置 5. SD配置 6. ETH配置 7. USB配置 8. 导出硬件 Generate Output ProductsCreate HDL WrapperExport Hardware Platform 执行以上步骤后&#…

华为eNSP cli(命令行界面) Courier New字体设置

想让eNSP cli(命令行界面)字体设置为Courier New时,但在字体设置界面找不到Courier New字体,如下图所示: 遇到上述问题的解决办法如下: 到C:\Windows\Fonts目录下查找courier new字体,如果找到…

EDA常用数字器件硬件描述

EDA常用数字器件硬件描述 前言 在使用了一段时间EDA编程之后,来回顾一下基本的知识,看看如何实现基本的EDA常用数字器件对应的硬件描述 一、组合逻辑器件描述 1. 基本的逻辑门电路 与、或、非(取反)、与非、或非、异或、同或 …

【每日一题】59. 螺旋矩阵 II

给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1: 输入:n 3 输出:[[1,2,3],[8,9,4],[7,6,5]]示例 2: 输入:n 1 输出&…

软信天成:数据质量管理对企业有什么意义?

在这个信息爆炸的时代,数据已经成为了企业决策的基础,是企业成功的关键要素。然而,如果企业所获取的数据质量不佳,会对企业产生何种影响呢? 事实上,有效而准确的数据可以揭示出潜在的业务机遇,…

vue源码笔记之——运行时runtime

源码中的位运算 按位于 运算 if (shapeFlag & ShapeFlags.TELEPORT) {解释:如果shapFlag本身值为8,type为1的话,那么转换为二进制(js都是32位)那就是 shapFlag:00000000 00000000 00000000 00001000 …

6590亿美刀!美自食高息恶果,净利息支出即将超越军费

号外:教链内参10.28《普通人从0到1000万(三千字)》 当美经济分析局(BEA)日前给出三季度美国GDP初估增速高达与我国旗鼓相当的4.9%时,很多人欢欣鼓舞,全然不假思索,2007-2022年发电量…

SpringBoot中CommandLineRunner详解(含源码)

文章目录 前言实例导入库application.yamlRunnerSpringBootCommandLineRunnerApplication执行结果 先后顺序示例OrderRunner1OrderRunner2执行结果 通常用法加载初始化数据示例 启动后打印应用信息示例 启动异步任务示例 接口健康检查示例 外部服务调用示例 参数校验示例 动态设…