0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

模型不起作用时的解决办法

汽车玩家 来源:人工智能遇见磐创 作者:人工智能遇见磐创 2020-05-04 09:54 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

你的团队几个月来一直在收集数据、构建预测模型、创建用户界面,并与一些早期的用户一起部署新的机器学习产品。但你现在听到的并不是大家一起庆祝项目胜利的声音,而是听到产品经理对那些早期用户的抱怨,这些早期用户对模型精度不满意并开始认为“模型不起作用”。所以你现在应该做什么?

我们常常在很多模式识别实验室里给相关组织应用机器学习算法到新产品见到这种情况。这不是一个容易迅速解决的问题。真实世界的机器学习模型的性能受到许多因素的影响,其中一些因素可能在控制之下,而另一些因素则可能不在控制之下。最重要的是,当试图对真实世界的现象建模时,每个建模问题都有一个固有的噪声或随机性被混合在信号中,这使得很难理解我们使用一个预测模型真正能够达到的准确度。再加上用户对你的模型准确性的期望,你的数据科学团队就突然陷入了一个棘手的境地,并试图找出从哪里开始解决问题。

1. 了解要解决的问题

首先要确保团队对他们试图用模型解决的用户问题有很好的理解。令人惊讶的是,数据科学团队对成功的定义的理解与用户的标准经常不同。最近,我们与一家公司合作,试图预测恶劣天气对公用事业公司运营的影响。技术团队绞尽脑汁想要提高他们模型的MAPE分数。当我们深入研究时,我们发现MAPE根本不是正确的度量标准,他们所追求的目标是他们自己设定的(而不是倾听用户的意见)。用户实际上最关心的是,我们能够始终如一地将风暴的影响严重程度划分为1-5级的能力,这个划分是为他们的操作程序定义的。

要确保数据科学团队对这个问题有一个全面的理解,并且这个理解最好直接来自用户,这对于一个新计划的成功是至关重要的。如果你的团队陷入了上面描述的模型“不能工作”的情况,那么第一步就是回去,确保你已经正确地定义了问题,并理解你的用户如何定义成功。

2. 数据是否正确、完整?

下一步是回头查看你的团队收集的输入数据。通常,在处理复杂的实际模型时,模型性能不好的主要原因是由于输入数据集和特征的问题,而不是模型本身。特别是当你运行多种类型的模型(我们建议你尽可能这样做)并得到类似的结果时,这通常是输入数据集的问题。

这一步的一个关键部分是确保你已经收集了尽可能多的相关数据。通常,现实世界的模式中有一些因素并不总是直观或者明显的,因此你可以收集的数据和特征越多越好。你可以使用许多技术来降低特征的选择,以便在最相关的特征上构建模型,我们将在下一个步骤中讨论这些特征。但是对于这一步,重点是重新检查你的假设,哪些输入的特征影响了你试图建模的输出,如果需要,还可以返回以获取额外的数据。例如,当试图为现实世界的现象建模时,通常需要考虑一些不明显的因素,因为这些不明显的因素会造成影响,特别是异常情况——例如季节性、天气、日历事件,甚至地缘政治事件。

其次,应该进行一些简单的QA检查,以确保输入数据得到正确映射和处理。最近,我们与一个想改善模型性能的客户进行了合作,但最终发现问题根本不是与模型有关——客户错误地处理了一些地理位置的特征数据,这使得他们运行的模型无法识别正确的模式。

CRISP-DM流程是许多数据科学团队用于管理项目的最常见框架之一。我们喜欢它的重点在于它确保在深入建模之前就能理解业务和数据。CRISP-DM过程中的两个关键步骤是“数据理解”和“数据准备”。正确地遵循这些步骤需要深入研究输入数据以真正地理解它,通常需要可视化数据中的分布、趋势和关系。“数据准备”通常包括预处理、数据扩充与标准化,以便为建模做准备。如果处理得当,这两个步骤可以帮助数据科学家确保输入数据中的错误不会导致他以后遇到的任何模型性能问题。

3. 调整模型提升性能

既然你已经尽可能正确和完整地验证了输入数据,现在是时候关注有趣的东西了——建模本身。这一步中影响最大的部分之一是特征选择——从上到下选择最影响输出的关键特征,并对这些特征进行训练,消除冗余或高度相关的特征,以提高模型的速度和准确度。关于特征选择技术有一些很好的博客文章,包括单变量选择、递归特征消除和随机森林特征重要性。这里有一个可供参考:https://machinelearningmastery.com/feature-selection-machine-learning-python/。无论你使用的是哪种技术,或者它们的组合,都要确保在这一步上花费时间,为你的模型获得特征的最佳组合。

此步骤的另一个重要部分是重新考虑模型的选择,或者考虑添加额外的模型类型或组合多个模型。同样的,也有许多比较不同模型优缺点的好文章,但是我们建议尽可能运行至少两种模型类型(理想情况下,一种是神经网络)来比较结果。

最后,一旦你的特征和选择的模型确定了后,重新调参,并且确保你正确地定义训练集,验证集和测试集,这代表你在调参时并没有选择欺诈,所以它在新数据上可以泛化的很好,而不是在训练集上表现良好甚至过拟合导致在新数据上模型没有良好的工作。

4. 最后,也是最重要的,管理客户的期望

这是许多数据科学家忽视的另一个关键步骤,因为他们认为这“不是他们的工作”。当推出一个面向世界的新机器学习产品时,模型在真实世界的性能存在相当大的不确定性。此外,如上所述,尽管你尽了最大的努力使准确度最大化,但是在你正在解决的问题在真实世界中会出现的大量噪声,这可能会限制模型的性能。所以这个步骤是数据科学团队的责任,需要数据科学团队去与产品经理,销售人员,客户正确定义客户期待在模型中看到的性能,并且在时间的推移拥有额外的数据的情况下,指导他们如何去训练改善模型。

