二.西瓜书——线性模型、决策树

第三章 线性模型

1.线性回归

        “线性回归”(linear regression)试图学得一个线性模型以尽可能准确地预测实值输出标记.

2.对数几率回归

        假设我们认为示例所对应的输出标记是在指数尺度上变化,那就可将输出标记的对数作为线性模型逼近的目标,即

                               lny=w^Ta+b.
由此,引入对数几率回归:

        

        称为“几率”(odds),反映了a作为正例的相对可能性.对几率取对数则得到“对数几率”(log odds,亦称logit)

3.线性判别分析

        LDA的思想非常朴素:给定训练样例集,设法将样例投影到一条直线上,使得类样例的投类样的投尽可;在对新样本进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定新样本的类别.

4.多分类学习 

        利用二分类学习器来解决多分类 问题:
  • “一对一”(One vs.One,简称OvO):OvO将这N个类别两两配对,从而产生N(N-1)/2个二分类任务
  • “一对其余”(One vs.Rest,简称OvR):OvR则是每次将一个类的样例作为正例、所有其他类的样例作为反例来训练N个分类器.
  • MvM是每次将若干个类作为正类,若干个其他类作为反类.显然,OvO和 OvR是MvM的特例.
        MvM的正、反类构造必须有特殊的设计,不能随意选 取.这里我们介绍一 种最常用的 MvM 技术:“ 纠错输出码 ”(E rror Correcting  Ou t p u t C o d es , E C O C ) .
         ECOC Dietterich and Bakiri,1995]是将编码的思想引入类别拆分,并尽可能在解码过程中具有容错性.ECOC工作过程主要分为两步:
  • 对N个 M 划分 次划分将一 部分类 别划为 一部 分划为反类,从而形成一个二分类训 练集;这样一 共产生M个训练集,可 训练出M个分类器.
    • 解码:M个分类 器分 别对测试样本 进行预测, 这些预 测标记组成一个编 .将这个预测编码与每 个类别各自的编码进行比较,返回其中距离最小的类别作为最终预测结果.
              为什么称为“纠错输出码”呢?这是因为在测试阶段,ECOC编码对分类 器的错误有一定的容忍和修正能力.例如图3.5(a)中对测试示例的正确预测编 码是 ( - 1 , + 1 , + 1 , - 1 , + 1 ) , 测时 f 2 导致了错误编码(-1,-1,+1,-1,+1),但基于这个编码仍能产生正确的最终分 类结果C3.一般来说,对同一个学习任务,ECOC编码越长,纠错能力越强.然 而,编码越长,意味着所需训练的分类器越多,计算、存储开销都会增大;另一 方面,对有限类别数,可能的组合数目是有限的,码长超过一定范围后就失去了
      .

      5.类别不平衡问题

              类别不平衡(class-imbalance)就是指分类任务中不同类别的训练样例数 目差别很大的情况.
      类别平衡时, y > 0.5 判别 ,否 则为反 . y实 际上表 了正例的可能性,几率分类规则为:
      类别不平衡时, 只要分 类器的预测几率高于观测 几率就应判定为正例,即

        此时,需要进行再缩放:

        大体上有三类做法:

  • 一类是直接对训练集里的反类样例进行“欠采样”(undersampling),即去除一些反例使得正、反例数目接近,然后再进行学习;
  • 第二类是对训练集里的正类样例进行“过采样”(oversampling),即增加一些正例使得正、反例数目接近,然后再进行学习;
  • 第三类则是直接基于原始训练集进行学习,但在用训练好的分类器进行预测时,将式(3.48)嵌入到其决策过程中,称为“阈值移(threshold-moving).
        欠采样法的时间开销通常远小于过采样法,因为前者丢弃了很多反例,使 得分类器训练集远小于初始训练集, 而过采样法增 加了很多正例,其训练集 大于初始训练集.需注意的是,过采样法不能简单地对初始正例样本进行重 复采样,否则会招致严重的过拟合;

第四章 决策树

