DataWhale-树模型与集成学习-Task01-决策树-202110

2023-12-27 21:58

本文主要是介绍DataWhale-树模型与集成学习-Task01-决策树-202110,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、练习题

1. 练习01

解答:

(1)

\begin{equation} \begin{aligned} G(Y,X)&=\sum_{k=1}^{K}\sum_{m=1}^{M}p(y_k,x_m)\log_2\frac{p(y_k,x_m)}{p(y_k)p(x_m)}\\ &=\sum_{k=1}^{K}\sum_{m=1}^{M}p(y_k,x_m)[\log_2\frac{p(y_k,x_m)}{p(y_k)}-\log_2p(x_m)] \\ &=\sum_{k=1}^{K}\sum_{m=1}^{M}p(y_k)\frac{p(y_k,x_m)}{p(y_k)}\log_2\frac{p(y_k,x_m)}{p(y_k)}-\sum_{k=1}^{K}\sum_{m=1}^{M}p(y_k,x_m)\log_2p(x_m)\\ &=\sum_{k=1}^Kp(y_k)\sum_{m=1}^Mp(x_m|Y=y_k)\log_2p(x_m|Y=y_k)-\sum_{m=1}^Mp(x_m)\log_2p(x_m)\\ &=H(X)-H(X|Y) \end{aligned} \end{equation}

(2)

 \begin{equation} \begin{aligned} H(Y,X)&=-\sum_{k=1}^K\sum_{m=1}^Mp(y_k,x_m)\log_2p(y_k,x_m)\\ &=-\sum_{k=1}^K\sum_{m=1}^Mp(y_k,x_m)[\log_2p(x_m)+\log_2\frac{p(y_k,x_m)}{p(x_m)}]\\ &=-\sum_{k=1}^K\sum_{m=1}^Mp(y_k,x_m)\log_2p(x_m)-\sum_{k=1}^K\sum_{m=1}^Mp(x_m)\frac{p(y_k,x_m)}{p(x_m)}\log_2\frac{p(y_k,x_m)}{p(x_m)}\\ &=H(X)+H(Y|X) \end{aligned} \end{equation}

结合G(Y,X)=H(Y)-H(Y|X)

可以得到G(Y,X)=H(X)+H(Y)-H(Y,X)

(3)

通过上面已经得到的公式,很容易证明G(Y,X)=H(Y,X)-H(X|Y)-H(Y|X)

(4)

H(X)对应A U B, H(Y)对应B U CH(X|Y)对应A, H(Y|X)对应C, H(Y,X)对应AUBUC, G(Y,X)对应B

 2. 练习02

  【练习】假设当前我们需要处理一个分类问题,请问对输入特征进行归一化会对树模型的类别输出产生影响吗?请解释原因。

解答:不会,因为归一化处理不会改变样本输入特征和样本标签类别的分布,会得到一样的树。

3. 练习03

【练习】如果将系数替换为1−γ^2,请问对缺失值是加强了还是削弱了惩罚?

解答:因为γ<1,所以是削弱了惩罚。

4.练习04

【练习】如果将树的生长策略从深度优先生长改为广度优先生长,假设其他参数保持不变的情况下,两个模型对应的结果输出可能不同吗?

解答:由于同一层级子节点已经对样本进行了划分,所以深度优先和广度优先生成的模型应该是一样的。

5. 练习05

【练习】在一般的机器学习问题中,我们总是通过一组参数来定义模型的损失函数,并且在训练集上以最小化该损失函数为目标进行优化。请问对于决策树而言,模型优化的目标是什么?

解答:应该是信息增益最大化,考虑到预剪枝和后剪枝,应该是各种约束条件下的信息增益最大化。

6.练习06

