前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >第八章 AI模型质量-1

第八章 AI模型质量-1

作者头像
bettermanlu
发布于 2025-04-15 03:00:13
发布于 2025-04-15 03:00:13
27800
代码可运行
举报
运行总次数:0
代码可运行

上一章中,我们主要介绍了数据在AI算法整个生命期中的重要性,以及如何对其质量进行评估,以及一些常见的数据生成技术,本章我们将介绍AI应用的核心,即AI模型,如何对其进行测试及质量评估。

8.1 AI模型测试基本流程

AI模型的全生命期主要包括问题定义与理解、数据准备、评估指标和标准、模型选择与搭建、模型训练、参数调优与优化、模型测试、模型部署与监控等环节。在这些环节中,模型测试是评估模型性能、准确性的关键过程,也是确定模型能否满足实际应用需求的决定性环节。

模型测试的主要目的在于判断模型是否在实际场景中表现良好,并在一系列预设条件下是否满足性能要求。在测试环节,需要根据不同问题类型和场景需求,选择合适的测试方法和标准。以下是针对模型测试的详细内容:

  1. 测试数据集准备:在测试之前,需要将数据集划分为训练集、验证集和测试集,其中测试集将用于测试模型的泛化能力和性能。测试集应确保与训练集隔离且数据分布均匀。此外,测试数据集应具备足够的多样性和难度,以便能准确评估模型的性能。
  2. 确定测试指标:选择合适的测试指标是衡量模型性能的重要依据。常见的测试指标包括准确率、精确率、召回率、F1值、AUC等。具体选择哪种指标应根据场景需求和问题类型确定。例如,在分类问题中,准确率可能是最重要的指标,而在信息检索问题中,精确率和召回率可能更为重要。
  3. 黑盒测试:黑盒测试是从用户角度对模型进行测试,主要侧重于测试模型的输入-输出关系,而不考虑模型内部运作原理。黑盒测试关注的是模型是否满足功能要求,能否正确处理各种边界情况。
  4. 白盒/灰盒测试:白盒/灰盒测试侧重于测试模型的内部结构和运作原理。在白盒/灰盒测试中,需要对模型的各个组件进行单元测试,确保各个组件运行正确无误。同时,还需要对模型的逻辑结构进行逐一检查,以确定模型是否存在潜在的问题。
  5. 异常与安全性测试:异常与安全性测试主要关注模型在面临非常规输入或恶意攻击时的表现。测试过程中可通过异常值、对抗样本等方式攻击模型,以验证模型的鲁棒性和安全性。

8.2 AI模型质量评估

8.2.1 AI模型评估指标

常见的AI模型评估指标在本书第五章中均有陈述,这里就不在展开讲了。下面我们重点看下在选择AI模型评估指标时,需要关注的一些注意点。

  1. 问题类型:首先,你需要根据问题类型选择合适的评估指标。例如:

分类问题

假设你正在开发一个垃圾邮件检测器,它需要对电子邮件进行分类,将其标记为“垃圾邮件”或“非垃圾邮件”。在这种情况下,可以使用以下评估指标:

  1. 准确率:正确分类的电子邮件数量与总电子邮件数量之比。
  2. 精确度:被正确标记为垃圾邮件的电子邮件数量与所有被标记为垃圾邮件的电子邮件数量之比。
  3. 召回率:被正确标记为垃圾邮件的电子邮件数量与实际垃圾邮件数量之比。
  4. F1分数:精确度和召回率的调和平均值,用于平衡二者之间的关系。

回归问题:

机器学习中,回归问题是一种预测问题,目标是预测一个连续的输出值,而不是离散的类别标签。

假设你正在开发一个房价预测模型,它需要根据房屋特征(如面积、卧室数量等)预测房价。在这种情况下,可以使用以下评估指标:

  1. 均方误差(MSE):预测房价与实际房价之差的平方的平均值。MSE 越小,模型的预测性能越好。
  2. 平均绝对误差(MAE):预测房价与实际房价之差的绝对值的平均值。与 MSE 类似,MAE 越小,模型的预测性能越好。
  3. R²分数:衡量模型预测的可变性与实际数据可变性之间的比例。R²分数越接近1,表示模型的预测性能越好。

