大数据文摘作品
编译:冯琛、龙牧雪
新加坡有位高中生Karan Jaisingh已经学习人工智能和机器学习一年了。不久前,他在GitHub发出了一篇长文,专门教广大高中生(以及高中老师、高中生家长、准高中生、准高中生家长……)入门人工智能。
高中生写给高中生
这份指南的特别之处在于,你不需要了解线性代数、偏导以及其他高中生没有学到的复杂数学概念。
学习Python,你需要使用它编写算法
我强烈推荐Python,不仅仅因为它超容易上手,还因为它提供了机器学习会用到的几乎所有好用的函数库。R也很好用,但是我认为Python更适合高中生。除了基础的编程,Numpy、Pandas和Matplotlib是机器学习中最有用的几个函数库。
如果你没有任何编程经验,我推荐你上一门多伦多大学的免费课程。多伦多大学是目前在机器学习和人工智能方面水平最高的大学之一。这门课耗时数周,但它值得你花费时间。你在这门课程中学到的大多数知识都能应用于任何其他的编程语言,唯一不同的只有语法。
课程链接:
https://www.coursera.org/learn/learn-to-program?siteID=SAyYsTvLiGQ-rs4V8qoewjp3oL7Nr.r_Fw&utm_content=10&utm_medium=partners&utm_source=linkshare&utm_campaign=SAyYsTvLiGQ#
如果你有除Python之外的编程经验,可以直接浏览以下语法教程,这最多耗时一天。
教程链接:
https://www.tutorialspoint.com/python/python_basic_syntax.htm
学习了Python的基本知识后,你需要了解Numpy、Pandas两个函数库(Matplotlib可以之后再说)。Numpy数组和Pandas用于调用和更改数据,Matplotlib用来制作图表将数据可视化。下面两个课程只需要几天时间就能完成:
-
Numpy: http://cs231n.github.io/python-numpy-tutorial/
-
Pandas: https://pandas.pydata.org/pandas-docs/stable/10min.html
文摘菌备注:这篇Numpy教程是斯坦福CS231n的配套练习,想同步学可以看大数据文摘翻译的视频+笔记
http://study.163.com/course/courseMain.htm?courseId=1003223001
机器学习的基础知识
如果要说一门通用的机器学习课程,那非吴恩达(Andrew Ng)的课程莫属。对于高中学生来说,这门课程可能有点难度,因为它涉及到偏导数等概念(尽管这些概念不是必须的)。建议反复观看第3至5周的课程。
我鼓励每个人都学学这门课并做笔记,虽然基于Matlab的编程相关的教程和练习不是必须的,而且根据我的经验,这个课程对于高中生来说难以掌握。但不用担心,我们将用更短的时间在Python中完成相同(甚至更先进)的算法。
-
课程链接:
https://www.coursera.org/learn/machine-learning
学习各种机器学习算法并了解如何实现
在没有通用数学基础的情况下想要理解机器学习算法,理论上讲是很难的。但是一个澳洲团队解决了这个问题。
来自SuperDataScience团队的Kirill Eremenko和Hadelin de Ponteves,特别擅长在现实生活中寻找实现简单算法的途径。更厉害的是,这让没有复杂数学背景的高中生可以轻松理解。
他们的课程包括Python和R,不用担心R的部分,只需要看Python的教程就可以了。如果你觉得他们的课有点慢,可以用1.25倍速播放。
他们的课在Udemy上,是付费的,但Udemy一般都给他们的课90%的折扣。在这可以找到课程,通常只要花费10美元。
-
课程链接:
https://www.udemy.com/machinelearning/learn/v4/overview
该课程涵盖了从基本回归分析到深度卷积神经网络。如果你还想探索更深的领域,机器学习课程的最后提供了他们的深度学习课程,有90%的折扣。但是,因为第二个课程太新了,其中的概念可能有点超前并缺乏合适的分类整理。
如果你不愿意花钱学,你可以看看谷歌的免费深度学习课程,或者密西根大学的免费课程。但是这些课程都与SuperDataScience的课程相差甚远。
-
谷歌的免费深度学习课程:
https://www.udacity.com/course/deep-learning--ud730
-
密西根大学的免费课程:
https://www.coursera.org/learn/python-machine-learning
对于这些课,做笔记不是必须的,网上有很多算法小抄,你一下就能看明白这些算法是怎么运作的。
-
小抄链接:
https://www.analyticsvidhya.com/blog/2017/02/top-28-cheat-sheets-for-machine-learning-data-science-probability-sql-big-data/
探索、探索再探索
现在你掌握了广泛的机器学习概念,并且学到了大量的技能。是时候在这些基础项目上小试牛刀啦。我建议上Kaggle或者UCI机器学习库,找个你感兴趣的数据集,对它进行建模解决一些问题。尝试各种不同的算法,尝试去不断优化模型表现。
-
Kaggle:
https://www.kaggle.com/
-
UCI机器学习库:
http://archive.ics.uci.edu/ml/datasets.html
确保你用的数据集简单明了,它们不应该需要太多的预先处理和修改。一些我能想到的简单数据集:鸢尾花数据、葡萄酒数据、威斯康星州乳腺癌数据、自闭症筛查数据、国会投票数据、MNIST手写数字数据和MNIST时尚数据。
如果你遇到障碍,Stack Overflow是你的好朋友,上面有你所有问题的答案。如果没有,发布一个问题,几个小时内就能得到解答。
-
Stack Overflow链接:
https://stackoverflow.com/
寻找一个特别感兴趣的领域,深入研究
在高中阶段,你可能没有时间成为所有领域的专家,但可以尝试去征服一个或两个领域。
计算机视觉
应用一种特殊的神经网络使计算机观察并理解事物,这应该是当下机器学习及人工智能最热门的领域。斯坦福大学发布了相关在线课程,讲义、课堂笔记和作业都公开。尽管课程涉及的数学有些复杂,不要担心,试着去学习一下,该课程只是为了加深你的知识。另外,你还可以看看OpenCV,这是一个计算机视觉库,它可以为你处理很多复杂的东西。这是一个很好的教程。当你完成上述这些,就去Kaggle和UCI上找更多的高级图像数据集,或者参加Kaggle的竞赛。
-
斯坦福CS231n在线课程:
http://cs231n.stanford.edu/
-
OpenCV教程:
https://www.youtube.com/watch?v=Z78zbnLlPUA&list=PLQVvvaa0QuDdttJXlLtAJxJetJcq
mqlQq
-
斯坦福CS231n中文字幕视频+笔记:
http://study.163.com/course/courseMain.htm?courseId=1003223001
自然语言处理
了解计算机如何学习说话也是当下的一个突出话题。斯坦福大学又提供了一个在线课程。如果你不了解其中的一些数学概念,不要担心,只需要了解这个领域的工作原理。对于实现NLP应用,你可以学习Udemy课程。你也可以选择Siraj Raval的视频。如果你已经完成了这些,可以尝试开始做简单的众所周知的项目,比如创建聊天机器人,情感分析或为歌曲创建歌词。
-
斯坦福CS224n在线课程:
http://web.stanford.edu/class/cs224n/
-
Udemy课程:
https://www.udemy.com/data-science-natural-language-processing-in-python/
-
Siraj Raval的视频:
https://www.youtube.com/watch?v=9zhrxE5PQgY
强化学习
该领域专注于机器如何以特定方式学习,其最受欢迎的应用程序是在电玩领域。 Siraj Raval在这方面又有了一个不错的视频集合,另外David Silver的UCL课程非常棒,虽然初学者可能会觉得有点难 。一旦你完成了这些工作,就可以开始从网上下载基础项目,并添加人工智能元素来改进他们的行为模式。
-
Siraj Raval:
https://www.youtube.com/watch?v=i_McNBDP9Qs&list=PL2-dafEMk2A5FZ-MnPMpp3PBtZcINKwLA
-
David Silver的UCL课程:http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching.html
数据科学
这是一个萌芽的领域,有许多令人兴奋的工作机会。我建议你学习SuperDataScience的付费课程或加州大学圣地亚哥分校基于Python的免费课程。你还必须学习SQL以及Matplotlib。在学生时期学习的优势在于找工作——我有高中的朋友拿到了数据科学实习的offer,因为从他们的工作中获得的数据可以立即被公司拿去盈利。公司总是很需要数据科学家。
-
SuperDataScience的付费课程:
https://www.udemy.com/datascience/
-
加州大学圣地亚哥分校的免费课程:
https://www.edx.org/course/python-data-science-uc -san-diegox-dse200x
-
SQL:
https://www.khanacademy.org/computing/computer-programming/sql
-
Matplotlib:
https://www.youtube.com/watch?v=q7Bo_J8x_dw
还有像代表性学习(用于推荐系统)、Adversial Networks(AI改进AI)和遗传算法(以与自然进化类似的方式改进解决方案)等领域,但在我看来,对于大多数高中学生来说,这些是延伸学习。因为这些领域目前没有盈利空间,他们不像其他领域被学习和发掘得那么全面。如果你对其中某个领域特别感兴趣,也可以尽情去探索。
结论
并不是每个人都要遵循这一条路径,你也可以寻找自己的学习路径。机器学习和人工智能是一个新领域,一般是研究生在学习相关课程。但这并不是说此领域晦涩难懂,只要掌握学习方法,什么时候学习都不算晚。
转载自原文链接, 如需删除请联系管理员。
原文链接:干货丨一位16岁CEO教你如何在高中阶段入门人工智能,转载请注明来源!