首页 » 技术分享 » 干货丨一位16岁CEO教你如何在高中阶段入门人工智能

干货丨一位16岁CEO教你如何在高中阶段入门人工智能

 

大数据文摘作品

编译:冯琛、龙牧雪


新加坡有位高中生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教你如何在高中阶段入门人工智能,转载请注明来源!

0