机器学习(周志华)_模型评估与选择

机器学习入门(2)之模型评估与选择 一、误差与拟合 1. 泛化误差与经验误差 2. 损失函数与训练误差 3. 过拟合与欠拟合 4. 过拟合的另一种现象:数据泄露 二、评估方法 1. 留出法 2. 交叉验证法(留一法) 3. 自助法 4.调参与最终模型 三、性能度量 1.混淆矩阵 2.准确率 3.精确率(查准率)和召回率(查全率) 4. F1值和Fβ值 5. ROC曲线及其AUC值 6. AUC值的计算 7. 代价敏感错误率与代价曲线 四、比较检验 1.性能比较的三个要素 2.假设检验 (1)估计假设精度 (2)采样理论基础 (3)多次训 阅读详情

错误率(error rate): 分类错误的样本数占样本总数的比例

 

精度(accuracy): 1-错误率

误差(error): 学习器的实际预测输出与样本的真实输出之间的差异

训练误差(training error) or 经验误差(expirical error): 学习器在训练集上的误差

泛化误差(generalization): 在新样本上的误差

过拟合(overfitting): 可能把训练样本自身的一些特点当作了所有的样本都会有的一般性质,导致泛化能力下降

欠拟合(underfitting): 对训练样本的一般性质尚未学习好

模型选择的理想解决方案是对候选模型的泛化误差进行评估,然后选择泛化误差最小的模型。

评估方法

使用一个测试集(testing set)来测试学习器对新样本的判别能力,以测试集上的测试误差(testing error)作为泛化误差的近似。

测试集应尽可能与训练集互斥。(重复会导致评估结果会过于乐观)

从一个数据集中产生出训练集和测试集,有以下几种常见的作法:

留出法(hold-out)

直接将数据集划分为两个互斥的集合。

划分要尽可能保持数据分布的一致性,保留类别比例的采样方法称为分层采样(stratified sampling)

使用留出法时,一般要采用若干次随机划分、重复进行实验评估后取平均值作为留出法的评估结果

测试集小时,评估结果的方差(variance)较大;训练集小时,评估结果偏差(bias)较大。这个问题没有完美的解决方案,常见做法是将大约2/3~4/5的样本用于训练,剩余的用于测试。

