机器学习常见的六大错误

简介:

现一个key-value的数据库,那么有很多种模式都可以实现,但是他们最终所达到的效果却是千差万别的。同样,在机器学习领域,如果我想实现一个分类器,也有很多种算法,但是每种算法都对数据做了不同的前提假设。

曾经当我们处理少量数据的时候,我们往往可以先设计若干种算法,然后每种都测试一下,选择一种最优的方法,但是当面对大数据时,我们就需要转变一下思路,首先对数据进行分析,然后选择一种模型对数据进行处理。

在过去,我们经常会发现,很多人都沉迷于某一种模型,无论遇到任何问题他们都会选择同样的模型来解决问题,而原因仅仅是他们擅长这个模型,而不是数据适合这个模型。在这篇文章中,主要会来陈述下在机器学习时常见的几种错误。

1. 使用模型默认的损失函数

损失函数是一个机器学习算法的核心,损失函数决定了最终优化后得到的参数以及模型本身。在不同的业务场景下,优化的目标应该是不同的。例如我在珍爱网做付费用户预测时,由于付费用户本身数量级就不大,所以我宁可误判十个,也不能错过一个。所以这个时候我们就需要去修改分类器模型的损失函数。

2. 无根据地选择线性模型

这个同样是我很常遇到的同事会犯的错误。遇到一个分类问题,二话不说就上逻辑回归,其实原因很简单,就是因为逻辑回归效率高,实现容易。但是大家往往都忽略了一点,逻辑回归本身就是一个线性模型,但是真实数据是否线性可分却是我们未知的情况。其实我个人认为,由于高维数据下判断数据是否线性可分几乎是一个不现实的任务,所以我个人的经验往往是先使用逻辑回归做一次分类,但是同时也会采用决策树,或者SVM等非线性模型来对该数据进行重新的分类比对。(我不知道是否有更好的方法)

话说在大数据情况下,很多人都来和我讲现在都提倡海量数据+线性模型,但是我个人认为这句话是有误的,线性模型的成立并非建立在海量数据的基础上,而是建立在海量特征的基础上,说的更恰当些,应该是建立在更好的特征工程的基础之上。

3. 忽视异常值的意义

异常值是个很有趣的事情,让你又爱又恨。我记得之前在统计之都上看过一篇文章对我启发很大,说曾经我们都愿意把异常值直接给丢掉,但是我们却忘记了异常值并非错误值,而同样是真实情况的表现,我们之所以认为异常,只是因为我们的数据量不足够大而已。文中还举了一个例子,说我们用计算机来模拟高斯分布,也一样会模拟出一些数据点落在N个标准差之外,而我们并不能说这是异常点,因为如果我们把这些点删除掉,这就不是一个高斯分布了。所以异常值很多情况下非但不能丢掉,还需要引起我们的足够重视和分析,例如网站的收入突然增长。
但是我们又要注意这个异常值是否是错误值,如果是错误值,这个时候我们就应该想办法把这些错误值去掉,因为这些错误往往会影响我们实际的模型效果。如果当训练数据中包含一些异常值的时候,我们就需要考虑模型的敏感性了,例如AdaBoost, Kmeans这种就属于对异常值很敏感的机器学习模型。

4. 不考虑n和p的关系

n: 训练数据的数量。p: 特征的数量。SVM核函数的一个关键概念就是维度提升,如果当n << p的时候,还依然采用SVM来选定模型,那么就必然会导致p进一步增加,于是导致特征的参数中自由变量增加,必然会对分类的效果产生很大的影响。

5. L1 / L2 正则化之前并没有对特征进行标准化

这个道理很简单,如果你的每个特征是处在不同的区间时,你是没办法去做L1/L2的正则化的,举个例子,x1 代表年龄,x2 代表收入,如果我采用一个广义的线性模型,比如 Y = f(ax1 + bx2),然后x1大小范围是10-50,x2大小范围是5000 – 100000,a和b根本就没办法在一个量级上,这时正则化一定是有问题的。

6. 变量之间的共线性问题

