论文解读12——NGBoost: Natural Gradient Boosting for Probabilistic Prediction

news2024/11/23 19:00:11

目录

  • 1、文章贡献
  • 2、评分规则
  • 3、自然梯度
  • 4、自然梯度提升算法NGBoost

在这里插入图片描述

1、文章贡献

由吴恩达团队提出的NGBoost是一种通过梯度提升进行概率预测的算法,与经典的回归模型返回一个点估计结果不同,概率回归模型返回全概率分布,将条件分布的参数视为多参数提升算法的目标,将梯度提升推广到概率回归,允许对不确定性进行预测估计。

2、评分规则

  • 假设一个概率分布Pθ(y|x),与点估计中观测值通过损失函数比较相类似,概率回归中使用评分规则将估计的概率分布与观测数据比较。
    评分规则S将概率分布P和观测值y作为输入,记为S(P,y)。当且仅当:
    在这里插入图片描述
    其中Q是y的真实分布,P是其他任何分布。
  • 最常用的评分规则是对数分数L,当最小化时MLE表示为:
    在这里插入图片描述
  • 另一个代替规则是CRPS,定义为:
    在这里插入图片描述

3、自然梯度

  • 采用标准的梯度下降方法,通过在每个点x上沿分数相对于参数的负梯度下降,来找到最小化评分规则的参数。
    在梯度的该方向上无限小的移动参数将最大程度增加评分规则:
    在这里插入图片描述
  • 每一个适当的评分规则都会产生一个散度,可以作为分布空间中的局部距离度量。在第一个评分规则满足的不等式中,右侧关于左侧的超额分数是评分规则引起的散度,定义为:
    在这里插入图片描述
    可以解释为一个分布Q到另一个分布P差异的度量。其中MLE评分规则引发Kullback-Leibler散度;CRPS评分规则引发L²散度。
    (散度KL和散度L²对Q和P的参数化方式是不变的,虽然散度在一般情况下是不对称的,但对于参数的微小变化几乎是对称的,可以作为局部距离度量。当这样使用时,散度会产生一个统计流形,其中统计流中的每个点对应一个概率分布)
  • 广义自然梯度是黎曼空间中上升最陡的方向,对参数化不变,定义为:
    在这里插入图片描述
  • 如果我们求解相应的优化问题,就得到了以下形式的自然梯度:
    在这里插入图片描述
    其中Ⅰs(θ)是θ处统计流形的黎曼度量
  • 选择评分规则为MLE即令S=L,求解优化问题得到:
    在这里插入图片描述
    其中ⅠL(θ)是关于Pθ的费歇尔信息量,定义为:
    在这里插入图片描述
  • 同样地,选择评分规则为CRPS即令S=C,求解优化问题得到:
    在这里插入图片描述
    其中Ⅰc(θ)是使用L²作为局部距离度量的统计流形的黎曼度量,定义为:
    在这里插入图片描述
    使用自然梯度学习参数使优化问题不受参数化的影响,并导致更有效和稳定的学习动态。

考虑在概率回归中调整梯度提升来预测参数θ。

4、自然梯度提升算法NGBoost

算法有三个模块化组件:

  • 基学习器f
  • 参数概率分布Pθ
  • 评分规则S
  • 对新输入x的预测 y|x 以条件概率分布Pθ的形式进行,其中参数θ由M个基学习器的输出和初始值的加法组合获得。注意θ完全决定了概率预测 y|x 。
    (例如对于参数μ和logσ的正态分布,每个基学习器f将x作为输入,预测输出用特定的比例因子ρ缩放,学习率为η)
    在这里插入图片描述
  • 学习算法首先估计初始值θ(0),使它最小化评分规则对所有训练实例的响应变量的和,本质上是拟合y的边际分布。
  • 对于M颗树的每次迭代m,算法计算对于每个实例i下,评分规则S相对于该阶段下的预测参数θi(m-1)的自然梯度gi(m),本次迭代的基学习器预测拟合每个实例xi对应的梯度gi(m)。
  • 输出通过缩放因子ρ缩放,选择缩放因子来通过线性的形式沿着梯度方向将整体真实评分规则损失最小化。
  • 一旦缩放因子ρ确定,预测每个实例的参数将通过每个θi(m-1)的负缩放梯度相加更新为θi(m)。
    在这里插入图片描述

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

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

相关文章

Windows系统安装jenkins服务 war包形式

1.首先下载 jenkins war包 注意和jdk 的版本匹配 https://www.jenkins.io/zh/download/ 2.配置jenkins环境变量 如果不配置环境变量, jenkins的主目录默认生成在c盘下 环境变量怎么配? 请自行百度 3.运行jar包 注意修改war包路径 java -jar /data/jenkins/jenkins.war…

DNS原理与搭建(一)

文章目录一、DNS的概念与原理二、DNS私服搭建一、DNS的概念与原理 概念 DNS指的是域名服务器,就是将域名转换成IP[或者将IP转换成域名];当我们在浏览器中输入域名并按下回车,会对我们输入的域名进行解析,并返回一个IP地址,在通过…

Deepin系统深度学习环境配置指南

Deepin深度操作系统在众多Linux发行版本中深受欢迎,在实用性和专业方面到达了很好的均衡,该系统软件适配丰富支持很多第三方软件,增加了系统任务的灵活性。在装好该系统后,如何在该系统上进行深度学习代码训练调试,这就…

网络编程.

文章目录一、概述通信要素一:IP和端口号IP端口号通信要素二:网络协议TCP网络编程UDP网络编程URL网络编程每日一考一、概述 1、网络编程中两个主要问题: 如何定位网上的一台或多台主机,定位主机上的特定应用 找到主机后&#xff0…

北京化工大学1/17寒假集训题解(>1800)

