【机器学习笔记】决策树

决策树

文章目录

  • 决策树
    • 1 决策树学习基础
    • 2 经典决策树算法
    • 3 过拟合问题

1 决策树学习基础

  1. 适用决策树学习的经典目标问题

    • 带有非数值特征的分类问题
    • 离散特征
    • 没有相似度概念
    • 特征无序

    例子:

    SkyTempHumidWindWaterForecastEnjoy
    SunnyWarmNormalStrongWarmSameYes
    SunnyWarmHighStrongWarmSameYes
    RainyColdHighStrongWarmChangeNo
    SunnyWarmHighStrongCoolChangeYes
  2. 样本表示:属性的列表而非数值向量

  3. 决策树概念

    Outlook
    Sunny
    Overcast
    Rain
    Humidity
    Yes
    Wind
    High
    No
    Normal
    Yes
    Strong
    No
    Weak
    Yes
    • 分枝:特征/属性的取值
    • 非叶子节点:特征/属性
    • 叶子节点:决策/标签/类别/概念

2 经典决策树算法

  1. ID3算法

    ID3算法是一种用来构造决策树的贪心算法,它是一种监督学习的方法,可以用来进行分类预测。

    • 自顶向下,贪心搜索,递归算法
    • 核心循环
      • A A A :下一步 最佳 决策属性
      • A A A 作为当前节点决策属性
      • 对属性 A ( v i ) A (v_i ) A(vi)的每个值,创建与其对应的新的子节点
      • 根据属性值将训练样本分配到各个节点
      • 如果 训练样本被完美分类,则退出循环,否则继续下探分裂新的叶节点
  2. 当前最佳属性节点选择

    • 基本原则:简洁——我们偏向于使用简洁的具有较少节点的树

    • 属性选择和节点混杂度(Impurity)

      在每个节点 N上,我们选择一个属性 T,使得到达当 前派生节点的数据尽可能 “纯”

      • 熵(Entropy)
        E n t r o p y ( N ) = − ∑ j P ( w j ) l o g 2 P ( w j ) Entropy(N)=-\sum_jP(w_j)log_2P(w_j) Entropy(N)=jP(wj)log2P(wj)
        定义: 0 l o g 0 = 0 0log0=0 0log0=0

        在信息理论中,熵度量了信息的纯度/混杂度,或者信息的 不确定性

        正态分布 – 具有最大的熵值

        image-20240130233111887

      • Gini 混杂度
        i ( N ) = 1 − ∑ i P 2 ( w j ) i(N)=1-\sum_iP^2(w_j) i(N)=1iP2(wj)
        最大 Gini 混杂度 在 1 − n ∗ ( 1 / n ) 2 = 1 − 1 / n 1-n*(1/n)^2=1-1/n 1n(1/n)2=11/n​ 时取得

        image-20240130233134362

      • 错分类混杂度
        i ( N ) = 1 − m a x j P ( w j ) i(N)=1-max_jP(w_j) i(N)=1maxjP(wj)
        在有n类时,最大错分类混杂度 = 最大Gini混杂度 1 − m a x ( 1 / n ) = 1 − 1 / n 1-max(1/n)=1-1/n 1max(1/n)=11/n

    • 信息增益(IG)——度量混杂度的变化ΔI(N)

      由于对A的排序整理带来的熵的期望减少量
      G a i n ( S , A ) = E n t r o p y ( S ) − ∑ v ∈ V a l u e s ( A ) ∣ S v ∣ ∣ S ∣ E n t r o p y ( S v ) Gain(S,A)=Entropy(S)-\sum_{v∈Values(A)}\frac{|S_v|}{|S|}Entropy(S_v) Gain(S,A)=Entropy(S)vValues(A)SSvEntropy(Sv)
      image-20240130233041594

  3. 停止分裂节点

    • 如果当前子集中所有数据 有完全相同的输出类别,那么终止

      ①有噪声、②漏掉重要Feature

    • 如果当前子集中所有数据 有完全相同的输入特征,那么终止

  4. 假设空间

    • 假设空间是完备的——目标函数一定在假设空间里
    • 输出单个假设——不超过20个问题(根据经验)
    • 没有回溯——局部最优
    • 在每一步中使用子集的所有数据——数据驱动的搜索选择,对噪声数据有鲁棒性
  5. 归纳偏置(Inductive Bias)

    • 无假设空间限制——假设空间 H 是作用在样本集合 X 上的
    • 有搜索偏置——偏向于在靠近根节点处的属性具有更大信息增益的树(奥卡姆剃刀)
  6. CART (分类和回归树)

    • 根据训练数据构建一棵决策树
    • 决策树会逐渐把训练集合分成越来越小的子集
    • 当子集纯净后不再分裂
    • 或者接受一个不完美的决策
  7. ID3算法基本流程

    • 从根节点开始,计算所有可能的特征的信息增益,选择信息增益最大的特征作为节点的划分特征;
    • 由该特征的不同取值建立子节点;
    • 再对子节点递归上述步骤,构建决策树;
    • 直到没有特征可以选择或类别完全相同为止,得到最终的决策树。

