干货丨一位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教你如何在高中阶段入门人工智能相关推荐
- 13000行代码、19大技术,这位16岁高中生用C++从头到尾构建了一个机器学习库!...
作者 | 苏宓 出品 | CSDN(ID:CSDNnews) 你是从什么时候开始编程的? 据 CSDN 调研数万名开发者的数据显示,近六成的开发者表示自己写下第一行代码的年龄是在 16-20 岁间.其 ...
- 干货丨先搞懂这八大基础概念,再谈机器学习入门
翻译 | AI科技大本营 参与 | 林椿眄 准备好开始AI了吗?可能你已经开始了在机器学习领域的实践学习,但是依然想要扩展你的知识并进一步了解那些你听过却没有时间了解的话题. 这些机器学习的专业术语能 ...
- 干货丨11位机器学习大牛最爱算法全解
1 来源:Quora 译者:朱焕 [导读]"你最喜欢的机器学习算法是什么?"这个问题有些像"你最喜欢的颜色是什么?"说不重要吧,细究起来,颇有深意.本文摘选一些 ...
- 我如何在 16 岁成为全栈开发者?
@程序员,你在 16 岁的时候做了什么呢?又是什么让你走上了技术之路?本文就分享一位 16 岁的开发者是如何成为全栈开发的故事. 作者 | Nuno Martins 译者 | 刘静,责编 | 郭芮 出 ...
- 我是如何在 16 岁时成为全栈开发者的?
@程序员,你在 16 岁的时候做了什么?又是什么让你走上了技术之路的呢? 本文我将跟你分享国外一位 16 岁小哥是如何一步步成为全栈开发者的. 作者 | Nuno Martins 译者 | 刘静,责编 ...
- 年仅 16 岁的黑客少年,竟是搅乱 IT 巨头的幕后主使?
整理 | 郑丽媛 出品 | CSDN 近来,黑客组织 Lapsus$ 活跃在各大科技网站:窃取英伟达近 1TB 的数据.泄露三星近 190GB 的机密数据.公布微软 Bing 和 Cortana 源码 ...
- 关于 Python3.9,看这张 16 岁高中生做的「新特性必知图」就够了
金磊 发自 凹非寺 量子位 报道 | 公众号 QbitAI Python3.9,「千呼万唤始出来」. 先来速看下此次发布版本的重点. 新语法特性: PEP 584,为 dict 增加合并运算符. PE ...
- 你竟然还不懂变分自编码机?这个16岁的OpenAI天才实习生讲得可透彻了
你知道啥叫变分自编码机吗? 你知道为啥你需要懂变分自编码机呢? 你知道如何以最快的速度搞懂变分自编码机吗? 啥也不说了,还是让这位16岁的天才少年讲给你听吧. Kevin Frans是加州Palo A ...
- 干货丨【看图识算法】这是你见过最简单的 “算法说明书”
文章来源:新智元 [导读]像阅读宜家的安装说明书一样学习算法,是怎样的体验?不伦瑞克工业大学的三名研究者制作了这份"算法说明书",简明传神地解释了一些基本算法,一起来看图说话. Q ...
最新文章
- 1.2控制台的大体设置:
- Ant Design 4.0 进行时!
- Convert Windows 32bit dirver to Windows 64bit
- 70个python毕设项目_56个具有开创性的Python开源项目-开始使用Python
- 从 A/Looper: Could not create epoll instance. errno=24 错误浅谈解决各种 bug 的思路
- java 通用类型_Java获取通用类型的集合
- 如何将access数据库导入到sql2005数据库中
- C++的性能C#的产能?! - .Net Native 系列向导
- 网页排序向量计算和改进
- 配电室综合监控系统企业标准(试行)
- IT名企面试:微软笔试题
- 【秀米教程5】点击动作
- 各类语言、算法学习资料------百度云
- clock()、time()、clock_gettime()和gettimeofday()函数的用法和区别【转】
- php怎么做倒计时活动,PHP实现倒计时功能
- 如何取消qq的“小世界”功能
- AndroidWear官方文档总结03 - 连接手持设备与穿戴设备模拟器到开发环境
- 这几种水果皮赛过良药
- Anaconda 3 配置环境变量(搞了两天终于配置成功)
- MCU的CAN TX RX无数据问题
热门文章
- 《预训练周刊》第21期:FlipDA:有效且稳健的数据增强小样本学习、开放域低资源适应的生成式聊天机器人...
- LIVE 预告 | 牛津胡庆拥:学习理解大规模点云
- 欢迎大家观顾【图灵教育社区】
- 使用OpenCV(Python,C ++)无缝克隆
- c++ demo: 单词转换
- 收藏 | 2021 十大机器学习库
- 前列腺癌检测 AI 算法登上《柳叶刀》:分类性能超过人类专家,还能完成其他临床任务...
- 教你用Keras和CNN建立模型识别神奇宝贝!(附代码)
- 亚马逊63岁「老司机」困在算法里,工作4年却因机器评分太低被开除!
- 你的代码会被GitHub埋在北极,保存1000年,用二维码胶片备份人类文明