机器学习评估指标-学习篇

目录

  1. 模型评估概述
    1. 样本集划分
    2. N折交叉验证技术
    3. 什么是评测指标
  2. 常见评估指标
    1. 两类常见的评测指标
    2. 正负样本划分
    3. 准确率/召回率/精确度
    4. PR曲线和F1 score
    5. ROC曲线
    6. AUC
    7. 混淆矩阵
    8. IoU
    9. PSNR

一、模型评估概述

模型评估是机器学习和人工智能领域中的一个关键环节,它旨在对训练好的模型进行性能评估,以了解模型在未见过的新数据上的表现。
模型评估的目的
验证模型性能: 通过评估,确定模型在给定任务上的准确度、可靠性、泛化能力等指标。
识别错误和偏差: 发现模型在特定类型数据或情境中的弱点,如过拟合、欠拟合或偏差。
指导模型改进: 提供关于如何调整模型参数、优化数据处理方法的具体见解。
支持迭代开发: 评估结果是迭代开发过程中不可或缺的部分,帮助开发者在每个阶段优化模型。
确保模型适用性: 评估模型在现实世界复杂和不可预测数据上的表现,确保模型能够有效工作。

  1. 样本集划分
    样本集分为训练集,验证集,测试集3个不相交的子集

    训练集:用于训练模型
    验证集:用于优化模型训练中的超参数
    测试集:用于测试模型的精度
    以训练集训练模型;以验证集评估模型,寻找最佳的参数;以测试集测试模型一次,其误差近似为泛化误差。
  2. N折交叉验证技术
    将样本集均匀的分成N份,轮流用其中的N-1份作为训练集,剩下的1份作为测试集
  3. 什么是评测指标
    机器学习算法的性能评测指标用于衡量算法的优劣,作为各种方法比较的基准,指导我们对模型进行选择与优化

二、常见评估指标

分类任务评测指标与回归任务评测指标

  1. 正负样本划分

    标签为正样本,分类为正样本的数目为True Positive,简称TP。

    标签为正样本,分类为负样本的数目为False Negative,简称FN。

    标签为负样本,分类为正样本的数目为False Positive,简称FP。

    标签为负样本,分类为负样本的数目为True Negative,简称TN。

  2. 准确率/召回率/精确度

    准确率,精度,召回率计算
    准确率: Accuracy=(TP+TN)/(TP+FP+TN+FN) ,被判定为正样本的测试样本中,真正的正样本所占的比例
    正样本精度: Precision=TP/(TP+FP),召回的正样本中有多少是真正的正样本。
    正样本召回率: Recall=TP/(TP+FN),被判定为正样本的正样本占所有正样本的比例。

    1. PR曲线和F1 score

      精度与召回率是一对相互矛盾的指标,对正负样本不均衡问题敏感

      F1 score 综合考虑了精度与召回率,其值越大则模型越好

    2. ROC曲线

      分类算法在不同假阳率下对应的真阳率

      假阳率false positive rate(FPR):FPR=FP/(FP+TN) , 负样本被分类器判定为正样本的比例。

      真阳率true positive rate(TPR):TPR=TP/(TP+FN) , 正样本被分类器判定为正样本的比例。

    3. AUC

      AUC (Area Under Curve) 为 ROC 曲线下的面积, 表示随机挑选一个正样本以及一个负样本,分类器会对正样本给出的预测值高于负样本的概率

    4. 混淆矩阵

      对于k分类问题,混淆矩阵为↓ 的矩阵,元素cij表示第i类样本被分类器判定为第j类的数量

主对角线的元素之和为正确分类的样本数,其他元素之和为错误分类的样本数。对角线的值越大,分类器准确率越高;

  1. IoU

    IoU(Intersection over Union) ,边界框/掩膜正确性的度量指标

    前景目标交并比 ,重叠情况结果0-1 ,数值越大,表示预测结果越准确

  2. PSNR

    PSNR(Peak Signal-to-Noise Ratio,峰值信噪比)是一种评估图像质量的指标,特别是在图像处理、图像压缩和图像重建等领域中广泛使用。PSNR测量的是图像中最大可能的像素值与其受到噪声影响后的失真程度之间的比率。这个值越高,代表图像的质量越好,失真越少。

相关推荐
静止了所有花开44 分钟前
SpringMVC学习笔记(二)
笔记·学习
爱吃生蚝的于勒1 小时前
C语言内存函数
c语言·开发语言·数据结构·c++·学习·算法
HyperAI超神经2 小时前
【TVM 教程】使用 Tensorize 来利用硬件内联函数
人工智能·深度学习·自然语言处理·tvm·计算机技术·编程开发·编译框架
L_cl3 小时前
Python学习从0到1 day26 第三阶段 Spark ④ 数据输出
学习
Mephisto.java3 小时前
【大数据学习 | HBASE】hbase的读数据流程与hbase读取数据
大数据·学习·hbase
扫地的小何尚3 小时前
NVIDIA RTX 系统上使用 llama.cpp 加速 LLM
人工智能·aigc·llama·gpu·nvidia·cuda·英伟达
红中马喽4 小时前
JS学习日记(webAPI—DOM)
开发语言·前端·javascript·笔记·vscode·学习
尘浮生5 小时前
Java项目实战II基于微信小程序的移动学习平台的设计与实现(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·学习·微信小程序·小程序
埃菲尔铁塔_CV算法6 小时前
深度学习神经网络创新点方向
人工智能·深度学习·神经网络
Young_202202026 小时前
学习笔记——KMP
笔记·学习