3 过拟合问题

  1. 定义

    image-20240130235345214

    a. 真实数据,b. 非过拟合结果,c. 过拟合结果

    h ∈ H h∈H hH 对训练集过拟合,如果 存在另一个假设 h ’ ∈ H h’ ∈H hH 满足: e r r t r a i n ( h ) < e r r t r a i n ( h ′ ) A N D e r r t e s t ( h ) > e r r t e s t ( h ′ ) err_{train}(h)<err_{train}(h')\ AND\ err_{test}(h)>err_{test}(h') errtrain(h)<errtrain(h) AND errtest(h)errtest(h)

    例子:每个叶节点都对应单个训练样本 —— 每个训练样本都被完美地分类(查表)

  2. 解决方案——如何避免过拟合

    • 预剪枝——当数据的分裂在统计意义上并不显著时,就停止增长

      • 基于样本数:通常 一个节点不再继续分裂,当到达一个节点的训练样本数小于训练集合的一个特定比例 (%5),无论混杂度或错误率是多少都停止分裂

        原因:基于过少数据样本的决定会带来较大误差和泛化错误

      • 基于信息增益的阈值:设定一个较小的阈值,如果满足 Δ i ( s ) ≤ β Δi(s)≤\beta Δi(s)β​ 则停止分裂

        优点:用到了所有训练数据;叶节点可能在树中的任何一层

        缺点:很难设定一个好的阈值

    • 后剪枝——构建一棵完全树,然后再剪枝

      • 错误降低剪枝:剪枝直到再剪就会对损害性能

        把数据集分为训练集验证集,在验证集上测试剪去每个可能节点(和以其为根的子树)的影响

        贪心地去掉某个可以提升验证集准确率的节点

      • 规则后剪枝:

        • 把树转换成等价的由规则构成的集合
        • 对每条规则进行剪枝,去除哪些能够提升该规则准确率的规则前件
        • 将规则排序成一个序列 (根据规则的准确率从高往低排序)
        • 该序列中的最终规则对样本进行分类(依次查看是否满足规则序列)

        注:在规则被剪枝后,它可能不再能恢复成一棵树

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

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

相关文章

免费软件推荐-开源免费批量离线图文识别(OCR)

近期要批量处理图片转电子化&#xff0c;为了解决这个世纪难题&#xff0c;试了很多软件&#xff08;华为手机自带OCR识别、 PandaOCR、天若OCR、Free OCR&#xff09;等软件&#xff0c;还是选择了这一款&#xff0c;方便简单 一、什么是OCR? 光学字符识别&#xff08;Opt…

YOLOv8改进 | 检测头篇 | 独创RFAHead检测头超分辨率重构检测头(适用Pose、分割、目标检测)

一、本文介绍 本文给大家带来的改进机制是RFAHead,该检测头为我独家全网首发,本文主要利用将空间注意力机制与卷积操作相结合的卷积RFAConv来优化检测头,其核心在于优化卷积核的工作方式,特别是在处理感受野内的空间特征时。RFAConv主要的优点就是增加模型的特征提取能力,…