选择合适的评估指标取决于具体问题和应用场景。在某些情况下,可能需要权衡不同指标之间的关系,以找到最适合需求的评估方法。

  1. 数据不平衡:如果你的数据集存在类别不平衡问题,那么简单的准确率可能不是一个好的评估指标。在这种情况下,你可以考虑使用精确度、召回率、F1分数或者AUC-ROC曲线等更为合适的指标。

下面我们看一个具体的例子。

假设你正在开发一个信用卡欺诈检测系统。在这个场景中,你的数据集包含了两类交易:正常交易和欺诈交易。然而,欺诈交易在整个数据集中所占比例非常小,例如只有1%。这就是一个典型的数据不平衡问题。

在这种情况下,如果你使用简单的准确率作为评估指标,可能会产生误导。假设你的模型预测所有交易都是正常交易,那么它的准确率将会达到99%,看起来非常高。但实际上,这个模型对于检测欺诈交易毫无作用。

为了更好地评估这个模型,你可以使用其他指标,如精确度、召回率、F1分数或AUC-ROC曲线。这些指标可以帮助你更准确地衡量模型在检测欺诈交易方面的表现。例如,精确度可以告诉你在所有被识别为欺诈交易的样本中,有多少是真正的欺诈交易;召回率则表示在所有真正的欺诈交易中,有多少被模型成功识别出来。F1分数是精确度和召回率的调和平均值,可以综合衡量这两个指标。而AUC-ROC曲线则可以展示模型在不同阈值下的分类性能。

通过使用这些更合适的指标,你可以更准确地评估模型在信用卡欺诈检测任务上的表现,并据此优化模型。

  1. 业务需求:根据实际业务需求来选择评估指标。例如,在某些场景下,你可能更关心模型的精确度(查准率),而在其他场景下,你可能更关心召回率(查全率)。

假设你正在开发一个医疗诊断系统,用于检测患者是否患有某种罕见病。在这种情况下,我们的业务需求是尽可能识别出所有患有该病的患者,以便及时给予治疗。因此,我们更关心召回率(查全率),即正确识别出的患者占实际患者总数的比例。这是因为一个较低的召回率可能意味着有些患者没有被识别出,从而错过了治疗机会。

相反,如果我们的业务需求是开发一个垃圾邮件过滤器,我们可能更关心精确度(查准率),即被正确识别为垃圾邮件的邮件占所有被识别为垃圾邮件的比例。这是因为我们希望尽量避免误将重要邮件识别为垃圾邮件。在这种情况下,我们可以容忍一些垃圾邮件漏过过滤器,但我们不希望误删重要邮件。因此,精确度成为了一个更重要的评估指标。

  1. 多个指标:在某些情况下,单一指标可能无法全面反映模型的性能。这时,你可以考虑使用多个指标来评估模型,以便从不同角度了解模型的优缺点。

假设我们正在开发一个用于识别猫和狗的图像分类模型。在这种情况下,我们可能会关注以下几个指标:

a. 准确率(Accuracy):这是一个常用的指标,表示模型正确分类的图像所占的比例。但是,如果数据集中猫和狗的数量不平衡,准确率可能会产生误导。例如,如果数据集中有90%的猫和10%的狗,那么一个将所有图像都分类为猫的简单模型也可以达到90%的准确率。

b. 精确度(Precision):表示被模型预测为狗的图像中,实际上是狗的比例。这个指标可以帮助我们了解模型在识别狗时的可靠性。

c. 召回率(Recall):表示实际上是狗的图像中,被模型正确识别为狗的比例。这个指标可以帮助我们了解模型在找到所有狗的图像方面的能力。

d. F1分数(F1-score):这是一个综合指标,结合了精确度和召回率。F1分数可以帮助我们在精确度和召回率之间找到一个平衡,从而更全面地评估模型的性能。

通过同时关注这些指标,我们可以更全面地了解模型的优缺点,从而在实际应用中做出更明智的决策。

以上提到的AI模型评估指标是基于黑盒/端到端的方式收集到的指标,下面我们看看基于白盒/灰盒测试有哪些指标。

8.2.2 AI模型覆盖率指标

