大四了还在学机器学习

2023-11-20

依然是课程笔记, 感谢杨晓春老师的指导~

绪论-概念

有监督学习无监督学习半监督学习增强学习, 假设空间与特征向量的空间映射, 概念学习

  • [本课程] 有监督学习: 有具体案例的先例, 由此可总结出经验对之后做出预测(如分类…)

  • 无监督学习: 无经验和预先的提示, 只根据事物共同的特点划分的方法(如聚类…)

  • 半监督学习: 数据有的有标记, 有的没标记

  • 增强学习: 一边学一变强, 练得越多, 做得越好

  • 机器学习: { 任 务 T : 一 个 或 多 个 经 验 E 性 能 P \begin{cases}任务T:一个或多个\\经验E\\性能P\end{cases} T:EP

    • 随着任务不断执行, 经验积累使性能提升
  • 术语

    • 训练集
    • 测试集
    • 标记
    • 特征/属性
    • 实例: 没标记的数据
    • 样例: 有标记的数据
    • 任务 { 分 类 : 离 散 值 ( 好 瓜 坏 瓜 . . 冬 瓜 南 瓜 西 瓜 ) 回 归 : 连 续 值 ( 瓜 的 成 熟 度 ) 聚 类 : 无 标 记 信 息 ( 把 西 瓜 分 成 几 堆 ) \begin{cases}分类: 离散值(好瓜坏瓜..冬瓜南瓜西瓜)\\回归: 连续值(瓜的成熟度)\\聚类: 无标记信息(把西瓜分成几堆)\end{cases} :(..西):():(西)
    • 泛化能力: 学到的模型对新样本的拟合能力
    • 独立同分布假设: 样本之间互不关联, 独立获得
    • 三个性质假设:
      1. 内涵性: 模型所做的假设应该符合常理
      2. 简化性: 模型的假设接近事实, 但不要太繁琐, 先主要后次要
      3. 发散性: 模型的推导基于一定假设, 但不受限于假设, 有特例也可以搞.
  • 特征向量的空间映射理解
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R39D4Tjj-1610881344180)(2020-04-21-16-13-04.png)]

  • 概念学习: 一种经典的归纳学习.从特殊的训练样本中推导出一种模型. 输出boolean值. 譬如好瓜坏瓜的判断: 注意假设空间里都是好瓜

    • 假设空间:
    • 版本空间: 和训练集一致的样本集合
    • 归纳偏好: 对于某堆样例, 学习到好几个模型, 选择模型的时候希望对哪种样本好, 就选哪种模型, 称这种选择为归纳偏好
      • 奥卡姆剃刀: 如无必要, 勿增实体, 越简单越好.
      • NoFreeLunch定理(NFL): 算法的好坏是相对的, 而不是绝对的->认为所有假设(f映射)同样好, 但是实际上并不一定.

决策树

