CART 回归树中的公式详细讲解

news2024/10/6 19:15:14

本文将说明CART 回归树这些公式是如何在整个构建过程中发挥作用的。

CART 回归树的核心思想

CART(分类与回归树)既可以用于分类任务,也可以用于回归任务。在回归任务中,CART 回归树的目标是对连续型目标变量进行预测(例如预测房价、温度等)。与线性回归等方法不同,CART 回归树通过递归地将特征空间划分成多个区域,然后在每个区域中使用该区域内样本的目标均值来进行预测。

通过将数据集分成多个子集,CART 回归树能够很好地拟合非线性数据。其基本流程如下:

  1. 递归选择最优的特征和分裂点,划分数据集。
  2. 在每个划分区域内,使用该区域中的目标均值作为该区域的预测值。
  3. 通过最小化误差平方和来选择划分特征和分裂点。

CART 回归树的建模过程(公式 7-10)

f ( x ) = ∑ m = 1 M c m I ( x ∈ R m ) f(x) = \sum_{m=1}^{M} c_m I(x \in R_m) f(x)=m=1McmI(xRm)

公式 7-10 是 CART 回归树的预测模型表达式,描述了如何为每个输入 x x x 生成预测值。

  • f ( x ) f(x) f(x):CART 回归树对于输入 x x x 的预测输出值。
  • R m R_m Rm:特征空间中的第 m m m 个划分区域。CART 回归树通过划分特征空间,将数据集分成 M M M 个不重叠的区域。
  • c m c_m cm:区域 R m R_m Rm 内的预测值(常数)。通常来说,它是该区域内目标变量 y y y 的均值(即公式 7-11 中描述的计算方式)。
  • I ( x ∈ R m ) I(x \in R_m) I(xRm):指示函数,当 x x x 位于区域 R m R_m Rm 中时,该函数为 1,否则为 0。

该公式的含义是:给定一个输入 x x x,CART 回归树会找到 x x x 所属的划分区域 R m R_m Rm,并返回该区域的预测值 c m c_m cm 作为模型的输出。这种模型基于二叉树结构来递归划分数据,使得每个区域都包含类似的目标值。

预测过程:
  1. 对于输入样本 x x x,模型会通过决策树的划分找到其所属的区域 R m R_m Rm
  2. 输出 f ( x ) f(x) f(x) 就是区域 R m R_m Rm 对应的常数 c m c_m cm,即 R m R_m Rm 内所有样本的目标均值。

这种方法使得 CART 回归树非常灵活,能够捕捉数据中的复杂模式,而不是简单的线性关系。


如何确定区域内的输出值(公式 7-11)

c m = average ( y i ∣ x i ∈ R m ) c_m = \text{average}(y_i | x_i \in R_m) cm=average(yixiRm)

公式 7-11 详细描述了如何计算区域 R m R_m Rm 的预测值 c m c_m cm。也就是说,区域 R m R_m Rm 的预测值是所有位于该区域内的样本的目标均值。

  • y i y_i yi:是第 i i i 个样本的真实目标值。
  • x i ∈ R m x_i \in R_m xiRm:表示样本 x i x_i xi 属于区域 R m R_m Rm
公式含义:

该公式表明,对于属于区域 R m R_m Rm 的所有样本 x i x_i xi,其目标值 y i y_i yi 的均值就是该区域的预测值 c m c_m cm。这种方式保证了在该区域内的所有样本都会有一个相同的预测值。

举例说明:

假设我们有 5 个样本 ( x 1 , y 1 ) , ( x 2 , y 2 ) , ( x 3 , y 3 ) , ( x 4 , y 4 ) , ( x 5 , y 5 ) (x_1, y_1), (x_2, y_2), (x_3, y_3), (x_4, y_4), (x_5, y_5) (x1,y1),(x2,y2),(x3,y3),(x4,y4),(x5,y5),其中 x 1 , x 2 , x 3 x_1, x_2, x_3 x1,x2,x3 属于区域 R 1 R_1 R1,而 x 4 , x 5 x_4, x_5 x4,x5 属于区域 R 2 R_2 R2。那么,区域 R 1 R_1 R1 的预测值 c 1 c_1 c1 将是 y 1 , y 2 , y 3 y_1, y_2, y_3 y1,y2,y3 的均值,区域 R 2 R_2 R2 的预测值 c 2 c_2 c2 将是 y 4 , y 5 y_4, y_5 y4,y5 的均值。

