大数据文摘作品
编译:冯琛、龙牧雪
What? 高中生也可以?
人工智能、大数据已经被纳入了我国高中“新课标”,但估计大多数高中生假如真想理解这一学科恐怕是一头雾水:高数没学过,编程也不会,老师也不教,这怎么学人工智能?
新加坡有位高中生Karan Jaisingh已经学习人工智能和机器学习一年了。不久前,他在GitHub发出了一篇长文,专门教广大高中生(以及高中老师、高中生家长、准高中生、准高中生家长……)入门人工智能。
不看不知道,他的LinkedIn显示他还是个CEO!
他正在开拓一个错题集和期末复习干系的App
文摘菌不禁惦记起了广大想入行的本科生、硕士生、博士生……见告我,春节假期余额严重不敷了,你操持要看的书翻开了吗?如果没有,可以参考下面这篇入门指南,它虽然是针对高中生而写,但利用的都是主流教程和工具。
高中生写给高中生
这份指南中整合的内容,是为打算在机器学习和人工智能这个新兴领域内有所建树的高中生准备的。目前在这个领域还没有适宜高中生的学习路径。这份指南的特殊之处在于,你不须要理解线性代数、偏导以及其他高中生没有学到的繁芜数学观点。
如果你能够定期按照这个路径学习,我相信在短短三个月内你会进步飞速。接下来我们就正式开始吧。
学习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多个视频,戳这里看
强化学习
该领域专注于机器如何以特定办法学习,其最受欢迎的运用程序是在电玩领域。 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)和遗传算法(以与自然进化类似的办法改进办理方案)等领域,但在我看来,对付大多数高中学生来说,这些是延伸学习。由于这些领域目前没有盈利空间,他们不像其他领域被学习和发掘得那么全面。如果你对个中某个领域特殊感兴趣,也可以尽情去探索。
真正理解人工智能领域
如果你想要长期在这个领域中事情,理解它是什么、有什么打破性进展以及它对社会的影响至关主要。
高中生该当做如下几件事来加深对该领域的理解、增长见识:
开始阅读研究论文:它们不像你想象的那么有寻衅性。纵然只有高中数学水平也可以读懂很多论文。如果你读到一篇不理解的,放下它不用读了,还有很多其他的替代选择。
https://www.kdnuggets.com/2017/04/top-20-papers-machine-learning.html
关注领域内的先驱:像吴恩达、Ian Goodfellow和Yann LeCunn都常常接管采访,他们给出了这一领域内专家对付人工智能课题的威信不雅观点。
https://www.youtube.com/user/Maaaarth/videos
与时俱进:Wired是科技达人的最佳平台之一。它每天发布多个与AI干系的故事。这是个方便快捷理解实时趋势的好路子。其余,订阅TechCrunch的Facebook Messenger机器人 - 它常日会每天推送与人工智能干系的有趣文章。
https://www.wired.com/tag/artificial-intelligence/
理解内涵:没有比看TED更好的办法了。他们的发言人在这个领域非常威信,并且在发言中越来越强调人工智能。
https://www.youtube.com/user/TEDtalksDirector/videos
理解哲学:人工智能有支持者也有反对者。然而,它背后的哲学是有趣的。推举一些我喜好并且适宜高中生阅读的探究该领域的书本,包括Ray Kurzweil的《如何创造心灵》和Max Tegmark的《生活3.0》。
http://s3.amazonaws.com/arena-attachments/1446178/cffa5ebc74cee2b1edf58fa9a5bbcb1c.pdf?1511265314
做贡献:如果你喜好从他人的履历中学习,看看脸书上的人工智能和深度学习小组。或者,如果你更喜好对话,看一下Reddit上的人工智能干系问题。
https://www.reddit.com/r/artificial/
结论
并不是每个人都要遵照这一条路径,你也可以探求自己的学习路径。机器学习和人工智能是一个新领域,一样平常是研究生在学习干系课程。但这并不是说此领域晦涩难懂,只要节制学习方法,什么时候学习都不算晚。
你以为几岁开始学习人工智能比较得当?欢迎留言谈论~
原文链接:https://github.com/kjaisingh/high-school-guide-to-machine-learning/blob/master/README.md