机器学习入门之模型性能评估与度量

文章目录

    • 性能评估
      • 误差
      • 欠拟合和过拟合
      • 模型选择与数据拟合
    • 性能度量
      • 二分类的混淆矩阵
        • 查全率
        • 查准率
        • F1分数
      • P-R曲线
      • ROC曲线
      • AUC

性能评估

机器学习的模型有很多,我们在选择的时候就需要对各个模型进行对比,这时候就需要一个靠谱的标准,能够评估模型的性能

这里的性能不是说算的有多快,而是说预测的结果和真实情况进行比较的来的结果

误差

在我们对训练的结果进行分析之前,首先需要思考模型训练过程中是否可能有误差的产生,因为这同样会影响结果和对模型选择产生比较大的影响

误差主要会出现在数据集的三个部分,分别是训练集、测试集、新样本

  1. 训练集——训练误差
  2. 测试集——测试误差
  3. 新样本——泛化误差

所谓的训练误差指的是训练集本身存在缺陷,从而模型提取的错误的特征信息,例如一个只认识红色苹果的模型,遇到绿色苹果时,他就不认为这是苹果了

一般情况下拿到一个数据集,会将其分成两部分,分别作为训练集和测试集,那么对于训练完成的模型,此时测试集也相当于是一个新样本

训练模型的时候,一开始训练误差和测试误差都会比较高,但是训练次数越多,训练误差会越来越小,但是测试误差可能会变大,而且模型的复杂度也会随之提升

这样的现象我们分别称之为欠拟合和过拟合

欠拟合和过拟合

欠拟合的概念很好理解,其实就是由于数据量不够大,模型的准确率不够多,也就是一开始我们学习的时候没有足够的理解一样,有时也称之为高偏差(high bias)

而过拟合则是属于过犹不及的那种感觉,就好像呆板僵化的思维,好像有些人做数学题,尽管题目非常接近,仅仅是更换了数字,但是他仍然认为这是两种完全不同的题目,这样带来的一种效果就是对于训练集(已经做过的题目)正确率很高,但是对于新样本的能力就会比较差,有时也称为高方差(high variance)

想要克服这两种现象,对于欠拟合是比较容易的,例如在决策树算法中扩展分支,在神经网络中增加训练的轮数,但是过拟合就困难的多,主要是因为模型过于复杂,我们需要的是简化模型,这种纠正策略称之为正则化(regularization)

模型选择与数据拟合

我们在模型选择时一定不能一味追求降低训练误差,因为想要有较强的数据拟合能力,就需要将模型的复杂度不断提升

也就是需要遵循一条原则,避免过拟合并且提高泛化能力

例如我们想要对一组数据想要拟合出一个多项式函数

假设有一个数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x n , y n ) } T=\{(x_1,y_1),(x_2,y_2),\dots,(x_n,y_n)\} T={(x1,y1),(x2,y2),,(xn,yn)} x i x_i xi为样本的观测值(特征、自变量), y i y_i yi是对应的输出观测值(因变量)

我们想要找到一个m次多项式函数能够拟合这些数据,目标是能够较好拟合并且预测

设这个m次多项式函数的一般形式为: f m ( x , w ) = w 0 x 0 + w 1 x 1 + w 2 x 2 + ⋯ + w m x m = ∑ j = 0 m w j x j f_m(x,w)=w_0x^0+w_1x^1+w_2x^2+\dots+w_mx^m=\sum_{j=0}^{m}w_jx^j fm(x,w)=w0x0+w1x1+w2x2++wmxm=j=0mwjxj

对于这个公式的解读:

  1. 有m+1个特征值,x的次数从0到m
  2. 有m+1个需要通过训练(学习)得到的权值参数,w的下标从0到m
  3. 这里参数的正负,绝对值大小就分别代表了对于这个特征的态度,绝对值越大权重越大
  4. 可以有意识的调整某些权值让他趋近于0,从而抛弃某些特征,称之为权重衰减(weight decay),在某种程度上可以避免过拟合

那如何训练学习这个m+1个参数呢,常用的策略之一是最小二乘法(Method of Least Squares)

通过这个方法拟合出来的函数值 f ( x i , w ) f(x_i,w) f(xi,w)(得到的预测结果)和真实的 y i y_i yi是由误差的,数学上称之为残差(residual)

