【机器学习2】模型评估

模型评估主要分为离线评估和在线评估两个阶段。 针对分类、 排序、 回归、序列预测等不同类型的机器学习问题, 评估指标的选择也有所不同。

1 评估指标

1.1准确率

准确率是指分类正确的样本占总样本个数的比例
在这里插入图片描述
但是准确率存在明显的问题,比如当负样本占99%时, 分类器把所有样本都预测为负样本也可以获得99%的准确率。 所以, 当不同类别的样本比例非常不均衡时, 占比大的类别往往成为影响准确率的最主要因素。
为了解决这个问题, 可以使用更为有效的平均准确率(每个类别下的样本准确率的算术平均) 作为模型评估的指标。

1.2 精确率和召回率

精确率是指分类正确的正样本个数占分类器判定为正样本的样本个数的比例。 召回率是指分类正确的正样本个数占真正的正样本个数的比例。
P-R曲线的横轴是召回率, 纵轴是精确率。 对于一个排序模型来说, 其P-R曲
线上的一个点代表着, 在某一阈值下, 模型将大于该阈值的结果判定为正样本,小于该阈值的结果判定为负样本, 此时返回结果对应的召回率和精确率。 整条P-R曲线是通过将阈值从高到低移动而生成的。

在这里插入图片描述

1.3 F1 score

F1score是精准率和召回率的调和平均值, 它定义为:
在这里插入图片描述

1.4 RMSE

RMSE经常被用来衡量回归模型的好坏:
在这里插入图片描述
一般情况下, RMSE能够很好地反映回归模型预测值与真实值的偏离程度。 但
在实际问题中, 如果存在个别偏离程度非常大的离群点( Outlier) 时, 即使离群点数量非常少, 也会让RMSE指标变得很差.
解决方案:
(1)认定这些离群点是“噪声点”的话, 就需要在数据预处理的阶段把这些噪声点过滤掉。
(2)不认为这些离群点是“噪声点”的话, 就需要进一步提高模型的预测能力, 将离群点产生的机制建模进去。
(3)找一个更合适的指标来评估该模型。 关于评估指标, 其实是存在比RMSE的鲁棒性更好的指标, 比如平均绝对百分比误差MAPE:
在这里插入图片描述
相比RMSE, MAPE相当于把每个点的误差进行了归一化, 降低了个别离群点带来的绝对误差的影响。

1.6 ROC曲线和AUC值

二值分类器(Binary Classifier) 是机器学习领域中最常见也是应用最广泛的分
类器。 评价二值分类器的指标很多, 比如precision、 recall、 F1 score、 P-R曲线等。 ROC曲线则有很多优点, 经常作为评估二值分类器最重要的指标之一。
ROC曲线的横坐标为假阳性率(False Positive Rate, FPR) ; 纵坐标为真阳性率(True Positive Rate, TPR) 。 FPR和TPR的计算方法分别为:
在这里插入图片描述
P是真实的正样本的数量, N是真实的负样本的数量, TP是P个正样本中被分类器预测为正样本的个数, FP是N个负样本中被分类器预测为正样本的个数。
在二值分类问题中, 模型的输出一般都是预测样本为正例的概率。

AUC指的是ROC曲线下的面积大小, 该值能够量化地反映基于ROC曲线衡量出的模型性能。AUC越大, 说明分类器越可能把真正的正样本排在前面, 分类性能越好。
相比P-R曲线, ROC曲线有一个特点, 当正负样本的分布发生变化时, ROC曲线的形状能够基本保持不变, 而P-R曲线的形状一般会发生较剧烈的变化。这个特点让ROC曲线能够尽量降低不同测试集带来的干扰, 更加客观地衡量模型本身的性能。

2 余弦距离

如何评估样本距离也是定义优化目标和训练方法的基础。
在机器学习问题中, 通常将特征表示为向量的形式, 所以在分析两个特征向量之间的相似性时, 常使用余弦相似度来表示。 余弦相似度的取值范围是[−1,1]。

2.1 余弦相似度

关注的是向量之间的角度关系, 并不关心它们的绝对大小:
在这里插入图片描述

2.2 余弦距离

