机器学习基础 衡量模型性能指标

目录

1 前言

​编辑1.1 错误率(Error rate)&精度(Accuracy)&误差(Error):

 1.2 过拟合(overfitting): 训练误差小,测试误差大

 1.3 欠拟合(underfitting):训练误差大,测试误差大

1.4 MSE:

1.5 RMSE:

1.6 MAE:

1.7 R-Squared:

2 准确度的缺陷 :

3 混淆矩阵:

4 精准率:

​5 召回率:

6 准确率:

7 F1 Score:

8 宏平均和微平均:

9 偏差与方差:

思考:如何解决偏差、方差问题?


1 前言

大家知道已经,机器学习通常都是将训练集上的数据对模型进行训练,然后再将测试集上的数据给训练好的模型进行预测,最后根据模型性能的好坏选择模型,对于分类问题,大家很容易想到,可以使用正确率来评估模型的性能,那么回归问题可以使用哪些指标用来评估呢?

1.1 错误率(Error rate)&精度(Accuracy)&误差(Error):

  • 错误率: 分类错误的样本数占样本总数的比例:E=a/m
  • 精度: Accuracy=1-a/m
  • 误差:学习器的实际预测输出与样本的真实输出之间差异
  • 训练(经验)误差(training/empirical error):训练集上的误差
  • 测试误差(testing error):测试集上的误差
  • 泛化误差(generalization error):除训练集外所有样本上的误差

 由于事先并不知道新样本的特征,我们只能努力使经验误差最小化;

很多时候虽然能在训练集上做到分类错误率为零,分类精度为100%,但多数情况下这样的学习器并不好。

 1.2 过拟合(overfitting): 训练误差小,测试误差大

学习器把训练样本学习的“太好”,将训练样本本身的特点  当做所有样本的一般性质,导致泛化性能下降

  • 优化目标加正则
  • 增加样本数量
  • early stop

 1.3 欠拟合(underfitting):训练误差大,测试误差大

训练样本的一般性质尚未学好

  • 决策树:拓展分支
  • 神经网络:增加训练轮数

1.4 MSE:

MSE (Mean Squared Error)叫做均方误差,公式如下:

\frac{1}{m}sum_{i=1}^{m}(y^{i}-p^{i})^{2}

其中_{_{_{}^{}}^{}}^{}y^{i}表示第 i个样本的真实标签,p^{i}表示模型对第 i 个样本的预测标签。线性回归的目的就是让损失函数最小。那么模型训练出来了,我们在测试集上用损失函数来评估模型就行了。

1.5 RMSE:

RMSE(Root Mean Squard Error)均方根误差,公式如下:

sqrt\frac{1}{m}sum_{i=1}^{m}(y^{i}-p^{i})^{2}

 RMSE 其实就是 MSE 开个根号。有什么意义呢?其实实质是一样的。只不过用于数据更好的描述。

例如:要做房价预测,每平方是万元,我们预测结果也是万元。那么差值的平方单位应该是千万级别的。那我们不太好描述自己做的模型效果。怎么说呢?我们的模型误差是多少千万?于是干脆就开个根号就好了。我们误差的结果就跟我们数据是一个级别的了,在描述模型的时候就说,我们模型的误差是多少万元。

1.6 MAE:

MAE (平均绝对误差),公式如下:

\frac{1}{m}sum_{i=1}^{m}|y^{i}-p^{i}|^{2}

MAE 虽然不作为损失函数,确是一个非常直观的评估指标,它表示每个样本的预测标签值与真实标签值的 L1 距离。

1.7 R-Squared:

上面的几种衡量标准针对不同的模型会有不同的值。比如说预测房价 那么误差单位就是万元。数子可能是 3,4 ,5 之类的。那么预测身高就可能是 0.1,0.6 之类的。没有什么可读性,到底多少才算好呢?不知道,那要根据模型的应用场景来。 看看分类算法的衡量标准就是正确率,而正确率又在 0~1 之间,最高百分之百。最低 0 。如果是负数,则考虑非线性相关。很直观,而且不同模型一样的。那么线性回归有没有这样的衡量标准呢?
 R-Squared 就是这么一个指标,公式如下:

R^{2}=1-\frac{sum_{i}(p^{i}-y^{i})^{2}}{sum_{i}(y_{mean}^{i}-y^{i})^{2}}

其中y mean表示所有测试样本标签值的均值。为什么这个指标会有刚刚我们提到的性能呢?我们分析下公式:

其实分子表示的是模型预测时产生的误差,分母表示的是对任意样本都预测为所有标签均值时产生的误差,由此可知:

  1. R^{2}leq1,当我们的模型不犯任何错误时,取最大值 1。
  2. 当我们的模型性能跟基模型性能相同时,取 0。
  3. 如果为负数,则说明我们训练出来的模型还不如基准模型,此时,很有可能我们的数据不存在任何线性关系。

2 准确度的缺陷 :

准确度这个概念相信对于大家来说肯定并不陌生,就是正确率。例如模型的预测结果与数据真实结果如下表所示:

编号预测结果真实结果
112
242
333
422
524

很明显,算出来该模型的准确度为 2/5。

那么准确对越高就能说明模型的分类性能越好吗?非也!举个例子,现在我开发了一套信号传播信道系统,只要输入你的一些基本信号传播信道信息,就能预测出你现在是否有NLOS,并且分类的准确度为 0.999。您认为这样的系统的预测性能好不好呢?

您可能会觉得,哇,这么高的准确度!这个系统肯定很牛逼!但是我们知道,一般信号传播信道的概率非常低,假设分类的概率为 0.001,那么其实我这个信号传播信道系统只要一直输出NLOS,准确度也可能能够达到 0.999。

看到这里您应该已经体会到了,一个分类模型如果光看准确度是不够的,尤其是对这种样本极度不平衡的情况( 10000 条正常信息数据中,只有 1 条的类别是NLOS,其他的类别都是LOS)。

3 混淆矩阵:

混淆矩阵是机器学习模型评估的原始依据之一,通常可以用于评估一个分类器的分类性能[71]。该方法主要针对二元分类问题,可以将数据集分为肯定类和否定类,分类器做出阳性和阴性的判断。混淆矩阵的分类情形分析表显示四组不同的判断结果为真阳性(TP)、假阳性(FT)、真阴性(TN)、假阴性(FN),为分类器的评估指标提供了推导基础。

以信号传播信道预测为例,真阳性与假阴性分别是传播信道为LOS和传播信道为NLOS的结果阳性,真阴性和假阳性分别是传播信道为NLOS和传播信道为LOS的结果阴性。可以看出,真阳性和真阴性是信道传播正确的分类。如表1-1所示。

表1-1    混淆矩阵

混淆矩阵

预测值

传播信道为LOS

传播信道为NLOS

真实值

传播信道为LOS

Ture Positive,TP

False Negative,FN

传播信道为NLOS

False Positive,FP

True Negative,TN

4 精准率:

准确率是所有类别整体性能的平均,如果希望对每个类都进行性能估计,就需要计算精确率(Precision)和召回率(Recall).精确率和召回率是广泛用于信息检索和统计学分类领域的两个度量值,在机器学习的评价中也被大量使用.

精准率(Precision)也称为FPR,指的是模型预测为 Positive 时的预测准确度,其计算公式如下:

Precisionin=\frac{TP}{TP+FP}


​5 召回率:

召回率(Recall)也称为TPR,指的是我们关注的事件发生了,并且模型预测正确了的比值,其计算公式如下:

Recall=\frac{TP}{FN+TP}

也就是说 TPR 就是召回率。所以 TPR 描述的是模型预测 Positive 并且预测正确的数量占真实类别为 Positive 样本的比例。而 FPR 描述的模型预测 Positive 并且预测错了的数量占真实类别为 Negtive 样本的比例。

模型的精准率变高,召回率会变低,精准率变低,召回率会变高。

6 准确率:

由于混淆矩阵统计的是分类正确和错误的个数,只针对数量的分析对于模型优劣的衡量很难完成,故可以通过使用准确率(Accuracy,A)进行分类器的性能评估,计算公式如式所示。