我们为什么需要AI模型覆盖率指标?在第六章AI工程质量中,我们提到代码覆盖率,包括如:语句覆盖率、分支覆盖率,是一种客观的衡量手段,可以客观的评估我们的测试用例覆盖到了业务代码的情况。同样的,AI模型的覆盖率指标在测试中起到了重要的作用。以下是一些原因:

1. 发现潜在缺陷:覆盖率指标可以帮助测试人员发现潜在的缺陷和错误。通过测试输入数据对神经元的覆盖程度,可以揭示神经网络中可能存在的未被激活或不正确激活的神经元,从而发现潜在的缺陷。

2. 评估测试质量:覆盖率指标可以用来评估测试的质量和完整性。通过衡量测试输入对神经元的覆盖程度,可以确定测试集合是否足够多样化和全面,是否能够覆盖神经网络的各个功能区域和边界情况。

3. 指导测试生成:覆盖率指标可以指导测试生成过程,帮助测试人员选择合适的测试输入和测试用例。通过关注覆盖率指标,测试人员可以有针对性地生成测试输入,以提高测试的效果和发现潜在的缺陷。

4. 解释差异和行为:覆盖率指标可以帮助解释深度神经网络的差异和行为。通过分析不同层次和神经元的覆盖情况,可以更好地理解神经网络的行为和决策过程,从而提高对其工作原理的理解。

但是传统的代码覆盖率并不适合基于深度神经网络(DNN)的AI模型。原因有以下几点:

1. 设计差异:传统软件和DNN在设计上存在显著差异。传统软件的逻辑是由人工编写的控制流程表示的,而DNN的行为是由神经元之间的权重和非线性激活函数决定的。这种设计差异导致了测试DNN的方法和需求与传统软件不同。

2. 数据驱动:DNN的行为是通过训练数据中的权重和激活函数确定的,而不是通过人工编写的逻辑。这意味着DNN的行为可能会受到训练数据的影响,而不仅仅是代码的控制流程。因此,传统软件的覆盖率指标无法直接应用于DNN,因为它们无法捕捉到DNN中的权重和激活函数的影响。

3. 复杂性和维度:DNN通常具有大量的神经元和连接,以及高维的输入空间。这使得传统软件的覆盖率指标难以应用于DNN。传统软件的覆盖率指标通常基于代码的结构和逻辑,而DNN的复杂性和高维性使得无法直接将这些指标应用于DNN的神经元和连接。

为了测试和评估DNN的质量,需要开发适用于DNN的特定覆盖率指标和测试方法。下面我们介绍几种面向DNN的覆盖率指标。

8.2.3 基于神经元的覆盖率指标

在深度学习中,基于神经元的覆盖率指标(Neuron Coverage)是一种衡量模型测试质量的方法,如DeepTest[1]。它的工作原理是通过分析激活的神经元数量来评估模型的测试输入是否充分覆盖了模型的内部表示。这有助于了解模型在不同输入下的行为,从而评估模型的泛化能力和鲁棒性。

神经元覆盖率的计算方法如下:

  1. 首先,为每个神经元设定一个激活阈值。当神经元的输出值超过这个阈值时,我们认为该神经元被激活。
  2. 对于给定的测试样本集合,将每个样本输入给模型,并记录每一层的神经元激活情况。
  3. 计算每一层的神经元覆盖率,即激活的神经元数量占该层总神经元数量的比例。可以进一步计算整个模型的神经元覆盖率,即所有层的覆盖率的平均值或加权平均值。
  4. 通过比较不同测试输入集合下的神经元覆盖率,可以评估测试输入的质量。较高的覆盖率意味着测试输入更全面地触及了模型的内部表示,从而有助于发现模型的潜在问题。

代码段1是在pytorch下如何统计的神经元覆盖率的简单示例,这个示例中,我们定义了一个简单的卷积神经网络,并实现了一个计算神经元覆盖率的函数。我们使用钩子函数(hook)来获取每个ReLU层的激活神经元数量。然后,我们计算每个层的神经元覆盖率,并将结果返回。