当特征变量之间产生共线性时,产生最大的问题就是让线性模型的参数是无法解释的,正常来说线性模型的参数权重基本就代表了该特征变量的重要性,但是如果共线性,那么这个意义就失效了。但是我也并不知道这个有什么特别好的解决方法,因为当特征增加时,特征之间的共线性(或者说相关性吧,这样更泛一些)几乎是不可避免的。


本文转自ZH奶酪博客园博客,原文链接:http://www.cnblogs.com/CheeseZH/p/4096546.html,如需转载请自行联系原作者

相关文章
|
25天前
|
机器学习/深度学习 存储 人工智能
揭秘机器学习背后的神秘力量:如何高效收集数据,让AI更懂你?
【10月更文挑战第12天】在数据驱动的时代,机器学习广泛应用,从智能推荐到自动驾驶。本文以电商平台个性化推荐系统为例,探讨数据收集方法,包括明确数据需求、选择数据来源、编写代码自动化收集、数据清洗与预处理及特征工程,最终完成数据的训练集和测试集划分,为模型训练奠定基础。
37 3
|
3月前
|
机器学习/深度学习 人工智能 数据处理
【人工智能】项目实践与案例分析:利用机器学习探测外太空中的系外行星
探测外太空中的系外行星是天文学和天体物理学的重要研究领域。随着望远镜观测技术的进步和大数据的积累,科学家们已经能够观测到大量恒星的光度变化,并尝试从中识别出由行星凌日(行星经过恒星前方时遮挡部分光线)引起的微小亮度变化。然而,由于数据量巨大且信号微弱,传统方法难以高效准确地识别所有行星信号。因此,本项目旨在利用机器学习技术,特别是深度学习,从海量的天文观测数据中自动识别和分类系外行星的信号。这要求设计一套高效的数据处理流程、构建适合的机器学习模型,并实现自动化的预测和验证系统。
64 1
【人工智能】项目实践与案例分析:利用机器学习探测外太空中的系外行星
|
3月前
|
机器学习/深度学习 算法 自动驾驶
揭秘机器学习模型的决策之道
【8月更文挑战第22天】本文将深入浅出地探讨机器学习模型如何从数据中学习并做出预测。我们将一起探索模型背后的数学原理,了解它们是如何被训练以及如何对新数据进行预测的。文章旨在为初学者提供一个清晰的机器学习过程概述,并启发读者思考如何在自己的项目中应用这些技术。
|
6月前
|
机器学习/深度学习 人工智能 并行计算
人工智能平台PAI产品使用合集之机器学习PAI中特征重要性的原理不知道如何解决
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
3月前
|
机器学习/深度学习 PyTorch TensorFlow
机器学习框架调研
机器学习框架调研
37 1
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
🔬技术宅必看!AI Prompt深度解析,商业数据分析的科学魔法
【8月更文挑战第1天】在快速发展的科技领域中, AI Prompt 正革新商业数据分析方式。它通过自然语言指令, 驱动 AI 模型实现数据洞察。本文探讨 AI Prompt 的定义、原理及其在商业分析中的应用。**最佳实践包括**: 精准设计 Prompt 以确保清晰具体的指令; 结合领域知识优化 Prompt, 提升分析准确性; 采用迭代法, 根据反馈持续改进模型性能。掌握 AI Prompt 技术, 不仅提高效率, 更能洞察商机, 创造价值。
117 0
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】机器学习:人工智能中实现自动化决策与精细优化的核心驱动力
【机器学习】机器学习:人工智能中实现自动化决策与精细优化的核心驱动力
|
5月前
|
机器学习/深度学习 人工智能 算法
【机器学习】AI在空战决策中的崛起:从理论到实践的跨越
【机器学习】AI在空战决策中的崛起:从理论到实践的跨越
190 0
|
机器学习/深度学习 数据采集
北大团队将色谱领域知识融入机器学习模型,辅助对映体色谱分离
北大团队将色谱领域知识融入机器学习模型,辅助对映体色谱分离
170 0
北大团队将色谱领域知识融入机器学习模型,辅助对映体色谱分离
|
机器学习/深度学习 人工智能
阿里云产品体系分为6大分类——人工智能——分为10种模块——机器学习平台
阿里云产品体系分为6大分类——人工智能——分为10种模块——机器学习平台自制脑图
241 1
下一篇
无影云桌面