机器学习面试题汇总与解析——评价指标

本章讲解知识点

    1. 什么是评价指标?
    1. 机器学习


  • 本专栏适合于Python已经入门的学生或人士,有一定的编程基础。
  • 本专栏适合于算法工程师、机器学习、图像处理求职的学生或人士。
  • 本专栏针对面试题答案进行了优化,尽量做到好记、言简意赅。这才是一份面试题总结的正确打开方式。这样才方便背诵
  • 如专栏内容有错漏,欢迎在评论区指出或私聊我更改,一起学习,共同进步。
  • 相信大家都有着高尚的灵魂,请尊重我的知识产权,未经允许严禁各类机构和个人转载、传阅本专栏的内容。

  • 关于机器学习算法书籍,我强烈推荐一本《百面机器学习算法工程师带你面试》,这个就很类似面经,还有讲解,写得比较好。

  • 关于深度学习算法书籍,我强烈推荐一本《解析神经网络——深度学习实践手册》,简称 CNN book,通俗易懂。



1. 什么是评价指标?

介绍一下机器学习中的评价指标:在机器学习中,评价指标用于衡量模型的性能和预测结果的准确度。选择适当的评价指标取决于任务的性质,比如分类、回归或聚类等。

先说一下含义:TPFPFNTN分别为真阳性假阳性假阴性真阴性。 简单来说,就是:

  • 真阳性(True Positive,TP):标签为正类,预测为正类;
  • 假阳性(False Positive,FP):标签为负类,预测为正类;
  • 假阴性(False Negative,FN):标签为正类,预测为负类;
  • 真阴性(True Negative,TN):标签为负类,预测为负类;

用混淆矩阵表示为:

img

1.1. 准确率(Accuracy)

准确率是最常用的评价指标之一,表示模型正确预测的样本数占总样本数的比例。

定义:

Accuracy=TP+TNTP+FN+FP+TN(.)Accuracy = \frac {TP + TN} {TP + FN + FP + TN} \\ \tag{.}

即所有分类正确的样本占全部样本的比例

1.2. 精确率/查准率(Precision)

定义:精确率衡量模型预测为正类别的样本中真正为正类别的比例

Precision=TPTP+FP(.)Precision = \frac {TP } {TP + FP } \\ \tag{.}

即预测是正例的结果中,确实是正例的比例。Precision同样是衡量误检

1.3. 查全率/召回率(Recall)

定义:召回率衡量模型能够正确预测为正类别的样本占实际正类别样本的比例。

Recall=TPTP+FN(.)Recall= \frac {TP } {TP + FN} \\ \tag{.}

即所有正例的样本中,被找出的比例。Recall 是衡量漏检

Precision 和 Recall 的应用场景

地震的预测:对于地震的预测,我们希望的是 Recall 非常高,也就是说每次地震我们都希望预测出来。这个时候我们可以牺 牲 Precision。情愿发出 1000 次警报,把 10 次地震都预测正确了;也不要预测 100 次对了 8 次漏了 2 次。

“宁错拿一万,不放过一个”,分类阈值较低

嫌疑人定罪基于不错怪一个好人的原则,对于嫌疑人的定罪我们希望是非常准确的。即使有时候放过了一些罪犯,但也是值得的。因此我们希望有较高的 Precision 值,可以合理地牺牲 Recall

“宁放过一万,不错拿一个”,“疑罪从无”,分类阈值较高

我们知道随着阈值的变化 RecallPrecision 往往会向着反方向变化,但有的场景我们希望 Precision 和 Recall 都最大。所以我们需要一个综合评价两者的指标:F1-score

1.4. F1-score

定义:F1 分数综合考虑了精确率和召回率,是精确率和召回率的调和平均值,用于综合评价模型的性能。

F1score=2PrecisionRecallPrecision+Recall(.)F1-score = \frac {2 \cdot Precision \cdot Recall} {Precision + Recall} \\ \tag{.}

衡量 Precision 和 Recall 之间的联系。

img

曲线上的点就对应 F1-score

1.5. ROC 和 AUC

AUC 是一种模型分类指标,且仅仅是二分类模型的评价指标。AUC 是 Area Under Curve 的简称,那么 Curve 就是 ROC(Receiver Operating Characteristic),翻译为"接受者操作特性曲线"。也就是说 ROC 是一条曲线,AUC 是一个面积值

ROC 曲线为 FPR 与 TPR 之间的关系曲线,这个组合以 FPR 对 TPR,即是以代价 (costs) 对收益 (benefits),显然收益越高,代价越低,模型的性能就越好。

  • x 轴为假阳性率(FPR):在所有的负样本中,分类器预测错误的比例
FPR=FPFP+TN(.)FPR = \frac {FP} {FP + TN} \\ \tag{.}
  • y 轴为真阳性率(TPR):在所有的正样本中,分类器预测正确的比例(等于 Recall)