所以下次你的团队在模型放入真实世界里遇到性能问题时,不要玩指责游戏或直接一头扎进调参工作进行优化与拟合,后退一步,跟着这个简单的,结构化的过程一步一步来解决这个问题,在你的新模型上最大化性能。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模型
    +关注

    关注

    1

    文章

    3892

    浏览量

    52397
  • 数据集
    +关注

    关注

    4

    文章

    1242

    浏览量

    26323
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    HDMI 接口在 I.MX8QM 评估板中不起作用是怎么回事?

    HDMI 接口在 I.MX8QM 评估板中不起作用,所有其他接口都正常工作 以前的 HDMI 接口工作正常,我们使用相同的以前的 SD 卡和通过 SD 卡启动的 Board。 现在问题显示为
    发表于 04-28 07:23

    i.mx91 uboot 和 linux 软重置不起作用怎么解决?

    问题 - 我的软件重置不起作用。 在 uboot 中 - 键入 \'重置\' 使系统停滞。 在 Linux 中 - tpying \'重新启动\' 使系统停滞。 我在设备树中启用了 wdog3
    发表于 04-14 07:09

    芯片烧录总是出错?常见 6 个问题及解决办法

    做电子生产和 SMT 贴片的朋友,经常会遇到芯片烧录不稳定、报错、漏烧、错烧等问题。今天结合我们做烧录机多年的经验,总结一下最常见的原因和解决思路,欢迎同行交流。 常见 6 个问题及解决办法: 1.
    的头像 发表于 04-10 15:30 570次阅读
    芯片烧录总是出错?常见 6 个问题及<b class='flag-5'>解决办法</b>

    有没有办法从 SD 卡上正在运行的系统传输 nvme 的最新 img 文件?

    有没有办法从 SD 卡上正在运行的系统传输 nvme 的最新 img 文件? 我尝试过使用 gnome-disks,但似乎不起作用(过去它让我失败过),dd 也是如此。 balenaEtcher
    发表于 03-05 07:12

    CW32L010F8P6开发板的复位键不起作用怎么解决?

    拿到手的CW32L010F8P6开发板,在测试过程中发现,复位按键好像是没起作用。不知道是没连接到对应的引脚上,还是线路断开了。原来的板载程序运行中,按复位按键不起作用;程序下载后,按复位按键也不起作用
    发表于 11-26 07:19

    Bluetooth® LE FindMe 示例在CY8C6347LQI-BLD52中不起作用是怎么回事?

    Bluetooth® LE FindMe 示例在CY8C6347LQI-BLD52中不起作用
    发表于 11-11 07:23

    时序约束问题的解决办法

    slack 计算如下图所示: 所以 slakc 为负数时,说明路径的组合逻辑延时过长。解决办法有两个:第一个是降低时钟频率,第二个是将延时过长的组合逻辑拆成两个或者多个时钟周期执行。 无论 Setup
    发表于 10-24 09:55

    车载摄像头气密性检测仪操作常见问题及解决办法-岳信仪器

    在车载摄像头的生产与质量把控中,车载摄像头气密性检测仪发挥着至关重要的作用。然而,在实际操作过程中,常常会遇到一些问题,以下为您详细介绍常见问题及对应的解决办法。(1)检测结果不稳定检测结果不稳定
    的头像 发表于 10-17 14:30 612次阅读
    车载摄像头气密性检测仪操作常见问题及<b class='flag-5'>解决办法</b>-岳信仪器

    rt-thread使用xshell连接上下键不起作用是怎么回事?

    rt-thread使用xshell连接上下键不起作用,不能进行历史追溯,求问怎么回事
    发表于 10-13 06:27

    TSLIB 触摸屏校准不起作用是怎么回事?

    我遇到触摸屏校准问题 在触摸屏校准期间我看不到任何窗口,只能在 RS232 中更新 所以我使用我自己创建的模板用于触摸屏校准 实际上它以前有效,但现在不起作用 不知道为什么会这样
    发表于 09-04 06:06

    CYW920721M2EVK-02与cybt413061模块,HID控件在某些安卓13设备中不起作用怎么解决?

    我们正在使用带有cybt413061模块的 CYW920721M2EVK-02 ,HID控件在三星Android 13和GooglePixel Android 13设备中不起作用。 然而,出于测试
    发表于 07-01 06:00

    单向阀气密性检测仪常见故障及解决办法

    单向阀气密性检测仪在工业生产中起着至关重要的作用,然而在使用过程中难免会出现一些故障。了解常见故障及其解决办法,能有效提高设备的使用效率和检测准确性。一、检测结果不准确故障表现检测数据波动
    的头像 发表于 06-30 14:01 857次阅读
    单向阀气密性检测仪常见故障及<b class='flag-5'>解决办法</b>

    wiced_hal_sflash_write在CYW20721B2上不起作用是怎么回事?

    时,写入不起作用。 逻辑分析仪上没有保存命令。 我记得在 CYW20706 中必须通过 *((unsigned char*)(0x00201a14)) = 1 解锁写入能力;
    发表于 06-30 06:22

    请问SCO_Hook是否在CYW20721B2上的HFP音频网关项目中起作用

    我需要使用 SCO_Hook lib 在 HFP 音频网关中写入和读取语音样本, 因为音频 I2S/PCM 线路在CYW20721的 HFP 音频网关中不起作用 # 如下所述: https
    发表于 06-26 06:34

    rt-thread-studio添加任何的软件包都失败,更改github或者gitee源都不起作用,有什么解决方案吗?

    如图,添加任何的软件包都失败,更改github或者gitee源都不起作用,有什么解决方案吗?
    发表于 06-13 08:17