代码段1:神经元覆盖率统计代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import torchimport torch.nn as nn
# 定义一个简单的神经网络class SimpleNet(nn.Module):    def __init__(self):        super(SimpleNet, self).__init__()        self.conv1 = nn.Conv2d(1, 6, 3)        self.relu1 = nn.ReLU()        self.conv2 = nn.Conv2d(6, 16, 3)        self.relu2 = nn.ReLU()
    def forward(self, x):        x = self.relu1(self.conv1(x))        x = self.relu2(self.conv2(x))        return x
# 计算神经元覆盖率def neuron_coverage(model, inputs):    activation_counters = {}
    def activation_hook(layer_name, input, output):        active_neurons = (output > 0).sum().item()        total_neurons = output.numel()        activation_counters[layer_name] = (active_neurons, total_neurons)
    # 注册钩子函数    relu1_handle = model.relu1.register_forward_hook(lambda input, output: activation_hook("relu1", input, output))    relu2_handle = model.relu2.register_forward_hook(lambda input, output: activation_hook("relu2", input, output))
    # 运行模型    model(inputs)
    # 移除钩子函数    relu1_handle.remove()    relu2_handle.remove()
    # 计算覆盖率    coverage = {}    for layer_name, (active_neurons, total_neurons) in activation_counters.items():        coverage[layer_name] = active_neurons / total_neurons
    return coverage
# 示例model = SimpleNet()inputs = torch.randn(1, 1, 28, 28)coverage = neuron_coverage(model, inputs)print("Neuron Coverage:", coverage)

下面我们看下这种基于神经元覆盖率指标有哪些优缺点。

我们首先看下其优点,主要包括:

  1. 可解释性:神经元覆盖率指标提供了一种直观的方式来理解模型在测试数据集上的表现,有助于分析模型的激活情况。
  2. 易于计算:计算神经元覆盖率相对简单,只需统计激活神经元的数量并与总神经元数量进行比较。
  3. 有助于发现问题及改进模型:通过观察神经元覆盖率,可以发现模型在某些情况下可能存在的问题,如过拟合或激活不均衡等。我们具体看下:

过拟合:如果我们发现在训练数据上的神经元覆盖率非常高,但在验证数据上的覆盖率却相对较低,这可能意味着模型过于复杂,过度拟合了训练数据。在这种情况下,我们可能需要采取一些策略,如增加正则化,或者获取更多的训练数据。

激活不均衡:如果我们发现某些神经元总是被激活,而其他神经元则从未被激活,这可能意味着模型的某些部分没有被充分利用。这可能是由于初始化问题,或者学习率设置不当等原因造成的。在这种情况下,我们可能需要调整模型的初始化策略或优化器的参数。

我们再看下神经元覆盖率有哪些缺点:

  1. 有限的信息:神经元覆盖率指标仅提供了有限的信息,不能完全反映模型的性能。例如,高覆盖率并不一定意味着模型具有良好的泛化能力。
  2. 缺乏唯一标准:目前没有统一的神经元覆盖率阈值来衡量模型的好坏,因此很难根据覆盖率来直接评估模型的性能。
  3. 可能导致过度关注:过分关注神经元覆盖率可能导致忽视其他重要的性能指标,如准确率、召回率和F1分数等。
  4. 收敛过快:少量的样本可能就会覆盖全部的神经元。

下面我们重点看下收敛过快的这个问题。如图1所示,在我们的一个证件鉴伪的项目中,只需要几十个图片样本就可以将AI模型的神经元的覆盖率达到100%,从而无法指导我们增加更多的样本进行测试。

图1 某证件鉴伪AI模型的神经元覆盖率指标趋势图

为了解决收敛过快的问题,DeepGauge[2]提出了K-multisection神经元覆盖率指标。其基本的原理是:通过训练集得到每个神经元的取值范围[low, high], 将[low,high]划分为K个子区间,然后统计每个区间被测试集覆盖的比例。图2是证件鉴伪AI模型采用K-multisection神经元覆盖率指标的实际效果,我们可以看到K-multisection神经元覆盖率指标的收敛速度明显放慢。

K-multisection神经元覆盖率指标的缺点是K值是一个经验值,需要根据实际的项目进行设定。

图2 某证件鉴伪AI模型的K-multisection神经元覆盖率指标趋势图

8.2.4 基于神经网络层的覆盖率指标