e i = f ( x i , w ) − y i e_i=f(x_i,w)-y_i ei=f(xi,w)yi

高斯证明了,在这个残差集合独立同分布的假定下,最小二乘法有一个优势,就是在所有的无偏线性估计类中方差最小,也就是当残差的平方和最小时,拟合函数的相似度最高,也就是如下函数取最小值时,拟合效果最好

L ( w ) = 1 2 ∑ i = 1 n ( f ( x i , w ) − y i ) 2 L(w)=\frac{1}{2}\sum_{i=1}^{n}(f(x_i,w)-y_i)^2 L(w)=21i=1n(f(xi,w)yi)2

性能度量

上面我们讲到的其实是性能评估的一般思路,接下来我们就需要找到一个标准,能够确切的评判性能的高低了

二分类的混淆矩阵

二值分类器(Binary Classifier)是在机器学习中应用最广泛的分类器之一,二值分类指的是正类和负类,我们为了方便陈述称之为真和假

主要分四类

  • 真正类(True Positive,TP),实际为真,被模型预测为真,为了方便理解,我们说他是应该被选上且已经被选上了的
  • 假正类(False Positive,FP),实际为假,被模型预测为真,应该没被选上(被忽略)但是被选上了的
  • 真负类(True Negative,TN),实际为假,被模型预测为假,应该被忽略且已经被忽略了的
  • 假负类(False Negative,FN),实际为真,被模型预测为假,应该被忽略但被选上了的

这四类加起来就是总样本数,然后第一类和第三类是正确预测了的,第二类和第四类是预测失误了的,分别称之为误报、第一类错误,漏报、第二类错误

这四组样本就构成了混淆矩阵(confusion matrix),确实容易混淆

由这四组样本就能产生一些比例作为判断,再通过这些比例之间的关系,我们就能找到更优的模型了

主要有以下几个,查全率,查准率,F1分数,P-R曲线,ROC曲线

我们尽量避免过于不说人话的描述,用最简单容易理解的话来讲清楚这些概念

在说这些概念之前,我们先画一个简单的示意图,可以配合起来理解

image.png

查全率

查全率(Recall,R,召回率),表示分类准确的正类样本数占全部正类样本数的比例,说人话就是在所有应该被选上的样本中,选上了的比例是多少,也就是左边那一半TP占的比例 R = T P T P + F N R=\frac{TP}{TP+FN} R=TP+FNTP

查准率

查准率(Precision,P),表示被预测正确的正类样本数占分类器判定为正类样本总数的比例,说人话就是所有被选上的样本中,选对了的样本比例是多少,也就是这个圆里面左边占的部分比例 P = T P T P + F P P=\frac{TP}{TP+FP} P=TP+FPTP

需要注意的是,查准率和准确率是有区别的,准确率应该是正确判断的样本除总样本得到的比例

一般来说查准率和查全率是呈负相关的,那有没有可以兼顾这样两个比率的呢,或者说有没有一个值可以用来调整他们之间的比重关系

F1分数

本质上来说F1分数是查准率和查全率的调和平均数

1 F 1 = 1 2 ( 1 P + 1 R ) \frac{1}{F1}=\frac{1}{2}(\frac{1}{P}+\frac{1}{R}) F11=21(P1+R1)整理一下就是 F 1 = 2 × P × R P + R F1=2\times\frac{P\times R}{P+R} F1=2×P+RP×R

想要有所偏向,就可以引入参数 β \beta β

1 F β = 1 1 + β 2 ( 1 P + β 2 R ) \frac{1}{F_\beta}=\frac{1}{1+\beta^2}(\frac{1}{P}+\frac{\beta^2}{R}) Fβ1=1+β21(P1+Rβ2)整理一下就是 F β = ( 1 + β 2 ) 1 1 P + β 2 R F_\beta=(1+\beta^2)\frac{1}{\frac{1}{P}+\frac{\beta^2}{R}} Fβ=(1+β2)P1+Rβ21

β > 1 \beta>1 β>1时, β 2 R \frac{\beta^2}{R} Rβ2项占比较大,即查全率的影响更大,反之则查准率的影响更大

P-R曲线