在这里插入图片描述

3 模型评估的方法

通常把样本分为训练集和测试集, 训练集用于训练模型, 测试集用于评估模型。 在样本划分和模型验证的过程中, 存在着不同的抽样方法和验证方法。

3.1 Holdout检验

Holdout 检验是最简单也是最直接的验证方法, 它将原始的样本集合随机划分成训练集和验证集两部分。

3.2 交叉验证

k-fold交叉验证: 首先将全部样本划分成k个大小相等的样本子集; 依次遍历这k个子集, 每次把当前子集作为验证集, 其余所有子集作为训练集, 进行模型的训练和评估; 最后把k次评估指标的平均值作为最终的评估指标。 在实际实验中, k经常取10。
留一验证: 每次留下1个样本作为验证集, 其余所有样本作为测试集。 样本总58数为n, 依次对n个样本进行遍历, 进行n次验证, 再将评估指标求平均值得到最终的评估指标。 在样本总数较多的情况下, 留一验证法的时间开销极大。

3.3自助法

当样本规模比较小时, 将样本集进行划分会让训练集进一步减小, 这可能会影响模型训练效果。 有没有能维持训练集样本规模的验证方法呢?
自助法是基于自助采样法的检验方法。 对于总数为n的样本集合, 进行n次有放回的随机抽样, 得到大小为n的训练集。 n次采样过程中,有的样本会被重复采样, 有的样本没有被抽出过, 将这些没有被抽出的样本作为验证集, 进行模型验证, 这就是自助法的验证过程。

4 超参数调优

需要明确超参数搜索算法一般包括哪几个要素。 一是目标函数, 即算法需要最大化/最小化的目标; 二是搜索范围, 一般通过上限和下限来确定; 三是算法的其他参数, 如搜索步长。

4.1 网格搜索

过查找搜索范围内的所有的点来确定最优值。
在实际应用中, 网格搜索法一般会先使用较广的搜索范围和较大的步长, 来寻找全局最优值可能的位置; 然后会逐渐缩小搜索范围和步长, 来寻找更精确的最优值。

4.2 随机搜索

随机搜索的思想与网格搜索比较相似, 只是不再测试上界和下界之间的所有值, 而是在搜索范围中随机选取样本点。 它的理论依据是, 如果样本点集足够大, 那么通过随机采样也能大概率地找到全局最优值, 或其近似值。

4.3 贝叶斯优化

网格搜索和随机搜索在测试一个新点时, 会忽略前一个点的信息;而贝叶斯优化算法则充分利用了之前的信息。
首先根据先验分布, 假设一个搜集函数; 然后, 每一次使用新的采样点来测试目标函数时, 利用这个信息来更新目标函数的先验分布; 最后, 算法测试由后验分布给出的全局最值最可能出现的位置的点。

5 过拟合和欠拟合

过拟合是指模型对于训练数据拟合呈过当的情况, 反映到评估指标上, 就是模型在训练集上的表现很好, 但在测试集和新数据上的表现较差。 欠拟合指的是模型在训练和预测时表现都不好的情况。
在这里插入图片描述

5.1 解决过拟合的方法

(1) 从数据入手, 获得更多的训练数据。比如, 在图像分类的问题上, 可以通过图像的平移、 旋转、缩放等方式扩充数据; 更进一步地, 可以使用生成式对抗网络来合成大量的新训练数据。

(2) 降低模型复杂度。例如, 在神经网络模型中减少网络层数、 神经元个数等; 在决策树模型中降低树的深度、 进行剪枝等。

(3) 正则化方法。 给模型的参数加上一定的正则约束, 比如将权值的大小加入到损失函数中。

(4) 集成学习方法。 集成学习是把多个模型集成在一起, 来降低单一模型的过拟合风险, 如Bagging方法。

5.2 解决欠拟合的方法

(1) 添加新特征。 当特征不足或者现有特征与样本标签的相关性不强时, 模型容易出现欠拟合。 如因子分解机、 梯度提升决策树、Deep-crossing等都可以成为丰富特征的方法。

