【决策树】简单介绍+个人理解(一)

news2024/10/1 7:31:01

∙ \bullet 分类模型中除了贝叶斯决策规则,SVM,最近邻分类器,还有决策树
∙ \bullet 决策树就是选一个属性,根据属性的不同取值,将样本划分为不同的类,不断重复下去,直到终止。在叶子节点处,通过多数投票,赋予一个标签
在这里插入图片描述
∙ \bullet 对于一个餐馆等餐问题
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
∙ \bullet 离散属性值天然适合分叉,比如对于性别,男女各为一类;而对于连续的属性值,可以考虑选择一些阈值,将连续值划分为多个取值空间,每个空间为一类,如上面的WaitEstimate
∙ \bullet 每个叶子节点就代表一个分类或者决策,也是一个rule
∙ \bullet 决策树将特征空间划分为一个个与坐标轴平行的矩形
在这里插入图片描述
∙ \bullet 决策树的复杂度高度依赖于特征空间中样本的几何形状
在这里插入图片描述
∙ \bullet 有些样本用线性分类器很容易,用决策树却很费劲;而有些样本线性不可分,用决策树却几步就完成了。决策树分段线性,合起来就是非线性了。
在这里插入图片描述
∙ \bullet 每一个叶子 产生一条规则,规则由根到该叶子的路径上所有节点的条件,规则的结论是叶子上标注的结论(决策,分类,判断)决策树规则 代表实例属性值约束的合取(交集)的析取(并集)式。从树根到树叶的每一条路径对应一组属性测试的合取 树本身对应这些合取的析取。下面给出Yes类的rules
在这里插入图片描述
∙ \bullet 分类树的叶子节点输出离散值,一般通过多数投票得到;回归树的叶子节点输出连续值,一般通过取均值得到
∙ \bullet 一些优缺点

  • 解释性好,也更加符合人的决策方式。深度学习的一个为人诟病的点就是解释不了,你只知道最终分类的结果,但是不知道分类的依据,为什么这么分。在某些领域,如人脸识别,我们只关心是不是人脸,至于怎么分的我们不是很关心;但是如果在医疗诊断领域,机器判断出病人有癌症,但是依据是什么不知道,我们可能就无法接受了。
  • 树可以用图来表示,形象直观,更加容易理解
  • 构建树相对容易
  • 对新样本进行分类时速度很快
  • 分类精度比起其他分类器较低

∙ \bullet 构建树的时候,我们关心在每个节点,选择什么样的属性来进行分叉。我们自然希望选一个“好”点的属性,能将样本尽可能地分开,那么如何衡量一个属性好不好呢?
在这里插入图片描述
∙ \bullet 直觉告诉我们属性 X 1 X_1 X1更好一些,因为分叉后,不确定性减少了。左边的全是正样本,而右边负样本的概率很大。衡量不确定性可以用熵
P ( X = x i ) = p i , i = 1 , 2 , ⋯   , n H ( X ) = − ∑ i = 1 n p i log ⁡ p i P\left(X=x_i\right)=p_i, \quad i=1,2, \cdots, n\\ H(X)=-\sum_{i=1}^n p_i \log p_i P(X=xi)=pi,i=1,2,,nH(X)=i=1npilogpi
∙ \bullet 假如随机变量 X X X只取两个值 0 , 1 0,1 0,1
P ( X = 1 ) = p , P ( X = 0 ) = 1 − p , 0 ⩽ p ⩽ 1 H ( p ) = − p log ⁡ 2 p − ( 1 − p ) log ⁡ 2 ( 1 − p ) P(X=1)=p, \quad P(X=0)=1-p, \quad 0 \leqslant p \leqslant 1\\ H(p)=-p \log _2 p-(1-p) \log _2(1-p) P(X=1)=p,P(X=0)=1p,0p1H(p)=plog2p(1p)log2(1p)

在这里插入图片描述

∙ \bullet 可以想象,当一个随机变量取每一个值的概率都相等,其不确定性最大,熵最大
设有随机变量 ( X , Y ) (X, Y) (X,Y), 其联合概率分布为