1.基本流程 

        决策树将样本根据属性测试的结果被划分到子结点中;根结点包含样本全集.从根结点到每个叶结点的路径对应了一个判定测试序列.决策树学习的目的是为了产生一棵泛化能力强,即处理未见示例能力强的决策树,其基本流程遵循简单且直观的“分而治之”(divide-and-conquer)策略

        策树的生成是一个递归过程.在决策树基本算法中,有三种情形会导致递归返回:

  • (1)当前结点包含的样本全属于同一类别,无需划分;
  • (2)当前属性集为空,或是所有样本在所有属性上取值相同,无法划分;当前结点标记为叶结点,并将其类别设定为该结点所含样本最多的类别;利用当前结点的后验分布
  • (3)当前结点包含的样本集合为空,不能划分.当前结点标记为叶结点,但将其类别设定为其父结点所含样本最多的类别.父结点的样本分布作为当前结点的先验分布.

2.划分选择

        一般而言,随着划分过程不断进行,我们希望决策树的分支结点所包含的样本尽可能属于同一类别,即结点的“纯度”(purity)越来越高.

(1)信息增益

信息熵的定义 

         

Ent(D)值越D.

        信息增益的计算为父节点的信息熵减去划分后各子节点的信息熵之和,其中子节点信息熵的权重为   第v个分支节点样本数/父节点样本数

         

        一般而言,信息增益越大,则意味着使用属性a来进行划分所获得的“纯 度提升”越大.ID3决策树学习算法以信息增益为准则来选择划分属性.

 例如:

 

(2)增益率

        当考虑编号时,每个类别仅仅包含1个样本,此时信息增益最大,这些分支结点的纯度已达最大.然而,这样的决策树显然不具有泛化能力,无法对新样本进行有效预测.

        也就是说信息增益准则对可取值数目较多的属性有所偏好,为减少这种偏好可能带来的不利影响,著名的C4.5决策树算法[Quinlan,1993]不直接使用信息增益,而是使用“增益率”(gainratio)来选择最优划分属性采用与式(4.2)义为

 IV(a)称为属性a的“固有值”(intrinsic value)[Quinlan,1993].属性a的可能取值数目越多(即V越大),则IV(a)的值通常会越大.

        需注意的是,增益率准则对可取值数目较少的属性有所偏好,因此,C4.5

        算法并不是直接选择增益率最大的候 选划分属性,而是使用了一个启发式 先从候选划分属性中找出信息增益高于平均水平的属性,再从 中选择增益率最高的.

(3)基尼指数

        CART决策树[Breiman et al.,1984]使用“基尼指数”(Gini index)来选择划分属性.采用与式(4.1)相同的符号,数据集D的纯度可用基尼值来度量:

        直观来说,Gini(D)反映了从数据集D中随机抽取两个样本,其类别标记不一致的概率.因此,Gini(D)越小,则数据集D的纯度越高

        采用与式(4.2)相同的符号表示,属性a的基尼指数定义为

 3.剪枝处理

  1. 预剪枝在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶结点;
  2. 后剪枝:先从训练集生成一棵完整的决策树然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点.
        预剪枝使得决策树的很多分支都没有“展开”,这不仅降低了过拟合的风险,还显著减少了决策树的训练时间开销和测试时间开销.但另一方面,有些分支的当前划分虽不能提升泛化性能、甚至可能导致泛化性能暂时下降,但在其基础上进行的后续划分却有可能导致性能显著提高;预剪枝基于“贪心”本质禁止这些分支展开,给预剪枝决策树带来了欠拟合的风险.

         后剪枝决策树通常比预剪枝决策树保留了更多的分支.一般情形下,后剪枝决策树的欠拟合风险很小,泛化性能往往优于预剪枝决策树.但后剪枝过程是在生成完全决策树之后进行的,并且要自底向上地对树中的所有非叶结点进行逐一考察,因此其训练时间开销比未剪枝决策树和预剪枝决策树都要大得多.