【练习】对信息熵中的log函数在p=1处进行一阶泰勒展开可以近似为基尼系数,那么如果在p=1处进行二阶泰勒展开我们可以获得什么近似指标?请写出对应指标的信息增益公式。

                      \begin{equation} \begin{aligned} H(Y)&=\mathbb{E}_Y[-\log_2p(Y)]\\& \approx\mathbb{E}_Y[1-p(Y)+\frac{1}{2}(1-p(Y)^2]\\ &=\sum_{k=1}^Kp(y_k)[1-p(y_k)+\frac{1}{2}(1-p(y_k)^2] \end{equation} \end{aligned}

                  \begin{equation} \begin{aligned} H(Y|X)&=\mathbb{E}_X[\mathbb{E}_{Y|X}(1-p(Y|X)+\frac{1}{2}(1-p(Y|X))^2)] {\color{Emerald} }\\ &=\sum_{m=1}^Mp(x_m)\sum_{k=1}^K[p(y_k|x_m)(1-p(y_k|x_m)+\frac{1}{2}(1-p(y_k|x_m))^2)] \end{equation} \end{aligned}

                  G(Y,X)=H(Y)-H(Y|X)

             

7. 练习07

     H(Y)=1-\max_kp(Y=y_k)

     H(Y|X)=\sum_{m=1}^Mp(x_m)[1-\max_kp(Y=y_k|X=x_m)]

     G(Y,X)=H(Y)-H(Y|X)

  因为该纯度指标在单一分布时取最小值0,在均匀分布时取最大值,且该指标是单调的。

8.练习08

【练习】为什么对没有重复特征值的数据,决策树能够做到损失为0?

 解答:因为没有重复特征值的情况下,决策树的节点可以一直向下分直到每个叶节点都只有1个样本数据。

9.练习09

【练习】如何理解min_samples_leaf参数能够控制回归树输出值的平滑程度?

解答:因为叶节点样本数越小,其样本均值用来做估计的平滑程度越低,均方差越大。

二、知识回顾

1. ID3树算法、C4.5树算法和CART算法之间有何异同?

解答: ID3用最大信息增益来进行节点分裂。C4.5在ID3基础上做出了诸多改进,包括但不限于:处理数值特征、处理含缺失值的特征、使用信息增益比代替信息增益以及给出树的剪枝策略。     

    CART是一颗二叉树,只是现在不再以熵(条件熵)来评价节点(子节点)的纯度。对于数值标签而言,我们可以认为节点间元素大小越接近则纯度越高,因此可以考虑使用均方误差(MSE)或平均绝对误差(MAE)来替换熵和条件熵的位置。当处理分类问题时,CART将熵中的loglog在p=1p=1处利用一阶泰勒展开,基尼系数定义为熵的线性近似。

2.  什么是信息增益?它衡量了什么指标?它有什么缺陷?

解答:在信息熵和条件熵的基础上,可以定义信息增益,即在得到了随机变量X的取值信息时,随机变量Y不确定性的平均减少量。即节点分裂之后带来了多少不确定性的降低或纯度的提高。

     信息增益来选择的决策树对类别较多的特征具有天然的倾向性,在类别占比均匀的情况下,类别数越多则熵越高,使用了信息增益比来代替信息增益更合适。

3.  sklearn决策树中的random_state参数控制了哪些步骤的随机性?

解答:抽出max_features个特征的随机性,对于数值特征采用随机分割法时的随机性。

4.  决策树如何处理连续变量和缺失变量?

解答:连续的数值特征可以采用最佳分割法和随机分割法。样本的缺失值占比越大,那么对信息增益的惩罚就越大。设节点N的样本缺失值比例为γ

                        

 5. 基尼系数是什么?为什么要在CART中引入它?

解答:由于对数函数log的计算代价较大,CART将熵中的log在p=1处利用一阶泰勒展开,基尼系数定义为熵的线性近似。

6.  什么是树的预剪枝和后剪枝?具体分别是如何操作的?

解答:预剪枝是指树在判断节点是否分裂的时候就预先通过一些规则来阻止其分裂,后剪枝是指在树的节点已经全部生长完成后,通过一些规则来摘除一些子树。

         预剪枝策略通过参数控制,它们分别是最大树深度max_depth、节点分裂的最小样本数min_samples_split、叶节点最小样本数min_samples_leaf、节点样本权重和与所有样本权重和之比的最小比例min_weight_fraction_leaf、最大叶节点总数max_leaf_nodes以及之前提到的分裂阈值min_impurity_decrease。

        

 

        

这篇关于DataWhale-树模型与集成学习-Task01-决策树-202110的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/544402

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验