TPR=TPTP+FN(.)TPR = \frac {TP} {TP + FN} \\ \tag{.}

那么每一个分类阈值都可以得到一组(FPR,TPR),以此画出 ROC曲线:

img

整个流程如下:

img

AUC 定义:AUC 值为 ROC 曲线所覆盖的区域面积,显然,AUC 越大,分类器分类效果越好。

  • AUC = 1,是完美分类器。

  • 0.5 < AUC < 1,优于随机猜测。有预测价值。

  • AUC = 0.5,跟随机猜测一样(例:丢铜板),没有预测价值。

  • AUC < 0.5,比随机猜测还差;但只要总是反预测而行,就优于随机猜测。

img

以下为 ROC 曲线和 AUC 值的实例:

img

1.6. Precision-Recall 曲线

PR 曲线的横坐标是精确率 P,纵坐标是召回率R。评价标准和 ROC 一样

img

曲线上的点就对应 F1-score。P-R曲线同样可以用AUC衡量,AUC大的曲线越好。

1.7. IOU 和 mIOU

就是IOU(Intersection over Union),交集占并集的大小。

IOU=Jaccard=ABAB=ABA+BAB(.)IOU=Jaccard =\frac{|A\cap B|} {|A\cup B|}=\frac{|A\cap B|} {|A|+|B|-|A\cap B|} \\ \tag{.}

公式其实很简单,就是交集占并集的大小。

mIOU 一般都是基于类进行计算的,将每一类的 IOU 计算之后累加,再进行平均,得到的就是 mIOU。

1.8. AP 和 mAP

AP(average Precision)和mAP(mean average Precision)常用于目标检测任务中。AP 就是每一类的 Precision 的平均值。而 mAP 是所有类的 AP 的平均值。


2. 机器学习

2.1 前言

机器学习是一门强大而受欢迎的领域,它利用计算机算法和统计模型来让计算机从数据中学习并自动地进行预测和决策。近年来,随着数据的爆炸性增长和计算能力的提升,机器学习在各个领域展现出了巨大的潜力和广泛的应用。

机器学习可以分为以下几个主要的分类:

  • 监督学习(Supervised Learning):监督学习是最常见和广泛应用的机器学习任务之一。在监督学习中,我们提供给算法的训练数据包括输入特征和对应的标签或目标输出。通过使用这些已知标签的训练数据,模型可以学习预测新的、未知数据的输出标签。监督学习任务包括分类和回归问题。

  • 无监督学习(Unsupervised Learning):无监督学习是指在没有标签或目标输出的情况下进行学习和模式发现。在无监督学习中,算法需要从数据中发现隐藏的结构和模式,以便对数据进行聚类、降维或异常检测等任务。常见的无监督学习算法包括聚类、关联规则挖掘和主成分分析等。

  • 半监督学习(Semi-supervised Learning):半监督学习是介于监督学习和无监督学习之间的学习方式。在半监督学习中,算法使用同时包含标记和未标记数据的混合数据集进行训练。通过利用未标记数据的信息,半监督学习旨在提高模型的性能和泛化能力。

  • 强化学习(Reinforcement Learning):强化学习是一种通过观察和与环境交互来学习行为策略的机器学习方法。在强化学习中,智能体通过与环境的连续交互来学习最优的行为策略,以最大化累积的奖励或获得预定的目标。强化学习常用于游戏、机器人控制和自动驾驶等领域。

  • 深度学习(Deep Learning):深度学习是一种基于人工神经网络的机器学习方法,它模仿人脑神经元之间的连接和传递方式。深度学习通过多层神经网络来自动学习抽象的特征表示,并在大规模数据上进行训练以解决各种任务,如图像识别、自然语言处理和语音识别等。

2.2 判别式与生成式模型

判别式模型(Discriminative Models)和生成式模型(Generative Models)是机器学习中常见的两种建模方法,它们的主要区别在于对数据的建模方式和目标任务的不同。

  • 判别式模型关注的是条件概率分布 P(Y|X),即给定输入特征 X 的情况下,预测输出标签 Y 的概率分布。判别式模型直接对条件概率进行建模,通过学习输入与输出之间的关系来进行分类或回归预测。判别式模型只关注最终预测结果,忽略了输入特征的分布情况。常见的判别式模型包括逻辑回归、支持向量机(SVM)、神经网络等。判别式模型通常具有较高的预测性能,适用于需要直接预测结果的任务。

  • 生成式模型关注的是联合概率分布 P(X, Y),即同时建模输入特征 X 和输出标签 Y 的联合分布。生成式模型通过学习数据的分布情况来生成新的样本,并且可以通过条件概率推断生成样本的标签。生成式模型能够对数据的分布进行建模,因此可以用于样本生成、缺失值填充等任务。常见的生成式模型包括朴素贝叶斯分类器、高斯混合模型(GMM)、变分自编