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

在机器学习中,有很多方法来构建产品或解决方案,而且每种方法都有不同的假设。很多时候,如何识别哪些假设是合理的并不是件容易的事情。在最初的操作中,机器学习新手总会犯一些事后看来往往会觉得很傻的错误。所以,本文列举出了机器学习初学者所犯的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 条评论
登录 后参与评论

相关文章

来自专栏华章科技

如何从零开始构建深度学习项目?这里有一份详细的教程

导读:在学习了有关深度学习的理论之后,很多人都会有兴趣尝试构建一个属于自己的项目。本文将会从第一步开始,告诉你如何解决项目开发中会遇到的各类问题。

1044
来自专栏数据派THU

手把手教你从零到一搭建深度学习项目

在学习了有关深度学习的理论之后,很多人都会有兴趣尝试构建一个属于自己的项目。本文将会从第一步开始,告诉你如何解决项目开发中会遇到的各类问题。

1103
来自专栏机器之心

业界 | OpenAI开源算法ACKTR与A2C:把可扩展的自然梯度应用到强化学习

4478
来自专栏人工智能LeadAI

从零开始掌握Python机器学习(附不可错过的资源)

01 基 础 篇 01 基本Python 如果我们打算利用 Python 来执行机器学习,那么对 Python 有一些基本的了解就是至关重要的。幸运的是,因为 ...

3655
来自专栏机器之心

业界 | 4分钟训练ImageNet!腾讯机智创造AI训练世界纪录

2018年6月25日,OpenAI在其Dota2 5v5中取得一定成绩后介绍,其在训练中batch size取100W,而1v1的训练batch size更是达...

1303
来自专栏AI研习社

自学习 AI 智能体第二部分:深度 Q 学习

深度学习的数学指导。 在关于深度强化学习的多系列的第二部分中,我将向你介绍 AI 主体如何学习在具有离散动作空间的环境中表示的有效方法。

1307
来自专栏机器之心

学界 | 商汤联合提出基于FPGA的快速Winograd算法:实现FPGA之上最优的CNN表现与能耗

36210
来自专栏ATYUN订阅号

谷歌:计算机视觉模型可在无监督情况下跟踪对象并对视频着色

视频的对象跟踪是计算机视觉的一个基本问题,对于诸如活动识别,对象交互或视频风格化等应用至关重要。然而,教会一台机器以直观地跟踪物体充满挑战性,部分原因在于它需要...

782
来自专栏目标检测和深度学习

Hinton胶囊网络后最新研究:用“在线蒸馏”训练大规模分布式神经网络

? ---- 新智元报道 来源:arXiv 编译:肖琴、克雷格 【新智元导读】深度学习领域的大牛、多伦多大学计算机科学教授Geoffrey Hint...

4199
来自专栏腾讯大数据的专栏

腾讯深度学习平台亮相机器学习顶级会议ICML2014

引言:深度学习是近年机器学习领域的重大突破,有着广泛的应用前景。随着Google公开Google Brain计划,业界对深度学习的热情高涨。百度成立深度学习研究...

2449

扫码关注云+社区