决策树的概念表示和适用条件, 基本算法与最优分类属性的确定(信息增益,增益率,基尼指数), 3种机器学习算法, 决策树的评价, 决策树属性值连续或缺失时的应对方法

  • 概念: 决策树学习是以实力为基础的归纳学习, 适用于对离散数据的近似
  • 表示: f(x)用树来表示, 叶节点表示一个类别, 内部节点表示属性上的一个测试. 分类时从根节点验证到叶节点
  • 适用条件:
    • 实例是 属性-值
    • 输出的目标函数f(x)是离散的
    • 析取表达式^
    • 训练数据可包含缺失属性值
      • 因此决策树模型有一定的抗噪声能力
  • 基本算法: (自顶向下的递归方法, 为了产生泛化能力强的模型, 构造熵值下降最快的树, 到叶子节点的熵值为零)
    • 输入: 训练集(输入特征向量(D维向量)+对应标签), 属性集(特征取值空间)
    • 过程:
      • 如果训练集所有样本类别相同(都是好瓜或者都是坏瓜), 将node标记为叶节点return;
      • 如果属性集中没有属性或者所有样本在属性集上取值相同(譬如具有该属性的所有瓜都是坏瓜), 将node类别标记为训练集中样本数最多的类, return;
      • 按每个属性的取值最优划分为不同分支, 每个分支递归划分; 结束条件是训练集中在当前分支节点包含的样本集合是空. 将分枝节点标记为叶节点, 类别为样本中最多的类.
    • 最优分类属性的确认:
      • 衡量指标: 信息增益, 增益率, 基尼指数
        • 信息增益Gain:
          • 信息量: 某事件发生的概率小, 则他的信息量大
          • 信息熵Ent: 事件X的信息量的期望,度量样本集合纯度最常用的指标, 概率为0, 信息熵值最小为0 不确定性越大, 熵越大,在信息理论中用bit表示, 熵越小, 表示其的编码长度越小(频繁出现用短编码表示, 不频繁出现的用长编码表示)
          • 信息增益Gain: 得知信息A的信息, 使类X的信息的不确定性减少(熵减)的程度 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 \frac{|D^V|}{|D|}Ent(D^V) Gain(D,a)=Ent(D)v=1VDDVEnt(DV)
        • 增益率Gain_ratio: 信息增益对可取值数目较多的属性有偏好, 为了弱化这种偏好, 将增益率除以属性的可能数目 G a i n r e t i o = G a i n ( D , a ) I V ( a ) , 其 中 , 属 性 a 取 值 越 多 , I V ( a ) 越 大 Gain_retio=\frac{Gain(D,a)}{IV(a)}, 其中, 属性a取值越多,IV(a)越大 Gainretio=IV(a)Gain(D,a),,a,IV(a)
          • 存在的问题: 增益率对可取值数目较少的属性有偏好
          • 解决: c4.5算法
        • 基尼指数Gini: 样本集中随机抽取两个样本, 其标记不一致的概率, 基尼值越小, 数据纯度越高 G i n i ( D ) = ∑ k = 1 ∣ y ∣ ∑ k ′ ! = k p k p k ′ = ∑ k = 1 ∣ y ∣ p k ( 1 − p k ) − 1 − ∑ k = 1 ∣ y ∣ p k 2 Gini(D)=\sum_{k=1}^{|y|}\sum_{k'!=k}p_kp_{k'}=\sum_{k=1}^{|y|}p_k(1-p_k)-1-\sum_{k=1}^{|y|}p_k^2 Gini(D)=k=1yk!=kpkpk=k=1ypk(1pk)1k=1ypk2 属 性 a 的 基 尼 指 数 : G i n i i n d e x ( D , a ) = ∑ v = 1 v ∣ D v ∣ ∣ D ∣ G i n i ( D v ) 属性a的基尼指数:Gini_index(D,a)=\sum_{v=1}^v\frac{|D^v|}{|D|}Gini(D^v) a:Giniindex(D,a)=v=1vDDvGini(Dv)应选择使划分后基尼指数最小的属性作为最优划分属性
          • 使用CART算法使用基尼指数作为划分属性;算法的停止条件是节点中的样本数不小于给定值, 或样本集的基尼指数小于给定值, 或者没有更多特征
  • 3种机器学习方法:
    1. ID3: 使用信息增益进行特征选择, 取值多的属性容易使数据更纯, 训练得到一颗庞大且矮的树
    2. C4.5: 信息增益率
    3. CART: 基尼指数
      一个属性的信息增益(率)或基尼指数越大, 表明这个属性对样本的熵减少的能力越强
  • 决策树的评价: 所有叶节点对熵加权求和, 值越小, 样本分类越精确–损失函数(经验误差) C ( T ) = ∑ t ∈ l e a f N t H ( t ) C(T)=\sum_{t \in leaf}N_tH(t) C(T)=tleafNtH(t).
    • 欠拟合:(学得很差,没学会一般)譬如, 误以为所有绿色都是树叶, 绿色的树也是树叶
    • 过拟合:(学得太好,特殊当一般)譬如, 误以为树叶都有锯齿, 没有锯齿的就不是树叶 , 决策树的分支太多有大概率过拟合
    • 应对方法: 数据集拆分为训练集, 验证集, 测试集, 划分时要保持数据分布的一致性. 测试误差作为泛化误差的近似 , 测试集与验证集互斥
      1. hold-out留出法: 数据集分为训练集和测试集, 训 练 : 测 试 = 2 : 1   5 : 1 训练:测试=2:1~5:1 :=2:1 5:1, 若干次留出法去平均值作为测试结果.
        • 困境: 训练样本数目永远小于实际样本规模, 需要尽可能合适地划分训练集和测试集之间的比例(譬如3:1)
      2. cross validation交叉验证: 数据集分k组, 取k-1组训练, 1组测试. 可做k次,取平均值. 一般k取10(10折交叉验证)
        • 困境: 训练样本比实际数据集小, 通常取不同的k划分p次, 算这些k折交叉验证结果的均值
      3. bootstrapping自助法: 数据集有m个样本, 就有放回采样m次, 组成训练集D(包含重复数据, 不一定所有数据都被采样,大约1/3的样本不会被采)
        , 没被采样的做测试集.
        • 困境: 改变了初始数据集的数据分布, 所以实际往往用holdout和cross validation处理
  • 决策树属性值连续或缺失时的应对方法
    • 属性值连续: (某属性的取值不是固定的某几个值, 而是任意地取一系列值)连续属性离散化(找一个划分点(中位数), 小于它的分到一组, 大于它的分到另一组; 然后用离散属性划分法考察这些划分点, 选增益大的做划分.
      • 与离散属性不同, 如果当前节点划分属性是连续属性, 后续划分依旧可用该属性划分.
    • 属性值缺失: (样本的属性缺失. 可用不缺失部分训练, 但是数据浪费很大.) 先计算无缺失值样本的占比 ρ \rho ρ, 再算无缺失样本中某类的占比 p k ^ \hat{p_k} pk^, 再算无缺失样本中属性A为某值a的占比 r v ^ \hat{r_v} rv^.基于没有缺失值的样本来估算训练集的信息增益( ρ \rho ρ乘无缺失样本中某属性取某值的信息增益(无缺失值的样本集熵减 r v ^ \hat{r_v} rv^乘所有某属性取值的样本熵之和)). 对所有属性计算信息增益, 挑个大的划分.
      • 给定划分属性, 若样本在该属性上的值缺失: 样本以不同概率划分到不同的子节点中.

决策树的剪枝----对付过拟合

剪枝的两种策略(预剪枝和后剪枝), 分类性能度量(精度,错误率)

  • 预剪枝: 在决策树生成时对每个结点划分前后估计, 如果它不能提升决策树的泛化性能,就不划了, 把它做叶节点(只划分可以提升泛化值的结点)
    • 优点: 降低过拟合风险, 减少训练时间和测试时间
    • 缺点: 局部优化, 划分少把可能提升模型性能的划分扼杀在摇篮里, 带来了欠拟合的风险
  • 后剪枝: 先从训练集生成一颗完整决策树, 从叶到根进行考察. 对于每个非叶节点, 如果把它换成叶节点后可带来泛化性能的提升或剪枝后精度没有变化, 则把它换成叶子节点, 标记为其中样本属性最多的属性.
    • 优点: 比预剪枝保留更多分枝, 减小欠拟合风险, 泛化性能比预剪枝好
    • 缺点: 训练时间开销大(因为先构建, 再剪枝) ps:时机训练若对时间没有要求, 后剪枝显然比预剪枝好
  • 性能度量
    • 精度: 分对的样本占比
      • 验证集精度: 分对的在验证集中的占比—>决定是否继续划分
    • 错误率: 分错的样本占比

写不完了, 挖坑不填orz

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

大四了还在学机器学习 的相关文章

  • OSQP二次规划求解库使用说明

    OSQP二次规划求解库使用说明 贺志国 2023 5 10 1 凸二次规划的一般表达式 m i n 1 2 x
  • 微信API接口访问慢

    场景 项目需要调用微信API接口获得微信用户信息 本地开发和公司测试环境中测试十分顺利 但是在部署到现场环境中 接口调用经常会很慢 需要几分钟的时间才能返回值 现场环境的服务器因为客户原因 只能指定申请特定个别IP访问 无法开放微信接口域名

随机推荐

  • MySQL中常用工具

    作者 小刘在C站 个人主页 小刘主页 努力不一定有回报 但一定会有收获加油 一起努力 共赴美好人生 学习两年总结出的运维经验 以及思科模拟器全套网络实验教程 专栏 云计算技术 小刘私信可以随便问 只要会绝不吝啬 感谢CSDN让你我相遇 目录
  • vue3使用事件委托实现选项卡的切换

    选项卡是js写的 不是组件 ul li item li ul
  • 虚拟机不能上网,ifconfig显示只有lo

    1 开启虚拟机后无法上网 ifconfig查询发现只有本地环回网口 2 使用 ifconfig a 命令查三腊鉴看是否存在网卡 3 查询结果显示系统中存在ens33和ens37网卡 解决方法就是要启动ens33网卡 并配置其IP地址等信息
  • JavaScript面向对象:类的几种继承方式

    面向对象 类的几种继承方式 类与实例 类的声明 生成实例 类与继承 如何实现继承 继承的几种方式 前端小白记录学习笔记 不做他用 类与实例 类的声明 用构造函数模拟类 传统写法 function Person1 name this name
  • Java实现PDU编码

    代码一 package com zte test import java io UnsupportedEncodingException PDU编码实现 7bit 8bit 以及UCS2编码 代码主体是网上来源 Url我忘记了 很遗憾 自己
  • Python3 入门教程

    Python3 SMTP发送邮件 在Python3 中应用的SMTP Simple Mail Transfer Protocol 即简单邮件传输协议 它是一组用于由源地址到目的地址传送邮件的规则 由它来控制信件的中转方式 python的 s
  • 打印出数组重复的数字/数值个数

    题目 有一个长度为n的数组 里面所有元素的值都为整数 且范围为0到n 1 请列出数组中整数元素出现的次数 例 输入数组 1 6 5 3 12 2 3 2 0 1 7 4 5 打印 1 2 6 1 5 2 3 2 12 1 2 2 0 1 7
  • 学习C语言的一些比较重要的要点

    C语言笔记10 20 d 打印整型 f 打印浮点型 打小数 p 以地址的形式打印 c 打印字符型 x 打印十六进制数字 s 打印字符串 一个字节 8个比特位 字节 char 1 short 2 long 4 long long 8 floa
  • 用OpenSSL 做HMAC(C++)

    参考 http www askyb com cpp openssl hmac hasing example in cpp 名词解释 HMAC Hash based Message Authentication Code 即基于Hash的消息
  • 计算机什么是符号健,在电脑健盘上怎么打:符号

    在电脑健盘上怎么打 符号以下文字资料是由 历史新知网www lishixinzhi com 小编为大家搜集整理后发布的内容 让我们赶快一起来看一下吧 在电脑健盘上怎么打 符号 Shift L键的右侧就是 就可以 按住Shift 然后再按 L
  • Ebay账号关联怎么办?如何防关联?店铺多开干货

    Ebay是明确不允许一个卖家有多个ebay账户的 做跨境电商的朋友为了 不在一颗树上吊死 大家都想多注册几个账号开几个店铺来拦截更多流量和分摊风险 但是eBay平台规定是只允许一个卖家一个账号的 一旦检测到多开账户的情况 eBay会地把你的
  • osgEarth的shadowMap看下shadowcaster

    在application中 有osgEarth lights ShadowCaster caster osgEarth findTopMostNodeOfType
  • Ubuntu18.04 下安装CUDA,cuDNN及pytorch-gpu版本过程

    第一步 安装显卡驱动 首先添加ppa源 sudo add apt repository ppa graphics drivers ppa 更新一下 sudo apt get update 安装驱动 友情提示 如果BIOS有开启Secure
  • (esp-idf)一文看懂u8g2库点亮OLED

    github仓库地址 HawkJ02 esp32 oled github com 首先丢一个u8g2库的地址 olikraus u8g2 U8glib library for monochrome displays version 2 gi
  • JDBC基本概念

    什么是JDBC JDBC概念 JDBC Java DataBase Connectivity 是一套统一的基于Java语言的关系数据库编程接口规范 该规范允许将SQL语句作为参数通过JDBC接口发送给远端数据库 远端数据库接收到SQL语句后
  • tcp 三次握手 四次挥手

    四次挥手 为什么 和 不一起发 因为 需要服务器close客户端的套接字 但不是及时的 为了保证响应及时 就需要 比 早发 为什么是客户端先发送关闭请求 close 按图上所示 第一个发送close 的一边会在最后等待一段时间来接收对面的可
  • mysql之操作数据库的DDL语句

    1 退出mysql exit 或 quit 2 显示当前所有数据库 show databases 3 创建数据库 create database 数据库名 4 删除库文件 drop database 数据库名 5 切换正在使用的数据库 us
  • SimMIM:一种更简单的MIM方法

    自从何恺明的MAE 点击蓝字查看文章详情 出来之后 基于MIM Masked Image Modeling 的无监督学习方法越来越受到关注 这里介绍一篇和MAE同期的工作 SimMIM A Simple Framework for Mask
  • 【文件上传 后端】文件上传 后端 Part2 —— base64文件流方式

  • 大四了还在学机器学习

    依然是课程笔记 感谢杨晓春老师的指导 文章目录 绪论 概念 有监督学习无监督学习半监督学习增强学习 假设空间与特征向量的空间映射 概念学习 决策树 决策树的概念表示和适用条件 基本算法与最优分类属性的确定 信息增益 增益率 基尼指数 3种机