P-R曲线其实很简单,因为查准率和查全率大致成负相关,就可以分别将查全率和查准率作为坐标轴画出图形,那么这其中变化的是什么呢,其实就是我们设定的临界值,之后的ROC曲线也是类似,选取的标准不同,查全率和查准率的数值也会不同

当两个模型的P-R曲线都绘制出来之后,我们就可以根据曲线进行抉择了

第一种情况是一个模型的曲线完全在另一个曲线的上方,也就是查全率和查准率都高于另一个,那就直接选了

但是更通常的情况是交替出现,这时候就有一个所谓的平衡点(Break-Even Pont、BEP),就是y=x这条直线和两条曲线的交点,一般认为谁的交点在上方,谁就更优

P-R曲线的优点是非常直观,但是缺点也很明显,受样本分布的影响非常大

于之相比,ROC曲线就相对更优,也因此作为重要的指标之一

ROC曲线

于P-R曲线对应的,ROC曲线的横纵坐标也是两个比率

第一个比率是真阳性率(True Positive Rate,TPR),简单说就是应该被忽略但没有被忽略的占比, T P R = F P T N + F P TPR=\frac{FP}{TN+FP} TPR=TN+FPFP

第二个比率是假阳性率(False Positive Rate,FPR),简单说就是应该被选中并且已经被选中的占比, F P R = T P T P + F N FPR=\frac{TP}{TP+FN} FPR=TP+FNTP

把假阳性率作为横轴,真阳性率作为纵轴,就能画出ROC曲线了,并且变化的仍然是选取的标准不同

现在已经绘制出了对应的ROC曲线了,应该如何选取更优的模型呢

AUC

AUC是Area Under Curve,意思是曲线下的区域,那其实就是ROC曲线与X轴的面积

一般认为AUC在0.5到1之间,如果不在这个范围内,只需要将模型的预测概率P反转成1-P就能得到一个更好的分类器

并且AUC的值越高,我们认为这个模型就越优

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Redis 实战之RDB文件结构

RDB文件结构 databases 部分key_value_pairs 部分value 的编码字符串对象列表对象集合对象哈希表对象有序集合对象INTSET 编码的集合ZIPLIST 编码的列表、哈希表或者有序集合 总结AOF持久化的实现命令追加 AOF 文件的写入与同步小结 在本章之前的内容中, 我们介绍了…

ChatGPT 4.0 直接用 !!!Code Copilot编程大模型、DALL-E AI绘图、绘制流程图、上传文件

嗨,你好呀,我是哪吒。 这一年最让人揪心的热点,就是各种层出不穷的AI技术。 原以为它只是短暂霸屏,但现实却赤裸裸展示了,什么叫AI抢走你的饭碗,连招呼都不打一声! 什么策划方案、公众号文案、营销卖点、…

计算机网络4——网络层7 VPN 和NAT,MPLS

文章目录 一、虚拟专用网VPN1、介绍2、工作原理 二、网络地址转换1、介绍2、工作原理2、注意事项 三、多协议标签交换MPLS1、介绍2、MPLS 的工作原理1)基本工作过程2)转发等价类 FEC 3、MPLS首部的位置与格式4、新一代的 MPLS 一、虚拟专用网VPN 1、介绍…

【Linux系统化学习】网络套接字(编写简单的UDP服务端和客户端)

目录 理解源IP地址和目的IP地址 认识端口号 端口号和进程ID的区别 源端口号和目的端口号 认识TCP和UDP协议 TCP协议 UDP协议 网络字节序 socket编程接口 socket常见API sockaddr结构 简单的UDP网络程序 UDP服务端 创建套接字 填充本地网络信息 绑定 收取消息 …

selenium 4.x 之验证码处理(python)

验证码处理 一般情况公司如果涉及web自动化测试需要对验证码进行处理的方式一般有一下几种: 关闭验证码功能(开发处理)设置万能验证码(开发处理)使用智能识别库进行验证 通过第三方打码平台识别验证码 1. 跳过验证功…

Activity工作流基本知识点

1.概念 工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的…

MySql#MySql数据库基础

目录 一、什么是数据库 二、主流数据库 三、基本使用 1.连接服务器 2.使用 1.查看你数据库 2.创建数据库 ​编辑 ​编辑 ​编辑​编辑 3.使用数据库 ​编辑 4.创建数据库表 5.表中插入数据 6.服务器,数据库,表之间的关系 四、MySQL架构…

