专栏首页新智元Reddit热议:一道看似简单的分类基础问题,为何难倒一大片人?

Reddit热议:一道看似简单的分类基础问题,为何难倒一大片人?


新智元报道

来源:Reddit

编辑:大明

【新智元导读】对于已经投入生产流程的二元分类器,应该如何解决数据不平衡的问题?这时无法增补数据,无法重新训练,应该如何处理?这个看似简单的基础问题着实难倒了reddit上的一位网友,他在17次面试中,有15次被这个问题问倒,只好发到reddit上求助,结果引发热烈讨论。

在机器学习领域,二元分类器问题可以说是一个非常基础的领域,基于二元分类器的模型,已经成为目前多个常见分类模型应用构建的基础。但就是这样一个基础问题,最近却难住了一位Reddit网友。他自称对“主要算法和问题都有所了解,并在一些机器学习领域有所擅长”的情况下,被一个二元分类器问题难倒了。

百思不得其解的他将这个问题发到了reddit上求助,结果成了机器学习版面上的头号热帖。

新智元对帖子内容和部分精彩讨论进行了选编:

目前我正在机器学习领域内求职,在所从事的特定领域中,我对所有主要算法都有所了解,并且能够在特定问题(比如时间序列和回归模型)上发挥作用。在通用数据科学中,我已经能在大多数问题上方面很好地应对了(比如概率问题、概念问题,中心均值定理问题等等......)。

最近,我参加了5家公司的面试,在17位面试官(有两位还是科技界的知名人士)中,有15位都向我提出了这个问题,这个问题真的难住了我,这里向大家请教一下。问题是:

假设现在有一个二元分类器(逻辑回归,神经网络等),应该如何处理在生产流程中产生的不平衡的数据集?

一个看似简单的面试基础问题,为何难倒一大片人?

我必须承认,我不知道怎么回答。我知道对于用来衡量模型的评估标准需要小心处理,应该注意精确度和召回率或roc,而不仅仅是精确度。对于采样策略,应该随时进行改变,以反映每个分类。不过上面这些策略和过程都是在训练过程中完成的。

一旦到了生产流程中,在这个问题上就要面临不少困难的处境:

•如果不对训练数据作一些加工,就没有足够的稀疏数据让分类器从中学习到一些东西,这样的话,分类器就只能预测密集数据的分类,往往达不到生产环境要求。

