brain.js 时间序列_免费的Brain JS课程学习JavaScript中的神经网络

news/2024/7/5 2:30:56

brain.js 时间序列

The last few years, machine learning has gone from a promising technology to something we’re surrounded with on a daily basis. And at the heart of many machine learning systems lies neural networks.

在过去的几年中,机器学习已经从一项有前途的技术变成了我们每天都在使用的技术。 神经网络是许多机器学习系统的核心。

Neural networks are what’s powering self-driving cars, the world’s best chess players, and many of the recommendations you’re get from apps like YouTube, Netflix, and Spotify.

神经网络是无人驾驶汽车的动力,是世界上最好的国际象棋棋手,也是从YouTube,Netflix和Spotify等应用程序获得的许多建议。

So today I’m super-stoked to finally present a Scrimba course that helps any web developer easily get started with neural networks.

因此,今天我很高兴最终提出一个Scrimba课程 ,该课程可以帮助任何Web开发人员轻松地开始使用神经网络。

This is the very first machine learning on Scrimba, but certainly not the last!

这是Scrimba上的第一个机器学习,但肯定不是最后一个!

In the course, Robert Plummer teaches you how to use his popular Brain.js library through solving a bunch of exciting problems, such as:

在课程中, Robert Plummer教您如何通过解决一系列令人兴奋的问题来使用他受欢迎的Brain.js库,例如:

  • recognizing images

    识别图像
  • analyzing the sentiment of sentences

    分析句子的情感
  • and even writing very simple children’s book!

    甚至写非常简单的儿童读物!

And thanks to the Scrimba platform, you’ll be able to directly interact with the example code and modify it along the way.

借助Scrimba平台,您将能够直接与示例代码进行交互并在此过程中对其进行修改。

This may be the most interactive course on neural networks ever created.

这可能是有史以来神经网络上互动性最强的课程 。

So let’s have a look at what you’ll learn throughout these 19 free screencasts.

因此,让我们看看在这19个免费的截屏视频中您将学到什么。

1.简介 (1. Introduction)

Robert starts with giving you an overview over the concepts you’ll learn, projects you’ll build and the overall pedagogical philosophy behind the course. It’s a practical course which focuses on empowering people to build rather than getting stuck in the theoretical aspects behind neural nets.

罗伯特首先概述了您将学到的概念,将要建立的项目以及该课程的总体教学理念。 这是一门实用的课程,着重于使人们能够构建,而不是陷入神经网络背后的理论方面。

2.我们的第一个神经网络! (2. Our first neural net!)

In this lecture, we’ll jump into the code and start coding immediately. Robert takes you through building an XOR net, which is the simplest net possible to build. Within two minutes of lectures, you’ll have watched your first neural network being coded.

在本讲座中,我们将跳入代码并立即开始编码。 Robert将带您构建XOR网络,这是可能构建的最简单的网络。 在讲座的两分钟内,您将看到您的第一个神经网络正在被编码。

You’ll also be encouraged to play around with the net yourself, by simply pausing the screencast, editing the values, and then running the net for yourself!

您也将被鼓励自己玩网络,只需暂停截屏视频,编辑值,然后自己运行网络即可!

3.他们如何学习? 传播 (3. How do they learn? Propagation)

Robert continues the course with a little bit of theory. In this lecture, he explains the concepts of forward propagation and back propagation, which both are at the core of neural nets.

罗伯特通过一些理论来继续该课程。 在本讲座中,他解释了正向传播和反向传播的概念,它们都是神经网络的核心。

He uses a simple example to explain the concepts in a way everyone can understand.

他使用一个简单的示例以一种每个人都可以理解的方式来解释这些概念。

Robert also gives a quick intro to the error function, which is another key component of neural nets, as the error tells the net how far off its predictions are during training.

罗伯特还快速介绍了误差函数,这是神经网络的另一个关键组成部分,因为误差告诉网络训练过程中距预测的距离有多远。

4.他们如何学习? 第2部分-结构 (4. How do they learn? Part 2 — Structure)

In this lecture, Robert explains a few more concepts. More specifically, he explains the underlying structure of neural nets.

在本讲座中,Robert解释了更多概念。 更具体地说,他解释了神经网络的底层结构。

  • inputs & outputs

    输入和输出
  • random values

    随机值
  • activation functions (“relu”)

    激活功能(“ relu”)

He also provides a couple of links you can use if you’re interested in diving a bit deeper into these concepts. But with this being a practical course rather than a theoretical one, he quickly moves on.

如果您有兴趣深入研究这些概念,他还提供了一些链接可以使用。 但是由于这是一门实践性课程而不是理论性课程,他很快就继续前进。

5.他们如何学习? 第3部分-图层 (5. How do they learn? Part 3 — Layers)

Now it’s about time to get familiar with layers. So in this lecture, Robert gives you an overview over how to configure Brian.js layers and why layers are important.

现在是时候熟悉图层了。 因此,在本讲座中,Robert为您概述了如何配置Brian.js层以及为什么层很重要。

Robert also highlights how simple the calculations inside the neurons of a feedforward network are. If you’re curious and want to learn more about this, you can follow the links he shares towards the end of this lecture.

Robert还强调了前馈网络神经元内部的计算非常简单。 如果您好奇并想了解更多有关此内容的信息,可以在本讲座结束时关注他分享的链接。

6.处理对象 (6. Working with objects)

Brain.js also has a nice feature which allows it to work with objects. So in this tutorial, Robert explains how to do exactly that. To illustrate how it works, he creates a neural network which predicts the brightness of colors based upon how much red, green and blue they contain.

Brain.js还具有一个不错的功能,使它可以处理对象。 因此,在本教程中,Robert解释了如何做到这一点。 为了说明它是如何工作的,他创建了一个神经网络,该神经网络根据它们所包含的红色,绿色蓝色的数量来预测颜色的亮度。

7.学习不仅仅是数字 (7. Learning more than numbers)

When you want to solve problems in the real world you often times have to deal with values which aren’t numbers. However, a neural net only understands numbers. So that presents a challenge.

当您想解决现实世界中的问题时,您常常不得不处理非数字值。 但是,神经网络只能理解数字。 因此,这是一个挑战。

Luckily though, Brain.js is aware of this and has a built-in solution. So in this lecture, Robert explains how you can use other values than numbers to create neural nets.

幸运的是,Brain.js意识到了这一点,并具有内置的解决方案。 因此,在本讲座中,罗伯特(Robert)解释了如何使用数字以外的其他值来创建神经网络。

8.用神经网络计数 (8. Counting with neural nets)

Now it’s time to get familiar with a new type of neural networks, which is so-called recurrent neural networks. It sounds very complex, but Robert teaches you to use this tool in a simple way. He uses an easy-to-understand movie-analogy to explain the concept.

现在是时候熟悉一种新型的神经网络,即所谓的递归神经网络。 听起来很复杂,但是Robert教您以简单的方式使用此工具。 他使用一种易于理解的电影类比来解释这一概念。

He then teaches a network to count. Or in other words, the network takes a set of numbers as an input (e.g. 5,4,3) and then guesses the next number (e.g. 2) appropriately. This might seem trivial, but it’s actually a huge step towards creating machines that remember and can understand context.

然后,他教网络进行计数。 换句话说,网络将一组数字作为输入(例如5,4,3),然后适当地猜测下一个数字(例如2)。 这看似微不足道,但这实际上是朝着创建能够记住并理解上下文的机器迈出的一大步。

9.股市预测-标准化 (9. Stock market prediction — Normalization)

Neural nets often work best with values that range around 1. So what happens when your input data is far from 1? This is a situation you’ll come into if your e.g. predicting stock prices. In such a case, you’d need to normalize the data. So in this lecture, Robert explains exactly how to do that in a simple manner.

神经网络通常在大约1的范围内发挥最佳作用。那么,当您的输入数据远非1时,会发生什么? 如果您要预测股票价格,就会遇到这种情况。 在这种情况下,您需要对数据进行规范化。 因此,在本讲座中,罗伯特精确地解释了如何以一种简单的方式做到这一点。

10.股市预测-预测下一个 (10. Stock market prediction — Predict next)

Now that we know how to normalize the data, Robert demonstrates how we can create a neural net which can predict the stock price for the following day. We’ll use the same kind of network you remember from the counting tutorial, a recurrent neural network.

现在我们知道如何对数据进行标准化,Robert演示了如何创建一个神经网络来预测第二天的股价。 我们将使用您在计数教程中还记得的那种网络,即递归神经网络。

11.股票市场预测-预测接下来的3个步骤 (11. Stock market prediction — Predict next 3 steps)

But simply prediction one day in the future isn’t always enough. So in this lecture, Robert goes through the forecast method of Brain.js. It allows us to predict multiple steps in the future. This ability makes a recurrent neural network more useful in various settings.

