机器学习初学者常犯的六大错误总结

在机器学习中,有很多方法来构建产品或解决方案,而且每种方法都有不同的假设。很多时候,如何识别哪些假设是合理的并不是件容易的事情。在最初的操作中,机器学习新手总会犯一些事后看来往往会觉得很傻的错误。所以,本文列举出了机器学习初学者所犯的6大错误。希望你可以从这些常见错误中学习,并创建更具鲁棒性的解决方案,从而带来真正的价值。

1.认为使用默认损失函数是理所当然的 均方误差很大!在刚开始的时候,这确实是一个令人惊讶的默认值。但是当它涉及到实际应用时,这个现成的损失函数对于你想要解决的商业问题来说是最优的。

以欺诈检测(fraud detection)为例。为了与商业目标保持一致,你真正想要的是对虚假的负面信息与成比例的由于欺诈造成的美元数额损失进行惩罚。使用均方误差可能会给你带来一个好的结果,但是永远不会给出最佳结果。

重点:始终构建一个与解决方案目标紧密匹配的自定义损失函数。

2.使用一种算法/方法来解决所有问题 许多人在完成他们的机器学习初学教程后,会立即开始使用他们在每个用例中学习到的相同的算法。因为他们认为它和其他算法一样有效。这是一个会导致糟糕结果的假设。

解决的办法是:让你的数据为你选择你的模型。在你对数据进行预处理之后,将其馈送到许多不同的模型中,并查看结果是什么。你会很好地知道哪些模型最有效,哪些模型不能很好地工作。

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

3.忽略异常值 根据不同的情况,异常值可以是重要的,也可以完全忽略。以收入预测为例。当收入大幅增长时,最好办法是观察这种现象,并了解为什么会发生这种情况。

对于由某种类型的错误引起的异常值,可以忽略它们,并从数据中删除。从模型的角度来看,有些模型对异常值比较敏感。以Adaboost为例,它将这些异常值视为困难的案例,并对异常值进行了巨大的权重处理,而决策树可能会简单地将每个异常值计算为一个错误分类。

重点:在开始工作之前,要仔细查看数据,并确定是否应该忽略异常值。

4.未正确处理周期性特征 一天中的几个小时,一周的天数,一年中的几个月,以及风向的变化都是周期性的特征。许多机器学习初学者不知道将这些特征转换成能够保存信息的形式,例如,23时和0时之间的距离是接近的。

以小时为例,处理这一问题的最佳方法是计算sin和cos组件,这样就可以将周期性特征(x、y)表示为一个圆的坐标。在以这种方式表示的时间中,23时和0时只是在数字上相邻,仅此而已。

重点:如果你遇到周期性特征,而且你没有转换它们,那么你就会开始给你的模型带来垃圾数据。

5.未标准化的L1/L2正则化 L1和L2正则化对大系数进行惩罚是使线性或逻辑回归正则化的常用方法;然而,许多机器学习初学者并没有意识到,在应用正则化之前,标准化功能是很重要的。

假设你有一个带有“交易金额”特征的线性回归模型。在没有正则化的情况下,如果交易金额是美元,那么合适的系数将比它们在美分时的系数大100倍。这将导致偏差,并倾向于对规模较小的特征进行惩罚。为了避免问题,标准化所有的特征,并将它们放在同等的基础上,这样正则化就会在你的所有特征上都是一样的。

重点:正则化是很好的,但是如果没有标准化的特性就会带来不必要的麻烦。

6.把线性或逻辑回归中解释系数的绝对值作为重点特征的依据 许多现成的线性回归模型对每个系数都有一个p值,许多机器学习初学者认为,对于线性模型来说,系数越大,特征就越重要。由于变量的大小改变了系数的绝对值,这几乎是不可能的。如果这些特征是共线性的,系数就可以从一个特征转移到另一个。数据集的特性越多,它的特征就越有可能是共线性的,而对于特征重要性的简单解释则越不可靠。

重点:了解什么是最重要的特征是很有必要的,但是不要假设你可以查看这些系数。

这个6个错误并不是全部,只是为了让你去思考可能隐藏在你的解决方案中的所有小问题。为了取得好的结果,重要的是要遵循过程,并且要反复检查你是否在犯一些常见的错误。

原文发布于微信公众号 - ATYUN订阅号(atyun_com)

原文发表时间:2017-12-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CSDN技术头条

程序员千万不要学算法!

程序员对算法通常怀有复杂情感,算法很重要是共识,但是否每个程序员都必须学算法是主要的分歧点。

1143
来自专栏有趣的Python

4- 深度学习之神经网络核心原理与算法-归一化与参数初始化

1233
来自专栏机器学习算法全栈工程师

《机器学习》笔记-规则学习(15)

如今机器学习和深度学习如此火热,相信很多像我一样的普通程序猿或者还在大学校园中的同学,一定也想参与其中。不管是出于好奇,还是自身充电,跟上潮流,我觉得都值得试一...

982
来自专栏SimpleAI

【DL碎片5】一只蚊子告诉你,什么是正则化(Regularization)

从【DL笔记1】到【DL笔记N】以及【DL碎片】系列,是我学习深度学习一路上的点点滴滴的记录,是从Coursera网课、各大博客、论文的学习以及自己的实践中总结...

1102
来自专栏ATYUN订阅号

DeepMind研究:测试神经网络的抽象推理

机器能学会抽象推理吗?这是谷歌子公司DeepMind发表的一篇新论文的主题,题为“Measuring abstract reasoning in neural ...

954
来自专栏AI科技评论

ACL2016最佳论文:CNN/日常邮件阅读理解任务的彻底检查

摘要 NLP尚未解决的核心目标是,确保电脑理解文件回答理解问题。而通过机器学习系统,解决该问题的一大阻碍是:人类-注释数据的可用性有限。Hermann等人通过生...

2844
来自专栏AI

如何开始用R进行机器学习(一周获得结果)

R是一个庞大而复杂的平台。对于最好的数据科学家来说,它也是世界上最流行的平台。

1976
来自专栏AI科技评论

学界 | 伯克利 AI 实验室博客发布首篇文章:让神经网络自行选择模块,实现动态推理

深度神经网络虽然在图像,语音,机器人等方面取得了巨大的成功,但是这些成功通常局限在识别任务或者生成任务中,对于推理任务,常规的神经网络通常是无能为力的。伯克利A...

3159
来自专栏机器之心

观点 | 机器学习新手工程师常犯的6大错误

选自Medium 机器之心编译 参与:刘晓坤、路雪 机器学习中有很多构建产品或解决方案的方式,每种方式的假设情况都不一样。很多时候,如何找到合理的假设并不容易...

33110
来自专栏人工智能

以撩妹为例,5分钟让你秒懂深度学习!

深度学习是一个不断磨合的过程 就像谈恋爱一样 如果在这个人工智能的时代,作为一个有理想抱负的程序员,或者学生、爱好者,不懂深度学习这个超热的话题,似乎已经跟时代...

1897

扫码关注云+社区