希望进入机器学习领域的程序员


19

我是一名软件开发人员(主要是.NET和Python大约5年的经验)。我可以做些什么来帮助我在机器学习领域找到一份工作,或者实际上有什么可以帮助我在该领域开始的?研究生学位是硬性要求吗?


2
这个问题似乎是社区维基问题。
Andrew

Answers:


16

每当我与某人谈论学习更多的机器学习时,他们总是将我引向Hastie和Tibshirani撰写的《统计学习要素》。本书的幸运之处在于可以免费在线获得(印刷版的确具有一定的吸引力,但不是必需的),它是对该主题的绝佳介绍。我还没有阅读所有内容,但是我已经阅读了很多内容,它确实帮助我更好地理解了事情。

我一直在学习的另一个资源是斯坦福机器学习课程,该课程也是在线且免费的。吴安德(Andrew Ng)在引导您完成事情方面做得很好。我发现它特别有用,因为我在实现算法方面的背景很薄弱(我是一个自学成才的程序员),它向您展示了如何在Octave中实现事物(被授予的R已经在程序包中实现了很多)。几个月前,我还在reddit统计信息中找到了这些注释,因此我会略过这些注释,然后观看视频并用自己的注释进行反思。

我的背景是统计学,我接触过机器学习概念(确实是我的一个好伙伴),但是我一直觉得自己在机器学习方面缺乏,所以我一直在尝试学习所有知识我自己多一点。值得庆幸的是,这里有大量的宝贵资源。

就获得行业或研究生院的要求而言,我没有很好的建议(事实证明我从未雇用过任何人),但我注意到商业世界似乎真的很喜欢能干事情的人。不太关心那些说你可以做的纸。

如果我是您,那么我会花一些空闲时间来对我的机器学习知识充满信心,然后在您发现机会时实施一些事情。授予您职位可能不会给您机会,但是,如果您能够实施能够为公司增加价值的东西(同时又履行其他义务),那么我无法想象有人会对您感到不满。这里的好处是,如果您发现自己在这项工作中做了一些机器学习,那么当您外出寻找一份新工作时,您可以谈论自己已经拥有的经验,这将帮助人们摆脱缺乏特定技能的局面。学位。

有很多资源,其资源非常有趣,祝您好运!

另一个想法:您可以建立一个有关机器学习学习过程的博客,或者记录空闲时间从事的一些项目。我已经完成了一个编程项目,它使您可以在闲暇时间谈论您正在从事的项目(对雇主来说看起来不错),也可以将他们定向到博客(显然保持专业) 。到目前为止,我已经派出了很多人到我笨拙的编程小博客上(最近我有点懒惰,但是我在申请工作时一直保持最新),与我交谈的每个人都印象深刻它。


(+1)个很好的建议,尤其是关于ML级,实际知识/工作>证书和博客的建议。
steffen 2012年

专业的博客听起来确实是个好主意!
Rishi Dua 2014年

“商业世界似乎真的很喜欢可以做事的人”-是的,即使在纸上也是如此:)在任何情况下,请做一些可以向他们展示的事情。
P.Windridge '16

统计学习的要素虽然很全面,但是对于那些没有统计学学位的人来说是困难的。相反,我推荐同一位作者撰写的《使用(R中的应用程序)进行统计学习入门》。这要简单得多。
Abhishek Divekar'3

3

除了建议您采取的其他所有其他出色建议之外,您还可以通过参加在线竞赛来弄清您的想法,请参见站点进行预测性建模竞赛

关于书籍等,您应该看一下:

关于学位,我同意@asjohnson的观点,证书的重要性不大,至少我可以针对我所从事的领域(网络上的Data Mining / ML)进行确认。但是,对于更多的“学术”领域,例如生物信息学,可能有所不同。能够证明自己是a)热情的,并且b)通过炫耀一小部分作品集(例如,在线比赛...)已经完成了实际工作(“聪明地把事情做好”)的,应该是更有效的恕我直言。


(+1)用于在线比赛。我认为,如果您从kaggle或其他竞争活动中进行了一些工作,并且在潜在雇主可以检查的地方跟踪了您的代码和过程(我在想博客)。它会显示出很多创意,并且在许多方面都比思考自己感兴趣的问题容易。只需选择一个您感兴趣的比赛,然后您就可以在那里获得数据,并有一个提交和比较答案的地方。
asjohnson 2012年

2

阅读Tom Mitchell的机器学习。这是一本很好的书,应该让您开始学习机器学习领域。

需要注意的一件事:请注意,根据提供的场景和参数以及随机机会,相同的算法有时可能会更好或更坏。难道不是纠缠于你的训练数据优化的参数-这是机器学习的一个贫穷的应用。

有许多技术适合特定的应用程序(但不是所有应用程序),并且您可以阅读很多理论以更好地理解机器学习。为了擅长机器学习,您需要确保了解自己在做什么,否则您将无法确定结果是否能很好地泛化。

祝好运。


0

有很多有关机器学习的好书,包括O'Reilly系列中的几本使用Python的书。尝试其中的一个或多个可能是一个不错的起点。

我还建议您获得一些统计知识-通过一门课程或一门课程或自学,并不重要。原因是有些机器学习书着重于算法和机制,却忽略了一个基本问题,即算法告诉您的可能性是偶然的。而且,这是必不可少的。

祝你好运,玩得开心,这是一个很棒的领域。


0

非常好的问题。预先意识到的一件事是,机器学习既是一门艺术,也是一门科学,涉及到精心清理数据,对其进行可视化并最终建立适合所讨论业务的模型,同时又要保持其可扩展性和可处理性。在技​​能方面,最重要的是要着眼于概率并在跳到复杂方法之前首先使用简单方法。我更喜欢R&Perl组合,因为您知道python应该足够好。在实际工作中,您总是必须提取自己的数据,因此必须具备SQL(或公司所支持的其他任何非SQL)知识。

ML领域的经验无与伦比,因此参与stackexchange,kaggle之类的网站也是接触该领域的好方法。祝好运。


0

我知道这是一个老问题,但是鉴于我看到许多程序员仍然不知道如何开始的事实。

因此,我创建了“学习成为机器学习工程师的完整日常计划”资源库。

这是我从移动开发人员(自学成才,没有CS学历)到机器学习工程师的为期数月的学习计划。

我的主要目标是找到一种学习机器学习的方法,该方法主要是动手操作的,并且为初学者抽象了大部分数学。这种方法是非常规的,因为它是专为软件工程师设计的自上而下且结果优先的方法。

请随时作出自己的贡献,以使自己变得更好。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.