但是,仅仅预测未来的某一天并不总是足够的。 因此,在本讲座中,Robert讨论了Brain.js的预测方法。 它使我们能够预测未来的多个步骤。 此功能使递归神经网络在各种设置中更加有用。

12.递归神经网络学习数学 (12. Recurrent neural networks learn math)

In this lecture, Robert teaches a neural network to add numbers together. And he’s doing it with only inputting a bunch of strings. This screencasts also gives you a better understanding of how a recurrent neural network transforms the inputs it gets into arrays before running it.

在本讲座中,罗伯特教授了一个神经网络,将数字相加。 而且,他只需要输入一串字符串即可。 该截屏视频还使您更好地了解循环神经网络在运行之前如何将其输入转换为数组。

13.低保真数字检测 (13. Lo-fi number detection)

Another super-useful application for neural nets is image recognition. In this tutorial, Robert creates a neural network which can recognize ASCII-art numbers. It’s a dummy version of artificial vision.

神经网络的另一个超级有用的应用是图像识别。 在本教程中,Robert创建了一个可以识别ASCII艺术数字的神经网络。 这是人工视觉的虚拟版本。

And even though it’s very simple, it’s still dynamic in the same way a proper solution would be. Meaning you can modify the ASCII-numbers to a certain degree, and the network will still recognize which number you’re trying to give it. In other words, it’s able to generalize.

即使它非常简单,它仍会以适当解决方案的相同方式保持动态。 这意味着您可以在一定程度上修改ASCII码,并且网络仍会识别出您要提供的数字。 换句话说,它可以概括。

