15年软件架构师经验总结:在ML领域,初学者踩过的5个坑

2022 年 8 月 3 日 机器之心
选自towardsdatascience

作者:Agnis Liukis

机器之心编译
编辑:杨阳

如果你要构建你的第一个模型,请注意并避免这些问题。


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

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


Agnis Liukis 拥有超过 15 年的软件架构和开发经验,他熟练掌握 Java、JavaScript、Spring Boot、React.JS 和 Python 等语言。此外,Liukis 还对数据科学和机器学习感兴趣,他多次参加 Kaggle 比赛并取得好成绩,已达到 Kaggle 比赛大师级别。

以下为文章内容:

在机器学习领域,这 5 个坑,你踩过吗?

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

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

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

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

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

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

2、认为特征越多越好

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

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

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

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

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

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

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

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

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

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

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

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

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

数据泄漏的示例特性

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

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

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

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

原文链接:https://towardsdatascience.com/5-typical-beginner-mistakes-in-machine-learning-3544bd4109b


© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:content@jiqizhixin.com

登录查看更多
0

相关内容

软件架构师是软件行业中一种新兴职业,工作职责是在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划。主导系统全局分析设计和实施、负责软件构架和关键技术决策的人员。
【经典书】数据科学探索,189页pdf
专知会员服务
59+阅读 · 2022年5月16日
【简明书】数学,统计和机器学习的动手入门,57页pdf
专知会员服务
62+阅读 · 2022年3月3日
周志华教授:关于深度学习的一点思考
专知会员服务
121+阅读 · 2021年11月23日
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
194+阅读 · 2020年6月29日
Sklearn 与 TensorFlow 机器学习实用指南,385页pdf
专知会员服务
129+阅读 · 2020年3月15日
【新书】傻瓜式入门深度学习,371页pdf
专知会员服务
188+阅读 · 2019年12月28日
【强化学习】深度强化学习初学者指南
专知会员服务
179+阅读 · 2019年12月14日
新手炼丹经验总结
极市平台
1+阅读 · 2022年7月7日
2022推荐系统序列建模的趋势总结
机器学习与推荐算法
2+阅读 · 2022年6月15日
数据科学家一定要收藏的十个最佳Python库
AI前线
1+阅读 · 2022年3月8日
实践教程 | CNN调优总结
极市平台
3+阅读 · 2022年2月10日
100页机器学习入门完整版,初学者必备!
专知
25+阅读 · 2018年12月18日
推荐 | 掌握这12条经验,对理解机器学习至关重要!(可下载PDF)
机器学习算法与Python学习
11+阅读 · 2018年6月29日
机器学习、深度学习 知识点总结及面试题
全球人工智能
17+阅读 · 2018年1月4日
国家自然科学基金
5+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
4+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
8+阅读 · 2008年12月31日
国家自然科学基金
1+阅读 · 2008年12月31日
Arxiv
0+阅读 · 2022年10月2日
Arxiv
10+阅读 · 2021年2月18日
VIP会员
相关VIP内容
【经典书】数据科学探索,189页pdf
专知会员服务
59+阅读 · 2022年5月16日
【简明书】数学,统计和机器学习的动手入门,57页pdf
专知会员服务
62+阅读 · 2022年3月3日
周志华教授:关于深度学习的一点思考
专知会员服务
121+阅读 · 2021年11月23日
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
194+阅读 · 2020年6月29日
Sklearn 与 TensorFlow 机器学习实用指南,385页pdf
专知会员服务
129+阅读 · 2020年3月15日
【新书】傻瓜式入门深度学习,371页pdf
专知会员服务
188+阅读 · 2019年12月28日
【强化学习】深度强化学习初学者指南
专知会员服务
179+阅读 · 2019年12月14日
相关资讯
新手炼丹经验总结
极市平台
1+阅读 · 2022年7月7日
2022推荐系统序列建模的趋势总结
机器学习与推荐算法
2+阅读 · 2022年6月15日
数据科学家一定要收藏的十个最佳Python库
AI前线
1+阅读 · 2022年3月8日
实践教程 | CNN调优总结
极市平台
3+阅读 · 2022年2月10日
100页机器学习入门完整版,初学者必备!
专知
25+阅读 · 2018年12月18日
推荐 | 掌握这12条经验,对理解机器学习至关重要!(可下载PDF)
机器学习算法与Python学习
11+阅读 · 2018年6月29日
机器学习、深度学习 知识点总结及面试题
全球人工智能
17+阅读 · 2018年1月4日
相关基金
国家自然科学基金
5+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
4+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
8+阅读 · 2008年12月31日
国家自然科学基金
1+阅读 · 2008年12月31日
Top
微信扫码咨询专知VIP会员