解析ajax原理是什么(如何实现)

文章目录 一、是什么二、实现过程创建XMLHttpRequest对象与服务器建立连接给服务端发送数据绑定onreadystatechange事件 三、封装 一、是什么 AJAX全称(Async Javascript and XML) 即异步的JavaScript 和XML&#xff0c;是一种创建交互式网页应用的网页开发技术&#xff0c;可…

postman 文档、导出json脚本 导出响应数据 response ,showdoc导入postman json脚本 导出为文档word或markdown

保存、补全尽可能多的数据、描述 保存响应数据 Response&#xff1a;&#xff08;如果导出接口数据&#xff0c;会同步导出响应数据&#xff09; 请求接口后&#xff0c;点击下方 Save as Example 可以保存响应数据到本地&#xff08;会在左侧接口下新增一个e.g. 文件用来保…

018 Linux

文章目录 操作系统定义分类Linux系统构成 Linux文件系统Linux常用命令基础操作命令文件操作压缩解压权限管理显示展示命令其他命令 vi编译器操作使用 添加用户基本概念用户管理命令 ubuntu软件安装ssh服务终端启动Python服务 操作系统 定义 操作系统是管理计算机硬件与软件资…

[收藏] 数据结构知识全览

以下是数据结构技术主要知识的总结&#xff1a; 1. 基本数据结构 - 数组&#xff1a;固定大小的连续内存空间存储元素&#xff0c;支持随机访问。 - 链表&#xff1a;由节点组成的线性结构&#xff0c;每个节点包含数据和指向下一个节点的指针。 - 栈&#xff1a;后进先出&…

ClickHouse--01--简介

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1. ClickHouse 简介1.1 大数据处理场景1.2 什么是 ClickHouse1.3 OLAP 场景的特征 2. ClickHouse 特性2.1 完备的 DBMS 功能2.2 列式存储行式存储: 在数据写入和修改…

外包干了6个月,技术退步明显了...

先说一下自己的情况&#xff0c;大专生&#xff0c;19年通过校招进入湖南某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年8月份&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

物联网数据隐私保护技术

在物联网&#xff08;IoT&#xff09;的世界中&#xff0c;无数的设备通过互联网连接在一起&#xff0c;不断地收集、传输和处理数据。这些数据有助于提高生产效率、优化用户体验并创造新的服务模式。然而&#xff0c;随着数据量的剧增&#xff0c;数据隐私保护成为了一个不能忽…

【PyQt】08 - 编辑Tab顺序

文章目录 前言一、Tab顺序二、编辑Tab顺序总结 前言 介绍了什么是Tab顺序&#xff0c;以及如何修改Tab顺序。 一、Tab顺序 当你的界面设计好之后&#xff0c;在输入栏按住Tab按键&#xff0c;他会按照你摆放的顺序一次转跳 二、编辑Tab顺序 方法一 然后鼠标左击就可以改变…

苹果macbook电脑删除数据恢复该怎么做?Mac电脑误删文件的恢复方法

苹果电脑删除数据恢复该怎么做&#xff1f;Mac电脑误删文件的恢复方法 如何在Mac上恢复误删除的文件&#xff1f;在日常使用Mac电脑时&#xff0c;无论是工作还是娱乐&#xff0c;我们都会创建和处理大量的文件。然而&#xff0c;有时候可能会不小心删除一些重要的文件&#x…

天猫数据分析(天猫数据查询工具):2023年滑雪服市场消费现状及趋势(天猫服饰行业分析报告)

随着全民健身的理念逐渐深入人心&#xff0c;滑雪运动产业迎来了前所未有的发展机遇。相关政策的大力支持&#xff0c;冰雪旅游服务设施的日益完善&#xff0c;都为滑雪运动的普及和推广提供了有力保障。 目前&#xff0c;滑雪行业正在蓬勃发展&#xff0c;而在滑雪运动的热潮…