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

一、西瓜书——绪论

第一章 绪论 

1.独立同分布

        通常 假设 样本空间 体样 ( d i s t r i b u t i o n ) D , 样本地从上采 立同 分布 ( i n d e p e n d e n t a n d i d e n t ic a lly di s t r i b u t e d , i . i . d . ) . 练样 本越 D 信息 越多,这样就越有可能通过学习获得具有强泛化能力的模型.

2.假设空间

        我们可以把学习过程看作一个在所有假设(hypothesis)组成的空间中进行 搜索的过集“匹配(ft) 能够 练集 的瓜 正确的 . 示一旦确定 间及 其规模 . 这里我们的 空间由形如 ( 泽= ? ) A ( 根蒂= ?) A ( 声= ? ) 所形成 .

3.归纳偏好

        对于一个具体的学习算法而言,它必须要产生一个模型.这时,学习算 法本身的“偏好”就会起到关键的作用.例如,若我们的算法喜欢“尽可能特 殊”的模型,则它会选择“好瓜→(色泽=*)^(根蒂=蜷缩)A(敲声=浊响)”; 但若我们的算法喜欢“尽可能一般”的模型,并且由于某种原因它更“相信” 根蒂,则它会选择“好瓜→(色泽=*)^(根蒂=蜷缩)A(敲声=*)”.机器学习 算法在学习过程中 对某种类型 假设的偏 好,称为 “归纳偏好 ”( inductive bias), 或简称为“偏好”
"奥卡姆剃刀”(Occam's razor)是一种常用的、自然科学研究中最基本的原则,即“若有多个假设与观察一致,则选最简单的那个”.如果采用这个原则,并且假设我们认为“更平滑”意味着“更简单”(例如曲线A更易于描述,其方程式是y=-x²+6x+1,而曲线B则要复杂得多),则在图1.3中我们会自然地偏好“平滑”的曲线A.

4.NFL定理

公式推导:

        假设样本空 间X和假设 空间都 是离散 的.令P(h|X,\xi _{a}) 代表算法 \xi _{a} 基于训练数据X产生假设h的概率,再令f代表我们希望学习的 真实目标函数. \xi _{a} 的“训练集外误差”,即 \xi _{a} 在训练集之外的所有样本上的 误差

 

 

 

 

这个公式说明,在所有假设的情况下,误差与算法无关。所以,NFL定理最重要的寓意,是让我们清楚地认识到,脱离具体问题,空泛地谈论“什么学习算法更好”毫无意义,因为若考虑所有潜在的问题,则所有学习算法都一样好.要谈论算法的相对优劣,必须要针对具体的学习问题;在某些问题上表现好的学习算法,在另一些问题上却可能不尽如人意,学习算法自身的归纳与问题定性.

第二章 模型评估与选择

1.训练集与测试集的划分

(1)留出法

        “留出法”(hold-out)直接将数据集D划分为两个互斥的集合,其中一个 集合作为训练集S,另一个作为测试集T

(2)交叉验证法

        “交叉验证法”(cross validation)先将数据集D划分为k个大小相似的互斥子集,每个子集都
尽可能保持数据分布的一致性,即从D中通过分层采样得到.然后,每次用 k-1个子集的并集作为训练集,余下的那个子集作为测试集;重复k次, 最终返回的是这k个测试结果 的均值.

(3)自助法

        给定包含m个样本的数据集D,我们对它进行采样产生数据集D':每次随机从D中挑选一个
样本,将其拷贝放入D',然后再将该样本放回初始数据集D中,使得该样本在下次采样时仍有可能被采到;这个过程重复执行m次后,我们就得到了包含m个样本的数据集D',这就是自助采样的结果.显然,D中有一部分样本会在D'中多次出现,而另一部分样本不出现.样本在m次采样中始终不被采到的概率是:

 

即通过自助采样,初始数据集D中约有36.8%的样本未出现在采样数据集D'中.于是我们可将D'用作训练集,D\D′用作测试集;这样,实际评估的模型与期望评估的模型都使用m个训练样本,而我们仍有数据总量约1/3的、没在训练集中出现的样本用于测试.这样的测试结果,亦称“包外估计”(out-of-bag est i m a t e ) .

自助法在数据集较小、难以有效划分训练/测试集时很有用

2.模型估计与选择

模型评估与选择中用于评估测试的数据集常称为“验证集”(validation set).

3.性能度量

(1)错误率与准确度

(2)查准率、查全率与F1

        错误率衡 量了有多少比例的瓜被判别错误.但是若我们关心的是“挑出的西瓜中有多少
比例是好瓜”,或者“所 有好瓜中有多 少比例被挑 了出来”,那么错误率显然 就不够用了,这时需要使用其他的性能度量.

PR曲线 

F1度量(调和均值) 

 

F1度量的一般形式F_{\beta },能让我们表达出对查准率/查全率的不同偏 好, 定义为

 

        很多时 候我 淆矩 如进行 次训练 / 次得 一个混淆矩 阵; 多个 据集 练/ ,希 算法 性能
是 先各混 矩 阵别计 率 和查 率,再计算平均值

 还可先将各混淆矩阵的对应元进行平均:

 

(3)ROCAUC

        很多学习器是为测试样本产生一个实 值或概率预 测,然后将这个预测值与 一个 阈值 ( t hr es h o ld ) .
        
        在不 的应用 任务中 我们 任务 用不同的 断点 我们更重 查准 , 排序 截断 全率”,则可选择靠后的位置进行截断.
        
        ROC曲线的纵轴是“真正 例率”(True Positive Rat e,简称TPR ),横轴是“ 假正例 率”(False Positive
Rate,简称FPR):