(Error反映的是整个模型的准确度,Bias反映的是模型在样本上的输出与真实值之间的误差,即模型本身的精准度,Variance反映的是模型每一次输出结果与模型输出期望之间的误差,即模型的稳定性    from: orangeprince    https://www.zhihu.com/question/27068705/answer/35151681)

(Bias与Variance两者之间的trade-off是机器学习的基本主题之一)

交叉验证法(cross validation)

先将数据集D划分成k个大小相似的互斥子集,每个子集都尽可能保持数据的一致性,即从数据集中通过分层采样得到。每次用k-1个子集的并集作为训练集,余下的一个子集作为测试集。结果是这k次测试结果的平均值。k最常用的值是10

k折交叉验证通常要随机使用不同的划分(划分概念参考离散数学)重复p次,最终评估结果是这p次结果的平均值。(即一共进行了p*k次训练/测试)

留一法(Leave-One-Out, LOO): k=|D|。不受样本划分的影响,但|D|较大时开销过大。

自助法(bootstrapping)

减少训练样本规模不同造成的影响。

给定包含m个样本的数据集D,采样产生数据集D’:每次从D中挑选一个样本,将其拷贝放入D’,然后将其再放回D中,重复m次,得到包含m个样本的数据集D’。

这样D中约有36.8%的样本未出现在D’中。可将D’作为训练集,D\D'作为测试集。

自助法在数据集小时适用。自助法改变了原始数据的分布,数据量充足时通常采用留出法和交叉验证法

补充

为了加以区分,模型评估与选择中用于评估的数据集称为验证集(validation set),实际中遇到的数据称为测试数据

在模型选择完成、参数配置选定后,应该用整个数据集D重新训练模型,这才是最终模型

调参

常用做法:对每个参数选定一个范围和变化步长。

性能度量(performance measure)

衡量模型泛化能力的评价标准

下面是分类任务常用性能度量:

错误率与精度

查准率、查全率、F1

引入原因:错误率有时不够用,如进行信息检索时,更关心的是“检索出的信息有多少是用户感兴趣的”,“用户感兴趣的信息有多少是被检索出来了的”,这时查准率(precision)和查全率(recall)更适用于度量性能。

查准率        P=TP/(TP+FP)        预测为正的样例中有多少是真正的正样例

查全率        R=TP/(TP+FN)        样本中的正例有多少被预测正确

二分类问题的混淆矩阵如下:

分类结果混淆矩阵
真实情况预测结果
正例反例
正例TP(真正例)FN(假反例)
反例FP(假正例)TN(真反例)

查准率为纵轴,查全率为横轴,做出P-R曲线图

在这里插入图片描述

若一个学习器的P-R曲线被另一个学习器的曲线完全“包住”,则可断言后者性能优于前者

平衡点(Break-Even Point,简称BEP)是查准率=查全率时的取值。

 F1度量:基于查准率和查全率的调和平均

F1=\frac{1}{2}\cdot \left ( \frac{1}{P}+\frac{1}{R} \right )=\frac{2\times P\times R}{P+R}=\frac{2 \times TP}{|D| +TP-TN}

我们有多个二分类混淆矩阵,应该怎么评价F1指标呢?分类模型的评价指标--混淆矩阵,ROC,AUC,KS,Lift,Gain_shy19890510的博客-优快云博客_lift

多个二分类混淆矩阵可能有以下几种情况:多个二分类混淆矩阵可能有以下几种情况:多次训练/测试,多个数据集上进行训练/测试,多分类任务的两两类别组合等

设有n个混淆矩阵,计算出查全率和查准率的平均值,在计算F1即可

                                    

这种做法认为每一次的混淆矩阵(训练)是同等权重的

(2)微F1

设有n个混淆矩阵,计算出混淆矩阵对应元素(TP,FP,FN,TN)的平均值,再计算查全率、查准率,F1

                                   

这种做法认为每一个样本的权重是一样的

ROC曲线(curve), AUC

评价学习器性能,检验分类器对客户进行正确排序的能力

分类模型的评价指标--混淆矩阵,ROC,AUC,KS,Lift,Gain_shy19890510的博客-优快云博客_lift

 分类器产生的结果通常是一个概率值不是直接的0/1变量,通常数值越到,代表正例的可能性越大。

 根据任务的不同也会采取不同的“截断点”,大于则为正例,小于则为反例。如重视查全率,则阈值可以设置低一些;而重视查准率,阈值可以设置高一些。


 如果设定了截断点或明确了任务,那么我们根据混淆矩阵就可以知道分类器的效果好坏。

 在未设定截断点(任务不明确)情况下,我们如何评价一个分类模型的效果的好坏或者比较不同分类模型效果?

 我们可以观察这个学习器利用所有可能的截断点(就是所有样本的预测结果)对样本进行分类时的效果,注意要先对所有可能的截断点进行排序,方便对比观察。


 ROC曲线描绘的是不同的截断点时,并以FPR和TPR为横纵坐标轴,描述随着截断点的变小,TPR随着FPR的变化。

 纵轴:真正利率 TPR=实际正例中被判断为正例的比率 = TP/(TP+FN),其实就是查全率

 横轴:假正利率 FPR=实际反例中被判断为正例的比率 = FP/(FP+TN)


如果是随机分类,没有进行任何学习器,FPR=TPR,即正例分对和负例分错概率相同,预测出来的正例负例和正例负例本身的分布是一致的,所以是一条45°的直线。因此,ROC曲线越向上远离这条45°直线,说明用了这个学习器在很小的代价(负例分错为正例,横轴)下达到了相对较大的查全率(TPR)。


 


 作图步骤:

 1. 根据学习器的预测结果(注意,是正例的概率值,非0/1变量)对样本进行排序(从大到小)-----这就是截断点依次选取的顺序

 2. 按顺序选取截断点,并计算TPR和FPR---也可以只选取n个截断点,分别在1/n,2/n,3/n等位置

 3. 连接所有的点(TPR,FPR)即为ROC图

 例图:因为样本有限,通常不是平滑曲线
 


 判断标准:

 1. 一个ROC曲线完全”包住“另一个ROC曲线--->第一个学习器效果更好

 2. 两个ROC曲线相交--->利用ROC曲线下的面积(AUC,area under ROC curve,是一个数值)进行比较

 

《机器学习》周志华(西瓜书)学习笔记 第二章 模型评估与选择 第二章 模型评估与选择 阅读详情

相关推荐

周志华《机器学习》系列笔记——模型评估与选择(2)

2.1经验误差与过拟合 错误率error rate:分类错误的样本数占总样本数的比例 精度:分类正确的样本数占总样本数的比例 误差error:学习器的实际预测输出与真实输出之间的差异 训练误差training error/经验误差empirical error:学习器在训练集上的误差 泛化误差generalization error:学习器在新样本上的误差 机器学习的目的,是得到泛化能力高的模型,...

dxh1994的博客 1508

【机器学习】入门--模型评估与选择

测试数据更多地是指模型在实际使用中遇到的数据,为了和模型评估中使用的测试集进行区分,一般会把模型评估用的测试集叫做**验证集(validation set)**。对两个模型A和B,各使用k折交叉验证分别得到k个测试错误率,即$\hat{\epsilon}_1^A$,$\hat{\epsilon}_2^A$, ... ,$\hat{\epsilon}_k^A$ 和 $\hat{\epsilon}_1^B$,$\hat{\epsilon}_2^B$, ... ,$\hat{\epsilon}_k^B$。

weixin_63927761的博客 950

【学习机器学习】实验——模型评估与选择

【学习机器学习】模型评估与选择 这学期的课很多都要实验啊,不过机器学习真的可以算其中比较离谱的了,不说当堂上交,就这个任务量也属实有点多。其实要到4月3号才是我们班做,提前找其他班同学要到了先用python写写,到时候可能还要用matlab重新实现。。。 0、实验总览 Ⅰ、编程实现训练数据集与测试数据集 Ⅱ、编程实现性能度量 Ⅲ、编程实现假设检验(不太会) 一、任务一 1.1 留出法 留出法原理很直观,就是按照设定的比例对原始数据随机划分成两个互斥的集合,注意训练/测试集划分要尽可能保持数据分布的一致性(其实只要是随机分的多数可以保证) 那代码实现,如果调用sklearn真的是一句话就完事儿了

机器学习-模型评估与选择

机器学习是数学?程序设计?还是...与现实世界有着千丝万缕的联系的哲学?我将背起我的小背包,在机器学习的海洋中探索冒险,然后筑建一个属于我的世界or城市。maybe你想和我一起吗?

weixin_63289399的博客 439

H3C模拟器HCL防火墙路由模式主备配置实验

摘要:本文详细介绍了网络拓扑规划与设备配置方案。运营商仅提供一个接口地址,通过虚IP技术实现双防火墙高可用部署:主备防火墙分别配置10.20.10.1/29和10.20.10.2/29作为实际上联地址,共享10.10.10.2/24虚IP;下联配置172.168.10.0/24网段,核心交换机配置VLAN接口及192.168.10.1、192.168.20.1两个下联接口。文章包含运营商路由器、防火墙(HA配置、VVRP设置)和核心交换机的具体命令行配置步骤,并强调需进行主备切换验证。整个方案实现了单运营商

LQ的博客 1122

如何在INCA中修改标定量的初始值,并刷回控制器

测试过程中,有些时候,标定量来不及修改,这就需要修改标定量的初始值了,又不想打开模型重新编译,因此直接在INCA中修改,然后再刷回控制器,就成了最佳选择,之前也学过,长时间不用,忘记怎么搞了,最近又用到了,这次记录一下,以后用到的时候,就不用在网上东翻西找了。截止到2023年11月24日,共找到了两种方法可以实现修改。

weixin_43406519的博客 4200

机器学习:模型评估与选择

在机器学习任务中,我们需要选择一个或多个合适的模型对给定的数据集进行训练和测试。为了保证我们选择的模型能够对未知数据做出准确的推断,我们需要进行模型评估和选择。

qq_66346698的博客 533

STM32CubeMX最新版下载安装全攻略(附官网访问问题解决方案)

本文提供了STM32CubeMX最新版的详细下载与安装指南,并针对国内开发者常见的官网访问缓慢、注册验证邮件延迟等问题,给出了实用的解决方案和备选策略。通过清晰的步骤解析,帮助用户快速部署这一强大的STM32图形化配置工具,从而高效启动嵌入式开发项目。

weixin_28256233的博客 196

机器学习笔记:第2章 模型评估与选择

基于自助采样法,每次从m个样本的数据集D中,进行有放回的随机采样 1个样本拷贝到d中,进行m次操作后得到含有m个样本的d作为训练集,d中未出现的D中的样本作为测试集,评估模型的泛化误差。将D划分为k个互斥的子集,每次使用k-1个子集的并集作为训练集S,剩余1个为测试集,从而获得k组训练集/测试集,进行k次训练和验证,最终返回k次的平均值。模型预测正例正确的样本数TP(真正例),占模型预测为正例的样本数(TP+FP)的比例:P=TP/(TP+FP)经验误差/训练误差:学习器在训练集上的误差。

m0_57190374的博客 379

实战指南:如何用Kamailio+FreeSWITCH搭建高并发企业通信系统(附配置模板)

本文提供了一份实战指南,详细介绍了如何利用Kamailio与FreeSWITCH构建高并发企业通信系统。通过将Kamailio作为高性能SIP信令平面处理路由与负载均衡,FreeSWITCH作为媒体与应用平面负责通话与业务逻辑,实现信令与媒体分离的电信级架构。文章深入解析了架构设计、核心配置、集群部署与性能优化,并附有配置模板,旨在帮助企业构建可水平扩展、高可用的通信解决方案。

dell8的博客 364

LM Studio Bionic:本地AI智能体从部署到实战完整指南

AI智能体作为能够自主规划、执行多步任务的人工智能系统,其核心原理在于结合大语言模型的推理能力与工具调用机制。通过状态保持和任务分解算法,智能体实现了从单次问答到持续协作的技术跃迁。在工程实践中,这种架构显著降低了复杂任务自动化的门槛,特别适用于数据敏感场景和定制化需求。以Tesla V100等专业硬件为例,本地部署能充分发挥其大显存优势,支持更高精度的模型量化格式。在实际应用层面,智能体可无缝集成到代码审查、文档生成等开发工作流中,而LM Studio Bionic通过统一界面整合了模型服务、任务规划器等

weixin_29053695的博客 656

周志华《机器学习》总结——二、模型的评估与选择

学习器对样本的实际预测结果与样本的真实值之间的差:误差(error)。定义:训练误差(training error)或经验误差(empirical error):在训练集上的误差测试误差(test error):在测试集上的误差泛化误差(generalization error):学习器在所有新样本上的误差,希望泛化误差尽量小在过拟合问题中,训练误差十分小,但测试误差教大;在欠拟合问题中,训练误差和测试误差都比较大。

2301_76579283的博客 2366

【单智能体】AI 数据分析智能体案例讲解(附完整源码)

本案例将引导您构建一个基于 AI 的数据分析智能体,让用户能够通过自然语言查询来分析 CSV 和 Excel 文件中的数据,无需掌握 SQL 知识。该智能体使用 Agno Agent 框架集成 OpenAI GPT-4o 模型,并利用 DuckDB 提供高效的数据处理能力。

rengang66的博客 239

周志华《Machine Learning》学习笔记--第二章--模型评估与选择

模型评估与选择是机器学习工程实践中的核心环节。理解这些基本概念和方法,不仅能帮助我们选择出合适的模型,更能让我们对模型的性能有合理的预期,避免被虚假的高性能指标所误导。在追求更高精度的同时,我们应当时刻牢记奥卡姆剃刀原理:“如无必要,勿增实体”。在模型复杂度和性能之间找到恰当的平衡,才是机器学习实践的艺术所在。

weixin_46200189的博客 1478

TC3XX - MCAL知识点(一):新建Tc3xx EB-tresos工程

基于EB-tresos建立Hightec或者Tasking工程的时候,第一个步骤就是需要新建一个EB-tresos的工程,本文记录一下如何新建一个EB-tresos工程,以及对其进行简单的操作。那么Tc3xx的MCAL包含哪些内容呢?

梦想技术家 2973

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

机器学习周志华——模型评估与选择

(1)经验误差与过拟合 错误率error rate:分类错误的样本数占样本总数的比例a。 精度accuracy:分类正确的样本数占样本总数的比例1-a。 误差error:|实际预测输出-样本真实输出| 训练误差training error或经验误差empirical error:学习器在训练集上的误差 泛化误差generalization error:在新样本上的误差 学习的理想情况:...

weixin_30491641的博客 128

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

【周志华机器学习】模型评估与选择

模型评估与选择经验误差与过拟合评估方法留出法交叉验证法自助法调参性能度量错误率与精度查准率、查全率与F1ROC与AUC 经验误差与过拟合 训练误差:训练集上的误差 泛化误差:新样本上的误差 过拟合:将特殊性质当作普遍规律,以至于泛化能力下降 欠拟合较好解决,在决策树扩展分支、神经网络增加训练轮数。但过拟合很麻烦,无法彻底避免,只能缓解。 在机器学习从多种模型中选择一个时,叫做模型选择,理想方案是对泛化误差进行评估。 评估方法 以测试集上的测试误差近似泛化误差 留出法 直接将数据集分为两个互斥的集合,一个做为

mikasaaaaa的博客 522

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

周志华机器学习--模型评估与选择

第一章 绪论第二章 模型评估与选择第三章 线性模型第四章 决策树第五章 支持向量机第六章 神经网络第七章 贝叶斯分类器第八章 集成学习和聚类。

weixin_45448833的博客 1275

机器学习(MACHINE LEARNING) 【周志华版-”西瓜书“-笔记】 DAY2-模型评估与选择

2.1经验误差与过拟合 学习器在训练集上的误差称为“训练误差”(training error)或”经验误差“。 当学习器把训练样本学得“太好”了的时候, 很可能已经把训练样本自身的一些特点当作了所有潜在样本都会具有的的一般性质, 这样就会导致泛化性能下降, 这种现象在机器学习中称为“过拟合”(overfitting)。 2.2评估方法 当我们只有一个包含m个样例的数据集D={(x1,y1),(...

NJU phd 在读。 1392

《机器学习》(周志华)第二章 模型评估与选择

AUC 越大,证明排序的质量越好,AUC 为 1 时,证明所有正例排在了负例的前面,AUC 为 0 时,所有的负例排在了正例的前面。显然,我们希望得到的是在新样本上表现得很好的学习器,即泛化误差小的学习器。,设定一个阈值,大于阈值为正例,小于阈值为负例,因此这个实值的好坏直接决定了学习器的泛化性能,若将这些实值排序,则。上面的方法中,将学习器的犯错同等对待,但在现实生活中,将正例预测成假例与将假例预测成正例的代价常常是不一样的。在非均等错误代价下,我们希望的是最小化“总体代价”,这样。

2402_86344613的博客 1300

周志华《机器学习》第二章 模型评估与选择——模型评估方法

周志华《机器学习》(西瓜书)目录 https://editor.youkuaiyun.com/md?articleId=106864771 ———————————————————————— 模型评估方法 通常, 我们可通过实验测试来对学习器的泛化误差进行评估并进而做出选择。 留出法 交叉验证法 自助法 调参与最终模型 留出法 “留出法” (hold-out)直接将数据集 D 划分为两个互斥的集合,其中一个集合作为训练集 S,另一个作为测试集 T, 即 D=SUT, S ∩\cap∩T=∅\varnothing∅ .

jack_jay_du的博客 442

周志华《机器学习》第二章 - 模型评估与选择

第二章 - 模型评估与选择1、课程笔记1.1 经验误差与过拟合1.2 评估方法1.2.1 留出法1.2.2 交叉验证法 1、课程笔记 1.1 经验误差与过拟合 我们将学习器对样本的实际预测结果与样本的真实值之间的差异成为:误差(error)。定义: 在训练集上的误差称为训练误差(training error)或经验误差(empirical error)。 在测试集上的误差称为测试误差(test ...

lens_的博客 2305

机器学习周志华学习笔记-第2章<模型的评估与选择>

机器学习周志华学习笔记-第2章<模型的评估与选择>

ydl1128的博客 1403

周志华《机器学习》——模型的评估与选择

在一幅图解释机器学习中,我们假设要进行分辨西瓜好坏的任务。 如何从众多的评判方法中,选出更好的方法呢(也就是从假设空间到版本空间) 这个过程需要解决三个问题: 1、如何判断哪个方法更好? ——越好的方法,其判断结果应该越符合真实世界(设置合理的性能度量指标,衡量判断结果和真实世界的差距) 2、在什么数据集上测试方法的好坏? ——测试集应该能够代表真实世界,且不会影响到模型训练(合理分割测试集和训练集) 3、毕竟测试集只是真实世界的抽样,如何判断在测试集上的测试结果...

zzmmhxs的博客 311
上一篇: Android Studio中Fragment获取所属Activity接收到的参数
下一篇: Windows11下使用Virtualenv虚拟机方式安装tensorflow-gpu并在PyCharm中使用配好的环境编译项目
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值