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

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

3天内不再提示

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

zhKF_jqr_AI 来源:未知 作者:胡薇 2018-07-28 09:27 次阅读

Cheng-Tao Chu总结了机器学习建模中常见的误区,提醒读者注意算法的假定未必适合手头的数据。Chu曾任Google欺诈支付分析首席工程师,LinkedIn搜索相关性负责人,Square欺诈检测负责人,Codecademy数据分析主管,现为都铎投资公司下一代研究、模拟、交易基础设施MacroPipeline的首席架构师。Chu在NIPS 2006的论文“基于多核的机器学习Map-Reduce”引用超过1400次,是开源项目Apache Mahout的基础。

统计建模和工程有许多相似之处。

在工程上,有多种方法构建一个键值存储,而每种设计对使用模式有着不同的假设。在统计建模中,有多种算法构建一个分类器,而每种算法对数据有着不同的假设。

当处理小规模数据时,由于试验的成本较低,尽可能多地尝试各种算法然后选出最好的算法,是很合理的选择。但是当我们碰到“大数据”的时候,事先分析数据并据此设计建模流程(预处理、建模、优化算法、评估、产品化),会有很大帮助。

我在前一篇博客文章就提到了,有几十种方法解决一个给定的建模问题。每种模型有着不同的假定,辨识哪些假设合理,并没有显而易见的方法。在业界,大多数从业人员选择他们最熟悉的建模算法,而不是最适合数据的算法。在这篇文章中,我想要分享一些常见的误区,至于最佳实践,留待以后的文章。

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

很多从业人员在训练和挑选模型的时候使用默认的损失函数(例如,均方误差)。在实践中,默认的损失函数很少对齐业务的目标。就拿欺诈检测来说吧。当尝试检测欺诈性交易时,业务目标是最小化欺诈的损失。而二元分类器的默认损失函数给予假阳性和假阴性同样的权重。为了对齐业务目标,损失函数不仅应该加大惩罚假阴性的力度,同时惩罚假阴性的力度也应该和损失金额成比例。此外,欺诈检测中的数据集通常包含高度失衡的标签。在这些情形下,损失函数需要向罕见类别方向倾斜。

2. 在非线性相互作用中使用原始的线性模型

构建二元分类器时,出于简单性,许多从业人员立刻拿出逻辑回归。不过,很多人忘了,逻辑回归是一个线性模型,因此需要手工编码预测因子中的非线性相互作用。回到欺诈性检测的例子,“账单地址 = 配送地址且交易额 < $50”这样的高阶相互作用特征对良好的模型表现而言不可或缺。所以,这类问题应该考虑非线性模型,比如配有核函数的SVM、基于决策树的分类器这样内置高阶相互作用特征支持的模型。

3. 忘了离群值

离群值值得注意。取决于上下文,它们或者需要特别关注,或者应该完全忽略。以利润预测为例。如果观察到了不同寻常的利率尖峰,对其给予额外关注,查明导致尖峰的原因,应该是个好主意。不过如果离群值是由机制误差、测量误差或其他任何不可推广的原因造成的,那么,在将数据传给建模算法前,过滤掉这些离群值是个好主意。

相比其他模型,一些模型对离群值更敏感。比如,AdaBoost可能会将那些离群值视作“困难”情形,给予离群值巨大的权重,而决策树可能仅仅将每个离群值视作假分类。如果数据集包含相当数量的离群值,需要使用在离群值上鲁棒性好的建模算法,或者过滤掉离群值,这一点很重要。

4. 当n远小于p时使用高方差模型

SVM是最流行的现成的建模算法之一,而其最强力的特性之一是使用不同的核调整模型。SVM的核可以看成一种自动组合现有特征至更丰富的特征空间的方法。由于这一强力特性几乎没什么代价,大多数从业人员在训练SVM模型时默认使用核。然而,当n << p(样本数远小于特征数)时——在业界很常见,比如医疗数据——更丰富的特征空间意味着高得多的过拟合数据的风险。事实上,当n << p时,应该完全避免高方差模型。

5. 使用L1/L2/...正则化时不做标准化

应用L1或L2惩罚大系数是常用的正则化线性回归或逻辑回归的方法。然而,许多从业人员没有意识到在应用这些正则化技术之前标准化特征的重要性。

