第二节 模式识别的评估

模式识别的评估

  • 模式识别系统的错误

    概念:以COVID-19检测为例

    • 决策(算法结果):检测结果(阳性或阴性)

    • 状态(真实结果):实际情况

    • 错误:取决于状态,决策可能会发生两类错误

      1. 假阳性:第一类错误,误报、虚警
      2. 假阴性:第二类错误,漏报

      混淆矩阵 Confusion Matrix:该表格可以扩展到多类

    阳性(状态)阴性(状态)
    阳性(决策)真阳性 (TP)假阳性 (FP)
    阴性(决策)假阴性 (FN)真阴性 (TN)
  • 模式识别系统的性能指标

    • 假阳性率 α \alpha α:所有阴性样本中被错误识别为阳性的样本比例 α = 误 视 为 阳 性 所 有 阴 性 \alpha=\color{red}\dfrac{误视为阳性}{所有阴性} α=
    • 假阴性率 β \beta β:所有阳性样本中被错误识别为阴性的样本比例 β = 误 视 为 阴 性 所 有 阳 性 \beta=\color{red}\dfrac{误视为阴性}{所有阳性} β=
    • 特异度 S p = T N N = T N T N + F P = 1 − α = 正 确 视 为 阴 性 所 有 阴 性 S_p=\dfrac{TN}{N}=\dfrac{TN}{TN+FP}=1-\alpha=\color{red}\dfrac{正确视为阴性}{所有阴性} Sp=NTN=TN+FPTN=1α=
    • 灵敏度(召回率/查全率)Recall S n = T P P = T P T P + F N = 1 − β = 正 确 视 为 阳 性 所 有 阳 性 S_n=\dfrac{TP}{P}=\dfrac{TP}{TP+FN}=1-\beta=\color{red}\dfrac{正确视为阳性}{所有阳性} Sn=PTP=TP+FNTP=1β=
    • 精确率(查准率) Precision Precision = T P T P + F P \text{Precision}=\dfrac{TP}{TP+FP} Precision=TP+FPTP
  • 以人脸识别系统为例

    • 流程
      • 注册 Enrollment
      • 识别 Recognition
    • 模式
      • 验证 Verification:输入人脸图像和个人ID,在数据集中验证两者是否匹配(无需遍历)
      • 识别 Identification:只输入人脸图像,在数据集中寻找正确匹配(需要遍历数据集)
  • 验证模式人脸识别系统的评估:构造真样本对和假样本对对系统进行测试

    • 真样本对 Genuine pairs:同一个人脸的不同图像

    • 假样本对 Imposter pairs:不同人脸的图像

    • 验证结果

      • 真匹配 Genuine:相似度高于阈值
      • 假匹配 Imposter:相似度未超过阈值
    • 两类错误

      真样本对(状态)假样本对(状态)
      真匹配(决策)真接受 (TP)假接受 (FP)
      假匹配(决策)假拒绝 (FN)真拒绝 (TN)
      • 假接受率(错误接受率)False Acceptance Rate F A R = F P N = F P F P + T N = 误 视 为 真 样 本 所 有 假 样 本 FAR=\dfrac{FP}{N}=\dfrac{FP}{FP+TN}=\color{red}\dfrac{误视为真样本}{所有假样本} FAR=NFP=FP+TNFP=
      • 假拒绝率(错误拒绝率)False Rejection Rate F R R = F N P = F N T P + F N = 误 视 为 假 样 本 所 有 真 样 本 FRR=\dfrac{FN}{P}=\dfrac{FN}{TP+FN}=\color{red}\dfrac{误视为假样本}{所有真样本} FRR=PFN=TP+FNFN=
    • 相似度分布

      T T T 为阈值,则

      • 假拒绝 False Rejection ∫ T 1 T f G    d s \int_{T_1}^Tf_G\;ds T1TfGds
      • 假接受 False Acceptance ∫ T T 2 f I    d s \int_{T}^{T_2}f_I\;ds TT2fIds
    • FAR、FRR与阈值的关系

      • 等误率(EER) Equal Error Rate F A R = F R R FAR=FRR FAR=FRR 的点
    • ROC曲线:受试者工作特征曲线(Receiver Operating Characteristic Curve)

      • AUC:(Area Under roc Curve) = ∫ 0 1 f R O C    d s =\int_0^1 f_{ROC}\;ds =01fROCds

        一个重要评价标准

      • 真接受率 True Acceptance Rate T A R = T P P = T P T P + F N = 正 确 视 为 真 样 本 所 有 真 样 本 = 1 − F R R TAR=\dfrac{TP}{P}=\dfrac{TP}{TP+FN}={\color{red}\dfrac{正确视为真样本}{所有真样本}}=1-FRR TAR=PTP=TP+FNTP==1FRR

      • EER:交于 R O C ROC ROC 曲线和斜率 − 1 -1 1 的直线

      • 对数坐标系:当错误率集中在比较小的数值范围时,一般会使用对数坐标系。(为使曲线在图中展开)

    • DET曲线:(Detection Error Trade-off)

      • 必然单调下降
  • 识别模式人脸识别系统的评估

    • K K K 位命中:一个测试样本 K K K 位命中是指该测试样本对应的正确注册样本在所有注册样本中按相似度从高到低排列处于第 K K K

      • K K K 位识别率(Rank-K Identification Rate):所有测试样本中在K位前(含 K K K 位)命中的样本所占的比率(其中Rank-1识别率又称为首选识别率
    • CMC曲线:累积匹配曲线 Cumulative Match Characteristic

      • 横坐标:Rank 位置。纵坐标:匹配比例。
      • 一般看排名前十的匹配比例是否高效
  • 如何为实际应用选择合适的系统

    • 不同应用对FAR和FRR的要求不同:

      • 司法应用 Forensic Applications需要较好(较低)的 F A R FAR FAR:减少误报
      • 民用应用 Civilian Applications需要较好(较低)的 F R R FRR FRR:减少漏报

      实际应用中常用如 TAR @ FAR = 0.1% 的性能指标

  • 评估协议的设计与实施

    • Ground truth data collection (Benchmark)
    • Scale/Size (# subjects, # samples per subject)
    • Representativeness
    • Isolation of affecting factors
    • Dataset division: Training/Validation/Test
    • Open-set(开集) vs closed-set(闭集)
    • Data balance,Zero-shot、Few-shot
    • Selection of performance metrics
    • Using Cross-Validation(交叉验证)
    • 将所有数据随机分成K份,用其中K-1份训练,剩下的1份测 试,重复K次,统计平均识别率(及其标准差
  • 性能指标的等价称呼

    • 真阳性率
      • True Positive Rate (TPR)
      • True Acceptance Rate (TAR)
      • Genuine Acceptance Rate (GAR)
      • True Match Rate (TMR)
    • 假阴性率
      • False Negative Rate (FNR)
      • False Rejection Rate (FRR)
      • False Non-Match Rate (FNMR)
MATLAB模式识别实现指标分类评估预测如环境业绩等-Training_NPR.m 最近看到很多会员需要使用MATLAB神经网络做如下的事情: 1:MATLAB神经网络对水的质量的分类、评估、预测 (属于环境类分类、评估预测) 2:MATLAB神经网络对空气质量的分类、评估、预测 (属于环境类分类、评估预测) 2:MATLAB神经网络对土壤质量的分类、评估、预测 (属于环境类分类、评估预测) 3:MATLAB神经网络对学员的个人表现进行分类、评估、预测 (属于个人业绩鉴定) 4:MATLAB神经网络对医学、生物学上的细胞、疾病等分类、评估等(属于医学、生物学) 5:MATLAB神经网络对交通、物流等效率方面的分类、评估、预测等(属于交通、物流管理) 6:MATLAB神经网络用于故障诊断 7:概括来讲,就是使用神经网络对某些指标(如空气质量、水质量、个人业绩等)进行“有限”的分类、预测、评价等。 在这里,我特别强调“有限”两个字,因为这正是模式识别工具箱可以解决的问题。我看到很多会员使用不同的神经网络(如模糊识别,RBF, SVM等)。根据我多年的使用经验,其实基于多层BP网络的模式识别是最容易实现、效果非常满意、且结果非常具有说服力。很多会员没有掌握模式识别的精髓,或者网络训练好以后不知道如何评估、使用等。现在我用一个完整的例子来给大家展示一下它的优点。 不知道什么是模式识别,什么是BP网络的会员,请先看一下这个视频:MATLAB模式识别工具箱视频教学 用MATLAB模式识别工具箱(函数)来对某些指标(如空气质量、水质量、个人业绩等)进行分类、评估、预测,分为三步: 数据准备训练和评估预测 下面我来一步一步讲解,先谈数据的准备: 确保输入数据(包括训练以及将来要预测的数据)在比较接近的范围里(归一化是其中一种方式)。 这一个步骤不仅仅是在模式识别里,其实在任何一种网络里,这一步都是必须的。比如说你有400组数据,每组数据对应一个中国县城的空气质量。假设每组数据含有6个指标(称之为A,B,C,D,E,F,G), 如果数据A的范围是10^5-10^7, F的范围是0.1-0.5, 如果用这些数据来训练,很容易导致网络的权重也有同样的数量级的差别,结果是你的网络会非常的“敏感”(可以想象一下,如果F对应的权重是10^10,那么即使F稍微变化一下,都有可能导致网络的输出结果不同。而有时候这样的敏感度并不是你想要的,你可以对数据进行归一化处理,把数据都转换到0-1的区间内。 MATLAB模式识别工具箱可以自动对输入数据进行归一化处理,所以你只要明白这个过程,但是并不需要你额外写程序来处理这些数据。对输出数据进行二进制量化 通常情况下,用于测试的输入数据所对应的输出数据不是量化数据,比如说:优、良,或者是一级、二级等等。那么通常我们用二进制来表达,两位数字的二进制可以表示3类(01,10,11),三位数字的二进制可以表示7类(001,010,011,100,101,110,111,通常我们不使用000)。二进制的顺序不重要,比如说优可以对应001,也可以用010来表示。 经过简单处理,输入数据和新添加的二进制输入数据如下图所示: 神经网络——输入数据模式识别.png MATLAB模式识别实现指标分类、评估、预测 原始训练数据下载: training_data.xls MATLAB模式识别实现指标分类、评估、预测 把数据导入到MATLAB程序里close all clear all clc x=xlsread; y=xlsread; inputs = x'; targets = y';复制代码 我们再谈谈网络的训练和评估: 你可以使用MATLAB自带的模式识别工具箱界面来导入数据、调整参数等,然后得到结果。我通常第一次这样使用,得到一个基础架构以后,然后生成m代码,再在代码上修改。这里我演示给大家,如果通过程序来实现。下面是用来做模式识别的代码(工具箱产生的函数): % 创建一个模式识别网络(两层BP网络),同时给出中间层神经元的个数,这里使用20 hiddenLayerSize = 20; net = patternnet; % 对数据进行预处理,这里使用了归一化函数(一般不用修改) % For a list of all processing functions type: help nnprocess net.inputs{1}.processFcns = {'removeconstantrows','mapminmax'}; net.outp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值