4.连续与缺失值         

 (1) 连续值处理

          连续值将区间的中点作为候选划分点,然后像离散值属性一样考察这些点,

        对属性a,表示无缺失值样本所占的比例,表示无缺失值样本中第k类所占的比例,则表示无缺失值样本中在属性a上取值a^{v}的样本所占的比例.

        

        若样本α在划分属性a上的取值已知,则将a划入与其取值对应的子结点,且样本权值在子结点中保持为wg.若样本z在划分属性a上的取值未知,则将a同时划入所有子结点,且样本权值在与属性值a^{v}对应的子结点中调整为;直观地看,这就是让同一个样本以不同的概率划入到不同的

子结点中去.

5.多变量决策树  

        若我们把每个属性视为坐标空间中的一个坐标轴,则d个属性描述的样本就对应了d维空间中的一个数据点,对样本分类则意味着在这个坐标空间中寻找不同类样本之间的分类边界.决策树所形成的分类边界有一个明显的特点:轴平行(axis-parallel),即它的分类边界由若干个与坐标轴平行的分段组成,

       

        分类边界的每一段都是与坐标轴平行的.这样的分类边界使得学习结果有较好的可解释性,因为每一段划分都直接对应了某个属性取值.但在学习任务的真实分类边界比较复杂时,必须使用很多段划分才能获得较好的近似,此时的决策树会相当复杂,由于要进行大量的属性测试,预测时间开销会很大.

        “多变量决策树”(multivariate decision tree)就是能实现这样的“斜划 分”甚至更复杂划分的决策树.以实现斜划分的多变量决策树为例,在此类决策树中,非叶结点不再是仅对某个属性,而是对属性的线性组合进行测试

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

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

相关文章

Sora横空出世!AI将如何撬动未来?

近日,OpenAI 发布首个视频生成“Sora”模型,该模型通过接收文字指令,即可生成60秒的短视频。 而在2022年末,同样是OpenAI发布的AI语言模型ChatGPT,简化了文本撰写、创意构思以及代码校验等任务。用户仅需输入一个指令&…

基于Java+SpringBoot+Vue前后端分离婚纱影楼管理系统设计和实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行交流合作✌ 主要内容:SpringBoot、Vue、SSM、HLM…

Linux常见的指令