A=\frac{TP+TN}{TP+TN+FP+FN}

7 F1 Score:

精准率变高,召回率会变低,精准率变低,召回率会变高。那如果想要同时兼顾精准率和召回率,这个时候就可以使用 F1 Score 来作为性能度量指标了。

F1 Score 是统计学中用来衡量二分类模型精确度的一种指标。它同时兼顾了分类模型的准确率和召回率。 F1 Score 可以看作是模型准确率和召回率的一种加权平均,它的最大值是 1,最小值是 0。其公式如下:

F1=\frac{2*precision*racall}{prercision+recall}

  • 假设模型 A 的精准率为 0.2,召回率为 0.7,那么模型 A 的 F1 Score 为 0.31111。
  • 假设模型 B 的精准率为 0.7,召回率为 0.2,那么模型 B 的 F1 Score 为 0.31111。
  • 假设模型 C 的精准率为 0.8,召回率为 0.7,那么模型 C 的 F1 Score 为 0.74667。
  • 假设模型 D 的精准率为 0.2,召回率为 0.3,那么模型 D 的 F1 Score 为 0.24。

从上述 4 个模型的各种性能可以看出,模型C的精准率和召回率都比较高,因此它的 F1 Score 也比较高。而其他模型的精准率和召回率要么都比较低,要么一个低一个高,所以它们的 F1 Score 比较低。

这也说明了只有当模型的精准率和召回率都比较高时 F1 Score 才会比较高。这也是 F1 Score 能够同时兼顾精准率和召回率的原因。

8 宏平均和微平均:

为了计算分类算法在所有类别上的总体精确率、召回率和F1值,经常使用两种平均方法,分别称为宏平均(Macro Average)和微平均(MicroAverage)。

宏平均是每一类的性能指标的算术平均值。微平均是每一个样本的性能指标的算术平均值.对于单个样本而言,它的精确率和召回率是相同的(要么都是1,要么都是0)。因此精确率的微平均和召回率的微平均是相同的。同理,F1 值的微平均指标是相同的。当不同类别的样本数量不均衡时,使用宏平均会比微平均更合理些.宏平均会更关注小类别上的评价指标。

9 偏差与方差:

通过实验可以估计学习算法的泛化性能,而“偏差-方差分解”可以用来帮助解释泛化性能。偏差-方差分解试图对学习算法期望的泛化错误率进行拆解。

  1. 偏差度量了学习算法期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力
  2. 方差度量了同样大小训练集的变动所导致的学习性能的变化,即刻画数据扰动所造成的影响;
  3. 噪声表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界,即刻画了学习问题本身的难度

泛化性能是由学习算法的能力、数据的充分性以及学习任务本身的难度所共同决定的。给定学习任务为了取得好的泛化性能,需要使偏差小(充分拟合数据)而且方差较小(减少数据扰动产生的影响)

一般来说,偏差与方差是有冲突的,称为偏差-方差窘境。

如下图所示,假如我们能控制算法的训练程度:

  1. 在训练不足时,学习器拟合能力不强,训练数据的扰动不足以使学习器的拟合能力产生显著变化,此时偏差主导泛化错误率;
  2. 随着训练程度加深,学习器拟合能力逐渐增强,方差逐渐主导泛化错误率;
  3. 训练充足后,学习器的拟合能力非常强,训练数据的轻微扰动都会导致学习器的显著变化,若训练数据自身非全局特性被学到则会发生过拟合。

思考:如何解决偏差方差问题?

整体思路:首先,要知道偏差和方差是无法完全避免的,只能尽量减少其影响。

1)在避免偏差时,需尽量选择正确的模型,一个非线性问题而我们一直用线性模型去解决,那无论如何,高偏差是无法避免的。

2)有了正确的模型,我们还要慎重选择数据集的大小,通常数据集越大越好,但大到数据集已经对整体所有数据有了一定的代表性后,再多的数据已经不能提升模型了,反而会带来计算量的增加。而训练数据太小一定是不好的,这会带来过拟合,模型复杂度太高,方差很大,不同数据集训练出来的模型变化非常大。