AUC可通过对ROC曲线下各部分的面积求和而得. 

 

 

 

4.代价敏感错误率与代价曲线 

        不同类型的错误所造成的后果不同. 例如在医疗诊断中,错误地把患者诊断 为健康人与错 误地把健康人诊断为患者, 看起来都是犯了“一次错误”,但后者的影响是增加 了进一步检查的麻烦,前
者的后果却可能是丧失了拯救生命的最佳时机; 为权衡不同类型错误所造成的不同损失,可为错误赋予“非均等(unequal cost). 

代价(cost-sensitive)为:

 

        在非均等代价下,ROC曲线不能直接反映出学习器的期望总体代价, “代价曲线”(cost curve)则可达到该目的.代价曲线图的横轴是取值为[0,1] 的正例概率代价:

         其中p是样例为正例的概率;纵轴是取值为[0,1]的归一化代价

         其中FPR是式(2.19)定义的假正例率,FNR=1-TPR是假反例率.代价曲线的绘制很简单:ROC曲线上每一点对应了代价平面上的一条线段,设ROC曲线上点的坐标为(TPR,FPR),则可相应计算出FNR,然后在代价平面上绘制一条从(0,FPR)到(1,FNR)的线段,线段下的面积即表示了该条件下的期望总体代价;如此将ROC曲线上的每个点转化为代价平面上的一条线段,然后取所有线段的下界,围成的面积即为在所有条件下学习器的期望总体代价,如图2.5所示.

4.比较检验

        机器学习中性能比较这件事要比大家想象的复杂得多.这里面涉及几个重要因素:首先,我们希望比较的是泛化性能,然而通过实验评估方法我们获得的是测试集上的性能,两者的对比结果可能未必相同;第二,测试集上的性能与测试集本身的选择有很大关系,且不论使用不同大小的测试集会得到不同的结果,即便用相同大小的测试集,若包含的测试样例不同,测试结果也会有不同;第三,很多机器学习算法本身有一定的随机性,即便用相同的参数设置在同一个测试集上多次运行,其结果也会有不同.

        统计假设检验(hypothesis test)为我们进行学习器性能比较提供了重要依据.

(1)假设检验

 

 

 

 

接下来查表,若t>临界值,落入拒绝域内,则拒绝原假设,否则接受原假设。认为测试错误率与泛化错误率相等。 

 

(2)交叉验证t检验

交叉验证t检验是使用的配对样本的t检验,假设学习器A,B测试错误率相等。

 

(3)McNemar检 

         

(4)FriedmanNemenyi后续检验 

McNemar验:

 

 

 

五.偏差与方差

首先,引入学习算法的期望预测:

 

 

        偏差(2.40)度量了学习算法的期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力;

        方差(2.38)度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响

        噪声(2.39)则表前任务何学差的下界,即刻画了学习问题本身的难度.

        偏差-方差分解说明,泛化性能是由学习算法的能力、数据的充分性以及学习任务本身的难度所共同决定的.给定学习任务,为了取得好的泛化性能,则需使偏差较小,即能够充分拟合数据,并且使方差较小,即使得数据扰动产生的影响小.

         一般来说,偏差与方差是有冲突的,这称为偏差-方差窘境(bias-variancedilemma).2.9.定学假定的训练程度,则在训练不足时,学习器的拟合能力不够强,训练数据的扰动不足以使学习器产生显著变化,此时偏差主导了泛化错误率;随着训练程度的加深,学习器的拟合能力逐渐增强,训练数据发生的扰动渐渐能被学习器学到,方差逐渐主导了泛化错误率;在训练程度充足后,学习器的拟合能力已非常强,训练数据发生的轻微扰动都会导致学习器发生显著变化,若训练数据自身的、非全局的特性被学习器学到了,则将发生过拟合.


http://www.kler.cn/a/234384.html

相关文章:

  • #include<string>和#include<string.h>有什么区别
  • win11 新建一个批处理,双击查看本机的IP地址
  • Spring Boot 中的全局异常处理器
  • 微服务(二)
  • 搭建Python2和Python3虚拟环境
  • C++面试基础知识:排序算法 C++实现
  • 【大厂AI课学习笔记】【1.6 人工智能基础知识】(4)深度学习和机器学习
  • JavaScript 设计模式之原型模式
  • 【美团】酒旅用户增长-后端研发
  • Nginx实战:1-安装搭建
  • C# 字体大小的相关问题
  • 【博云2023】乘龙一跃腾云海,侧目抬手摘星河
  • 双向链表的插入、删除、按位置增删改查、栈和队列区别、什么是内存泄漏
  • 【Larry】英语学习笔记语法篇——从句=连词+简单句
  • Linux——动静态库
  • Python操作MySQL基础
  • Qt知识点总结目录
  • 1523.在区间范围内统计奇数数目(Java)
  • Python爬虫——请求库安装
  • ubuntu20.04 安装mysql(8.x)
  • 13. 串口接收模块的项目应用案例
  • 华为数通方向HCIP-DataCom H12-821题库(单选题:441-460)
  • MacOS - 时间如何显示读秒?
  • 单片机的认识
  • 使用Qt创建项目 Qt中输出内容到控制台 设置窗口大小和窗口标题 Qt查看说明文档
  • Java 学习和实践笔记(3)