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

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

3天内不再提示

机器学习中最常见错误解决方案

新机器视觉 来源:机器之心 作者:机器之心 2022-08-08 16:56 次阅读

当你构建第一个模型,注意避免这5个坑。

数据科学和机器学习正变得越来越流行,这个领域的人数每天都在增长。这意味着有很多数据科学家在构建他们的第一个机器学习模型时没有丰富的经验,而这也是错误可能会发生的地方。

近日,软件架构师、数据科学家、Kaggle 大师 Agnis Liukis 撰写了一篇文章,他在文中谈了谈在机器学习中最常见的一些初学者错误的解决方案,以确保初学者了解并避免它们。

以下为文章内容:

在机器学习领域,初学者避免这 5 个坑

1、在需要的地方没有使用数据归一化

对数据进行归一化操作,然后获取特征,并将其输入到模型中,让模型做出预测,这种方法是很容易的。但在某些情况下,这种简单方法的结果可能会让人失望,因为它缺少一个非常重要的部分。

一些类型的模型需要数据归一化,如线性回归、经典神经网络等。这类模型使用特征值去乘训练值的权重。在非归一化特征的情况下,一个特征值的可能范围可能不同于另一个特征值的可能范围。

假设一个特征的值在 [0,0.001] 范围内,另一个特征的值在 [100000,200000] 范围内。对于使两个特征同等重要的模型,第一个特征的权重将比第二个特征的权重大 1 亿倍。巨大的权重可能会给模型带来严重问题,比如存在一些异常值的时候。此外,估计各种特征的重要性变得困难,因为权重大可能意味着特征很重要,但也可能只是意味着其特征值很小

归一化后,所有特征的值都在相同的范围内,通常为 [0,1] 或 [-1,1]。在这种情况下,权重将在相似的范围内,并与每个特征的实际重要性密切对应。

总的来说,在需要的地方使用数据归一化将产生更好、更准确的预测。

2、认为特征越多越好

有人可能会认为加入所有特征是一个好主意,认为模型会自动选择并使用最好的特征。实际上,这种想法很难成真。

模型的特征越多,过拟合的风险越大。即使在完全随机的数据中,模型也能够找到一些特征(信号),尽管有时较弱,有时较强。当然,随机噪声中没有真实信号。但如果我们有足够多的噪声列,则该模型有可能根据检测到的故障信号使用其中的一部分。当这种情况发生时,模型预测质量将会降低,因为它们一定程度上基于随机噪声。

现在有许多技术帮助我们进行特征选择。但你要记住,你需要解释你拥有的每一个特征,以及为什么这个特征会帮助你的模型。

3. 在需要外推的情况下,使用基于树的模型

基于树的模型易于使用,功能强大,这也是其受欢迎的原因。然而,在某些情况下,使用基于树的模型可能是错误的。

基于树的模型无法外推,这些模型的预测值永远不会大于训练数据中的最大值,而且在训练中也永远不会输出比最小值更小的预测值。

在某些任务中,外推能力可能非常重要。例如,如果该模型预测股票价格,那么未来股票价格可能会比以往任何时候都高。在这种情况下,基于树的模型将无法直接使用,因为它们的预测几乎会超过最高历史价格。

这个问题有多种解决方案,一种解决方案是预测变化或差异,而不是直接预测价值。另一种解决方案是为此类任务使用不同类型的模型。线性回归或神经网络就可以进行外推。

4、在不需要的地方使用数据归一化

之前文章谈到了数据归一化的必要性,但情况并非总是如此,基于树的模型不需要数据归一化。神经网络可能也不需要明确的归一化,因为有些网络内部已经包含归一化层,例如 Keras 库的 BatchNormalization 操作。

在某些情况下,即使是线性回归也可能不需要数据归一化,这是指所有特征都已处于类似的值范围,并且具有相同的含义。例如,如果模型适用于时间序列数据,并且所有特征都是同一参数的历史值。

5. 在训练集和验证集 / 测试集之间泄漏信息

造成数据泄漏比人们想象的要容易,考虑以下代码段:

67499348-165a-11ed-ba43-dac502259ad0.png

数据泄漏的示例特性

实际上,这两种特征(sum_feature 和 diff_feature)都不正确。它们正在泄漏信息,因为在拆分到训练集 / 测试集后,具有训练数据的部分将包含来自测试的一些信息。这将导致更高的验证分数,但当应用于实际的数据模型时,性能会更差。

正确的方法是首先将训练集 / 测试集分开,然后才应用特征生成功能。通常,分别处理训练集和测试集是一种很好的特征工程模式。

在某些情况下,可能需要在两者之间传递一些信息 —— 例如,我们可能希望在测试集和训练集上使用相同的 StandardScaler。

总而言之,从错误中吸取教训是件好事,希望上述所提供的错误示例能帮助到你。

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

    关注

    42

    文章

    4732

    浏览量

    100372
  • 数据
    +关注

    关注

    8

    文章

    6786

    浏览量

    88700
  • 机器学习
    +关注

    关注

    66

    文章

    8337

    浏览量

    132254

原文标题:机器学习初学者易踩的5个坑

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    服务器错误是怎么回事?常见错误原因及解决方法汇总

    服务器错误是怎么回事?最常见的原因分有六个,分别是:硬件问题、软件问题、网络问题、资源耗尽、数据库、文件权限问题。可以根据以下具体错误原因进行辨别,并选择适合的解决方法。关于常见服务器
    的头像 发表于 08-12 10:11 1063次阅读

    功能测试覆盖中最常见的是什么方法

    功能测试覆盖是软件测试过程中的一个重要环节,它主要关注软件产品的功能实现是否符合需求规格说明。在功能测试覆盖中,有多种方法可以采用,以确保测试的全面性和有效性。本文将详细介绍功能测试覆盖中最常见
    的头像 发表于 05-30 14:55 503次阅读

    请问PSoC™ Creator IDE可以支持IMAGIMOB机器学习吗?

    。 我发现IMAGIMOB 是一个很好的解决方案来满足我的需求,但现在的问题是, PSoC™ Creator 不支持 IMAGIMOB! PSoC™ Creator 可以支持机器学习或 IMAGIMOB 吗?
    发表于 05-20 08:06

    新手学习单片机最常见的六大误区!

    ,扮演着至关重要的角色。然而,学习单片机并非一帆风顺,初学者常常会面临各种挑战和困惑。因此,了解并避免新手常见的误区,将有助于使学习过程更加顺利和愉快。新手学习
    的头像 发表于 03-28 08:03 701次阅读
    新手<b class='flag-5'>学习</b>单片机<b class='flag-5'>最常见</b>的六大误区!

    音视频解码生成常见问题及解决方案

    在音视频解码生成的过程中,我们可能会遇到一些常见问题,这些问题可能会影响解码的效果和效率。以下是一些常见问题及其解决方案: 问题1:解码失败 原因 :可能是文件本身有问题,如损坏或格式不支持;也
    的头像 发表于 02-21 14:39 1133次阅读

    PCB设计工作中常见错误有哪些?

    一站式PCBA智造厂家今天为大家讲讲PCB设计工作中常见错误有哪些?PCB设计中最常见到的六个错误。PCB设计是电子产品制造中非常关键的一环。它的质量直接关系到整个产品的性能和稳定性
    的头像 发表于 02-21 09:32 477次阅读
    PCB设计工作中<b class='flag-5'>常见</b>的<b class='flag-5'>错误</b>有哪些?

    最常见的直流负载工作方式

    最常见的直流负载工作方式  直流负载工作方式是指在直流电路中使用的各种负载方式。直流负载是用于测试和测量直流电源输出能力和能效的设备,可以模拟真实负载条件下的电流和功率需求。本文将详细介绍最常见
    的头像 发表于 01-18 15:12 649次阅读

    盘点PCB设计中的常见错误

    搞技术,难免存在错误,只有经历过错误,才能更快地成长。PCB设计也一样,今天就来盘点一下PCB设计中最常见错误
    的头像 发表于 01-12 09:53 1262次阅读
    盘点PCB设计中的<b class='flag-5'>常见</b><b class='flag-5'>错误</b>

    机械制图常见错误汇总

    今天分享是《机械制图常见错误》 资料。
    的头像 发表于 12-26 10:41 843次阅读
    机械制图<b class='flag-5'>常见</b><b class='flag-5'>错误</b>汇总

    PCB金手指设计的常见问题和解决方案

    PCB金手指设计的常见问题和解决方案
    的头像 发表于 12-25 10:09 1938次阅读

    初学仿真常见错误

    本推文针对Sentaurus初学者频繁遇到的错误进行简单整理,具体是包括Sde、Sdevice仿真常见错误
    的头像 发表于 12-03 16:24 1895次阅读
    初学仿真<b class='flag-5'>常见</b>的<b class='flag-5'>错误</b>

    vlookup常见的12种错误

    中,我将介绍VLOOKUP函数的常见错误,并提供详尽、详实、细致的解决方法。 错误#N/A:这是最常见的VLOOKUP错误之一,它表示无法找
    的头像 发表于 12-01 11:19 2974次阅读

    codeblocks环境错误解决办法

    CodeBlocks是一款常用的集成开发环境,用于编写、编译和调试C、C++等程序。然而,有时在使用CodeBlocks时可能会遇到一些错误或问题。本文将为你提供一些常见CodeBlocks环境错误
    的头像 发表于 11-26 09:37 5981次阅读

    反激式电源中最常见的噪声来源

    电子发烧友网站提供《反激式电源中最常见的噪声来源.doc》资料免费下载
    发表于 11-15 10:34 1次下载
    反激式电源<b class='flag-5'>中最常见</b>的噪声来源

    十大WiFi常见误解

    电子发烧友网站提供《十大WiFi常见误解.doc》资料免费下载
    发表于 11-10 16:06 1次下载
    十大WiFi<b class='flag-5'>常见</b><b class='flag-5'>误解</b>