除了上文提到的基于独立的单个神经元的度量指标外,还有一些基于神经网络层的度量指标,下面我们介绍几种这类的覆盖率指标。

  1. Top-k Neuron Coverage(TKNC)

TKNC是DeepGauge[2]论文中提及的一种覆盖率指标。TKNC神经元覆盖是一种用于确定每个层中最重要的神经元的测试准则。在训练阶段,它通过分析每个层中的神经元对输入数据的重要性,选择最能区分输入数据的前k个神经元。在测试阶段,它被定义为每层中前k个神经元的总数与深度神经网络(DNN)中神经元总数的比值,测试样本应该尽量覆盖每层的Top-k神经元。

  1. Top-k Neuron Patterns(TKNP)

TKNP是DeepGauge[2]论文中提及的另一种覆盖率指标。给定一个输入,将DNN中每一层的Top-k神经元排成一个序列,不同的序列就构成了不同的模式。TKNP表示来自每层顶部高活跃神经元的不同的激活场景。

例如,图3是一个三层的全连接DNN网络,绿色的神经网络代表是比较活跃的神经元。对于Top-2 Neron Coverage,Layer1的Top-2的神经元是{n1, n3},Layer2的是{n5,n6}, Layer3的是{n8, n9}。TNKP可以表示为一个序列:({n1,n3},{n5,n6},{n8,n9})。

图3 一个三层的全连接DNN网络

  1. Neuron Activation Vector Clusters

Neuron Activation Vector Clusters是Google的TensorFuzz[3]论文中提到的一种覆盖率指标。简单说,对每个输入,将DNN中的所有层的神经元的激活函数的输出组成一个向量组,然后通过最近邻算法进行聚类,得到不同的Neuron Activation Vector Clusters。