(2) 增加模型复杂度。 简单模型的学习能力较差, 通过增加模型的复杂度可以使模型拥有更强的拟合能力。 在线性模型中添加高次项, 在神经网络模型中增加网络层数或神经元个数等。

(3) 减小正则化系数。 正则化是用来防止过拟合的, 但当模型出现欠拟合现象时, 则需要有针对性地减小正则化系数。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

class类默认导出,header字段在请求中的位置

这是封装好的,没封装的如下 如果没有用uni.post那么就是如下的结构 let header {Content-Type: application/x-www-form-urlencoded,tenant: MDAwMA, } request({url:/sal/formula/validFormula,method:post,data:{},header })

用循环结构程序自动化计算——计数循环

用循环结构程序自动化计算——计数循环 低阶目标: 利用for循环结构来完成已知次数的自动化处理,掌握计数循环结构应用方法 高阶目标: 学会利用for循环解决生活中的实际问题 用循环结构程序自动化计算——计数循环 用循环结构程序自动化计算…

ElasticSearch与Lucene是什么关系?Lucene又是什么?

一. ElasticSearch 与 Lucene 的关系 Elasticsearch(ES)和Apache Lucene之间有密切的关系,可以总结如下: Elasticsearch构建于Lucene之上:Elasticsearch实际上是一个分布式的、实时的搜索和分析引擎,它构建…

案例 - 拖拽上传文件,生成缩略图

直接看效果 实现代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>拖拽上传文件</title>&l…

Ecal基于wifi下跨机通讯

4. Network configuration — Eclipse eCAL™ UDP无法通信&#xff0c;改成TCP配置可以通信&#xff0c;但是没有重连。 Ecal版本&#xff1a;5.12稳定 WIFI连接eCAL Cloud Configuration Not Sending/Receiving Data Correctly Issue #650 eclipse-ecal/ecal GitHub 一开始…

Spring笔记(四)(黑马)(web层解决方案-SpringMVC)

01、Spring MVC 简介 1.1 SpringMVC概述 SpringMVC是一个基于Spring开发的MVC轻量级框架&#xff0c;Spring3.0后发布的组件&#xff0c;SpringMVC和Spring可以无 缝整合&#xff0c;使用DispatcherServlet作为前端控制器&#xff0c;且内部提供了处理器映射器、处理器适配器…

RflySim | 滤波器设计实验二

本讲是关于无人机滤波器&#xff0c;其中包括无人机滤波器简介、测量原理、线性互补滤波器设计、线性互补滤波器参数分析、卡尔曼滤波器设计等。 滤波器设计实验2 卡尔曼滤波器是一种递推线性最小方差估计算法&#xff0c;它的最优估计需满足以下三个条件&#xff1a; 1&#…

LCD充气桨板冲浪板充气泵方案——pcba/芯片方案

LCD充气桨板冲浪板充气泵规格书 一、主要功能介绍&#xff1a; 1、开机默认显示上次设定气压值&#xff0c; 2、测量范围&#xff1a;0~22psi、测量精度&#xff1a;0.5PSI 3、分辨率&#xff1a;0.01 PSI 4、温度范围&#xff1a;-10至50度摄氏 5、5个按键&#xff1a;PSI键、…

python自动化测试(十一):写入、读取、修改Excel表格的数据

目录 一、写入 1.1 安装 xlwt 1.2 增加sheet页 1.2.1 新建sheet页 1.2.2 sheet页写入数据 1.2.3 excel保存 1.2.4 完整代码 1.2.5 同一坐标&#xff0c;重复写入 二、读取 2.1 安装读取模块 2.2 读取sheet页 2.2.1 序号读取shee页 2.2.2 通过sheet页的名称读取she…

快来看看如何拿下7+干湿结合生信思路。赶紧拿起笔记本

今天给同学们分享一篇生信文章“CENPF/CDK1 signaling pathway enhances the progression of adrenocortical carcinoma by regulating the G2/M-phase cell cycle”&#xff0c;这篇文章发表在J Transl Med期刊上&#xff0c;影响因子为7.4。 结果解读&#xff1a; CENPF在AC…

易云维®工厂能耗管理平台系统方案,保证运营质量,推动广东制造企业节能减排