条件熵

P ( X = x i , Y = y j ) = p i j , i = 1 , 2 , ⋯   , n ; j = 1 , 2 , ⋯   , m P\left(X=x_i, Y=y_j\right)=p_{i j}, \quad i=1,2, \cdots, n ; \quad j=1,2, \cdots, m P(X=xi,Y=yj)=pij,i=1,2,,n;j=1,2,,m
条件樀 H ( Y ∣ X ) H(Y \mid X) H(YX) 表示在已知随机变量 X X X 的条件下随机变量 Y Y Y 的不确定性. 随机变 量 X X X 给定的条件下随机变量 Y Y Y 的条件熵 (conditional entropy) H ( Y ∣ X ) H(Y \mid X) H(YX), 定义为 X X X 给定条件下 Y Y Y 的条件概率分布的熵对 X X X 的数学期望
H ( Y ∣ X ) = ∑ i = 1 n p i H ( Y ∣ X = x i ) p i = P ( X = x i ) , i = 1 , 2 , ⋯   , n H(Y \mid X)=\sum_{i=1}^n p_i H\left(Y \mid X=x_i\right)\\ p_i=P\left(X=x_i\right), \quad i=1,2, \cdots, n H(YX)=i=1npiH(YX=xi)pi=P(X=xi),i=1,2,,n
信息增益(information gain)表示得知特征 X X X 的信息而使得类 Y Y Y 的信息的不 确定性减少的程度.

信息增益

定义 (信息增益): 特征 A A A 对训练数据集 D D D 的信息增益 g ( D , A ) g(D, A) g(D,A), 定义为 集合 D D D 的经验熵 H ( D ) H(D) H(D) 与特征 A A A 给定条件下 D D D 的经验条件樀 H ( D ∣ A ) H(D \mid A) H(DA) 之差, 即
g ( D , A ) = H ( D ) − H ( D ∣ A ) g(D, A)=H(D)-H(D \mid A) g(D,A)=H(D)H(DA)
一般地, 熵 H ( Y ) H(Y) H(Y) 与条件熵 H ( Y ∣ X ) H(Y \mid X) H(YX) 之差称为互信息 (mutual information). 决 策树学习中的信息增益等价于训练数据集中类与特征的互信息.

根据信息增益准则的特征选择方法是: 对训练数据集 (或子集) D D D, 计算其 每个特征的信息增益, 并比较它们的大小, 选择信息增益最大的特征.

算法 (信息增益的算法)
输入: 训练数据集 D D D 和特征 A A A;
输出:特征 A A A 对训练数据集 D D D 的信息增益 g ( D , A ) g(D, A) g(D,A).

  1. 计算数据集 D D D 的经验熵 H ( D ) H(D) H(D)
    H ( D ) = − ∑ k = 1 K ∣ C k ∣ ∣ D ∣ log ⁡ 2 ∣ C k ∣ ∣ D ∣ H(D)=-\sum_{k=1}^K \frac{\left|C_k\right|}{|D|} \log _2 \frac{\left|C_k\right|}{|D|} H(D)=k=1KDCklog2DCk

  2. 计算特征 A A A 对数据集 D D D 的经验条件樀 H ( D ∣ A ) H(D \mid A) H(DA)
    H ( D ∣ A ) = ∑ i = 1 n ∣ D i ∣ ∣ D ∣ H ( D i ) = − ∑ i = 1 n ∣ D i ∣ ∣ D ∣ ∑ k = 1 K ∣ D i k ∣ ∣ D i ∣ log ⁡ 2 ∣ D i k ∣ ∣ D i ∣ H(D \mid A)=\sum_{i=1}^n \frac{\left|D_i\right|}{|D|} H\left(D_i\right)=-\sum_{i=1}^n \frac{\left|D_i\right|}{|D|} \sum_{k=1}^K \frac{\left|D_{i k}\right|}{\left|D_i\right|} \log _2 \frac{\left|D_{i k}\right|}{\left|D_i\right|} H(DA)=i=1nDDiH(Di)=i=1nDDik=1KDiDiklog2DiDik

  3. 计算信息增益
    g ( D , A ) = H ( D ) − H ( D ∣ A ) g(D, A)=H(D)-H(D \mid A) g(D,A)=H(D)H(DA)