最后,DeepCover[4]论文中提到多种覆盖率指标,如:Sign-Sign Coverage, Value-Sign coverage, Sign-value coverage和Value-Value Coverage。感兴趣的读者可以阅读查看,这里不再展开陈述。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-02-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MasterLU 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
第八章 AI模型质量-4
Fuzz测试,也被称为模糊测试,是一种软件测试技术。其主要目的是发现软件、操作系统或网络设备中的未知错误。在Fuzz测试中,会向系统输入大量随机或伪随机的数据,以尝试引发异常情况,如崩溃或未处理的错误。
bettermanlu
2025/04/15
2710
第八章 AI模型质量-4
仅靠猜测,模型的准确率就能到 99%,这太匪夷所思!
判断一个分类模型好坏的标准至关重要,问题是采用何种判断方法。本文浅谈一下模型评估方法的重要性,希望对初学者有一定帮助。
double
2020/05/08
6490
Python深度学习TensorFlow Keras心脏病预测神经网络模型评估损失曲线、混淆矩阵可视化
随着深度学习技术的快速发展,高效的计算框架和库对于模型训练至关重要。TensorFlow作为目前最流行的深度学习框架之一,其GPU版本能够显著提升模型训练的速度和效率。本研究旨在通过安装TensorFlow-GPU的特定版本,并结合其他数据处理和可视化库,为深度学习模型的构建提供一套完整的数据预处理流程。
拓端
2024/06/26
2480
深度 | 详解首个系统性测试现实深度学习系统的白箱框架DeepXplore
选自The Foretellix Blog 作者:Yoav Hollander 机器之心编译 参与:吴攀、晏奇 五月份,来自哥伦比亚大学和理海大学的几位研究者的论文《DeepXplore: Automated Whitebox Testing of Deep Learning Systems》提出了一种深度学习系统的自动白箱测试方法 DeepXplore,参阅机器之心的报道《学界 | 新研究提出 DeepXplore:首个系统性测试现实深度学习系统的白箱框架》。近日,Yoav Hollander 在一篇博
机器之心
2018/05/08
1.2K0
机器学习算法中分类知识总结!
本文将介绍机器学习算法中非常重要的知识—分类(classification),即找一个函数判断输入数据所属的类别,可以是二类别问题(是/不是),也可以是多类别问题(在多个类别中判断输入数据具体属于哪一个类别)。与回归问题(regression)相比,分类问题的输出不再是连续值,而是离散值,用来指定其属于哪个类别。分类问题在现实中应用非常广泛,比如垃圾邮件识别,手写数字识别,人脸识别,语音识别等。
Datawhale
2020/10/23
6500
机器学习算法中分类知识总结!
深度学习的 Hello World : 一文读懂什么是 MNIST 的经典入门
如果你刚刚接触深度学习,或者正准备踏入这片神奇的领域,那么你肯定听过 MNIST 数据集。这是深度学习的“入门级”经典教程,就像“Hello World”一样,是你理解机器学习和神经网络如何工作的起点。
不惑
2025/01/18
3.1K0
深度学习的 Hello World : 一文读懂什么是 MNIST 的经典入门
关于机器学习,不可不知的15个概念
‍‍ 作者:布奇·昆托(Butch Quinto) 来源:大数据DT(ID:hzdashuju) 有监督学习 有监督学习是利用训练数据集进行预测的机器学习任务。有监督学习可以分为分类和回归。回归用于预测“价格”“温度”或“距离”等连续值,而分类用于预测“是”或“否”、“垃圾邮件”或“非垃圾邮件”、“恶性”或“良性”等类别。 分类包含三种类型的分类任务:二元分类、多类别分类和多标签分类。回归中包含线性回归和生存回归。 无监督学习 无监督学习是一种机器学习任务,它在不需要标记响应的情况下发现数据集中隐藏
AI科技大本营
2023/05/08
3470
关于机器学习,不可不知的15个概念
机器学习模型出错的四大原因及如何纠错
【新智元导读】本文介绍了机器学习模型出错的常见原因, 讨论了如何用偏差和方差、精确率和召回率这些指标来评测模型的问题,并基于 Andrew Ng 在斯坦福机器学习课程中所教授的概念,提出了一些解决这些问题的方法。 可供选择的机器学习模型并不少。我们可以用线性回归来预测一个值,用逻辑回归来对不同结果分类,用神经网络来对非线性行为建模。 我们建模时通常用一份历史数据让机器学习模型学习一组输入特性的关系,以预测输出。但即使这个模型能准确预测历史数据中的某个值,我们怎么知道它是否能同样准确地预测新的数据呢? 简而言
新智元
2018/03/26
1.4K0
机器学习模型出错的四大原因及如何纠错
AI/ML 基础知识与常用术语全解析
在当今科技飞速发展的时代,人工智能(AI)和机器学习(ML)已经成为了热门话题。从智能手机中的语音助手到自动驾驶汽车,AI 和 ML 技术正在改变着我们的生活方式。然而,对于许多人来说,AI 和 ML 仍然是神秘而复杂的领域。本文将详细介绍 AI/ML 的基础知识和常用术语,帮助读者更好地理解这一领域。
Pocker_Spades_A
2024/12/24
2430
AI/ML 基础知识与常用术语全解析
第八章 AI模型质量-2
端到端的黑盒测试(End-to-end black-box testing),测试人员不关心模型内部的工作原理,而只关心输入和输出之间的关系。这种方法有助于确保模型在实际应用场景中能够满足预期要求。
bettermanlu
2025/04/15
2020
第八章 AI模型质量-2
学界 | 新研究提出DeepXplore:首个系统性测试现实深度学习系统的白箱框架
选自arXiv 机器之心编译 作者:Kexin Pei等 参与:吴攀、李亚洲 对于自动驾驶系统等事关人身安全的深度学习应用,了解其在极端情况下的表现是非常重要的。近日,来自哥伦比亚大学和理海大学的几位
机器之心
2018/05/07
1.1K0
学界 | 新研究提出DeepXplore:首个系统性测试现实深度学习系统的白箱框架
从A到Z,掌握机器学习基本词汇【A】 从A到Z,掌握机器学习基本词汇【A】
Accuracy: 准确率 机器学习的常用评价指标。定义如下: Accuracy = (TruePositives + TrueNegatives) / 总样本数
尾尾部落
2018/09/04
3900
从A到Z,掌握机器学习基本词汇【A】
		
			从A到Z,掌握机器学习基本词汇【A】
