最值得收藏的机器学习入门方法,今天统统分享给你

作者: 杨惠淳 2018-05-10 17:32:03

 原标题:HOW TO GET STARTED WITH MACHINE LEARNING!

视频介绍:https://v.qq.com/iframe/player.html?vid=f0639ireb7v&tiny=0&auto=0

一说到机器学习,我被问得最多的问题是:给那些开始学习机器学习的人的最好的建议是什么?

其实说句实话,我并不知道怎么回答这个问题。每一个学习者都是独一无二的个体,有自己的学习需求和目的。我所能做的,就是分享一下当初我开始学习机器学习的时候,对我很有用的方法。

我是如何开始接触机器学习的

让时间回到 2017 年,我看到了 SethBling 实现机器学习来玩游戏的一个小演示。

Sethbling-Marl/O-Machine Learing for Video Games

这个小机器人有了自主学习的能力,甚至可以一次又一次地玩马里奥游戏,当时我就震惊了。在那之后,我看到了别的使用神经网络的机器人,被用于各种不同的游戏——

Ding Nicolas-A genetic algorithm learns how to fight!

从 Caryhk 传统的机器学习项目

最值得收藏的机器学习入门方法,今天统统分享给你

carykh-Neural Networks and Unwanted Pregnancies in Evolv.io!

到星际机器学习项目——

最值得收藏的机器学习入门方法,今天统统分享给你

Youtube Uploaded-AI SC2 FirstSteps

有些人还做了关于侃爷 Rap 的 LSTM 项目

最值得收藏的机器学习入门方法,今天统统分享给你

Rabboie Barrat-Neural Network Generated Rap, V2

还有 Dota2 的 Open AI

最值得收藏的机器学习入门方法,今天统统分享给你

Dota 2 Dendi vs OpenAI (Bot)-1v1-T17

sentdex 制作的 GTA

最值得收藏的机器学习入门方法,今天统统分享给你

sentdex-Stream, FPV, and more dada-Python plays GTA P.15

我知道我必须要去学机器学习,这玩意儿简直太酷了。

我安装了 TensorFlow,从 syntax 上下载了些代码,但是完全不知道代码里是怎么一回事,神经网络的确成功地使用大量的数据集,训练了模型,但我对代码所做的每一次修改都会报错,部分是因为 Python 的语法我之前完全没接触过,更为重要的是,我完全不知道该怎么写神经网络。

我先是快速 Google 了一下“怎样写一个神经网络?”,我发现了一个由完全听不同的数学和符号组成的庞然大物,对我而言看上去就像是外星语,那时我感觉到了强烈的挫败感,但我不达目的誓不罢休。就在那时我接触到了 Coursera 上吴恩达的机器学习课程,我的天,那个课程同样也是外星语,我能够完成前几章课程完全没有问题,但那之后,吴恩达又开始讲外星语了。

我是如何坚持下去的

同志们,如果像我这样开始机器学习旅程,毫无疑问你会碰到一次巨大的词汇冲击。相信我,你大多数的困惑是因为无法理解提及的单词所引起的。当我意识到这个之后,我改变了我学习方法,转而去学习这个庞大的外星语。在我学习的过程中,有很多术语和符号会反复出现:向量,矩阵,激活函数传播,机器学习等等。我在“向量”这个概念上花了一段时间,感谢 unity3D,每当我觉得理解了机器学习中的一些概念,比如矩阵乘法,我都会回到我最喜欢的机器学习资源,去看看它们对于我来说,是不是变得容易理解了。我很惊讶突然之间,我能够稍微更好地理解这门外星语了。

每当有概念毫无头绪让我止步不前,我都会把他们单独拿出来,举个例子,当我遇到 sigmoid 或者其他的激活函数,我就会列出一堆困扰我的问题,然后一个个单独查找。

说到这,我非常推荐可汗学院 .com。这里有所有在你写自己的机器学习算法所要用到的。我在这里列出了一些你需要去学习的很重要的数学课供你参考,对我个人而言,帮助很大。

