您想学习机器学习,以便在工作中获得更多机会或找到一份工作。您可能已经是一名数据科学家或机器学习工程师,并希望提升自己的技能。
机器学习技能就像编程技能一样难以被归类(你做不到)。
从数据分析类工作到完整的系统架构和集成,商业中存在着各种各样需要一定数据挖掘和机器学习技能的任务。
尽管如此,正如你可以为有抱负的软件开发者建议的那样,仍然有一些常见的任务和技能是你想要发展的。
在本文中,我们将探讨您可能希望发展的 5 个关键领域,以及您可以在这些领域进行的练习类型。

培养您的机器学习技能 图片来自 Rachel Johnson,保留部分权利
1. 机器学习基础和理论
您应该知道什么是监督学习和无监督学习,以及它们的例子。您应该知道什么是过拟合和欠拟合。
您还应该了解 估计预测模型在未见过数据上的性能的重要性、执行此操作的常用方法 和常见问题。
您还需要了解一些理论基础,包括熟悉使用概率论、线性代数和信息论的符号和算法描述。
您可能需要查阅一些入门书籍,或许还有一些教科书的入门章节。轻松入门,并继续将您学到的知识与您感兴趣的实际问题或数据集联系起来。
2. 机器学习算法
您需要了解机器学习算法。
您可以泛泛而谈,说某种算法适用于某种情况,但大部分都是胡说。 通过大量对算法和算法参数进行实证测试,可以发现好的结果。
您可以而且应该了解的是 有哪些算法、它们属于哪些通用类别以及它们如何工作。
阅读、学习,甚至可以从多个应用和理论来源 构建自己的算法描述。
从头开始实现算法,以便您熟悉任何给定算法实现必须做出的无数微小决策才能可用。
尝试算法。研究它们的行为以及它们的参数对它们的具体影响,并将其泛化到多个标准问题实例上。
3. 机器学习工具
您需要能够完成工作,这需要工具。
您不能每次需要时都从头开始实现一切。这太荒谬了。
您必须了解有哪些工具可用,您可以使用哪些工具,以及何时应该使用它们。
学习一些机器学习工具和库,在实际场景中使用它们来处理标准数据集和竞赛。了解它们的特性。了解它们提供的算法以及这些实现的怪癖。
我至少推荐 Weka、scikit-learn 和 R。我有很多包含技巧的博文,只需搜索即可。
4. 机器学习问题
机器学习算法的近亲是 问题。它们是孪生兄弟,无法分开。
您必须学习机器学习问题。这包括 案例研究,例如竞赛结果和论文中的结果。
它还包括如何解决问题。 机器学习问题解决流程。如何从描述到呈现结果,端到端地处理问题。
此外,您在流程中使用什么工具,在哪个步骤中使用,以及如何将一个步骤的结果带到下一个步骤。每个步骤成功的标准是什么。
如果您来自工程背景,那么算法会很容易,而解决问题则需要学习和努力。您必须成为科学家,提出假设并客观地进行测试。
编程不需要这种技能(嗯,找出错误可能是一个例外)。
5. 保持最新
您必须保持最新。
当然,这包括运行一些深度学习,因为这是当前的热门潮流。它很可能能在您正在努力解决的难题上提供最先进的结果。
这也意味着要跟上新闻、工具的开发(更新日志、会议等)、理论和算法(研究论文、博客、会议视频等)。
技术变化很快,这是高科技。它变化更快。拥抱并培养这种变化。
总结
这是一篇简短的帖子,但我认为它很重要。
我们讨论了您应该培养的 5 个机器学习领域,以实现您在该领域的目标。
这五个领域分别是:
- 机器学习基础和理论:建立扎实的定义、术语、原理和理论基础。
- 机器学习算法:阅读和学习算法,从头开始实现算法,并对其进行实验,以建立对它们如何工作和为什么工作的直观理解。
- 机器学习工具:学习并实际使用机器学习工具和库,以高效地利用您的时间。
- 机器学习问题:研究问题案例研究,并持续研究应用机器学习(或 KDD 或您想称之为任何名称)的过程。
- 保持最新:让自己及时了解算法、问题、工具甚至炒作。期望一切都在不断发展。
您不能一次完成所有事情,选择一个领域,花一些时间,然后换一个。
您目前正在培养这五个领域中的哪一个?
感谢分享,Jason。您的指导非常有效。
谢谢 Anurag
我有一个稍微不同的看法——我认为重点应该放在理解业务问题上,避免通过算法的视角来看待。在多个项目中,团队似乎是预先设定的锤子在寻找钉子,我认为这是根本问题。
你好,Jason。
我想学习机器学习,并且对此充满热情。
那么,您能给我一个机器学习的路线图吗?需要哪些东西以及开始机器学习的步骤。
我现在正在学习 Python。
是的,就在这里。
https://machinelearning.org.cn/start-here/