新手机器学习工程师最容易犯的top6错误

2019 年 12 月 10 日 计算机视觉life

点击上方“计算机视觉life”,选择“星标”

快速获得最新干货

作者:Christopher Dossman

编译:ronghuaiyang


导读

新手老手都可以看看,有则改进,无则加勉。


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

默认的损失函数

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

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

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

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

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

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

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

忽略离群点

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

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

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

没有适当的处理周期特征

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

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

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

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

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

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

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

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

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

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


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

交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、检测分割识别、三维视觉、医学影像、GAN、自动驾驶、计算摄影、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~


投稿合作也欢迎联系:simiter@126.com

推荐阅读

最全综述 | 医学图像处理

最全综述 | 图像分割算法

最全综述 | 图像目标检测

目标检测技术二十年综述

综述 | CVPR2019目标检测方法进展
参加 CVPR 2019 技术见闻总结

现在投身于计算机视觉是否明智?

如何激怒一个自动驾驶(无人驾驶、智能汽车)爱好者?

原来CNN是这样提取图像特征的。

AI资源对接需求汇总:第1期
AI资源对接需求汇总:第2期
AI资源对接需求汇总:第3期

计算机视觉方向简介 | 人体骨骼关键点检测综述

计算机视觉方向简介 | 人脸识别中的活体检测算法综述

计算机视觉方向简介 | 目标检测最新进展总结与展望

计算机视觉方向简介 | 人脸表情识别

计算机视觉方向简介 | 人脸颜值打分

计算机视觉方向简介 | 深度学习自动构图

计算机视觉方向简介 | 基于RGB-D的3D目标检测

计算机视觉方向简介 | 人体姿态估计


最新AI干货,我在看  

登录查看更多
0

相关内容

【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
190+阅读 · 2020年6月29日
【干货书】机器学习Python实战教程,366页pdf
专知会员服务
332+阅读 · 2020年3月17日
【2020新书】数据科学:十大Python项目,247页pdf
专知会员服务
212+阅读 · 2020年2月21日
【经典书】精通机器学习特征工程,中文版,178页pdf
专知会员服务
347+阅读 · 2020年2月15日
机器学习者都应该知道的五种损失函数!
数盟
5+阅读 · 2018年6月21日
入门 | 深度学习模型的简单优化技巧
机器之心
9+阅读 · 2018年6月10日
关于机器学习,你需要知道的三件事!
云栖社区
3+阅读 · 2018年3月3日
机器学习工程师31门课程(视频):从新手到专业
数据挖掘入门与实战
7+阅读 · 2018年3月1日
机器学习新手必看10大算法
深度学习世界
4+阅读 · 2018年2月1日
最适合机器学习新手的10种算法
论智
9+阅读 · 2018年1月23日
快速掌握机器学习,这 3 种算法你必须知道
开源中国
8+阅读 · 2017年11月9日
Do RNN and LSTM have Long Memory?
Arxiv
19+阅读 · 2020年6月10日
Anomalous Instance Detection in Deep Learning: A Survey
Arxiv
14+阅读 · 2020年2月6日
A Comprehensive Survey on Graph Neural Networks
Arxiv
13+阅读 · 2019年3月10日
Adaptive Neural Trees
Arxiv
4+阅读 · 2018年12月10日
Arxiv
7+阅读 · 2018年5月23日
VIP会员
相关资讯
机器学习者都应该知道的五种损失函数!
数盟
5+阅读 · 2018年6月21日
入门 | 深度学习模型的简单优化技巧
机器之心
9+阅读 · 2018年6月10日
关于机器学习,你需要知道的三件事!
云栖社区
3+阅读 · 2018年3月3日
机器学习工程师31门课程(视频):从新手到专业
数据挖掘入门与实战
7+阅读 · 2018年3月1日
机器学习新手必看10大算法
深度学习世界
4+阅读 · 2018年2月1日
最适合机器学习新手的10种算法
论智
9+阅读 · 2018年1月23日
快速掌握机器学习,这 3 种算法你必须知道
开源中国
8+阅读 · 2017年11月9日
相关论文
Do RNN and LSTM have Long Memory?
Arxiv
19+阅读 · 2020年6月10日
Anomalous Instance Detection in Deep Learning: A Survey
Arxiv
14+阅读 · 2020年2月6日
A Comprehensive Survey on Graph Neural Networks
Arxiv
13+阅读 · 2019年3月10日
Adaptive Neural Trees
Arxiv
4+阅读 · 2018年12月10日
Arxiv
7+阅读 · 2018年5月23日
Top
微信扫码咨询专知VIP会员