最值得收藏的机器学习入门方法,今天统统分享给你

我个人很喜欢的学习资源:

Activation Functions -https://en.wikipedia.org/wiki/Activation_function

Luis Serrano's Neural Network Series (REALLY GOOD) - https://www.youtube.com/watch?v=UNmqTiOnRfg

Giant_Neural_Network's Neural Network Series (REALLY GOOD) -https://www.youtube.com/watch?v=ZzWaow1Rvho

Macheads101's Neural Network series - https://www.youtube.com/watch?v=OypPjvm4kiA

3Blue1Brown's Neural Network Series - https://www.youtube.com/watch?v=aircAruvnKk

Hugo's Neural Network Series - https://www.mooc.ai/course/300

James Mccaffrey Talk (A BIT OUTDATED INFORMATION BUT STILL A FUN ONE)- https://www.youtube.com/watch?v=-zT1Zi_ukSk

一些很重要的数学课

Vectors (explained with Linear Algebra): https://www.khanacademy.org/math/linear-algebra/vectors-and-spaces

Vectors (explained with PreCal): https://www.khanacademy.org/math/precalculus/vectors-precalc

Matrices: https://www.khanacademy.org/math/precalculus/precalc-matrices

Sequences: https://www.khanacademy.org/math/precalculus/seq-induction

Derivative Rules: hhttps://www.khanacademy.org/math/ap-calculus-bc/bc-derivative-rules

一些可能会帮助到你的数学课

Algebra Functions: https://www.khanacademy.org/math/algebra/algebra-functions

Quadratics: https://www.khanacademy.org/math/algebra/quadratics

Irrational: https://www.khanacademy.org/math/algebra/rational-and-irrational-numbers

Analyzing Categorical Data: https://www.khanacademy.org/math/statistics-probability/analyzing-categorical-data

我的建议

(1)更好地理解伪代码

我觉得学习如何写机器学习算法最好的方法,就是去更好地理解伪代码。我们要理解如何去计算它们,还有各种不同的能够相互转换的指数。在我的经验里,大多数情况下,伪代码是十分清晰的。但如果不是的话,可能是因为在外星语中出现的太频繁了。

学习怎样将伪代码转换成你最喜欢的编程语言,其实是最重要的事。其实没有一个一码通吃的神经网络,实际上当你从不同的老师那里学习怎样写神经网络的时候,请一定要注意,他们不会总是使用同样数量的输入,隐藏层节点,激活函数,可能连术语都不一样,有些老师可能会把偏置说成另一个词,这就是伪代码如此重要的原因。

(2)前馈神经网络例子

除了之前所说的我能给你最好的建议,就是用一个简单的前馈神经网络例子来开始你的学习,这有一个很好的例子——做一个文字颜色预测器,当你提供给它,红,绿,蓝值作为输入的时候,尝试去训练它作出,在此之上应该使用深色字还是浅色字,让它能够可以被认出来的预测。我觉得这是个很好的有很简单的项目,值得认真研究以此来学习机器学习的基础。

(3)立刻开始着手

建议你从最开始就着手写你的神经网络,我指的是你学习的第一天,就在这个视频结束的时候,立刻打开你的 IDE。纸上得来终觉浅,绝知此事要躬行。尽管理论上知道,如何写神经网络很酷,但实际去写一个神经网络是完全不同的。

当你开始去写一个神经网络的时候,你会卡住,然后你就有了第一个需要去找的问题,尝试去解决它,如此往复,直到你成功。我特别希望,从最一开始我就知道这个建议,这可能会减少我大部分学习的时间。

(4)站在巨人的肩膀上

如果你真的想要能够很好地写出机器学习算法,你需要依靠他人的研究和代码,因为事实上这其实还是一个刚起步的领域,每周都会有新的东西诞生。

