摘要: 作者自学机器学习和人工智能,站在一个初学者的角度来回顾这些经历并编写这篇适合初学者的指南。
我自学过一年机器学习和人工智能,我认为初学者在该领域还没有一个学习的途径,这是我创建这个指南的目的。在过去的几个月里,我试着每天花几个小时了解这个领域,无论是观看Youtube视频还是看各种资料,现在我觉得我有丰富的经验来分享我的见解。我在本指南中收集的所有信息适用于这个领域的初学者。该指南是按照时间顺序进行,而且与我所遇到的大多数指南/学习路径不同,它不需要理解线性代数,偏导数和其他复杂的数学概念。如果你经常在这条路上学习,我相信你可以在三个月内可以达到相当高的水平。以下是学习步骤:
学习Python并用它编写你的算法
我强烈建议先学习Python,因为它不仅非常容易学习,而且几乎支持机器学习中使用的所有优秀库。虽然R语言很有用,但我发现Python更适合初学者。除了基本编程外,对于机器学习,最有用的库是Numpy,Pandas和Matplotlib。
对于那些以前从未写过代码的人,我建议参加多伦多大学(现在是ML / AI最好的大学之一)提供的课程。这需要几周的时间,但这是非常值得的。你通过本课程获得的大部分知识可以应用于任何其他编程语言,唯一的区别是语法。该课程是免费的,可以在这里观看。
对于那些拥有其它语言编程经验的人,只需浏览Python的语法。
现在,在了解Python的基础知识之后,你需要了解我所说的前两个库(Matplotlib可以晚点)。Numpy和Pandas用于修改你使用的数据,而Matplotlib则用于通过图表将这些数据可视化。
Numpy:http : //cs231n.github.io/python-numpy-tutorial/
Pandas:https://pandas.pydata.org/pandas-docs/stable/10min.html
深入了解机器学习的基础知识
如果有一门通用的机器学习课程,它必须是Andrew Ng的课程。虽然对于初学者来说,这门课程可能有点难度,因为它涉及到偏导数等概念。我希望每个人都观看这个视频并做笔记,虽然这不需要编程相关的教程和练习。
链接:https://www.coursera.org/learn/machine-learning
学习各种机器学习算法,并理解如何在真实世界的场景中实现它们
理解没有大学数学知识的机器学习算法是很难的,但是澳大利亚的一个团队解决了这个问题。Kirill Eremenko和Hadelin de Ponteves来自SuperDataScience团队,他们在现实生活中应用简单算法。他们的课程涵盖Python和R,但你只需通过Python教程即可。另外,如果你觉得他们的速度太慢,可以1.25倍的速度看这个课程(我做到了,发现它好得多)。
他们的课程在Udemy上,它可以在这里找到,通常约为10美元。它涵盖了从基本回归算法到深度学习和卷积神经网络的一切。如果你想探索更先进的领域,他们的深度学习课程将在机器学习结束时提供,并且享受90%的折扣。然而,这第二门课程中的概念可能有点先进,缺乏适当的文档,因为它们非常新颖。另外你可以学习谷歌的免费深度学习课程或密歇根州的免费课程。
找到一个特别感兴趣的领域,并深入探索
现在,你已经有广泛的机器学习的概念,并且学到了很多技能,可以帮助你独立完成基础项目。我建议去Kaggle或UCI机器学习资源库尝试不同的算法和优化性能。如果你遇到问题,可以在Stack Overflow提问,发布之后你将在几个小时内得到答复!
另外,我建议你在机器学习的广泛领域找到一个有趣的领域,并深入研究。我推荐的区域有:
计算机视觉:这可能是机器学习/人工智能领域最热门的领域---利用计算机使用特殊类型的神经网络来查看和理解事物。斯坦福大学在线发布他们的课程,在线提供讲座,课程笔记和作业。不要担心数学太复杂,因为这个过程只是为了加深你的知识。另外,你可以看看OpenCV,这是一个计算机视觉库,可以为你做很多复杂的事情,推荐一个教程。完成这些后,请查看Kaggle和UCI上更高级的图像数据集,甚至可以进行Kaggle比赛。
自然语言处理:了解计算机如何学习说话也是今天的一个突出话题。斯坦福大学提供了一个在线课程。如果你不了解一些数学概念,不要担心,只要了解这个领域的工作原理。对于实现,你可以进行这个Udemy课程。另外,你也可以观看一些著名的机器学习者Siraj Raval的视频(如https://www.youtube.com/watch?v=9zhrxE5PQgY)。当你已经完成了这些,可以尝试进行简单的项目,如建立聊天机器人,情感分析或为歌曲创建歌词。
强化学习:该领域专注于机器学习如何以特定方式学习,其最受欢迎的应用程序是在视频游戏领域。银鸿的UCL是个不错的选择,但初学者可能会觉得有点棘手。一旦你完成了这些工作,就可以开始从网上下载基础项目,并利用机器学习和人工智能来修改他们的行为。一些简单的教程可以通过Youtube搜索找到。
数据科学:这个领域是一个萌芽的领域,有许多令人兴奋的工作机会。我建议你进行SuperDataScience的付费课程或UC圣地亚哥基于Python的免费课程,此外你必须学习SQL以及Matplotlib。还有像自主学习(用于推荐系统),Adversial Networks(AI改进AI)和遗传算法(以与自然进化类似的方式改进问题的解决方案)等领域,在我看来,这些是大多数初学者延伸的领域。
最后
如果你想长期在这个领域工作,那么一定要了解它是什么。一旦你对该技术的工作有了必要的了解,你就应该开始做在本节列出的事情,这些事情是初学者应该做的,以加深他们对该领域的总体了解程度并使他们更有知识,如下:
开始阅读研究论文:他们确实没有听起来那么具有挑战性。如果你遇到过一个你不明白的东西,那么就把它放下。这个网站提供了大量优秀的论文。
倾听前辈的意见:Andrew Ng,Ian Goodfellow和Yann LeCunn等人都会定期接受采访,并给出该领域工程师关于人工智能主题的观点。这个Youtube频道收集了这些演讲的最佳内容。
与领域保持同步:Wired是所有对科技感兴趣的人的最佳平台之一。它每天发布多个与AI相关的故事,可在这里找到。另外,也可以使用TechCrunch的Facebook Messenger机器人---它通常会对AI相关的文章感兴趣,并且每天都会提示你。
哲学:AI有它的支持者和反对者,但是它背后的哲学是有趣的。这一领域的书籍适合初学者,其中包括Ray Kurzweil的“如何创造心灵”和Max Tegmark的“生活3.0”(http://s3.amazonaws.com/arena-attachments/1446178/cffa5ebc74cee2b1edf58fa9a5bbcb1c.pdf?1511265314)---请尝试阅读这些内容。
贡献:如果你是喜欢从别人的经验中学习的人,请查看人工智能和深度学习Facebook小组。或者通过https://www.reddit.com/r/artificial/在AI上查看Reddit的主题。
文章原标题《A guide for High School students to learning Machine Learning and Artificial Intelligence》
作者:Karan Jaisingh
译者:黄小凡,审校:袁虎。
原文链接
干货好文,请关注扫描以下二维码: