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

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

3天内不再提示

机器学习新手常犯的错误怎么避免?

汽车玩家 来源: AI公园 作者:Christopher Dossman 2019-11-13 17:44 次阅读

机器学习中,有许多方法来构建产品或解决方案,每种方法都假设不同的东西。很多时候,如何识别哪些假设是合理的并不明显。刚接触机器学习的人会犯错误,事后想想,这些错误往往会让人觉得愚蠢。我列了一个清单,上面列出了机器学习工程师新手最常犯的错误。希望你能从这些常见的错误中吸取教训,创建更健壮的解决方案,从而带来真正的价值。

1. 默认的损失函数

均方误差非常大!这确实是一个令人惊讶的默认设置,但在实际应用中,这种现成的损失函数很少适合于你试图解决的业务问题。

以欺诈检测为例。为了与商业目标保持一致,你真正想要的是按因欺诈而损失的金额比例来对假阴性样本进行惩罚。使用均方误差可能会得到不错的结果,但永远不会得到最好的结果。

要点:始终建立一个自定义的损失函数,密切配合你的解决方案目标。

2. 对所有问题使用一种算法/方法

许多人完成他们的第一个教程,并立即开始使用他们在每个用例中所学到的相同算法。它很熟悉,他们认为它和其他算法一样有效。这是一个糟糕的假设,将导致糟糕的结果。

让你的数据为你选择模型。一旦你预处理了你的数据,把它输入到许多不同的模型中,看看结果是什么。你将对什么模型工作得最好和什么模型工作得不太好有一个很好的概念。

要点:如果你发现自己一次又一次地使用相同的算法,这可能意味着你没有得到最好的结果。

3. 忽略离群点

离群点值可能很重要,也可能完全被忽略,这取决于上下文。以污染预测为例。空气污染可能会出现大的峰值,观察它们并了解其原因是一个好主意。在某些类型的传感器错误导致的异常值的情况下,忽略它们并从数据中删除它们是安全的。

从模型的角度来看,有些模型比其他模型对异常值更敏感。以Adaboost为例,它将这些异常值视为“困难”案例,并对异常值施加极大的权重,而决策树可能只是将每个异常值作为一个错误分类。

要点:在开始工作之前,一定要仔细查看数据,确定是否应该忽略或更仔细地查看离群值。

4. 没有适当的处理周期特征

一天中的几个小时,一周中的几天,一年中的几个月,以及风向都是周期性的。许多新的机器学习工程师认为,不能将这些特征转换成一种表示形式,这种表示形式可以保存诸如小时23和小时0之类的信息,它们彼此之间很近,距离也不远。

按照小时的例子,处理这个问题的最好方法是计算sin和cos分量,这样就可以用(x,y)的圆坐标来表示循环特征。在这个表示小时中,23和0在数字上是相邻的,就像它们应该的那样。

要点:如果你有循环特征,而你没有转换它们,你就是在给你的模型垃圾数据。

5. 做L1/L2正则化但是没有标准化

L1和L2正则化对大系数不利,是正则化线性回归或逻辑回归的常用方法,然而,许多机器学习工程师并没有意识到在应用正则化之前对特征进行标准化的重要性。

假设你有一个以事务为特征的线性回归模型。标准化所有的特征,并将它们放在平等的基础上,这样正则化在你的所有特征上都是一样的。不要用美分表示某些特征,而用美元表示其他特征。

要点:正则化很好,但是如果你没有标准化特征,它会让你头疼

6. 将线性回归或逻辑回归的系数解释为特征重要性

线性回归通常为每个系数返回p值。这些系数很多时候会使机器学习新手认为对于线性模型来说,系数的值越大,特征越重要。因为变量的尺度改变了系数的绝对值,所以这并是不正确的。如果特征是共线的,系数可以从一个特征转移到另一个特征。数据集的特征越多,特征越有可能是共线性的,对特征重要性的简单解释就越不可靠。

要点:理解什么特征对结果最重要是重要的,但不要假设你可以查看系数来得到,系数通常不会告诉你事情的全貌。

做几个项目,得到好的结果,感觉就像赢了一百万美元。你努力工作,你有结果证明你做得很好,但就像其他任何行业一样,魔鬼是在细节中,甚至花哨的情节可以隐藏偏见和错误。这个列表并不是面面俱到的,只是让读者思考一下你的解决方案中可能隐藏的所有小问题。为了获得好的结果,遵循你的过程是很重要的,并且要反复检查你没有犯一些常见的错误。

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

    关注

    66

    文章

    8094

    浏览量

    130513
收藏 人收藏

    评论

    相关推荐

    关于C语言编程时常犯错误汇总

    17个C语言新手编程时常犯错误及解决方式
    的头像 发表于 06-26 09:19 5851次阅读
    关于C语言编程时<b class='flag-5'>常犯</b>的<b class='flag-5'>错误</b>汇总

    18个C语言新手编程时常犯错误及解决方式

    ,经常会出一些连自己都不知道错在哪里的错误。看着有错的程序,不知该如何改起,本人通过对C的学习,积累了一些C编程时常犯错误,写给各位学员以供参考。
    发表于 01-03 15:35 770次阅读

    C语言编程时常犯的18种错误

    C语言的最大特点是:功能强、使用方便灵活。C编译的程序对语法检查并不象其它高级语言那么严格,这就给编程人员留下“灵活的余地”,但还是由于这个灵活给程序的调试带来了许多不便,尤其对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误,本文总结积累了一些C编程时常犯
    的头像 发表于 02-27 14:51 6044次阅读

    机器学习新手最适合学习的10个算法

    算法永远是一段代码的灵魂,面对海量的机器学习算法,萌新最爱问的是,“我该选什么算法?”
    的头像 发表于 03-29 14:10 7916次阅读

    如何避免三个常见的机器学习错误

    基于云的机器学习和深度学习一再被误用。这多半都可以轻松解决,当然,基于云的机器学已得到了广泛的使用。但你要用得巧妙,用得恰当。
    的头像 发表于 07-11 10:46 2359次阅读

    17个C语言新手编程时常犯错误及解决方式

    。看着有错的程序,不知该如何改起,通过对C的学习,积累了一些C编程时常犯错误,以供参考。 1、书写标识符时,忽略了大小写字母的区别。 main() { int a=5; printf(“%d”,A); } 编译程序把a和A认为
    发表于 09-06 12:57 339次阅读

    Python基础教程之《Python机器学习—预测分析核心算法》免费下载

     在学习和研究机器学习的时候,面临令人眼花缭乱的算法,机器学习新手往往会不知所措。本书从算法和 Python 语言实现的角度,帮助读者认识
    发表于 09-29 08:00 18次下载

    企业在机器学习中经常犯什么错误

    机器学习是指使机器能够以监督和无监督的方式“学习”从而提高准确性和性能的软件。
    发表于 12-17 17:03 508次阅读

    初学者开发人员都会犯的7个Python错误

    这篇文章主要介绍了七个初学者常犯的Python调试错误,并告诉大家如何去避免这些错误
    的头像 发表于 06-23 15:19 2237次阅读
    初学者开发人员都会犯的7个Python<b class='flag-5'>错误</b>

    如何训练机器人学习新技能

    10月27日消息,据外媒报道,约翰斯霍普金斯大学博士生安德鲁洪特(Andrew Hundt) 近日发布一篇新论文,指出应通过正强化法训练机器人学习新技能。
    的头像 发表于 10-28 10:16 2121次阅读

    机器学习新手基础:十大算法导览

    机器学习中,有一个称为 No Free Lunch 的定理。简单来说,与监督学习特别相关的这个定理,它指出没有万能算法,就是用一个算法能很好地解决每个问题。 例如,不能说神经网络总是比决策树更好
    的头像 发表于 11-27 10:00 2115次阅读

    六个构建机器学习模型需避免错误

    近年来,机器学习在学术研究领域和实际应用领域得到越来越多的关注。但构建机器学习模型不是一件简单的事情,它需要大量的知识和技能以及丰富的经验,才能使模型在多种场景下发挥功效。正确的
    发表于 05-05 16:39 1261次阅读

    电工常犯的15大错误

    电工常犯的15大错误(航空直流电源技术特点)-电工常犯的15大错误                    
    发表于 09-24 10:13 6次下载
    电工<b class='flag-5'>常犯</b>的15大<b class='flag-5'>错误</b>

    选择示波器探头时常犯错误(下)

    前面我们讲了关于选择示波器探头的常犯3点错误,那么除了前面讲的那些问题点外,我们还需要注意选择示波器探头时常犯错误呢?下面西安普科科技小编和大家讲讲:
    的头像 发表于 11-11 14:47 1722次阅读
    选择示波器探头时<b class='flag-5'>常犯</b>的<b class='flag-5'>错误</b>(下)

    哪些错误PLC新手容易犯?

    PLC新手在使用和编程PLC时容易犯以下一些常见错误: (1)电气接线错误:PLC的输入和输出需要正确地与外部设备进行连接。新手可能会犯接线错误
    的头像 发表于 10-11 17:10 397次阅读