机器学习理论公式推导及原理—决策树

机器学习公式推导及原理—决策树

根据西瓜书中的公式与内容来进行推导和实现

算法原理

从逻辑角度,一堆if else语句的组合从几何角度,根据某种准则划分特征空间。最终目的:将样本越分越“纯。

信息熵的概念

自信息:是指随机变量所含的信息。在这里插入图片描述
其中x指的是随机变量,每一个随机变量都会对应一个概率值。当b = 2时单位为bit,当b = e时单位为nat。
信息熵:信息熵(自信息的期望):度量随机变量X的不确定性,信息熵越大越不确定
在这里插入图片描述
计算信息熵时约定:若p(x)=0,则p(x)logb p(x)=0。当X的某个取值的概率为1
时信息熵最小、(最确定),其值为0;当X的各个取值的概率均等时信息熵最大(最不确
定),其值为logb「X|,其中|X|表示X可能取值的个数。

将样本类别标记y视作随机变量,各个类别在样本集合D中的占比pk(k=1,2,.,|y|)
视作各个类别取值的概率,则样本集合D(随机变量y)的信息熵(底数b取2)为

在这里插入图片描述

此时信息熵所代表的不确定性可以转化理解为集合内样本的纯度

条件熵的概念

条件熵(Y的信息熵关于概率分布X的期望):在已知X后Y的不确定性

在这里插入图片描述
从单个属性(特征)α的角度来看,假设其可能取值为{α2,α2,…,αv},D表示属性a取值为α∈{α,α2,…,αv}的样本集合,|Dv|/D表示占比,那么在已知属性α的取值后,样本集合D的条件熵为:
在这里插入图片描述

ID3决策树

在提出ID3决策树之前首先要引入信息增益的概念:

信息增益:在已知属性(特征)a的取值后y的不确定性减少的量,也即纯度的提升

在这里插入图片描述
ID3决策树:就是以信息增益为准则来划分属性的决策树
在这里插入图片描述

C4.5决策树