AI图书推荐:AI在语言学习教育领域的应用和挑战

这本书《AI在语言学习教育领域的应用和挑战》(AI in Language Teaching, Learning, and Assessment)由Fang Pan编辑,出版于IGI Global,主要探讨了人工智能(AI)在语言教育领域的应用、挑战以及潜在的益处。 …

Vue踩坑,less与less-loader安装,版本不一致

无脑通过npm i less -D安装less之后,继续无脑通过npm i less-loader -D安装less-loader出现如下错误: 解决方法: 1) npm uninstall less与 npm uninstall less-loader 2) 直接对其版本: npm i less3.0.4 -D npm i less-loader…

Jackson 中使用 Optional

介绍 在本文中,我们会对 Optional 类进行一些说明,并且会解释下如果在使用 Optional 类的时候可能在 Jackson 中进行序列化和反序列化的过程中出现的问题。 针对上面的问题,本文会将会介绍在 Jackson 中如何处理 Optional 对象,…

vue2项目升级到vue3经历分享3

当初花了1个半月将十几个微服务从mybatis升级为mybatis-plus,就很自信的认为前端vue2升级到vue3也不过so so,世界过程中却是折腾,写法乱七八糟,不兼容的问题一大堆。 1 操作dom元素 this.$refs.subject[index].$children[0].$chil…

「 网络安全常用术语解读 」通用配置枚举CCE详解

1. 背景介绍 NIST提供了安全内容自动化协议(Security Content Automation Protocol,SCAP)为漏洞描述和评估提供一种通用语言。SCAP组件包括: 通用漏洞披露(Common Vulnerabilities and Exposures, CVE):提供一个描述…

wordpress子比主题给文章内容加上密码查看

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤1.引入库2.读入数据第三步:文章内添加代码前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,…

乳制品粘性测试:操作流程详解

乳制品粘性测试:操作流程详解 在乳制品生产中,粘性测试是确保产品质量和口感的重要步骤。通过详细的操作流程,我们可以准确评估乳制品的粘性,为产品优化和品质控制提供有力支持。本文将详细介绍乳制品粘性测试的操作流程。 一、准…

应用层协议——http协议和https协议

目录 一、HTTP协议 1、概念 2、URL 二、HTTP协议格式 1、请求协议格式 2、响应协议格式 三、HTTP的请求方法 四、HTTP的状态码 五、HTTP常见的报头 六、HTTP和HTTPS 1、HTTPS协议 2、HTTPS的加密原理 1、基本概念 2、加密原理 通常我们程序员在网络编程的时候&am…

CSDN如何转载他人文章(超简单)

经常遇到一篇很好的文章&#xff0c;但是CSDN没有转载功能&#xff0c;所以需要我们自己处理一下。以谷歌浏览器打开某篇文章为例 一、按F12打开开发者工具 二、复制转载文章内容 按Ctrlf查找content_views&#xff0c;找到这一行<div id"content_views" class&…

2024项目拆解日均引流100+精准创业粉,全程干货

详情介绍 2024年项目拆解引流高质量创业粉&#xff0c;全程干货单日轻松引流100&#xff0c;项目拆解类视频本身引流效果就非常不错&#xff0c;视频内容针对性强直击创业粉内心&#xff0c;获客非常有效。做好视频钩子&#xff0c;和后端承接&#xff0c;赚钱没那么难。 课程…

没有精益管理内容的数字化,会是成功的数字化吗?

精益管理与数字化的结合被认为是制造业和企业管理中的一种重要转型策略。精益管理注重消除浪费、提升效率和质量&#xff0c;而数字化则通过技术手段来实现这一目标&#xff0c;两者的结合能够带来更高效、更智能的生产和管理方式。 首先&#xff0c;精益管理的核心理念是价值…

什么是HTTPS证书?怎么免费申请?——值得收藏

SSL证书的核心功能在于保障互联网数据传输的安全性和网站身份的可靠性。它通过加密通信防止信息被窃取或篡改&#xff0c;同时验证网站的真实身份&#xff0c;有效抵御钓鱼攻击&#xff0c;增强用户信任。此外&#xff0c;使用SSL证书还有助于提升网站在搜索引擎中的排名&#…
最新文章