感觉卡在初学者上 - 中级

数据挖掘 机器学习 深度学习 自习 图书
2022-03-14 15:21:50

在过去的两年里,我一直在一家政府公司担任全职数据科学家。作为组织中唯一的数据科学团队,我们的工作是数据科学和机器学习工程的混合体。我们需要针对组织的业务问题研究和开发机器学习解决方案,并在生产环境中实施它们。问题是我在知识方面感到困惑,我不知道我能做些什么。让我解释。

我主修计算机科学(B.Sc)。虽然我在专业期间学习了一些 AI/ML 课程,但我将大部分数据科学教育贡献给了这本精彩的书“Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow”。在组织的过去两年中,我在该领域获得了很多经验:我设法为组织的几个业务问题带来了一些公平但远非完美的机器学习解决方案。

但是,唉,我仍然觉得我错过了阻碍我前进的一大块拼图。我觉得我被困在初学者和中级数据科学家之间。我对基本的机器学习模型及其基本直觉和算法了如指掌。我知道深度学习的基础知识以及如何在 keras/tensorflow/pytorch 中实现它们。我了解 CNN、RNN 和其他基本的深度学习架构。我对 pandas、numpy 和所有其他常见的数据预处理\争论\可视化库非常多产。然而,尽管如此,我还是无法摆脱我错过了一些重要的东西的感觉。这将对我之前研究的机器学习问题产生影响,并将专业数据科学家与我区分开来。有时我觉得,由于缺乏更好的术语,“堆栈溢出”数据科学家。我的意思是,每一个问题都是一样的——我对数据进行了一点预处理(没有太花哨或高级),我尝试了几个基本的机器学习模型(通常随机森林\梯度提升效果最好),然后我试着看看是否我可以通过深度学习方法获得更好的结果。最后,我将做一些超参数优化,并开始在生产中实现这个模型的过程。

我知道主要嫌疑人是我不太好的数学/统计知识,但真的吗?显然,我知道模型背后的基本数学(并不是说我认为它在这一点上真的很重要),并且我知道统计学中的基本概念。作为一名数据科学家,改进其中任何一个领域是否会真正提高我在日常工作中的表现?因为老实说,我不认为这是答案。我不打算攻读计算机科学硕士学位。我正在寻找更多有用的书籍、在线课程或其他任何可能有帮助的东西。

总结一下:我怎样才能“逃离”这个初学者领域并成为下一个级别的数据科学家/ml 工程师?除了为每个问题做基本和明显的事情之外,它还可以带来一些独特的东西。

我真的很感激对此的任何建议。提前致谢。

3个回答

恐怕你的问题很有可能会被关闭,但这里有一些想法:

将专业数据科学家与我区分开来

专业的数据科学家是以从事数据科学为生的人,所以你绝对属于这个俱乐部,恭喜!

说真的,显然,你至少有一些冒名顶替综合症的症状:你的水平合适,你能做你的工作,但你觉得自己不够格。关于 AcademiaSE (这在学术界很常见)的通常建议是处理心理方面的问题,也可以选择一些专业帮助。

现在谈谈“真正的专业数据科学家”的神话:数据科学已经变得广泛而专业。数据科学的范围甚至没有一个明确的定义,更不用说对数据科学家应该具备哪些知识/技能达成共识了。此外,该领域变化非常快,因此人类不可能知道所有事情。

人们通常建议的是尽可能多地获得经验,尤其是在你的情况下,因为看起来你已经很好地涵盖了这个理论。您可以选择一个您想深入研究的主题并进行深入研究。

作为记录,我发现在 DataScienceSE 上浏览和回答问题是跟上进度、发现我不知道的事情并取得进步的好方法。你问为什么回答有用?因为它迫使我(1)理解问题并思考如何解决它。一个智能的 ML 设计练习,练习总是很好。(2) 以清晰的方式解释事物,这始终是一个很好的练习,可以检查我的想法有多清晰。

仅仅做另一门在线课程,在线阅读一些东西或添加统计知识来填补你的自我认知差距,并不能解决任何问题。一方面,几乎所有在线课程都只教授基础知识,可能不会为您添加任何内容。另一方面,额外的统计知识或像自动驾驶汽车这样的花哨的东西通常与实际相关性有限。

我的一般建议是从心中的目标开始也就是说,首先考虑您的职业和个人发展路径,然后找到支持该路径的正确构建块。导师或优秀的职业教练 (*) 可以提供帮助。同样,我会与您的雇主讨论您的发展计划是什么。

话虽如此,总的来说,我认为挖掘相关领域的最新研究论文或参加数据科学竞赛是两条(不相互排斥的)潜在途径。但是,请注意,当前的研究可能与您的工作的实际相关性有限,但它可以让您快速了解最先进的方法。虽然竞赛具有很强的特征工程和模型重点,但它们非常实用,可以为你的作品集/简历增添一些东西。


(*) 请注意,教练市场充斥着许多未受过良好训练的业余爱好者

我同意之前的答案所说的并补充说 - 作为一名专业的数据科学家或完全是一名专业人士,有一件事就是能够以有效的方式带来结果。在这个范围内,它可能意味着几件事——

  1. 知道哪些数据是相关的以及是否需要更多数据(可能有用)——除此之外,如何收集这些数据?
  2. 知道问题是否需要 ML 还是基于启发式的方法就足够了?我们中的许多人都失败了。“专业人士”使用正确的工具..
  3. 通过了解应首先解决哪些不确定性来端到端管理项目。
  4. 为项目安排时间并将其分解为里程碑/步骤——尽管项目之间的过程大多相似,但数据集可能带来的不确定性会使这变得困难。
  5. 设计一个不需要永久维护的可持续解决方案。
  6. 将以上所有内容传达给您的同行和利益相关者。

这些都是经验可能带来的东西,可以从其他经验中学习。