回到欺诈检测的例子,想象一个交易额特征的线性回归模型。在没有正则化的情况下,如果交易额的单位是元,拟合的参数大概会是单位是分的情况下拟合的参数的一百倍。而在有正则化的情况下,由于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

    文章

    8338

    浏览量

    132273

原文标题:老司机带你避开机器学习那些坑

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    电路设计常见的八误区

    电路设计常见的八误区:现象一:这板子的PCB设计要求不高,就用细一点的线,自动布吧;现象二:这些总线信号都用电阻拉一下,感觉放心些;现象三:CPU和FPGA的这些不用的I/O口怎么处理呢?先让它空着吧,以后再说。
    发表于 12-28 11:46 1385次阅读

    单片机学习中常见的问题和误区

    ,对一些知识把握不准,也不可避免地形成一些误解。根据本人在教学及实践中的探讨和摸索,总结出这些在学习过程中常见的问题和误区并给予分析和纠正。2.单片机学习中的
    发表于 02-09 00:11

    初学单片机常见误区

    学习单片机常见误区
    发表于 04-02 06:20

    电路稳定性设计中常见的几个误区,你都知道吗?

    电路设计不仅有很多技巧,同样也存在很多误区,本文将介绍电路稳定性设计当中的常见误区误区1:产品故障=产品不可靠 产品出现问题,有时候并不是研发的问题,曾经有案例,面向国内中等以上发达
    发表于 12-18 07:00

    10常见的_Android_新手误区

    10常见的_Android_新手误区
    发表于 03-19 11:23 0次下载

    从零到python机器学习大神的7步骤

    有许多python机器学习资源在线免费提供,从哪开始?如何进行?从零到python机器学习大神只要7
    发表于 11-15 12:29 1.3w次阅读

    纠正10有关编程的常见误区

    在编程行业,一直流传着很多误区。下面让我们一起来纠正10有关编程的常见误区,以帮助编程初学者或有志成为程序员的人,更理性地认识编程。
    的头像 发表于 02-02 16:02 3309次阅读

    工业机器常见的三大应用误区盘点

    众所周知,机器人投资通常从几万到百万美元,在第一时间作出正确的选择并且避免常见的错误是非常重要的。错误将导致不必要的开支或者任务的延期,接下来小编列出了机器人应用的几大误区,快来看看吧
    的头像 发表于 07-24 11:00 2770次阅读

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

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

    机器学习十大算法精髓总结

    常见机器学习算法是学习映射Y = f(X)来预测新X的Y,这叫做预测建模或预测分析。
    的头像 发表于 05-05 09:21 3719次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>十大算法精髓总结

    机器学习在卫星遥测分析建模中的应用综述

    机器学习在卫星遥测分析建模中的应用综述
    发表于 06-29 16:40 55次下载

    17机器学习的常用算法

    根据数据类型的不同,对一问题的建模有不同的方式。在机器学习或者人工智能领域,人们首先会考虑算法的学习方式。在
    的头像 发表于 08-11 11:20 1755次阅读

    17机器学习的常用算法!

    源自:AI知识干货 根据数据类型的不同,对一问题的建模有不同的方式。在机器学习或者人工智能领域,人们首先会考虑算法的学习方式。在
    的头像 发表于 08-22 09:57 2107次阅读
    17<b class='flag-5'>个</b><b class='flag-5'>机器</b><b class='flag-5'>学习</b>的常用算法!

    消除 AC 驱动器的 8 常见误区

    消除 AC 驱动器的 8 常见误区
    发表于 11-04 09:52 0次下载
    消除 AC 驱动器的 8 <b class='flag-5'>个</b><b class='flag-5'>常见</b><b class='flag-5'>误区</b>

    新手学习单片机最常见的六大误区

    ,扮演着至关重要的角色。然而,学习单片机并非一帆风顺,初学者常常会面临各种挑战和困惑。因此,了解并避免新手常见误区,将有助于使学习过程更加顺利和愉快。新手
    的头像 发表于 03-28 08:03 705次阅读
    新手<b class='flag-5'>学习</b>单片机最<b class='flag-5'>常见</b>的六大<b class='flag-5'>误区</b>!