在机器学习者中很难找到技能?

机器算法验证 机器学习 数据挖掘
2022-01-20 00:00:52

似乎数据挖掘和机器学习变得如此流行,以至于现在几乎每个 CS 学生都知道分类器、聚类、统计 NLP 等。所以现在找到数据挖掘者似乎并不是一件难事。

我的问题是:数据挖掘者可以学习哪些技能使他与其他人不同?让他成为一个不容易找到的像他这样的人。

4个回答

我多次看到开发人员使用 ML 技术。这是通常的模式:

  1. 下载具有花哨名称的库;
  2. 花 10 分钟阅读如何使用它(跳过任何统计、数学等);
  3. 向其提供数据(无预处理);
  4. 测量性能(例如,即使类完全不平衡也能准确)并告诉大家它的 99% 准确率有多棒;
  5. 部署在生产环境中并产生史诗般的失败结果;
  6. 找一个了解正在发生的事情的人来帮助他们,因为说明手册根本没有意义。

简单的答案是(大多数)软件工程师在统计和数学方面非常薄弱。这是任何想与他们竞争的人的优势。当然,如果统计人员需要编写生产代码,他们就会离开他们的舒适区。真正罕见的角色是数据科学家。可以编写代码来访问和处理大量数据从中找到价值的人。

它是关于什么的

仅仅了解技术就像了解动物园里的动物——你可以命名它们,描述它们的特性,也许在野外识别它们。

了解何时使用它们,在应用程序领域内制定、构建、测试和部署工作数学模型,同时避免陷阱——在我看来,这些是区分的技能。

重点应该放在科学上,对商业、工业和商业问题应用系统的、科学的方法。但这需要比数据挖掘和机器学习更广泛的技能,正如 Robin Bloor 在“数据科学咆哮”中令人信服地论证的那样。

那么一个人能做什么呢?

应用领域:了解与您或您的雇主感兴趣的各种应用领域。与了解模型是如何构建的以及如何使用它为该区域增加价值相比,该区域通常没有那么重要。在一个领域取得成功的模型通常可以移植并应用于以相似方式工作的不同领域。

比赛:尝试数据挖掘比赛网站Kaggle,最好加入其他人的团队。(Kaggle:预测建模竞赛的平台。公司、政府和研究人员展示数据集和问题,世界上最好的数据科学家竞相提出最佳解决方案。)

基础知识:有四个:(1)扎实的统计学基础,(2)相当好的编程技能,(3)理解如何构建复杂的数据查询,(4)构建数据模型。如果有任何弱点,那么这是一个重要的起点。


在这方面引用几句:

``我很早就知道知道某事的名称和知道某事之间的区别。你可以用世界上所有的语言知道一只鸟的名字,但是当你完成后,你对这只鸟一无所知......所以让我们看看这只鸟,看看它在做什么——那就是什么才是最重要的。''——理查德·费曼(Richard Feynman),“科学家的形成”,第 14 页,你在乎别人怎么想,1988 年

记住:

``执行这些商业科学[数据科学]项目所需的技能组合很少集中在一个人身上。确实有人可以在以下三个方面获得广泛的知识:(i)业务做什么,(ii)如何使用统计数据,以及(iii)如何管理数据和数据流。 如果是这样,他或她确实可以声称自己是特定领域的商业科学家(又名“数据科学家”)。但这样的人几乎和母鸡的牙齿一样罕见。''——Robin Bloor,数据科学咆哮,2013 年 8 月,内部分析

最后:

“地图不是领土。”——Alfred Korzybski,1933 年,《科学与理智》。

最真实的、应用的问题不能仅从“地图”中获得。要用数学建模做实际的事情,必须愿意对细节、微妙之处和例外感到肮脏。没有什么可以代替对领土的第一手了解。


我同意所说的一切。对我来说突出的是:

  1. 很少有机器学习“专家”对他们想要应用 ML 的主题真正感兴趣
  2. 很少有人真正了解预测准确性和正确的评分规则
  3. 了解验证原则的人有多少
  4. 很少有人知道何时使用黑盒与传统回归模型
  5. 似乎没有一个“专家”研究过贝叶斯最优决策或损失/效用/成本函数[这种缺乏理解几乎在有人使用分类而不是预测风险的任何时候都表现出来]

这里有几件事可以让你在人群中脱颖而出:

  • 了解应用程序域或域。也就是说,业务环境或其他上下文。
  • 了解大局。这个非常重要!学习机器学习的人经常迷失在细节中。考虑一下您的 ML 模型将融入的整体情况。通常,ML 部分只是更大系统的一小部分。了解整个系统。
  • 研究效用和决策理论以及贝叶斯推理,而不仅仅是现在被认为是“通常”的 ML 模型。贝叶斯推理只是形式化将所有上下文信息用于解决问题的概念的一种方式。效用和决策理论是关于将价值带入画面。

适用于所有三点的总体信息:看大局,不要迷失在细节中。