文章目录
- 内容介绍
- 新手、初学者
- 初级新手认知
- 中级熟练掌握
- 高级精通、灵活运用
内容介绍
你可以做很多事情来学习机器学习。
有一些资源,比如书籍和课程,你可以参加比赛,你可以使用工具。
在这篇文章中,我想围绕这些活动建立一些结构,并建议在从程序员到机器学习大师的旅途中,对要解决的问题进行一个松散的排序。
机器学习的四个层次
考虑机器学习能力的四个层次。这是一种模式,可以帮助我们思考可用的资源和活动,以及何时才是解决这些问题的好时机。
- 新手、初学者
- 初级新手认知
- 中级熟练掌握
- 高级精通、灵活运用
我想在这里把初学者和新手分开,因为我想证明一个绝对的初学者(一个对这个领域感兴趣的程序员),如果他们愿意的话,他们前面有一条路径。
我们将参观这四个层次的每一个,看看资源和活动,可以帮助一个层次的人学习更多,并提高他们的理解和技能水平。
细分只是一项建议,很有可能在某一级别的活动或资源在某一级别之前或之后是非常有用和适当的,在某一级别的细分。
我认为整体结构是有用的,我很想听听你的想法,在下面留下你的想法。
新手、初学者
初学者是对机器学习有兴趣的程序员。他们可能已经开始读一本书,维基百科网页,或者在一门课程中学了几课,但他们并不是真的“去拿“”还没有。他们感到沮丧,因为他们得到的建议是为中级和高级水平。
初学者需要一个温和的介绍。远离代码教科书和课程。他们需要的原因,什么和如何指出,首先为新手级的材料奠定基础。
初级新手认知
一位新手接触了机器学习领域。他们读过一本书或上过一门课。他们知道他们感兴趣,他们想知道更多。他们已经开始做这件事了,并且想要开始把事情做好。
新手需要做点什么。他们需要付诸行动,使材料扎根并融入现有的知识结构,如他们所知道的编程语言或他们习惯解决的问题。
新手的一些活动和资源是:
- 完成一门课程参加并完成一门类似斯坦福机器学习课程的课程。做很多笔记,如果可能的话完成作业,问很多问题。
- 读一些书不是教科书,而是像上面列出的那些友好的书,目标是初学者程序员。
- 学习工具:学习驱动工具或库,如Scikit-学习, 韦卡, R或者类似的。具体来说,学习如何使用你在一本书或一门课程中读过或学过的算法。看到它的行动,并习惯于尝试的东西,当你学习他们。
- 写一些代码实现一种更简单的算法,如感知器、k近邻或线性回归.编写一些小程序,使方法神秘莫测,并学习使其工作所需的所有微观决策。
- 完整教程遵循并完成教程。开始建立一个小项目目录,你已经完成了数据集,脚本,甚至源代码,你可以回顾,阅读和思考。
中级熟练掌握
一个新手读过一些书,完成了一些课程。他们知道如何驱动一些工具,并编写了大量代码,既实现了简单的算法,也完成了教程。一个中间群体正在自行开发,设计他们自己的项目来学习新的技术,并与更大的社区进行互动和学习。
中间环节是学习如何准确、胜任、可靠地实现和运用算法。他们也在积累大量的时间来处理数据,清理,总结和思考它能回答的问题类型。
这一中间机构的一些活动和资源是:
- 小型项目设计小的编程项目和实验,机器学习可以用来解决一个问题。这就像设计和执行您自己的教程,以便探索您感兴趣的技术。您可以实现一个算法或链接到提供该算法的库。了解更多关于小型项目的信息.
- 数据分析:习惯于探索和总结数据集。自动报告,知道何时使用哪些工具,并查找您可以探索、清理的数据,以及您可以练习技术和交流有趣内容的工具。
- 阅读教科书阅读机器学习教材并将其内化。这很可能需要技能来探索技术的数学描述,并承认描述问题和算法类的形式化。
- 编写插件:为开源机器学习平台和库编写插件和包。这是一个学习如何编写健壮和生产级算法实现的练习。在项目中使用自己的插件,要求社区对代码进行评审,并在可能的情况下将代码包含到平台中。获得反馈和学习是目标。
- 竞赛*参加机器学习竞赛,如与会议有关的竞赛或在以下平台上提供的竞赛卡格尔。参与讨论,提出问题,了解其他实践者是如何处理这个问题的。添加到您可以从中绘制的项目、方法和代码的存储库中。
高级精通、灵活运用
一位高级实践者编写了大量的代码,要么集成了机器学习算法,要么自己实现了算法。他们可能在竞争或书面插件。他们阅读了教科书,完成了课程,对该领域有了广泛的了解,并对他们喜欢的一些关键技术有了深入的了解。
高级实践者构建、部署和维护使用机器学习的生产系统。他们紧跟领域的新发展,热切地寻找和学习从其他像他们一样的一线实践者那里传递的方法和技巧的细微之处。
高级从业员的一些活动和资源如下:
- 自定义算法修改算法以满足他们的需要,这可能涉及为类似的问题领域实现会议和期刊论文中概述的自定义。
- 新算法:根据基本的形式设计全新的方法,以应对他们所面临的挑战。这更多的是为了取得最好的结果,而不是推进领域的前沿。
- 个案研究:阅读甚至重新创建为机器学习竞赛和其他实践者完成的案例研究。这些“我是如何做到的”的论文和帖子通常充斥着关于数据准备、特性工程和技术使用的精妙的专业技巧。
- 方法论进程的系统化,无论是正式的,还是为自己的。他们有办法解决问题并在这一点上取得成果,他们正在积极地寻找方法,进一步完善和改进这个过程,使用提示,最佳实践和新的和更好的技术。
- 研究出席会议,阅读研究论文和专著,与该领域的专家进行交谈。他们可能会把自己的一些作品写出来,然后提交出版,或者把它放到博客上,然后重新开始工作。
- 掌握是连续的,学习不会结束。一个人可以在这段旅程中的任何时刻停下来,绕道而行,成为“竞争人“或”专业图书馆人员“事实上,我期望这样的绕道是正常的。
这种故障可以理解为技术人员从初学者到高级水平的直线路径,这是有意以程序员为中心的。我很想听到对这篇文章的批评,这样我才能把它做得更好。这个细分只是我的建议,如果你发现自己渴望在一个给定的水平上更多的活动要处理的类型。
那么,你是什么级别的人,下一步你要做什么?留下评论!