这个公式的核心思想是:在每个区域中,使用目标变量的平均值来作为该区域的预测值。


如何划分数据集(公式 7-12)

R 1 ( j , s ) = { x ∣ x ( j ) ≤ s } , R 2 ( j , s ) = { x ∣ x ( j ) > s } R_1(j, s) = \{ x | x^{(j)} \leq s \}, \quad R_2(j, s) = \{ x | x^{(j)} > s \} R1(j,s)={xx(j)s},R2(j,s)={xx(j)>s}

公式 7-12 描述了 CART 回归树在训练过程中如何基于某个特征 j j j 和分裂点 s s s 将数据集划分为两个子集(区域)。

  • j j j:表示用于划分数据集的特征索引。
  • s s s:特征 j j j 上的划分点(阈值)。
  • R 1 ( j , s ) R_1(j, s) R1(j,s):所有第 j j j 个特征的值小于等于 s s s 的数据点构成的区域。
  • R 2 ( j , s ) R_2(j, s) R2(j,s):所有第 j j j 个特征的值大于 s s s 的数据点构成的区域。
公式含义:

CART 回归树会选择某个特征 j j j 以及该特征上的某个取值 s s s 作为分裂点,将数据集划分为两个子区域 R 1 ( j , s ) R_1(j, s) R1(j,s) R 2 ( j , s ) R_2(j, s) R2(j,s)。其中:

  • 所有特征值 x ( j ) ≤ s x^{(j)} \leq s x(j)s 的样本被划分到 R 1 R_1 R1
  • 所有特征值 x ( j ) > s x^{(j)} > s x(j)>s 的样本被划分到 R 2 R_2 R2
举例说明:

假设我们在数据集中有一个特征 “房屋面积” X X X,并且我们选择 1300 平方英尺作为分裂点 s s s,则:

  • 所有房屋面积小于等于 1300 平方英尺的样本 x x x 会被划分到 R 1 R_1 R1
  • 所有房屋面积大于 1300 平方英尺的样本 x x x 会被划分到 R 2 R_2 R2

通过不断地划分数据集,CART 回归树会生成一棵二叉树,每个节点都是根据一个特征和分裂点划分出来的。


如何选择最佳划分(公式 7-13)

min ⁡ j , s [ min ⁡ c 1 ∑ x i ∈ R 1 ( j , s ) ( y i − c 1 ) 2 + min ⁡ c 2 ∑ x i ∈ R 2 ( j , s ) ( y i − c 2 ) 2 ] \min_{j, s} \left[ \min_{c_1} \sum_{x_i \in R_1(j, s)} (y_i - c_1)^2 + \min_{c_2} \sum_{x_i \in R_2(j, s)} (y_i - c_2)^2 \right] j,smin c1minxiR1(j,s)(yic1)2+c2minxiR2(j,s)(yic2)2

公式 7-13 是 CART 回归树中用于选择最佳特征和分裂点的关键公式。它描述了如何选择特征 j j j 和分裂点 s s s,使得划分后的两个子区域的误差平方和最小。

  • j j j:表示用于划分数据的特征索引。
  • s s s:特征 j j j 上的分裂点(取值)。
  • R 1 ( j , s ) R_1(j, s) R1(j,s) R 2 ( j , s ) R_2(j, s) R2(j,s):通过特征 j j j 和分裂点 s s s 将数据划分为的两个子区域。
  • c 1 c_1 c1 c 2 c_2 c2:是区域 R 1 R_1 R1 R 2 R_2 R2 内的预测值(即每个区域目标值的均值)。