•如果对数据进行了加工,那么面临的情况可能是,训练数据的分布和生产数据的分布是完全不同的,因此训练出的模型不能很好地完成预测(至少我认为,在测试阶段和生产阶段的数据分布不同,会导致灾难性的后果。

这个两难困境要怎样解决?为什么面试官这么喜欢问这个问题?

还有一些跟进问题和一些思路提示,比如:

如果情况确实如此,即数据集不平衡,而且你是在将二元分类器加入生产环节,并且使用了一段时间之后,经测试才发现预测效果不好,你会怎么做?(我的回答是,回到训练环节找问题,重新评估你想使用哪些特征,或找到更多要训练的数据)。

第二个问题是同一个面试官问的:如果现在说的是同一个模型呢,你怎么办?你现在无法获得更多的数据,这时应该怎么办?(我的回答是:是不是考虑l1或l2正则化?但这些方法适用于任何数据集,而不是针对不平衡的数据。调节K层交叉检验的层数呢?好像也不管用.....)

我想是不是可以在训练之后调整分类器,但在实际部署之前,调整到原始的数据分布,而不是在训练期间使用的(下采样或上采样)分布?(我认为,在实际部署模型之前根据知识对模型进行的任何调整,都算是某种形式的再训练。)

关于第二个问题,我之前确实遇到过

(https://stats.stackexchange.com/a/403244/89649)。它只适用于逻辑回归,不适合任何其他二元分类器。那么试试其他分类器怎么样?(在数据不平衡的情况下,逻辑回归是不是唯一合适的算法?)

网友热议:这问题我也经常问,没有标准答案,你答得不错

Reddit网友显然对这个问题并不陌生,在评论中对这个看似简单的基础问题展开了热烈讨论,其中有些人显然是用这个问题面试过不少人,比如:

嗯。这个问题我在面试别人时问过不下20次。

我提出这个问题的主要目的是考察对追求训练精度需求和基于精度的返回(roc)的理解。在采样策略上,其实可以有很多不同选择,包括上采样和下采样,这一点我觉得你理解得不错。一些情况下需要进行数据增补,但一般只涉及少数图像数据集。 最后是寻找损失函数。可以在少数分类错误时对模型进行惩罚,局部损失函数和焦点损失函可以稍有区别。当然你也可以说一些“找更多的数据”这样的废话,不过你的简历可能就要被刷了。 或者你可以说一些其他的内容,比如半监督学习什么的。

还有的网友同样从面试者角度出发,指出这个问题对于不同人群的侧重点是不同的,并对提问者的回答表示了充分肯定。

不同人群关注侧重点不同,看清自己的定位

你已经答得不错了。我在面试时首先会问面试者错误分类成本是否也存在着不平衡。如果没有,就没有需要解决的问题了。 根据面试对象的不同,我认为你的回答的侧重点也应该有所区别。比如:

  • 统计学家最感兴趣的是损失函数
  • 商务人士最希望听到对期望利润的一些估计,以及分类损失函数。
  • 工程师更希望获得更高的精度、返回值等等,因为这些指标大部分解决的是数据不平衡的问题,他们不需要将时间浪费在自己不理解的与商业有关的损失函数和统计学概念上。

还有人表示,向求职者提出这个问题,实际上不是要对方给出答案,而是考察求职者的思维深度和广度以及批判性的思维能力。看看,高度就是不一样。

实际是考察思维深度和广度,而不是答案本身

这是一道非常好的面试问题,可以考察面试人的知识广度和深度,以及批判性思维能力。 这个问题没有任何万能答案,可以100%适用所有情况,所以这个问题其实最终更目的多的是在讨论,而不是追求答案。面试者希望看到你提出一些想法,并解释每个想法的优缺点,他们想深入了解你的一些想法,看看你对这个主题的理解程度究竟如何。然后抛出一些问题,看看你能思考到什么程度。 有些问题,即使用了谷歌搜索,也仍然无法得出正确答案。这通常表明这个问题提得非常之好。

还有人认为,可能是在模型的选择上出了问题,或者学习的特征与任务实际不相适应。

是不是模型选择有问题?

从面试问题的角度来看,我认为这个问题的重点是:仔细考察数据,不能将算法视为黑盒子。 为什么模型在生产过程中表现不佳?是否存在偏离数据(或错误数据)的异常值?训练时的数据与生产过程中观察到的数据遵循相同的分布吗?这两类数据很容易区分吗?机器学习艺术的很大一部分是数据的可视化。 还有,你选择的模型合适不合适?如果是二元分类任务,选择支持向量机(SVM)可以增加鲁棒性,因为它不仅适合单个超平面,而且可以最大化边距。同样,如果数据集太小,可以尝试贝叶斯方法并使用强大的先验数据。是否选择或学习了与任务适合的特征? 说白了,问这个问题是为了看看你以前是不是用过真实的数据

新智元的小伙伴们,不知你们对这个问题怎么看,在面试中是否遇见过?你们又是怎么回答的呢?欢迎在回帖中分享各位的看法。

参考链接:

Reddit:

https://www.reddit.com/r/MachineLearning/comments/c1vxoc/d_17_interviews_4_phone_screens_13_onsite_5/?sort=top

本文分享自微信公众号 - 新智元(AI_era)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-06-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【干货指南】机器学习必须需要大量数据?小数据集也能有大价值!

    深度学习往往需要大量数据,不然就会出现过度拟合,本文作者提出了一些在文本数据量不够大的时候可用的一些实用方法,从而赋予小数据集以价值。

    新智元
  • 22岁复旦学生拿下世界深度学习竞赛冠军:50层ResNet网络

    【新智元导读】 拥有世界上最大的开源车对车(V2V)网络的 Nexar 公布了第二届 Nexar 挑战赛的结果。来自复旦大学的Hengduo Li 拿下冠军。 ...

    新智元
  • 李嘉诚投资芯片企业耐能挖来高通前高管,任首席科学家

    【新智元导读】专注于终端人工智能解决方案的新创公司耐能智慧(Kneron)今日宣布前高通多媒体研发部门总监李湘村担任公司首席科学家,李湘村将领导公司新解决方案团...

    新智元
  • C语言 模2除法

    jianghaibobo
  • 干货 | 从菜鸟到老司机 数据科学的 17 个必用数据集推荐

    编者按:数据集可谓是数据科学的练兵场,不管是对菜鸟入门还是老司机上路,能找到一个好用的数据集无异于如虎添翼。以下是雷锋网整理编译的 17 个常用数据集,并列举了...

    AI科技评论
  • 干货 | 从菜鸟到老司机,数据科学的 17 个必用数据集推荐

    大数据文摘
  • 干货 | 从菜鸟到老司机,数据科学的 17 个必用数据集推荐

    数据集可谓是数据科学的练兵场,不管是对菜鸟入门还是老司机上路,能找到一个好用的数据集无异于如虎添翼。以下是雷锋网整理编译的 17 个常用数据集,并列举了适用的典...

    华章科技
  • 干货 | 从菜鸟到老司机,数据科学的 17 个必用数据集推荐

    编者按:数据集可谓是数据科学的练兵场,不管是对菜鸟入门还是老司机上路,能找到一个好用的数据集无异于如虎添翼。以下是编者整理编译的 17 个常用数据集,并列举了适...

    智能算法
  • 设计农用无人机的十个重要问题和经验总结,工程师必须注意

    无人机的发展已经超出了人们的想象,不再只是某种飞行武器,也不再只是爱好者的玩具,而是更广泛应用在日常生产生活方方面面的多面手,农业就是其中之一。最初的无人机在应...

    机器人网
  • 干货 | 从菜鸟到老司机,数据科学的 17 个必用数据集推荐

    编者按:数据集可谓是数据科学的练兵场,不管是对菜鸟入门还是老司机上路,能找到一个好用的数据集无异于如虎添翼。以下是雷锋网整理编译的 17 个常用数据集,并列举了...

    灯塔大数据

扫码关注云+社区

领取腾讯云代金券