当前位置: 首页 > news >正文

【深度之眼机器学习笔记】04-01-决策树简介、熵,04-02-条件熵及计算举例,04-03-信息增益、ID3算法

1. 决策树与熵

1.1 决策树简介

  • 下面有一个贷申请样本表,有许多特征
    在这里插入图片描述
  • 我们根据特征数据生成一棵树,比如年龄有青年,中年,老年三个类别,那么就有三个分支,分别对应着三种类别。如果是青年那么就看工作,如果有工作就给他贷款,如果没工作就不给他贷款。以上面这个例子来理解这棵树
    在这里插入图片描述
  • 再举一个例子:我们有一个样本:老年,有工作,没房子,信贷情况好,那么我们就可以走这样的一条路
    在这里插入图片描述
  • 为什么先给年龄而不是先给工作呢?换句话说是怎么选择特征构建树的呢?
    • 这不是我们人为决定的,而是要进行计算

1.2 熵

  • 熵表示不确定性,定义如下:其中 nnn 为特征数,pip_ipi 表示一个概率
    在这里插入图片描述
  • 假设 n=2n=2n=2,则有:图中越靠近 p=0.5p=0.5p=0.5(即越不确定),熵就越大。这表明熵越大,随机变量的不确定性就越大
    在这里插入图片描述

1.3 熵的计算举例

  • 例:我们需要计算我们数据集的熵,计算数据集的熵要算的是目标变量(或叫做类别标签),在这里我们是计算是否给这个人贷款,即最后一列
    在这里插入图片描述
  • 我们把 DDD 称作我们的一个数据集,∣D∣|D|D 表示数据集的条数,在这个例子为 ∣D∣=15|D|=15D=15
  • kkk 表示目标变量的种类数,在这个例子为 k=2k=2k=2
  • CkC_kCk 表示当前的这个类别条数有多个条,比如否有 6 条,那么 C1=6C_1=6C1=6
  • 最后用下面的这个公式算出来即可
    在这里插入图片描述

2. 条件熵

2.1 条件熵介绍

  • 还是上节课的这个贷款数据集
    在这里插入图片描述
  • 条件熵的公式为含义为:在给定 X 为多少的条件下,计算 Y 的熵是多少
  • 由于 X 有很多个取值,我们对它展开。比如之类年龄有青年,中年,老年
  • 这里 pip_ipi 是变量 X 取值为 xix_ixi 的概率
    在这里插入图片描述
  • 那么回到数据集的条件熵的计算公式来说,下面公式的含义如下:
    • 这里的 AAA 为条件变量,比如年龄
    • DDD 为数据集,∣D∣|D|D 为数据集条数,∣Di∣|D_i|Di 为条件变量当前取值的条数
    • nnn 为条件的种类数
    • KKK 依旧为目标变量的种类数
    • ∣Dik∣|D_{ik}|Dik 为两个变量同时满足的条数
      在这里插入图片描述

2.2 条件熵的计算例子

  • 我们以年龄为条件变量来尝试计算以它为条件的条件熵
  • 以年龄为青年时为例子,我们 i=1i=1i=1 为青年,这里的 ∣D∣∣D1∣=515{|D| \over |D_1|}={5 \over {15}}D1D=155,总共有 555 个青年,然后右部的连加就是在以青年为条件下的目标变量的信息熵,所以有式子的右半部分的展开
  • 对年龄的三个类别都做一次这样的操作后求连加即为以青年为条件的条件熵
    在这里插入图片描述

3. 信息增益与 ID3 算法

3.1 信息增益

  • 信息增益(也叫互信息)的定义如下:我们用符号 g(D,A)g(D,A)g(D,A) 来表示,即用数据集的信息熵减去以某个特征为条件的条件熵
    在这里插入图片描述
  • 根据信息增益准则的特征选择方法:
    1. 对训练数据集(或子集)D,计算其每个特征的信息增益
    2. 比较它们的大小,选择信息增益最大的特征
  • 信息增益算法:
    1. 计算数据集 D 的信息熵 H(D):
      在这里插入图片描述

    2. 计算特征 A 对数据集 D 的经验条件熵 H(D|A)
      在这里插入图片描述

    3. 计算信息增益
      在这里插入图片描述

  • 例子:
    在这里插入图片描述
    在这里插入图片描述

3.2 ID3 算法构建决策树

  • ID3 算法:在决策树递归构建过程中,使用信息增益的方法进行特征选择

  • 决策树生成过程:

    1. 从根节点开始计算所有特征的信息增益,选择信息增益最大的特征作为结点特征
    2. 再对子节点递归调用以上方法,构建决策树
    3. 所有特征信息增益很小或没有特征可以选择时递归结束得到一颗决策树
  • 比如说我们开始选择了 A3A_3A3 作为我们的根节点(根据上面的计算得到),此时我们会往下分叉出是或者否,然后我们又根据是或者否的子集来递归计算信息增益,比如是对应一个子集,否又对应一个子集
    在这里插入图片描述

http://www.lryc.cn/news/600411.html

相关文章:

  • 深分页性能问题分析与优化实践
  • [硬件电路-94]:模拟器件 - 信号耦合,让被放大信号与静态工作点的直流偏置信号完美的融合
  • 算子推理是什么
  • Linux进程:系统运行的核心机制
  • 网安-中间件-Redis未授权访问漏洞
  • Datawhale AI 夏令营—科大讯飞AI大赛(大模型技术)—让大模型理解表格数据(列车信息表)
  • 中文语音识别与偏误检测系统开发
  • Spring boot Grafana优秀的监控模板
  • 【自动化运维神器Ansible】Ansible常用模块之File模块详解
  • flutter环境安装
  • 单片机中的三极管
  • Flutter开发实战之Widget体系与布局原理
  • 力扣 hot100 Day56
  • LeetCode 刷题【15. 三数之和】
  • 新手向:Git下载全攻略
  • 统计与大数据分析与数学金融课程解析
  • C++查询mysql数据
  • RabbitMQ--Springboot解决消息丢失
  • JavaWeb01——基础标签及样式(黑马视频笔记)
  • Android WorkManager 详解:高效管理后台任务
  • InstructBLIP:通过指令微调迈向通用视觉-语言模型
  • Android Data Binding 深度解析与实践指南
  • 像素、视野、光源,都有哪些因素影响测量精度?
  • 数据中心-时序数据库InfluxDB
  • 【影刀RPA_初级课程_我的第一个机器人】
  • jxORM--查询数据
  • 前端模块化开发实战指南
  • 【机器学习深度学习】模型私有化部署与微调训练:赋能特定问题处理能力
  • Oracle 11g RAC数据库实例重启的两种方式
  • JavaScript:现代Web开发的核心动力