14.用经常性的网写一本儿童读物 (14. Writing a children's book with a recurrent net)

This project is super cool. It involves training a network to write a children’s book. Again, it’s just a dummy example, but it definitely hint’s to the power of recurrent neural nets, as it starts to improvise a new sentence just by having looked at four different sentences.

这个项目超级酷。 它涉及培训网络以编写儿童读物。 再次,这只是一个虚拟的例子,但它肯定暗示了递归神经网络的力量,因为它仅通过查看四个不同的句子就可以即兴创作一个新句子。

If you want to get a hint of the amazing power of recurrent neural nets, check out Andrej Karpathy’s blog post on the subject.

如果您想了解递归神经网络的强大功能,请查看Andrej Karpathy 关于该主题的博客文章。

15.情绪检测 (15. Sentiment detection)

A very common use-case for machine learning and neural networks is sentiment detection. This could be e.g. to understand how people talk about your company in social media. So in order to give you this tool in your toolbelt as well, Robert explains how to use an LSTM network to detect sentiments.

机器学习和神经网络的一个非常常见的用例是情感检测。 例如,这可能是为了了解人们如何在社交媒体上谈论您的公司。 因此,为了也为您提供这一工具,Robert解释了如何使用LSTM网络检测情绪。

16.具有…输入的递归神经网络? 输出? 怎么样? (16. Recurrent neural networks with … inputs? outputs? How?)

A recurrent neural network will translate your input data into a so-called input map, which Robert explains in this screencast. This isn’t something you’ll need to think about when using Brain.js, as it’s abstracted away from you, but it’s useful to be aware of this underlying structure.

循环神经网络会将您的输入数据转换成所谓的输入图,罗伯特在此截屏视频中对此进行了解释。 使用Brain.js时,您不需要考虑这一点,因为它是从您身上抽象出来的,但是了解此底层结构很有用。

17.简单的强化学习 (17. Simple reinforcement learning)

Reinforcement learning is a really exciting frontier of machine learning, and in this lecture, you’ll get a little taste of it. In just a few minutes Robert will give you a conceptual demonstration of what reinforcement learning is, using the simplest net possible, an XOR net.

强化学习是机器学习的真正令人兴奋的领域,在本讲座中,您将对此有所了解。 在短短的几分钟内,罗伯特(Robert)将使用最简单的XOR网络,为您提供概念性的演示,说明什么是强化学习。

18.构建推荐引擎 (18. Building a recommendation engine)

Finally, Robert ends the lectures with a recommendation engine, which learns a user’s preference for colors. Recommendation engines are used heavily by companies like Netflix and Amazon to give users more relevant suggestions, so this is a very useful subject to learn more about.

最后,罗伯特以推荐引擎结束讲座,该引擎了解用户对颜色的偏好。 推荐引擎已被Netflix和Amazon等公司广泛使用,以向用户提供更多相关建议,因此这是了解更多信息的非常有用的主题。

19.结束语 (19. Closing thoughts)

If you make it this far: congrats! You’ve taken the first step towards becoming a machine learning engineer. But this is actually where your journey begins, and Robert has some really interesting thoughts on how you should think about your machine learning journey going forward, and how you should use your intuition as a guide.

如果您能做到这一点:恭喜! 您已迈出了成为一名机器学习工程师的第一步。 但这实际上是您的旅程开始的地方,Robert对于如何思考未来的机器学习旅程以及如何使用直觉作为指导有一些非常有趣的想法。

After watching this, you’ll be both inspired and empowered to go out into the world and tackle problems with machine learning!

观看完此内容后,您将获得启发并有能力走出去,解决机器学习中的问题!

And don’t forget to follow Robert on Twitter, and also thank him for his amazing Christmas gift to all of us!

并且不要忘了在Twitter上关注Robert ,并感谢他为我们所有人提供的惊人的圣诞节礼物!

Happy coding!

编码愉快!



Thanks for reading! My name is Per Borgen, I'm the co-founder of Scrimba – the easiest way to learn to code. You should check out our responsive web design bootcamp if want to learn to build modern website on a professional level.

谢谢阅读! 我叫Per Borgen,我是Scrimba的共同创始人–学习编码的最简单方法。 如果要学习以专业水平构建现代网站,则应查看我们的响应式Web设计新手训练营 。

翻译自: https://www.freecodecamp.org/news/want-to-learn-neural-networks-heres-a-free-brain-js-course-merry-christmas-ea801f378041/

brain.js 时间序列


http://lihuaxi.xjx100.cn/news/238807.html

相关文章

学习笔记TF065:TensorFlowOnSpark

2019独角兽企业重金招聘Python工程师标准>>> Hadoop生态大数据系统分为Yam、 HDFS、MapReduce计算框架。TensorFlow分布式相当于MapReduce计算框架,Kubernetes相当于Yam调度系统。TensorFlowOnSpark,利用远程直接内存访问(Remote Direct Memo…

CTO 基本功大盘点 —— 没有这些技能,谈何远大前程?

本文由 「TGO鲲鹏会」原创,原文链接:CTO 基本功大盘点 —— 没有这些技能,谈何远大前程? 作者|刘海星 2018 年马上就要过去六分之一了,你的 KPI 完成多少了? 别沮丧,其实我想说的是&…

vim编辑器异常退出产生备份文件

当非正常关闭vim编辑器时(比如直接关闭终端或者电脑断电),会生成一个.swp文件,这个文件是一个临时交换文件,用来备份缓冲区中的内容。 需要注意的是如果你并没有对文件进行修改,而只是读取文件&#xff0c…

MongoDB给数据库创建用户

转自http://www.imooc.com/article/18439 一.先以非授权的模式启动MongoDB非授权: linux/Mac : mongod -f /mongodb/etc/mongo.confwindows : mongod --config c:\mongodb\etc\mongo.conf 或者 net start mongodb (前提是mongo安装到了服务里面&#xff…

聊天软交互原理_来自不同城市的人们如何在freeCodeCamp聊天室中进行交互

聊天软交互原理by Dborah Mesquita由DborahMesquita 来自不同城市的人们如何在freeCodeCamp聊天室中进行交互 (How people from different cities interact in the freeCodeCamp chatrooms) 推理统计入门以及如何使用spaCy从文本中提取信息 (A primer on Inferential statisti…

linux硬盘满了问题排查

关键指令: df du find step1: 如果发现硬盘满了,首先要确定一下,使用df查看硬盘使用情况 df -h step2: 从第一步结果判定满了,确定哪些文件或哪个文件占了大头,使用du指令做逐步排查&#xff0c…

限制HTTP数据包发送Referer

一般点击一个A标签的时候都会发送 Referer 什么是 Referer&#xff1f; 就是你点击A标签 Referer的信息告诉服务端你从哪里点击出来的 可在HTML上加 <meta name"referrer" content"no-referrer">这样就不发送Referer头了

极速理解设计模式系列:11.单例模式(Singleton Pattern)

单例模式&#xff1a;确保某一个类只有一个实例&#xff0c;而且自行实例化并向整个系统提供这个实例。这个类称为单例类。 三要点&#xff1a; 一、单例类只能有一个实例 二、单例类必须自行创建自身实例 三、单例类自行向整个系统提供实例 类图&#xff1a; 应用场景&#xf…