∙ \bullet H ( D ) H(D) H(D)代表原来的不确定性, H ( D ∣ A ) H(D|A) H(DA)代表用属性 A A A进行分叉后的不确定性,两个相减就是用属性 A A A进行分叉可以减少的不确定性,也叫信息增益。条件熵我是这么理解的,属性将样本分为几个类,每个类都有一个概率(类样本除总样本),每一类都有一个熵(计算方法和 H ( D ) H(D) H(D)一样),条件熵是每个类的熵乘每个类的概率,最后求和

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

支持图文公式混排的题库软件,Word试卷直接入库

试卷电子化的难题是入库难,只有试卷入库,才能做到后续的监督,复习,错题本等功能。 目前题库软件众多,但大多数题库软件仅支持纯文本题库,而很多试卷都是包括公式,图形,排版复杂。 …

中国外文局文化传播中心借力vLive虚拟直播,打造国际汉文化云讲堂

文明因多样而交流,因交流而互鉴,因互鉴而发展。 近日,中国外文局文化传播中心组织的“中华文化国际传播云讲堂”活动成功举办,本次云讲堂以“世界汉学家看中国文化”为主题,邀请世界汉学家共同探讨汉文化,…

【Git】一文带你入门Git分布式版本控制系统(创建合并分支、解决冲突)

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,也会涉及到服务端 📃个人状态: 在校大学生一枚,已拿多个前端 offer(秋招) 🚀未…

Kyligence 客户浦发银行、招商银行荣获金融业科技赋能业务创新突出贡献奖