我国《关于完整准确全面贯彻新发展理念推进碳达峰碳中和工作的实施意见》出台&#xff0c;提出了推进碳达峰碳中和工作的总体目标。到2025年&#xff0c;广东具备条件的地区、行业和企业率先实现碳达峰&#xff0c;为全省实现碳达峰、碳中和奠定坚实基础&#xff1b;2030年前实…

Java算法(二):数组元素求和(元素个位和十位不能是 7 ,且只能是偶数)

java算法&#xff08;二&#xff09; 需求&#xff1a; ​ 有这样一个数组&#xff1a; 元素是&#xff1a;{68, 27, 95, 88, 171, 996, 51, 210} ​ 求出该数组中满足要求的元素和 ​ 要求是&#xff1a; 求和的元素各位和十位都不能是 7 &#xff0c;并且只能是偶数 packa…

Android 深色模式切换适配

在Android11上测试 1&#xff0c;把需要适配的资源文件复制一份后缀加上-night&#xff0c;里面就放置变主题后的资源 2&#xff0c;两个主题一个白&#xff0c;一个黑&#xff0c;分别放置在对应的valuse-styles.xml中 <style name"Theme.LaserMachPor" parent&…

【delphi】中 TNetHTTPClient 注意事项

一、TNetHTTPClient 是什么&#xff1f; 用于管理 HTTP 客户端的组件。相当于indy中的TidHTTP控件&#xff0c;是实现HTTP请求的客户端控件。 二、TNetHTTPClient 需要注意什么&#xff1f; 需要注意的是几个Timeout&#xff0c;因为我们使用TNetHTTPClient控件的时候&#x…

046_第三代软件开发-虚拟屏幕键盘

第三代软件开发-虚拟屏幕键盘 文章目录 第三代软件开发-虚拟屏幕键盘项目介绍虚拟屏幕键盘 关键字&#xff1a; Qt、 Qml、 虚拟键盘、 qtvirtualkeyboard、 自定义 项目介绍 欢迎来到我们的 QML & C 项目&#xff01;这个项目结合了 QML&#xff08;Qt Meta-Object L…

JavaEE平台技术——MyBatis

JavaEE平台技术——MyBatis 1. 对象关系映射框架——Hibernate、MyBatis2. 对象关系模型映射3. MyBatis的实现机制4. MyBatis的XML定义5. Spring事务 在观看这个之前&#xff0c;大家请查阅前序内容。 &#x1f600;JavaEE的渊源 &#x1f600;&#x1f600;JavaEE平台技术——…

Oracle(13)Maintaining Data Integrity

目录 一、基础知识 1、Data Integrity 数据库的完整性 2、Types of Constraints 约束类型 3、Constraint States 约束状态 4、Guidelines for Constraints 约束准则 二、基础操作 1、Enabling Constraints 启用约束 2、命令方式创建约束 3、修改表创建的约束 4、删除约…

[vue-router]vue3.x Hash路由前缀问题

[vue-router]vue3.x Hash路由前缀问题 问题描述问题分析 问题描述 是在本地开发时&#xff0c;使用的HASH路由&#xff0c;然后在偶然的情况下在/#/前添加了前缀&#xff0c;发现不影响本地的路由的使用&#xff1f;&#xff1f;&#xff1f;&#xff01;&#xff01;&#xf…

2023年11月数据库流行度最新排名

点击查看最新数据库流行度最新排名&#xff08;每月更新&#xff09; 2023年11月数据库流行度最新排名 TOP DB顶级数据库索引是通过分析在谷歌上搜索数据库名称的频率来创建的 一个数据库被搜索的次数越多&#xff0c;这个数据库就被认为越受欢迎。这是一个领先指标。原始数…

《LeetCode力扣练习》代码随想录——数组(长度最小的子数组---Java)

《LeetCode力扣练习》代码随想录——数组&#xff08;长度最小的子数组—Java&#xff09; 刷题思路来源于 代码随想录 209. 长度最小的子数组 滑动窗口——O(n) class Solution {public int minSubArrayLen(int target, int[] nums) {if(nums.length1){return nums[0]>targ…