公式的含义:
  1. 内层最小化 c 1 c_1 c1 c 2 c_2 c2:对于每个区域 R 1 ( j , s ) R_1(j, s) R1(j,s) R 2 ( j , s ) R_2(j, s) R2(j,s),找到最佳常数值 c 1 c_1 c1 c 2 c_2 c2,使得平方误差最小。换句话说, c 1 c_1 c1 c 2 c_2 c2 就是区域 R 1 R_1 R1 R 2 R_2 R2 的均值,它们能最小化各自区域内的误差。

  2. **外层最小化 j j j 和 (

s$**:CART 算法通过遍历所有特征 j j j 以及每个特征的所有可能分裂点 s s s,找到能使整个数据集的误差平方和最小的特征 j j j 和分裂点 s s s

最终,CART 回归树通过选择能够最小化误差的特征和分裂点,保证每次划分后的区域能够更好地拟合数据。

举例说明:

假设我们有一个房价预测任务,特征是房屋面积 X X X。算法会尝试多个可能的划分点(如 1200、1300、1500 平方英尺等),并计算每个划分后的两个区域的平方误差。最终选择使得两个区域误差平方和最小的划分点。


综合总结

CART 回归树的构建可以分为以下几个关键步骤:

  1. 模型结构(公式 7-10):CART 回归树通过将特征空间划分为多个子区域 R m R_m Rm,并为每个区域指定一个常数值 c m c_m cm 来进行预测。

  2. 区域预测值的确定(公式 7-11):在每个区域 R m R_m Rm 中,使用区域内目标变量的均值 c m c_m cm 作为该区域内所有样本的预测值。这确保了区域内所有样本的预测值是相同的。

  3. 数据集划分(公式 7-12):CART 回归树通过特征 j j j 和分裂点 s s s 将数据集划分为两个子区域 R 1 ( j , s ) R_1(j, s) R1(j,s) R 2 ( j , s ) R_2(j, s) R2(j,s)。这种划分是基于某个特定特征的取值范围进行的。

  4. 选择最佳划分(公式 7-13):CART 回归树通过最小化划分后两个区域内的误差平方和,来选择最佳的特征和分裂点,从而确保每次划分能够减少整体的预测误差。

CART 回归树的灵活性在于它能够通过不断划分特征空间,捕捉数据的非线性关系,并且在回归任务中,使用均方误差来衡量和优化模型的表现。这使得 CART 回归树成为回归任务中的重要工具之一。

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

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

相关文章

冯诺依曼体系|操作系统

目录 一、硬件:冯诺依曼体系 1.冯诺依曼体系结构 2.冯诺依曼体系结构组成 3.内存的重要性 (1)提升运行速度 (2)提升运行效率 二、软件:操作系统 1.什么是操作系统 (1)内部理…

代码随想录Day54

今天是国庆假期后的恢复做题的第一天,摆了那么久感觉还是有点没摆够哈哈哈哈!今天两道题都是困难题,两道题都去看讲解了,感觉这两道题是高度相似的,接雨水用单调递增栈来做,柱状图中最大的矩形用单调递减栈…

水凝胶发生器,不对称设计妙,医电应用前景广

大家好!今天来了解一种具有工程机械离子不对称性的水凝胶发生器——《A high-current hydrogel generator with engineered mechanoionic asymmetry》发表于《Nature Communications》。嘿!你能想象一种材料,它能像魔法一样在低频运动下产生高…

消息称苹果iPhone系列将完全放弃LCD屏幕

近日,据日经亚洲消息,苹果公司将于明年初推出搭载OLED显示屏的 iPhone SE 4,标志其整个iPhone系列已进入从 LCD 过渡到 OLED 技术的最后阶段,2025年及之后销售的所有iPhone机型均将搭载OLED屏幕。 由此,两家日本面板供…

【一起学NLP】Chapter3-使用神经网络解决问题

目录 使用神经网络解决问题Tip:数据集划分学习使用的代码Tip:epochTip:数据打乱Trainer类Tip-高速化计算 使用神经网络解决问题 import sys sys.path.append(..) # 为了引入父目录的文件而进行的设定 from dataset import spiral import matplotlib.pyplot as pltx,t spiral.…

解决银河麒麟桌面操作系统V10(ARM)中`apt-get update`“正在等待报头”问题

解决银河麒麟桌面操作系统V10(ARM)中apt-get update“正在等待报头”问题 1、问题描述2、 解决方法步骤一:打开终端步骤二:清理APT缓存步骤三:再次尝试更新软件源 💖The Begin💖点点关注&#x…

利士策分享,故事创作和造谣及假新闻之间如何界定?

利士策分享,故事创作和造谣及假新闻之间如何界定? 在这个信息爆炸的时代,一篇打着“人民网”旗号的虚假文章《低俗炒作博眼球,曝"瓜"文化不可取》在网络上迅速发酵,不仅误导了公众,更对无辜者造…

【源码+文档】基于SpringBoot+Vue校园智慧迎新服务平台

🚩如何选题? 如何选题、让题目的难度在可控范围,以及如何在选题过程以及整个毕设过程中如何与老师沟通,这些问题是需要大家在选题前需要考虑的,具体的方法我会在文末详细为你解答。 🚭如何快速熟悉一个项目…

MySQL【知识改变命运】03

表的基本操作 1:查看所有表2:创建表3:查看表结构4:修改表5: 删除表 前言:我们先了解一个知识: MySQL安装后会有MySQL服务——管理多个库——每个库管理多个表——每个表管理多行数据——数据行由…

《Windows PE》4.1导入表

导入表顾名思义,就是记录外部导入函数信息的表。这些信息包括外部导入函数的序号、名称、地址和所属的DLL动态链接库的名称。Windows程序中使用的所有API接口函数都是从系统DLL中调用的。当然也可能是自定义的DLL动态链接库。对于调用方,我们称之为导入函…

本田汽车投资SiLC Technologies:携手共促自动驾驶技术新飞跃

SiLC Technologies获本田汽车投资:加速自动驾驶技术革新 近日,硅谷光子学初创公司SiLC Technologies宣布获得本田汽车的投资,这一合作标志着双方将共同推进自动驾驶技术领域的革新与发展。本田此次投资不仅体现了对SiLC Technologies技术实力的认可,也彰显了本田在自动驾驶…

进程管理和进程调度的基本过程(详细版)

“无论你走得多慢,总比停下来要好。” 对于操作系统内核来说,里面包含的功能是非常多的,其中有一个功能和日常开发,息息相关。 进程管理: 进程(process/task):进程就是正在执行的应…

一个月学会Java 第4天 运算符和数据转换

Day4 运算符和数据转换 今天来讲运算符,每个运算符的作用和现象,首先我们先复习一下数据类型, day2讲过基本数据类型有八种,int、short、long、byte、char、boolean、float、double,分别为四个整型、一个字符型、一个布…

代码随想录 | Day28 | 回溯算法:组合组合总和III

代码随想录 | Day28 | 回溯算法:组合&&组合总和III 关于这个章节,大家最好是对递归函数的理解要比较到位,听着b站视频课可能呢才舒服点,可以先去搜一搜关于递归函数的讲解,理解,再开始这个章节会比…

01 从0开始搭建django环境

1 安装相关版本的django,这里,我以5.1.1为例子 pip3 install django5.1.1 (.venv) D:\DjangoCode\MS>pip3 install django5.1.1 Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple Collecting django5.1.1Using cached https://pypi.t…

算法题总结(七)——栈与队列

1、栈常用操作 &#xff08;1&#xff09;栈定义 Stack<Integer> stack new Stack<Integer>();&#xff08;2&#xff09;栈操作 .栈是否为空 isEmpty(); .查询栈顶元素&#xff0c;不改变栈 peek(); .弹出栈顶元素&#xff0c;改变栈 pop(); .压入栈顶 push(); …

Quantify LLM

大模型如果用bfloat16需要特别大的显存&#xff0c;所以都在用INT4、INT8做量化&#xff0c;效果不错 量化学习 为什么量化 对Llama13B模型来说&#xff0c;不同算子加载需要的显存不同 中间是TensorCore&#xff0c;左右两边是显存&#xff0c;加载过程中模型要频繁地将wei…

【移动端】事件基础

一、移动端事件分类 移动端事件主要分为以下几类&#xff1a; 1. 触摸事件&#xff08;Touch Events&#xff09; 触摸事件是移动设备特有的事件&#xff0c;用来处理用户通过触摸屏幕进行的操作。主要的触摸事件有&#xff1a; touchstart&#xff1a;手指触摸屏幕时触发。…

k8s 之动态创建pv失败(踩坑)

作者&#xff1a;程序那点事儿 日期&#xff1a;2024/02/05 18:53 初学容易范的错&#xff01; 问题简述&#xff1a; StorageClass创建成功&#xff0c;StatefulSet 启动不成功&#xff0c;与pvc关联的po和pvc一直是pending状态。 也就是说&#xff0c;StorageClass没有动态…

MQTT--Java整合EMQX

目录 1、简介2、准备3、使用步骤3.1 引入依赖3.2 创建生产者和消费者3.3 测试 总结PS: 1、简介 本文章实现了一个简单的MQTT客户端&#xff0c;使用Eclipse Paho库让Java和EMQX整合&#xff0c;测试客户端初始化时配置Broker地址、客户端ID、用户名和密码。连接成功后&#xf…