近日,由《金融电子化》杂志社主办的“2022中国金融科技年会暨第十三届金融科技应用创新奖颁奖典礼”成功举办。Kyligence 服务客户上海浦东发展银行股份公司(以下简称浦发银行)项目「客户旅程万花筒」、招商银行股份有限公司(以下…

户外运动如何安全享受音乐、专业户外运动耳机推荐

想采摘成熟的柿子、苹果、冰糕或栗子吗?出去运动吧在这个不冷不热的金秋季节里,大自然的一切都在等着我们出户外去探险,要说今年的哪一个户外运动最引人注目,露营和登山总是不相上下,但是运动怎么能少了音乐的陪伴呢&a…

智慧楼宇数字孪生应用方案

智慧楼宇也称智能建筑、智能楼宇,是将建筑、物联网感知和控制及结构、系统、管理和服务等各方面的先进科技相互交融结合,是现代化新型建筑发展的必经阶段。通过数字孪生技术,可将楼宇设备之间、系统之间融合数据互通,为组成智慧楼…

PyTorch学习笔记 7.TextCNN文本分类

PyTorch学习笔记 7.TextCNN文本分类一、模型结构二、文本分词与编码1. 分词与编码器2. 数据加载器二、模型定义1. 卷积层2. 池化层3. 全连接层三、训练过程四、测试过程五、预测过程一、模型结构 2014年,Yoon Kim针对CNN的输入层做了一些变形,提出了文本…

Redis事件循环

Redis事件循环文件事件时间事件事件调度和执行客户端部分关于客户端输出缓冲区限制ServerCron周期函数服务器启动流程小结Redis服务器是一个事件驱动程序, 主要处理两类事件: 文件事件 (File Event) : 对套接字操作的抽象,服务器与客户端的通信过程会产生相应的文件…

Java 中的继承和多态

面向对象的三大特性:封装、继承、多态。在这三个特性中,如果没有封装和继承,也不会有多态。 那么多态实现的途径和必要条件是什么呢?以及多态中的重写和重载在JVM中的表现是怎么样?在Java中是如何展现继承的特性呢&am…

常用密码算法介绍

算法种类 根据技术特征,现代密码学可分为三类: 对称算法 说明:加密密钥和解密密钥相同,对明文、密文长度没有限制 子算法: 流密码算法:每次加密或解密一位或一字节的明文或密文 分组密码算法&#xff…

LiveGBS流媒体平台国标GB/T28181功能-国标流媒体服务平台作为上级接入海康大华华为宇视等下级平台及摄像头

LiveGBS国标流媒体服务平台作为上级接入海康大华华为宇视等下级平台及摄像头1、背景说明2、部署国标平台2.1、安装使用说明2.2、服务器网络环境2.3、信令服务配置3、监控摄像头设备接入3.1、海康GB28181接入示例3.2、大华GB28181接入示例3.3、华为IPC GB28181接入示例4、硬件NV…

mysql 存储过程实现从一张表数据迁移到另一种表

通过存储过程迁移数据: 创建表 CREATE TABLE test1 ( idp varchar(255) DEFAULT NULL, brandIdp varchar(255) DEFAULT NULL, namep varchar(1000) DEFAULT NULL, urlp varchar(1000) DEFAULT NULL ) ENGINEInnoDB DEFAULT CHARSETkeybcs2; INSERT INTO t…

2023美国大学生数学建模竞赛(MCM/ICM)报名流程指南

数模乐园作为国内美赛报名最大官方平台,为参加美赛的同学解决国际支付报名难的问题,为同学们省去大部分繁琐流程的同时还附赠纸质证书打印邮寄、美赛赛题解析、美赛专属礼包、赛题翻译等备赛资料 数模乐园已累计为10万同学完成了美赛辅助报名&#xff0…

Android 音视频编解码(三) -- 视频编码和H264格式原理讲解

Android 音视频编解码(一) – MediaCodec 初探 Android 音视频编解码(二) – MediaCodec 解码(同步和异步) 前面学习了 MediaCodec 的基本原理,以及如何解码,在学习MediaCodec 编码之前,先来学习视频是如何编码的,以及最常用的 H2…

亚马逊vs Starday :做跨境电商生意,从哪里开始?

据有关数据统计,中国跨境电商进出口五年增长近十倍,在一众行业面前脱颖而出,成为我国对外贸易新的增长极,然而也正是这样的趋势,使得许多原本从事电商行业的卖家和资本纷纷闻风而动,想要进入市场分一杯羹&a…

3d打印的翘边问题

如何解决3D打印翘边问题 翘边是3D打印中常见的问题之一。为什么在打印的过程中会遇到翘边呢?主要是因为塑料的热胀冷缩,从喷嘴挤出来的塑料在冷却时候会收缩,进而导致模型边缘或者两头翘了起来与平台出现分离。那么如何避免或解决翘边问题呢…

“消费盲返”爆火,一个月能赚1000w?

寒冬已至,疫情还是在断断续续的复发,很多城市也受到严重的影响,封城的通告一出,无疑是给不少的实体企业增添了相当大的噩耗打击,这时候更为磨炼实体企业和创业人看待事情的立场,有些人会觉得疫情的袭来什么…

SSM框架学习记录-SpringBoot_day01

1.SpringBoot简介 SpringBoot是用来简化Spring应用的初始搭建以及开发过程 先回顾一下SpringMVC的开发过程&#xff1a; 创建工程&#xff0c;并在pom.xml配置文件中配置所依赖的坐标&#xff1a; <dependencies><dependency><groupId>javax.servlet</gro…

阶段性回顾(3)

1. 学习指针必须得了解清楚内存&#xff0c;而内存到底是什么东西呢&#xff1f;内存就是电脑上的存储设备&#xff08;除了内存之外&#xff0c;还有硬盘&#xff0c;寄存器等等&#xff09;&#xff0c;那内存到底是来干啥的呢&#xff1f;程序运行的时候会载入到内存当中&am…

Fast Report .NET 2023.1.7-2022-最后版本

通过使用 Fast Report .NET&#xff0c;用户可以构建和创建本质上独立的应用程序以及报表。网。换句话说&#xff0c;这意味着 Fast Report .NET 可以作为所有用户的独立报告工具独立使用。它可以包括一个强大的可视化报告&#xff0c;用于创建和修改报告的过程。用户应用程序可…