0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

机器学习实践中常见的七种错误盘点

Hx 作者:工程师陈翠 2018-06-30 05:36 次阅读

机器学习领域,每个给定的建模问题都存在几十种解法,本文作者认为,模型算法的假设并不一定适用于手头的数据;在追求模型最佳性能时,重要的是选择适合数据集(尤其是“大数据”)的模型算法。

统计建模和工程开发很相似。

在工程开发中,人们有多种方法搭建一套键-值存储系统,每种设计针对使用模式有一套不同的假设。在统计建模中,也有很多算法来构造一个分类器,每种算法对数据也有各自的假设集合。

当处理少量数据时,因为实验成本很低,我们尽可能多的尝试各种算法,从而选出效果最优的算法。但提到“大数据”,提前分析数据,然后设计相应“管道”模型(预处理,建模,优化算法,评价,产品化)是事半功倍的。

正如在我以前的文章里提到,每个给定的建模问题都存在几十种解法。每个模型会提出不同的假设条件,我们也很难直观辨别哪些假设是合理的。在业界,大多数从业人员倾向于挑选他们熟悉的建模算法,而不是最适合数据集的那个。在这篇文章中,我将分享一些常见的认识误区(要避免的)。在今后的文章中再介绍一些最佳实践方法(应该做的)。

1. 想当然地使用默认损失函数

很多从业者喜欢用默认的损失函数(比如平方误差)来训练和选择最优模型。事实上,默认的损失函数很少能满足我们的业务需求。拿诈骗检测来说。当我们检测诈骗交易时,我们的业务需求是尽量减少诈骗带来的损失。然而现有二元分类器默认的损失函数对误报和漏报的危害一视同仁。对于我们的业务需求,损失函数不仅对漏报的惩罚要超过误报,对漏报的惩罚程度也要和诈骗金额成比例。而且,诈骗检测的训练数据集往往正负样本极度不均衡。在这种情况下,损失函数就要偏向于照顾稀少类(如通过升/降采样等)。

2. 用普通线性模型处理非线性问题

当需要构建一个二元分类器时,很多人马上就想到用逻辑回归,因为它很简单。但是,他们忘记了逻辑回归是线性模型,非线性因素的交叉特征需要靠手工编码处理。回到刚才诈骗检测的例子,要获得好的模型效果,就需要引入“帐单地址=送货地址 && 交易金额《$ 50”之类的高阶交叉特征。因此,在处理包含交叉特征的问题上我们应该尽可能选择非线性模型,比如有核函数的SVM,或者基于树的分类器。

3.忽视异常值

异常值很有意思。根据上下文情况,它们要么需要被特别处理,要么应该被完全忽略。就拿收入预测来说。如果观察到收入有异常尖峰,我们可能要加倍注意他们,并分析是什么原因造成这些峰值。但如果异常值是由于机械误差、测量误差或者其它任何非普遍化因素导致的,那我们最好在准备训练数据之前过滤掉这些异常值。

有些模型算法对异常值非常灵敏。比如,AdaBoost 会对它们“倍加关注”,赋予一个相当大的权重值。相反,决策树就简单地把它们当做错误分类来处理。如果数据集包含相当数量的异常值,那么,使用一种具有异常值鲁棒性的建模算法或直接过滤掉异常值是非常重要的。

4. 样本数远小于特征数时使用高方差模型

SVM是最流行的建模算法之一,它的强大功能之一就在于用不同核函数去拟合模型。SVM内核被认为是可以自发组合现有特征,从而形成更高维度特征空间的方法。由于获得这项强大功能的代价几乎忽略不计,大多数人在训练SVM模型时默认使用核函数。然而,当训练样本数远远少于特征维度时(n《《p)—— 常见于医学数据——高维特征空间数据过拟合风险会随之增加。事实上,在上述情况下我们应该完全避免使用高方差模型。

5. 不做没有标准化的L1/L2正则化

使用L1或L2正则化是线性回归或逻辑回归惩罚权重系数值过大的常用方法。然而,许多人在使用这些正则化方法时都没有意识到标准化的重要性。

再回到诈骗检测,设想一个把交易金额作为特征的线性回归模型。如果不做正则化,当交易金额以美元为单位时,其拟合系数将会是以美分为单位时的100倍。同时,因为L1/L2正则化对系数值大的项惩罚更重,美元作为单位时交易金额这个维度将会受到更多的惩罚。因此,正则化并不是一视同仁,它往往在更小尺度上惩罚特征。为了缓解这一问题,需要在预处理过程中标准化所有特征,使它们处在平等的位置。

6.不考虑线性相关就使用线性模型

假设构建一个含有X1和X2两个变量的线性模型,真实的模型是Y = X1 + X2。理想情况下,如果数据仅含有少量噪点,线性回归模型能够还原真实模型。然而,如果X1和X2存在线性相关,对于大多数优化算法而言,无论Y = 2 * X1 , Y = 3 * X1-X2 还是 Y = 100 * X1-99 * X2效果都一样好。尽管这个问题没有造成我们预测的偏差,看上去它似乎并无大碍。但是,它使问题变得病态了,因为系数权重无法得到解释。

7. 把线性模型或者逻辑回归模型系数的绝对值解释为特征重要性