目录 A - 文艺平衡树 B - 可持久化文艺平衡树 C - 可持久化平衡树 主要思路:FHQ Treap 可持久化 D - 维护数列 初始化 Insert操作 Delete操作 Reverse操作 Make-Same操作 Get-Sum操作 Max-Sum操作 懒标记的处理 E - 文本编辑器 A - 文艺平衡树 这里的…

贪心策略(二)兑换零钱(最后还得是动规)

兑换零钱(一)_牛客题霸_牛客网 兑换零钱(二)_牛客题霸_牛客网 兑换零钱(一)_牛客题霸_牛客网 描述 给定数组arr,arr中所有的值都为正整数且不重复。每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个aim,代表要…

C++程序设计——类和对象II

一、再谈构造函数 1.构造函数体赋值 在创建对象时,编译器通过调用构造函数,给对象中各个成员变量赋一个合适的初始值。 虽然上述构造函数调用后,对象中已经有了初始值,但是不能将其称之为类对象成员的初始化,构造函数…

Vue学习笔记(三)

Vue学习笔记三1.组件的引入及使用2.插槽3. 插槽三种写法3.1 第一种3.2 第二种3.3 第三种简化写法4.组件生命周期4.Vue路由1.组件的引入及使用 在components中写入组件Header.vue 在App.vue中进行引入 <template><div><!-- 组件化: 1个页面由不同的部分组合而…

excel日期函数:DATEDIF的几个实际应用公式编写

DATEDIF函数不仅可以用来计算年龄、工龄、工龄工资、项目周期&#xff0c;还可以用来做生日倒计时提醒&#xff0c;项目竣工日倒计时提醒等等。用上它&#xff0c;您再也不会缺席那些重要的日子&#xff0c;不论是亲人生日、项目竣工日&#xff0c;还是儿女的毕业典礼日。DATED…

明道云大湾区2023年季度闭门会议圆满结束

2023年1月12日&#xff0c;明道云在深圳坂田天安云谷召开明道云大湾区2023年季度闭门分享会。超过百位来自中大型企业组织的IT部门代表和业务技术专家莅临现场&#xff0c;进行了一下午的同台交流。广汽本田、深圳龙华区人民医院、民生银行及华润置地的项目代表&#xff0c;深度…

WebService最优方案选择

需求 最近&#xff0c;接触到了一个java对接C#的项目&#xff0c;使用WebService技术开发。项目已经快告一段落了&#xff0c;经过这几个月接触和使用。我有了一个清晰的认识&#xff0c;之前也调研了互联网上大部分实现的通讯&#xff0c;他们的优缺点&#xff0c;我都有一定…

linux系统下如何获取文件的创建时间

linux 获取文件的创建时间 提到获取文件的创建时间&#xff0c;写Java的小伙伴可能会说&#xff0c;那太简单了&#xff0c;java.nio.file.attribute.BasicFileAttributes下这个类不就记录了文件的相关信息吗&#xff0c;比如下面这段代码不就得到文件的创建时间了嘛&#xff…

chrono_CLOCK(二)

chrono_CLOCK&#xff08;二&#xff09; 文章目录chrono_CLOCK&#xff08;二&#xff09;从测量C程序运行时间引入C风格C风格时钟的成员和源码分析成员函数成员变量Clock提供的操作例子三个clock区别例子三个clock的精度问题方式一方式二从测量C程序运行时间引入 C风格 在C…

数据库,计算机网络、操作系统刷题笔记33

数据库&#xff0c;计算机网络、操作系统刷题笔记33 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0c;可能很多算法学生都得去找开发&#xff0c;测开 测开的话&#xff0c;你就得学数据库&#xff0c;sql&#xff0c;oracle…

自定义View的学习笔记1-1

这一系列主要是跟随扔物线的学习笔记。 自定义View主要是三个部分&#xff0c;绘制&#xff0c;布局&#xff0c;触摸反馈。 绘制是这三个部分中&#xff0c;最重要的一个。 先说绘制&#xff0c;所谓绘制&#xff0c;指的就是控件内容的显示。啥意思&#xff0c;比如我们作…

02 技术太卷我学Apex-级联值列表

02 技术太卷我学Apex-级联值列表 0 值列表概念 就是页面输入时从下拉列表中选择固定值。 值列表可以在APEX中【共享组件】-【其它组件】-【值列表】创建&#xff0c;也可以也页面上自己用sql语句&#xff08;一般需要级联值列表最好在页面上创建&#xff09;创建。 1 创建一…

Node版本锁定

Node版本锁定问题方案一、锁定Node版本二、自动切换Node版本问题 接手项目时&#xff0c;不知道项目所用的Node版本同一个项目&#xff0c;不同人用不同的Node版本&#xff0c;引起编译后的未知问题 方案 一、锁定Node版本 在package.json中配置 engines&#xff0c;限定项目…

【微电网】基于改进粒子群算法的微电网优化调度(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

云原生周刊 | 使用 ChatGPT 协助解决 Prometheus 告警

开源项目推荐 kubernetes-chatgpt-bot 这是一个适用于 Slack 的 ChatGPT 机器人&#xff0c;只要有监控告警发送到 Slack 频道中&#xff0c;你就可以通过机器人向 ChatGPT 咨询如何解决这个告警&#xff0c;ChatGPT 将会给出一个较为详细的解决方案。 Copacetic Copacetic …

WEB文件管理器和上传器:GleamTech FileUltimate 8.5.1.0

GleamTech FileUltimate适用于 ASP.NET Core、MVC 和 WebForms 的FileUltimate文件管理器和上传器 将文件管理器快速集成到您的 ASP.NET 应用程序或站点中。 使用访问控制浏览和管理文件。 接受具有高级上传功能的文件&#xff08;上传器也可作为独立组件使用&#xff09;。 提…