最后一个我想给你们的重要建议是,其实你也可以不像我之前说的那样做,形象点来说,机器学习就好像电脑一样。如果你真的想要一台电脑,你可以从头组装一台,或者你也可以直接买一台整机,这两件事最后的结果是一样的。我个人想要去学习如何从头构建神经网络因为,我是个控制欲很强的疯子。

最值得收藏的机器学习入门方法,今天统统分享给你

有很多诸如,TensorFlow,PyTorch,Theano,Keras,和其他的机器学习框架,他们就好像是一台装好的电脑,你可以直接开始看教程,开始学习怎样去使用它们,你不需要关心很多,诸如导数,矩阵乘法,激活函数这些概念,这些机器学习框架已经把大多数复杂的事情做好了,不过显而易见的,以此为代价的就是,当网络内部出现问题,或者运行不正确时,找出哪里出现问题,会是件很困难的事,这都取决于你想要什么

不管怎么样,请一定要记得满足你的好奇心,在机器学习的道路上走得越来越远。

视频原址 https://www.youtube.com/watch?v=I74ymkoNTnw

机器学习 人工智能 入门方法
上一篇:机器之魂:论 AI 在未来工厂中的应用 下一篇:Pick一下?Python机器学习实用技巧
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

AI行业寒潮下,智能物流机器人产业迎来“风口”

“人工智能,前景很好,但‘钱’景不好 ” 、“2018年,人工智能的进展就是没有进展”、“2019年的AI行业已如石墨烯一样,尽显疲态”……一篇《投资人逃离人工智能》文章又给人工智能行业泼了一身冷水。人工智能融资难、“寒冬论”再一次戳痛每个人工智能从业者的心,激起大众的焦虑情绪。

AI报道 ·  23h前
人工智能应用在智慧社区五大场景

物联网、云计算、大数据、人工智能正逐步从概念走向应用。越来越多的传统产业也开始探索和创新,积极拥抱互联网和新技术。未来,人工智能技术可能会颠覆社区管理。

有熊 ·  1天前
基于PyTorch的CV模型框架,北大学生出品TorchCV

在机器学习带来的所有颠覆性技术中,计算机视觉领域吸引了业内人士和学术界最大的关注。

张倩、泽南 ·  1天前
高位截瘫患者重新行走:靠意念指挥外骨骼,法国脑机接口新突破

依靠介入头部的 2 个传感器,法国里昂的一名瘫痪男子 Thibault 实现了操控外骨骼装备来助力行走。

孙滔 ·  1天前
2008 年预测 2020 年生活方式:基本都实现了

美国皮尤研究中心曾在 2008 年预测 2020 年的生活方式,目前来看,该研究的预测基本已经实现。而对于未来 10 年,也就是 2030 年左右人们的生活,在 2017 年底的世界经济论坛上,800 多名信息和通讯技术领域的技术高管和专家给出了如下预测。

佚名 ·  1天前
机器学习的正则化是什么意思?

正则化的好处是当特征很多时,每一个特征都会对预测y贡献一份合适的力量;所以说,使用正则化的目的就是为了防止过拟合。

佚名 ·  1天前
为什么我的CV模型不好用?没想到原因竟如此简单……

机器学习专家 Adam Geitgey 近日发布了一篇文章探讨了这一简单却又让很多人头痛的问题,并分享了他为解决这一问题编写的自动图像旋转程序。

机器之心 ·  1天前
中文自动转SQL,准确率高达92%,这位Kaggle大师刷新世界纪录

首届中文NL2SQL挑战赛上,又一项超越国外水平的NLP研究成果诞生了。在NL2SQL这项任务上,比赛中的最佳成绩达到了92.19%的准确率,超过英文NL2SQL数据集WikiSQL目前完全匹配精度86.0%,执行匹配精度91.8%的最高成绩。

郭一璞 ·  1天前
Copyright©2005-2019 51CTO.COM 版权所有 未经许可 请勿转载