因为很多现成的线性回归方法返回每个系数的p值,很多人就认为系数的绝对值越大,对应的特征就发挥更大作用。事实并非如此,因为(一)缩放变量就会改变系数绝对值;(二)如果特征是线性相关的,其系数可以从一维特征转移到另一维特征。此外,数据集包含的特征维度越多,特征之间就越有可能线性相关,用系数解释特征重要性就越不靠谱。

以上就是机器学习实践操作中的7个常见错误。这个列表并不完整,它只是激发读者去思考,模型算法的假设并不一定适用于手头的数据。在追求模型最佳性能时,重要的是选择适合数据的模型算法,而不是你最熟悉的那个。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器学习
    +关注

    关注

    66

    文章

    8382

    浏览量

    132455
收藏 人收藏

    评论

    相关推荐

    音箱七种内部结构图及应用设计

    本文首先介绍了音箱的工作原理,其次介绍了音箱的组成部分,最后介绍了七种音箱内部结构图。
    的头像 发表于 05-24 09:31 22.2w次阅读
    音箱<b class='flag-5'>七种</b>内部结构图及应用设计

    盘点PCB设计中的常见错误

    搞技术,难免存在错误,只有经历过错误,才能更快地成长。PCB设计也一样,今天就来盘点一下PCB设计中最常见错误
    的头像 发表于 01-12 09:53 1353次阅读
    <b class='flag-5'>盘点</b>PCB设计中的<b class='flag-5'>常见</b><b class='flag-5'>错误</b>

    二极管的七种用法

    二极管的七种用法
    发表于 09-24 16:46

    《从实践中学习嵌入式Linux操作系统》高清PDF资源分享!

    。重视应用是贯穿全书的最大特点,在各章和全书结尾分别设置了在项目实践中常见和类似的应用实例。  本书可作为大学院校电子、通信、计算机、自动化等专业的嵌入式linux开发课程的教材,也可供嵌入式开发
    发表于 11-01 16:23

    基于proteus的七种跑马灯效果的实现

    本文介绍了在Proteus软件中实现联合仿真51单片机实现七种跑马灯效果。七种跑马灯效果,惊喜不断!
    发表于 12-18 13:44 2.1w次阅读
    基于proteus的<b class='flag-5'>七种</b>跑马灯效果的实现

    微机原理8086的七种寻址方式

    8086有七种寻址方式:立即数寻址方式 、寄存器寻址方式 、直接寻址方式 、寄存器间接寻址方式 、寄存器相对寻址方式 、基址变址寻址方式 、相对基址变址寻址方式。
    发表于 02-01 10:09 3.2w次阅读
    微机原理8086的<b class='flag-5'>七种</b>寻址方式

    一文带你了解七种视频接口的传输距离是多少

    本文首先介绍了视频接口的作用,其次介绍了视频监控常见视频传输方式,最后详细介绍了七种视频接口的传输距离。
    发表于 05-22 16:00 6334次阅读
    一文带你了解<b class='flag-5'>七种</b>视频接口的传输距离是多少

    浅析机器学习建模中常见的7个误区

    Cheng-Tao Chu总结了机器学习建模中常见的误区,提醒读者注意算法的假定未必适合手头的数据。
    的头像 发表于 07-28 09:27 3564次阅读

    机器学习研究中常见大谣传总结

    学习深度学习的过程中,我们常会遇到各种谣传,也会遇到各种想当然的「执念」。在本文中,作者总结了机器学习研究中常见
    的头像 发表于 02-26 14:05 2818次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>研究<b class='flag-5'>中常见</b>的<b class='flag-5'>七</b>大谣传总结

    七种段码字库资料分享

    段码字库,七种段码字库资料包免费下载。
    发表于 04-15 14:14 10次下载

    智能制造的七种形式

    通过使用机器学习、数字孪生、虚拟现实和其他几项前沿技术,智能制造创造了最佳的生产条件。本文对智能制造的七种形式进行了全面的综述,希望能让你深入了解这种新的制造模式,以及它如何推动创新和业务增长。
    的头像 发表于 11-30 15:34 2556次阅读

    PCB设计工作中常见错误有哪些?

    一站式PCBA智造厂家今天为大家讲讲怎pcb设计过程中常见错误有哪些?PCB设计过程中常见错误归纳。接下来为大家介绍下PCB设计过程中常见
    的头像 发表于 05-23 09:02 1444次阅读
    PCB设计工作<b class='flag-5'>中常见</b>的<b class='flag-5'>错误</b>有哪些?

    机器学习构建ML模型实践

    实践中机器学习:构建 ML 模型
    的头像 发表于 07-05 16:30 684次阅读

    深度学习七种策略

    深度学习七种策略 深度学习已经成为了人工智能领域的热门话题,它能够帮助人们更好地理解和处理自然语言、图形图像、语音等各种数据。然而,要想获得最好的效果,只是使用深度学习技术不够。要获
    的头像 发表于 08-17 16:02 1895次阅读

    七种编程语言的学习曲线

    程序员 Dobiasd 绘制七种编程语言的学习曲线图。 这些语言是:JavaScript、Java、C++、Python、Lisp、Haskell、PHP
    的头像 发表于 08-29 17:18 926次阅读
    <b class='flag-5'>七种</b>编程语言的<b class='flag-5'>学习</b>曲线