业余AI与专业AI的区别,就在这些评估指标上
嘿,AI探险家们!你是否曾经花了好几周训练了一个"完美"的模型,却发现它在实际应用中表现得像个"学渣"?别担心,我们都经历过这种痛苦。事实上,这正是业余AI实践者和专业人士之间的重要分水岭——专业人士知道,评估模型不能只看它在训练数据上多么优秀,而是需要一套科学的"成绩单"来衡量它在未知数据上的真实表现。
martinzh7
2025/05/30
1010
业余AI与专业AI的区别,就在这些评估指标上
你听说过 DeepLearning4J吗 · 属于我们Java Coder深度学习框架
DeepLearning4J(DL4J)是一个开源的深度学习库,专为Java和Scala语言设计,提供了强大的功能来构建、训练和部署深度神经网络。它支持多种机器学习算法,并能够与大数据框架(如Hadoop和Spark)进行集成,适用于图像识别、时间序列分析、自然语言处理等任务。
不惑
2025/01/16
1.5K0
你听说过 DeepLearning4J吗 · 属于我们Java Coder深度学习框架
机器学习|深度学习基础知识
最近在看深度学习的一些资料,发现有些基础知识比较模糊,于是重新整理了一下深度学习的基础知识。
用户1904552
2025/02/27
1120
机器学习|深度学习基础知识
笔记︱风控分类模型种类(决策、排序)比较与模型评估体系(ROC/gini/KS/lift)
——————————————————————————————————————————
悟乙己
2019/05/26
3K0
第二章--第三篇---文本分类
文本分类是一种基于自然语言处理技术,对给定的文本进行分类的方法。具体而言,文本分类将一篇文本分配到一个或多个预定义的类别中,这些类别通常是事先定义好的,例如新闻、评论、垃圾邮件、商品分类等。 文本分类在实际应用中有着广泛的应用,例如在舆情监控、垃圾邮件过滤、新闻分类、商品分类、情感分析等领域。通过对海量文本数据进行分类,可以帮助用户快速准确地获得所需信息,从而提高效率。此外,文本分类还可以帮助企业识别消费者的意见和情感倾向,为其提供更好的产品和服务,增强市场竞争力。
喵叔
2023/05/11
4870
【官方中文版】谷歌发布机器学习术语表(完整版)
【新智元导读】Google 工程教育团队已经发布了多语种的 Google 机器学习术语表,该术语表中列出了一般的Machine Learning术语和 TensorFlow 专用术语的定义。语言版本包
新智元
2018/03/21
1.2K0
【官方中文版】谷歌发布机器学习术语表(完整版)
人工神经网络到底能干什么?到底在干什么?
早在1943 年,神经科学家和控制论专家Warren McCulloch 与逻辑学家Walter Pitts就基于数学和阈值逻辑算法创造了一种神经网络计算模型。其中最基本的组成成分是神经元(Neuron)模型,即上述定义中的“简单单元”(Neuron 也可以被称为Unit)。在生物学所定义的神经网络中(如图1所示),每个神经元与其他神经元相连,并且当某个神经元处于兴奋状态时,它就会向其他相连的神经元传输化学物质,这些化学物质会改变与之相连的神经元的电位,当某个神经元的电位超过一个阈值后,此神经元即被激活并开始向其他神经元发送化学物质。Warren McCulloch 和Walter Pitts 将上述生物学中所描述的神经网络抽象为一个简单的线性模型(如图2所示),这就是一直沿用至今的“McCulloch-Pitts 神经元模型”,或简称为“MP 模型”。
博文视点Broadview
2020/06/11
8910
人工神经网络到底能干什么?到底在干什么?
开发者必看:超全机器学习术语词汇表!
来源:机器之心 本文长度为12243字,建议阅读8分钟 本文编译自谷歌开发者机器学习术语表项目,介绍了该项目所有的术语与基本解释。 A 准确率(accuracy) 分类模型预测准确的比例。在多类别分类中,准确率定义如下: 在二分类中,准确率定义为: 激活函数(Activation function) 一种函数(例如 ReLU 或 Sigmoid),将前一层所有神经元激活值的加权和输入到一个非线性函数中,然后向下一层传递该函数的输出值(典型的非线性)。 AdaGrad 一种复杂的梯度下降算法,重新
数据派THU
2018/01/30
4.1K0
开发者必看:超全机器学习术语词汇表!
推荐阅读
相关推荐
第八章 AI模型质量-4
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验