信息增益准则对可能取值数目较多的属性有所偏好(例如“编号"这个较为极端的例子,不过其本质原因不是取值数目过多,而是每个取值里面所包含的样本量太少),为减少这种偏好可能带来的不利影响,C4.5决策树选择使用"增益率"代替“信息增益”,增益率定义:在这里插入图片描述
其中:
在这里插入图片描述

称为属性α的“固有值",α的可能取值个数V越大,通常其固有值IV(α)也越大。但是增益率对可能取值数自较少的属性有所偏好(缺点)

本质上是对信息增益通过一项来进行平衡但还是通过信息熵来进行衡量
因此,C4.5决策树并未完全使用"增益率"代替“信息增益",而是采用一种启发式的方法:先选出信息增益高于平均水平的属性,然后再从中选择增益率最高的。

CART决策树

之前的决策树的生成本质上都是用信息熵作为衡量的标准,而CART决策树是采用另一种方式。

基尼值与基尼指数

基尼值:从样本集合D中随机抽取两个样本,其类别标记不一致的概率。因此,基尼值越小,碰到异类的概率就越小,纯度自然就越高。
在这里插入图片描述
属性a的基尼指数(类比信息熵和条件熵):
在这里插入图片描述
CART决策树:选择基尼系数最小的属性作为最优划分属性
在这里插入图片描述

实际构造算法

  • 首先,对每个属性α的每个可能取值,将数据集D分为α = v和α ≠v两部分来计算基尼指数,即

在这里插入图片描述
使得使用该算法构造出来的树本质上是一棵二叉树

  • 然后,选择基尼指数最小的属性及其对应取值作为最优划分属性和最优划分点;
  • 最后,重复以上两步,直至满足停止条件。

最终完成CART决策树的构造。

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

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

相关文章

【汇编语言】初识汇编

【汇编语言】初识汇编 文章目录 【汇编语言】初识汇编前言由机器语言到汇编语言机器语言与机器指令汇编语言与汇编指令汇编语言程序示例 计算机组成指令和数据的表示计算机的存储单元计算机的总线 内存读写与地址空间CPU对存储器的读写内存地址空间 总结 前言 为什么要学习汇编…

29. 【Android教程】折叠列表 ExpandableListView

本节学习一个可折叠的 ListView,可以用在一些需要分类的场景下。通过 ExpandableListView 我们可以首先在 ListView 上展示大的分类,当点击某个类别的时候再将 ListView 做一个展开,展示该类下的所有子类供用户选择。它与 ListView 的不同主要…

【八股文】Spring 谈谈你对AOP的理解

AOP AOP(Aspect-Oriented Programming,面向切面编程):是一种新的方法论,是对传统 OOP(Object-Oriented Programming,面向对象编程)的补充。 面向对象是纵向继承,面向切面是横向抽取。 OOP思想是一种垂直纵向的继承体…

【Excel】使用VBA宏简单自定义Excel软件界面

改行做经济师学习Excel,偶有心得,摘录于此,备忘。 言简意赅,仅供自用。 1 实现效果 在Excel的左上角可添加按钮,该按钮的功能可由我们自己通过编写代码定义,能实现特定功能,并且在所有打开的…

攻防世界---reverse_re3

1.下载附件,先查壳:无壳 2.在IDA中分析,shiftfnf5,看到一串长得很像flag的flag 3.根据提示我们需要找到输入,再进行md5转换才能得到flag flag{md5(your input)} 4.双击这个句话,点进去想查看信息&#xff0…

hive搭建完整教学

目录 简介准备工作安装步骤(一)、下载hive包并解压到指定目录下(二)、设置环境变量(三)、下载MySQL驱动包到hive的lib目录下(四)、将hadoop的guava包拷贝到hive(五&#…

SS3D翻译

SS3D AbstractIntroductionRelated WorkFully-Supervised 3D Object DetectionWeakly/Semi-Supervised 3D Object DetectionSparsely-Supervised 2D Object Detection MethodOverall FrameworkArchitecture of DetectorMissing-Annotated Instance Mining Module 缺失注释实例挖…

什么是好用的人才测评系统?

对于企业HR来说,在人才测评是必不可少的工具,什么是好用的人才测评? 1、测评效果靠谱;2、操作实施简便。 人才测评的目的是为找到最适合企业的人选,测评就是一个方法,一个工具,能达到预期目的才…

【笔试强训】Day3 --- 简写单词 + dd爱框框 + 除2!

文章目录 1. 简写单词2. dd爱框框3. 除2! 1. 简写单词 【链接】:简写单词 解题思路:简单模拟题,主要是处理⼀下输⼊的问题。(也可以利用string类中的find函数,但时间复杂度会偏高) #include …

FreeRTOS之静态创建任务

1.在前面的文章中介绍了FreeRTOS的动态创建方法,本文介绍一下FreeRTOS的静态任务创建方法xTaskCreateStatic()。相比较动态任务创建过程,静态创创建任务的过程稍显复杂。主要步骤为: (1)配置相关的宏定义:…

16.4 冒泡排序

题目简介 排序动画模拟网站 phttps://www.cs.usfca.edugalles/visualization/ComparisonSort.htm 简洁版 #include <stdio.h> int main() {int a[10]{9,3,6,5,8,2,4,1,7,0};int n sizeof(a)/sizeof(int);int temp 0;for(int j0;j<n-1;j){ //外层循环循环9轮即可f…

怎么在本地debug使用idea计算对象内存

在工作的过程中&#xff0c;我们遇到一个觉得比较大的对象的时候&#xff0c;经常需要判断一个对象大小&#xff0c;以此来决定是将数据放在内存还是缓存来提升性能&#xff0c;我看到现在很多文章介绍的要么是不完善&#xff0c;要么是不够准确&#xff0c;因此打算自己写一篇…

48-PCIE转串口和并口电路设计

视频链接 PCIE转串口和并口电路设计01_哔哩哔哩_bilibili PCIe转串口和并口电路设计 1、PCIe转串并口电路设计基本介绍 2、PCIe转串口和并口的方案(京东) 2.1、PCIe转串口 2.1.1、ASIX (亚信)MCS9922-PCIe转2路RS232扩展卡 2.1.2、ASIX (亚信)MCS9900-PCIe转4路RS232扩展卡…

【Java基础】19.继承(面向对象的三大特征:封装、继承、多态)

文章目录 前言一、继承的概念二、继承的步骤1.类的继承格式2.继承的实例3.继承类型 三、继承的特性四、继承的关键字1.extends关键字2.implements关键字3.super 与 this 关键字4.final 关键字 五、构造器 前言 一、继承的概念 继承是java面向对象编程技术的一块基石&#xff…

适合生产制造企业用的ERP系统有哪些?

适合生产制造企业用的ERP系统有哪些&#xff1f; 想选择适合生产制造企业的ERP&#xff0c;首先了解市面上有哪些ERP系统 市面上的ERP系统主要分为三大类&#xff1a; 1、垂直领域的ERP系统&#xff1a;这些系统是针对特定行业或垂直市场定制的ERP解决方案&#xff0c;通常具…

功能测试前景揭秘:会被淘汰吗?

在当今快速发展的信息时代&#xff0c;软件已经成为我们工作、学习乃至生活中不可或缺的一部分。随着技术的不断进步和应用的广泛普及&#xff0c;软件测试作为保障软件质量和功能实现的关键步骤&#xff0c;其职业发展路径也受到了广泛的关注。特别是针对功能测试这一细分领域…

我与C++的爱恋:隐式类型转换

​ ​ &#x1f525;个人主页&#xff1a;guoguoqiang. &#x1f525;专栏&#xff1a;我与C的爱恋 朋友们大家好&#xff0c;本篇内容我们来介绍初始化列表&#xff0c;隐式类型转换以及explicit的内容 一、初始化列表 1.1 构造函数体赋值 在创建对象时&#xff0c;编译器…

etcd campaign

1. 引言 本文主要讲解使用etcd进行选举的流程&#xff0c;以及对应的缺陷和使用场景 2. etcd选举流程 流程如以代码所示&#xff0c;流程为&#xff1a; clientv3.New 创建client与etcd server建立连接 concurrency.NewSession 创建选举的session&#xff0c;一般会配置ses…

java:Java中的接口

什么是接口 概念&#xff1a; 官方解释&#xff1a;Java接口是一系列方法的声明&#xff0c;是一些方法特征的集合&#xff0c;一个接口只有方法的特征没有方法的实现&#xff0c;因此这些方法可以在不同的地方被不同的类实现&#xff0c;而这些实现可以具有不同的行为&#x…

Java Maven项目推送到 Maven 中央仓库

准备阶段 namespace 域名认证 当需要在 sonatype 认证 com.xxx命名空间时&#xff0c;需要将 .xxx.com 配置域名解析。 记录类型&#xff1a;TXT 文本内容&#xff1a;验证的 key。 GPG 公私钥生成 GPG 下载地址&#xff1a;https://www.gnupg.org/download/index.html M…