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

【AI学习笔记】初学机器学习西瓜书概要记录(二)常用的机器学习方法篇

初学机器学习西瓜书的概要记录(一)机器学习基础知识篇(已完结)
初学机器学习西瓜书的概要记录(二)常用的机器学习方法篇(持续更新)
初学机器学习西瓜书的概要记录(三)进阶知识篇(待更)

文字公式撰写不易,随意学习,转载请注明!谢谢

(二)常用的机器学习方法篇

  • 4.1 决策树的基本流程
  • 4.2 信息增益划分

以下内容出自周志华老师亲讲西瓜书

4.1 决策树的基本流程

决策树基于“树”结构进行决策

  • 每个内部结点对应某个属性上的测试
  • 每个分支对应于该测试的一种可能结果(即该属性的某个取值)
  • 每个叶结点对应于一个预测结果
    在这里插入图片描述

学习过程:通过对训练样本的分析来确定“划分属性”(即内部结点所对应的属性)
预测过程:将测试示例从跟结点开始,沿着划分属性所构成的“判定测试序列”下行,直到叶结点
策略:分而治之,自根至叶的递归过程,在每个中间结点寻找一个"划分"属性

对当前某个结点进行划分时,确定递归停止的三种条件:

  • 当前结点包含的样本全属于同一类别,无需划分;
  • 当前属性集为空,或是所以样本在所有属性上取值相同,无法划分;
  • 当前结点包含的样本集为空,不能划分。
    在这里插入图片描述

4.2 信息增益划分

决策树的提出是收到信息论的启发,因此很多东西是以信息论的准测进行判断,而在信息论中最重要的一个量就是“熵”
信息熵是度量样本集合“纯度”最常用的一种指标,假定当前样本集合 D D D 中第 k k k 类样本所占的比例为 p k p_k pk,则 D D D 的信息熵定义为
E n t ( D ) = − ∑ k = 1 ∣ y ∣ p k l o g 2 p k Ent(D)=-\sum^{|y|}_{k=1}p_klog_2p_k Ent(D)=k=1ypklog2pk
计算信息熵时约定:若 p = 0 p=0 p=0,则 p l o g 2 p = 0 plog_2p=0 plog2p=0
E n t ( D ) Ent(D) Ent(D) 的值越小,则 D D D 的纯度越高, E n t ( D ) Ent(D) Ent(D) 的最小值为 0,最大值为 l o g 2 ∣ y ∣ log_2{|y|} log2y
信息增益直接以信息熵为基础,计算当前划分对信息熵所造成的变化

离散属性 a a a 的取值: { a 1 , a 2 , . . . , a V } \{a^1,a^2,...,a^V\} {a1,a2,...,aV}
D v D^v Dv D D D a a a 上取值 = a v =a^v =av的样本集合
以属性 a a a 对数据集 D D D 进行划分所获得的新增增益为:
G a i n ( D , a ) = E n t ( D ) − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ E n t ( D v ) Gain(D,a)=Ent(D) - \sum_{v=1}^V{|D^v|\over |D|}Ent(D^v) Gain(D,a)=Ent(D)v=1VDDvEnt(Dv)
其中:
E n t ( D ) Ent(D) Ent(D) 为划分前的信息熵
∣ D v ∣ ∣ D ∣ {|D^v|\over |D|} DDv 为第 v v v个分支的权重,样本越多越重要
E n t ( D v ) Ent(D^v) Ent(Dv) 为划分后的信息熵

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【C++】透析string类
  • Kafka+PostgreSql,构建一个总线服务
  • 828华为云征文|部署在线文件管理器 Spacedrive
  • Winform登录实现及工具栏切换
  • Selenium等待机制:理解并应用显式等待与隐式等待,解决页面加载慢的问题
  • electron-vite vue3离线使用monaco-editor
  • 剃(磨)前插齿刀设计计算开发第二步:
  • SIP Servlets学习
  • 打通最后一公里:使用CDN加速GitHub Page的访问
  • Matlab 的.m 文件批量转成py文件
  • 《机器学习by周志华》学习笔记-神经网络-02感知机与多层网络
  • 解密与推广IAB/MRC零售媒体测量指南
  • fedora silverblue
  • 408算法题leetcode--第八天
  • redis的一主二从三哨兵配置
  • 【译】理解JavaScript:new 关键字
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • crontab执行失败的多种原因
  • css属性的继承、初识值、计算值、当前值、应用值
  • Fabric架构演变之路
  • hadoop集群管理系统搭建规划说明
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • JavaScript创建对象的四种方式
  • js ES6 求数组的交集,并集,还有差集
  • mac修复ab及siege安装
  • oldjun 检测网站的经验
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • Python_网络编程
  • 工程优化暨babel升级小记
  • 回顾 Swift 多平台移植进度 #2
  • 解析带emoji和链接的聊天系统消息
  • 聚簇索引和非聚簇索引
  • 如何在GitHub上创建个人博客
  • 温故知新之javascript面向对象
  • 一道面试题引发的“血案”
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • (Python) SOAP Web Service (HTTP POST)
  • (第三期)书生大模型实战营——InternVL(冷笑话大师)部署微调实践
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (转) Android中ViewStub组件使用
  • (转)四层和七层负载均衡的区别
  • (轉)JSON.stringify 语法实例讲解
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • .Net 基于.Net8开发的一个Asp.Net Core Webapi小型易用框架
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...
  • .NET/C# 避免调试器不小心提前计算本应延迟计算的值
  • .Net6支持的操作系统版本(.net8已来,你还在用.netframework4.5吗)