目录 01. ls 指令02. pwd命令03. cd 指令04. touch指令05.mkdir指令(重要):06.rmdir指令 && rm 指令(重要):07.man指令(重要):08.cp指令(重要&#x…

vscode突然连不上服务器了,以前都可以的,并且ssh等其它方式是可以连接到服务器的

过完年回来准备开工干活,突然发现vscode连不上服务器了,奇了怪了,年前都可以的,看了一下报错,如下, 以为是服务器挂了,结果执行ssh xxxxxx 发现是可以远程连接的,看来服务器没有问题…

【selenium】执行 Javascript 脚本 滚动、元素的特殊操作等

某些特殊情况下,使用selenium的api无法操作页面元素,点击、滚动实现的某些功能,可以考虑通过执行js来完成。 为什么不用js写自动化?——selenium第一版是js写的,但js兼容性存在问题,所以引入webdriver 现在…

【GPTs分享】每日GPTs分享之Canva

简介 Canva,旨在帮助用户通过Canva的用户友好设计平台释放用户的创造力。无论用户是想设计海报、社交媒体帖子还是商业名片,Canva都在这里协助用户将创意转化为现实。 主要功能 设计生成:根据用户的描述和创意需求,生成定制的设…

PDF转excel各种方案优劣对比、选择技巧

随着数字化时代的到来,PDF文档已经成为我们日常工作中常见的一种文件格式。然而,有时候我们需要将PDF文档中的数据导入Excel表格中进行处理和分析。手动复制粘贴不仅效率低下,还容易出错。那么,如何快速将PDF文档转换为Excel表格呢…

jquery 简介与解析

jQuery是一个快速、小巧且功能丰富的JavaScript库。它简化了诸如HTML文档遍历和操作、事件处理、动画以及Ajax操作等任务。jQuery的设计理念是“写得更少,做得更多”,这意味着通过jQuery,可以用更少的代码完成更多的工作。 主要特点&#xff…

用html编写的招聘简历

用html编写的招聘简历 相关代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</tit…

低代码平台智能化

前言 为提升人效&#xff0c;我们组自研了一个低代码平台&#xff0c;说是自研但其实还是amis为核心的低代码平台&#xff0c;众所周知&#xff0c;低代码平台使用起来都会有一定的学习成本&#xff0c;尤其是在用户体量上来之后&#xff0c;经常会有人来问我如何使用或者让我…

Plug and Play ADS-B Transceiver TR-1W for UAV and Drones

目录 Introduction TECHNICAL PARAMETERS ELECTRICAL SPECIFICATION MECHANICAL SPECIFICATION Introduction OVERVIEW TR1W belongs to the class of the smallest ADSB transceivers on market and has been developed for civil and commercial Unmanned Aircraft Syst…

MKdocs添加顶部公告栏

效果如图&#xff1a; docs/overrides下新建main.html &#xff0c;针对main.html文件 树状结构如下: $ tree -a . ├── .github │ ├── .DS_Store │ └── workflows │ └── PublishMySite.yml ├── docs │ └── index.md │ └──overrides │…

Cesium1.95地图使用UrlTemplateImageryProvider加载supermap rest服务报错问题

Cesium1.95地图使用UrlTemplateImageryProvider加载supermap rest服务报错问题 问题描述问题分析解决方案 问题描述 参考这篇博客加载supermap的 rest服务 使用Cesium1.65时能正常加载&#xff0c;升级为1.95后&#xff0c;获取图片的请求报400 Bad Request错误 问题分析 查…

mac电脑 安装 ios开发工具xcode步骤 以及新建ios项目

在Mac电脑上安装Xcode&#xff0c;苹果公司的官方iOS开发工具&#xff0c;以及新建iOS项目&#xff0c;以下是详细步骤&#xff1a; 安装Xcode 1. 打开Mac上的App Store。 2. 在搜索栏中输入“Xcode”。 3. 从搜索结果中找到Xcode&#xff0c;点击“获取”按钮。 4. 输入您的Ap…

【鸿蒙 HarmonyOS 4.0】路由router

一、介绍 页面路由指在应用程序中实现不同页面之间的跳转和数据传递。HarmonyOS提供了Router模块&#xff0c;通过不同的url地址&#xff0c;可以方便地进行页面路由&#xff0c;轻松地访问不同的页面。 二、页面跳转 2.1、两种跳转模式&#xff1a; router.pushUrl()&…

数据结构2月19日

题目&#xff1a;顺序表作业 代码&#xff1a; 功能区&#xff1a; #include <stdio.h>#include <stdlib.h>#include "./d2191.h"SeqList* create_seqList(){SeqList* list (SeqList*)malloc(sizeof(SeqList));if(NULL list){return NULL;}list->p…

06 分频器设计

分频器简介 实现分频一般有两种方法&#xff0c;一种方法是直接使用 PLL 进行分频&#xff0c;比如在 FPGA 或者 ASIC 设计中&#xff0c;都可以直接使用 PLL 进行分频。但是这种分频有时候受限于 PLL 本身的特性&#xff0c;无法得到频率很低的时钟信号&#xff0c;比如输入 …

Puppeteer 使用实战:如何将自己的 CSDN 专栏文章导出并用于 Hexo 博客(三)

文章目录 往期效果将文章信息导出适配 hexo 的文章模板导出的文章路径问题终端控制执行脚本代码整理结尾 往期 Puppeteer 使用实战&#xff1a;如何将自己的 CSDN 专栏文章导出并用于 Hexo 博客&#xff08;二&#xff09; 效果 写了一个 node 脚本用来批量处理 md 文件 本期…

塑造网络安全战略的 5 个趋势

从重创工业部门的勒索软件攻击到人工智能推动的创新网络威胁&#xff0c;2023 年发生了一波备受瞩目的网络安全事件。网络安全形势充满挑战。也就是说&#xff0c;我们当然可以期望组织改进其反防御措施&#xff0c;以应对不断升级的威胁。 1. 零信任获得更多关注 传统的基于…