3)最后,要选择合适的模型复杂度,复杂度高的模型通常对训练数据有很好的拟合能力。

           

  

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

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

相关文章

TCP的流量控制的实现

滑动窗口的介绍 滑动窗口是tcp协议中的一个重要概念,滑动窗口是字节为单位,而tcp头部的序列化和确认号也是以字节为单位的,滑动窗口里是含有可以传输的字节的数量(可以传输不是已经传输),而滑动窗口的大小是…

【0x001D】HCI_Read_Remote_Version_Information命令详解

目录 一、命令概述 二、命令格式及参数说明 2.12. HCI_Read_Remote_Version_Information 命令格式 2.2. Connection_Handle 三、生成事件 3.1. HCI_Command_Status 事件 3.2. HCI_Read_Remote_Version_Information_Complete 事件 四、命令执行流程 4.1. 命令发起阶段(…

一篇文章学会HTML

目录 页面结构 网页基本标签 图像标签 超链接标签 文本链接 图像链接 锚链接 功能链接 列表 有序列表 无序列表 自定义列表 表格 跨列/跨行 表头 媒体元素 视频 音频 网站的嵌套 表单 表单元素 文本框 单选框 多选框 按钮 下拉框 文本域和文件域 表…

C语言项目 天天酷跑(上篇)

前言 这里讲述这个天天酷跑是怎么实现的,我会在天天酷跑的下篇添加源代码,这里会讲述天天酷跑这个项目是如何实现的每一个思路,都是作者自己学习于别人的代码而创作的项目和思路,这个代码和网上有些许不一样,因为掺杂了…

如何完全剔除对Eureka的依赖,报错Cannot execute request on any known server

【现象】 程序运行报错如下: com.netflix.discovery.shared.transport.TransportException报错Cannot execute request on any known server 【解决方案】 (1)在Maven工程中的pom去掉Eureka相关的引用(注释以下部分&#xff0…

华为云国内版与国际版的主要区别解析

华为云作为全球领先的云计算服务提供商,提供了国内版和国际版两种服务。虽然它们都旨在为用户提供高效、可靠的云计算解决方案,但在功能、服务、合规性等方面存在一些显著的区别。我们九河云通过本文将详细分析华为云国内版与国际版的主要区别&#xff0…

基于北斗短报文+4G的森林草原火险因子综合监测方案

近年来,全球气候变暖的趋势日益严重,气温升高导致森林火灾的发生频率和严重程度逐年增加,对人类社会和自然生态环境造成了严重的危害。森林火灾的发生受到植被类型、气象条件、扑救方式和监管方式等多种因素的影响。 因此,林业建…

小程序app封装公用顶部筛选区uv-drop-down

参考ui:DropDown 下拉筛选 | 我的资料管理-uv-ui 是全面兼容vue32、nvue、app、h5、小程序等多端的uni-app生态框架 样式示例&#xff1a; 封装公用文件代码 dropDownTemplete <template><!-- 顶部下拉筛选区封装公用组件 --><view><uv-drop-down ref&…

3 JDK 常见的包和BIO,NIO,AIO

JDK常见的包 java.lang:系统基础类 java.io:文件操作相关类&#xff0c;比如文件操作 java.nio:为了完善io包中的功能&#xff0c;提高io性能而写的一个新包 java.net:网络相关的包 java.util:java辅助类&#xff0c;特别是集合类 java.sql:数据库操作类 IO流 按照流的流向分…

Uniapp 手机基座调试App 打包成Apk文件,并上传到应用商店

1.Uniapp手机基座调试App。 1.1 以下是我另一篇文章 讲解 uniapp连接手机基座调试App、 Hbuildx使用SUB运行到手机基座测试_hbuilder基座-CSDN博客 2.打包本地的uniapp项目为apk文件。 打包的方式有很多种&#xff0c;我们可以选择本地打包和远程云端打包两种方式。 我们在打包…

vue调试工具 Vue.jsDevtools

文件下载 Vue.js Devtools 通过网盘分享的文件&#xff1a;ddebf336f8a44293bd4db9d0f287bc1c.crx 链接: https://pan.baidu.com/s/1uS3a49CwW-B000p5GwUQmQ 提取码: ko89 下载完了 &#xff0c;拖入chrome里&#xff0c;打开详情配置. 打开红框中的开关 重启浏览器&#xff…

数智化时代医院临床试验人才培养的创新路径与实践探索

一、引言 1.1 研究背景与意义 在当今数实化与智能化技术飞速发展的时代&#xff0c;医疗行业正经历着深刻的变革&#xff0c;数智化医院已成为未来发展的重要趋势。临床试验作为药物研发、医疗器械验证以及医疗技术创新的关键环节&#xff0c;对于推动医学进步、提高医疗质量…

产品更新 | 一网联千策:华望M-Cowork平台上的SysML模型协同管理

华望产品更新速递 功能介绍 | 协同平台M-Cowork的强大功能 ◆在线SysML建模与预览 ◆版本控制和基线管理 ◆可追溯的审签流程 ◆全面的系统管理 产品亮点 | 进一步了解协同平台M-Cowork ◆M-Cowork的管理功能 ◆M-Cowork的预览功能 ◆M-Cowork的审签流程 前言 在系统工…

纯相位全息图优化算法综述

◀ 背景引入 ▶ 近年来&#xff0c;得益于光学、电子和计算机等各项技术的进步以及新算法的不断提出&#xff0c;计算全息技术飞速发展。由于现有液晶空间光调制器对于纯相位全息图具有更高的调制能力与衍射效率&#xff0c;纯相位全息图优化算法一直以来都是研究热点。目前&…

Unity复刻胡闹厨房复盘 模块一 新输入系统订阅链与重绑定

本文仅作学习交流&#xff0c;不做任何商业用途 郑重感谢siki老师的汉化教程与代码猴的免费教程以及搬运烤肉的小伙伴 版本&#xff1a;Unity6 模板&#xff1a;3D 核心 渲染管线&#xff1a;URP ------------------------------…

CentOS 7 安装、测试和部署FastDFS

目录 FastDFS环境搭建 安装 libfastcommon 库 安装FastDFS 查看编译后的文件 FastDFS配置 FastDFS启动 启动tracker服务 启动storage服务 查看storage是否已经注册到了tracker下 查看存储文件的目录 FastDFS重启 FastDFS关闭 使用fdfs_test进行测试 修改client.co…

通用导出任何对象列表数据的excel工具类

在工作中经常会遇到列表数据的导出&#xff0c;每次需要的时候都要去开发一次&#xff0c;且数据不断在变化&#xff0c;于是就有了下述的工具类&#xff0c;可传入各种实体对象的List&#xff0c;最终以指定格式导出excel&#xff0c;废话不多说&#xff0c;上代码~ 控制层代…

前端:改变鼠标点击物体的颜色

需求&#xff1a; 需要改变图片中某一物体的颜色&#xff0c;该物体是纯色&#xff1b; 鼠标点击哪个物体&#xff0c;哪个物体的颜色变为指定的颜色&#xff0c;利用canvas实现。 演示案例 代码Demo <!DOCTYPE html> <html lang"en"><head>&l…

AI口播数字人系统快速搭建方法来袭!零经验小白也能学会!

随着AI口播数字人的身影在短视频和直播中的出现频率持续升高&#xff0c;越来越多的创业者都察觉到了AI口播数字人系统所蕴含着的巨大潜在用户规模和广阔收益前景&#xff0c;并打听起了AI口播数字人系统怎么搭建相关的各种消息。 毕竟&#xff0c;根据当前的使用情况来看&…

中小学生心理健康测评系统:精准洞察,助力成长!

随着社会的发展&#xff0c;中小学生的心理健康问题日益受到关注。国家出台了一系列政策&#xff0c;强调要加强学生心理健康教育。然而&#xff0c;在实际的校园环境中&#xff0c;中小学生面临着各种各样的心理挑战&#xff0c;课程增多、难度加大&#xff0c;考试频繁&#…