title
Neural Networks with JavaScript - Full Course using Brain.js

description
This course gives you a practical introduction to building neural networks in the browser and in Node.js using the Brain.js JavaScript library. To complete the course’s interactive challenges, simply head over to the Scrimba version: https://scrimba.com/g/gneuralnetworks ⭐️What you'll learn ⭐️ By the end of the course, you'll be able to solve a range of different problems using neural networks. The lectures does not dwell with much theory, but rather on how to code the networks. That means the course is suitable for anybody who knows JavaScript. ⭐️About Robert Plummer ⭐️ Robert is the lead developer of the Brain.js library. He has a unique ability to explain complex concepts in a manner that everyone can understand. Feel free to reach out to Robert via Twitter if you have feedback, or simply want to thank him for creating this course. Good luck, and welcome to the exciting world of neural networks! ⭐️Course Contents ⭐️ ⌨️ (0:00:00) Course introduction ⌨️ (0:01:46) Our first neural net! ⌨️ (0:04:31) How they learn - Propagation ⌨️ (0:07:57) How they learn - Structure ⌨️ (0:10:09) How they learn - Layers ⌨️ (0:14:04) Working with objects! ⌨️ (0:21:52) Learning more than numbers ⌨️ (0:34:21) Example: Counter ⌨️ (0:44:10) Normalization ⌨️ (0:50:35) Example: Stock price predictor ⌨️ (0:56:06) Predicting multiple steps ⌨️ (0:57:43) Example: A recurrent neural network that learns math ⌨️ (1:03:56) Example: Number detector ⌨️ (1:09:41) Example: Writing a children's book ⌨️ (1:11:28) Example: Sentiment detection ⌨️ (1:13:50) RNN inputs and outputs ⌨️ (1:17:56) Example: Simple reinforcement learning ⌨️ (1:21:03) Example: Recommendation engine ⌨️ (1:26:02) Closing thoughts -- Learn to code for free and get a developer job: https://www.freecodecamp.org Read hundreds of articles on programming: https://medium.freecodecamp.org

detail
{'title': 'Neural Networks with JavaScript - Full Course using Brain.js', 'heatmap': [{'end': 5525.314, 'start': 5467.27, 'weight': 1}], 'summary': 'This full course on neural networks with javascript using brain.js covers practical problem solving, training processes, restaurant recommendations, sentiment analysis, reinforcement learning, and machine learning insights, with 17 lectures, achieving accurate results with a single hidden layer of three neurons and under 2000 iterations for restaurant selection, normalizing data and predicting multiple future steps in stock market data using recurrent neural networks, and experimenting with neural nets for sentiment analysis using brain.js and a recurrent neural network.', 'chapters': [{'end': 78.696, 'segs': [{'end': 78.696, 'src': 'embed', 'start': 20.915, 'weight': 0, 'content': [{'end': 24.675, 'text': 'what feed forward neural networks are, what recurrent neural networks are, and a whole lot more.', 'start': 20.915, 'duration': 3.76}, {'end': 32.317, 'text': "We're going to build a Zorgate, a counter, a basic math network, an image recognizer, a sentiment analyzer, and a children's book creator.", 'start': 24.795, 'duration': 7.522}, {'end': 38.32, 'text': "and how we're going to do it is with 17 lectures where we're going to focus on practice over theory.", 'start': 33.678, 'duration': 4.642}, {'end': 44.842, 'text': "what that means is you are going to get your hands dirty, but more than that, you're going to walk away knowing the ideas behind neural networks.", 'start': 38.32, 'duration': 6.522}, {'end': 51.065, 'text': "there's as well a bunch of interactive challenges along the way, and that brings me to our use of scrimba.", 'start': 44.842, 'duration': 6.223}, {'end': 58.567, 'text': "scrimba is a fantastic platform for learning, and at any point during the entire lecture, you can stop me, it won't hurt my feelings.", 'start': 51.065, 'duration': 7.502}, {'end': 70.573, 'text': "you can just introduce brand new script and you can press Command plus S if you're on Mac, or Control plus S if you're on Linux or Windows,", 'start': 58.567, 'duration': 12.006}, {'end': 72.734, 'text': 'and it will execute exactly your code.', 'start': 70.573, 'duration': 2.161}, {'end': 73.814, 'text': 'That is super important.', 'start': 72.874, 'duration': 0.94}, {'end': 78.696, 'text': "Throughout this course as well, I'm going to make regular reference to the console, which is directly below here.", 'start': 73.954, 'duration': 4.742}], 'summary': 'The course covers building various neural networks through 17 practical lectures emphasizing hands-on learning and interactive challenges using the scrimba platform.', 'duration': 57.781, 'max_score': 20.915, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo20915.jpg'}], 'start': 4.03, 'title': 'Neural nets in javascript', 'summary': 'Introduces practical problem solving with neural networks in javascript, covering propagation, feed forward and recurrent neural networks, with 17 lectures and interactive challenges.', 'chapters': [{'end': 78.696, 'start': 4.03, 'title': 'Neural nets in javascript', 'summary': 'Introduces a practical introduction to problem solving with neural networks, covering topics such as propagation, feed forward and recurrent neural networks, with a focus on hands-on practice over theory, encompassing 17 lectures and interactive challenges.', 'duration': 74.666, 'highlights': ["The course covers propagation, both forward and backward layers, neurons training error, feed forward and recurrent neural networks, and practical applications including building a Zorgate, a counter, a basic math network, an image recognizer, a sentiment analyzer, and a children's book creator.", 'Emphasizes a practical approach with 17 lectures focused on hands-on practice over theory, ensuring understanding of the ideas behind neural networks.', 'Utilizes Scrmba as a learning platform, featuring interactive challenges and allowing learners to execute their code at any point during the lectures.', 'Encourages regular reference to the console for practical application and reinforces the interactive nature of the learning experience.']}], 'duration': 74.666, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo4030.jpg', 'highlights': ["The course covers propagation, both forward and backward layers, neurons training error, feed forward and recurrent neural networks, and practical applications including building a Zorgate, a counter, a basic math network, an image recognizer, a sentiment analyzer, and a children's book creator.", 'Emphasizes a practical approach with 17 lectures focused on hands-on practice over theory, ensuring understanding of the ideas behind neural networks.', 'Utilizes Scrmba as a learning platform, featuring interactive challenges and allowing learners to execute their code at any point during the lectures.', 'Encourages regular reference to the console for practical application and reinforces the interactive nature of the learning experience.']}, {'end': 1445.584, 'segs': [{'end': 138.84, 'src': 'embed', 'start': 103.94, 'weight': 0, 'content': [{'end': 105.04, 'text': 'This is going to be awesome.', 'start': 103.94, 'duration': 1.1}, {'end': 111.283, 'text': 'This is our very first neural net.', 'start': 109.522, 'duration': 1.761}, {'end': 112.263, 'text': 'This is going to be awesome.', 'start': 111.383, 'duration': 0.88}, {'end': 118.489, 'text': "So the first problem that we're going to tackle is called exclusive or, and you can do some research on it if you like,", 'start': 113.226, 'duration': 5.263}, {'end': 120.13, 'text': 'but more or less this is what happens.', 'start': 118.489, 'duration': 1.641}, {'end': 122.311, 'text': 'You have inputs that are the same.', 'start': 120.45, 'duration': 1.861}, {'end': 124.512, 'text': 'They result in a zero output.', 'start': 122.931, 'duration': 1.581}, {'end': 126.693, 'text': 'When they differ, it results in a one.', 'start': 124.812, 'duration': 1.881}, {'end': 130.315, 'text': "There's always two inputs and there's always one output.", 'start': 127.714, 'duration': 2.601}, {'end': 138.84, 'text': "So let's take this very simple comment and let's translate it into something that the neural net or rather the JavaScript can understand.", 'start': 130.955, 'duration': 7.885}], 'summary': 'First neural net to tackle exclusive or problem with 2 inputs and 1 output.', 'duration': 34.9, 'max_score': 103.94, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo103940.jpg'}, {'end': 319.991, 'src': 'embed', 'start': 288.974, 'weight': 1, 'content': [{'end': 292.815, 'text': 'Now in train, we do something called forward propagation and back propagation.', 'start': 288.974, 'duration': 3.841}, {'end': 297.137, 'text': "Those terms may seem scary at first, but they're actually quite simple.", 'start': 293.215, 'duration': 3.922}, {'end': 301.558, 'text': "In fact, we're going to reduce their complexity down to something that even a child can understand.", 'start': 297.497, 'duration': 4.061}, {'end': 303.119, 'text': "You'll take a look at my slides here.", 'start': 301.918, 'duration': 1.201}, {'end': 306.019, 'text': 'Forward propagation and back propagation.', 'start': 304.238, 'duration': 1.781}, {'end': 307.361, 'text': 'We have a ball.', 'start': 306.52, 'duration': 0.841}, {'end': 310.503, 'text': "We're going to take a ball and we're going to throw it at a goal.", 'start': 308.341, 'duration': 2.162}, {'end': 319.991, 'text': "And when we do that, we're going to make a prediction as to how far the ball needs to go, how much energy to put behind it, the pathway of the ball,", 'start': 311.063, 'duration': 8.928}], 'summary': 'Introduction to forward and back propagation in training, simplified for easy understanding.', 'duration': 31.017, 'max_score': 288.974, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo288974.jpg'}, {'end': 620.131, 'src': 'embed', 'start': 591.792, 'weight': 2, 'content': [{'end': 593.653, 'text': 'That is our activation function called ReLU.', 'start': 591.792, 'duration': 1.861}, {'end': 600.206, 'text': 'Now, activation functions are measured in back propagation using what is called their derivative.', 'start': 594.133, 'duration': 6.073}, {'end': 603.587, 'text': "I'll go ahead and put a link here in our bonus material.", 'start': 600.926, 'duration': 2.661}, {'end': 608.708, 'text': "Two, I'll go ahead and post some links that take you to where ReLU and its derivative are used in the brain.", 'start': 604.167, 'duration': 4.541}, {'end': 616.13, 'text': 'In our last tutorial, we talked about the structure of a neural net.', 'start': 608.728, 'duration': 7.402}, {'end': 618.511, 'text': "And in this one, we're going to be talking about layers.", 'start': 616.31, 'duration': 2.201}, {'end': 620.131, 'text': 'Take a look at my illustration.', 'start': 618.831, 'duration': 1.3}], 'summary': 'Introduction to relu activation function and neural net layers.', 'duration': 28.339, 'max_score': 591.792, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo591792.jpg'}, {'end': 696.591, 'src': 'embed', 'start': 672.751, 'weight': 3, 'content': [{'end': 682.522, 'text': 'Just as our illustration has two neurons for the input layer, two hidden layers the first having two neurons,', 'start': 672.751, 'duration': 9.771}, {'end': 686.625, 'text': 'the second having two neurons and the last one having two neurons.', 'start': 682.522, 'duration': 4.103}, {'end': 693.049, 'text': "What's interesting about hidden layers is that's really where the majority of their storage is.", 'start': 687.105, 'duration': 5.944}, {'end': 696.591, 'text': 'If you likened it to a human, the hidden layers are where the ideas are.', 'start': 693.389, 'duration': 3.202}], 'summary': 'Neural network has 2 input, 2 hidden, and 2 output neurons.', 'duration': 23.84, 'max_score': 672.751, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo672751.jpg'}, {'end': 1131.898, 'src': 'embed', 'start': 1101.351, 'weight': 4, 'content': [{'end': 1102.311, 'text': 'It learned it fairly quickly.', 'start': 1101.351, 'duration': 0.96}, {'end': 1105.334, 'text': "And let's see actually what the neural net outputs.", 'start': 1102.812, 'duration': 2.522}, {'end': 1114.261, 'text': 'So net.run and a value of red, 0.9 of red.', 'start': 1105.974, 'duration': 8.287}, {'end': 1116.903, 'text': "And we'll log those values out.", 'start': 1114.581, 'duration': 2.322}, {'end': 1119.886, 'text': "Let's see what we get.", 'start': 1119.145, 'duration': 0.741}, {'end': 1122.368, 'text': 'Very cool.', 'start': 1121.767, 'duration': 0.601}, {'end': 1131.898, 'text': 'So you can see in the training set, we did not include dark, neutral, and light in every single one of the brightnesses.', 'start': 1123.048, 'duration': 8.85}], 'summary': 'Neural net quickly learned to output 0.9 of red, demonstrating effectiveness.', 'duration': 30.547, 'max_score': 1101.351, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo1101351.jpg'}], 'start': 82.678, 'title': 'Neural network training and structure', 'summary': 'Covers neural net training using brain.js to solve the exclusive or problem, explaining the training process, structure, and configuration of neural networks. it emphasizes interpreting outputs, understanding training data, forward and back propagation, activation functions like relu, hidden layers, and the use of objects as training data.', 'chapters': [{'end': 265.898, 'start': 82.678, 'title': 'Neural net training', 'summary': 'Introduces neural net training using brain.js to tackle the exclusive or problem, with an emphasis on interpreting outputs and understanding the training data.', 'duration': 183.22, 'highlights': ['The chapter focuses on training a neural net using Brain.js to solve the exclusive or problem, where same inputs result in a zero output and different inputs result in a one.', "Emphasis is placed on interpreting the neural net's output, aiming for numbers close to zero to indicate successful training.", 'The process involves defining training data, instantiating a new instance of brain, training the neural network, and interpreting outputs by running inputs through the network.']}, {'end': 469.968, 'start': 266.61, 'title': 'Neural net training process', 'summary': 'Explains the process of training a neural net, involving stages like forward and back propagation, with the goal of minimizing the error rate until training is completed.', 'duration': 203.358, 'highlights': ['The neural net training process involves stages like forward and back propagation, aimed at reducing the error rate until the training is completed.', "During forward propagation, a prediction is made about how far a ball needs to go and how much energy to put behind it, simulating the net's predictive process.", 'Back propagation involves measuring how far the prediction was off from the actual goal and making determinations for learning, illustrating the error correction process within the net.', 'Running the net eliminates the need for measuring the distance from the goal and backpropagation, as the net already knows the target, simplifying the process.', "Enabling a log function during training allows monitoring and visualization of the error rate, showing the net's progression in learning and its eventual decrease in error rate."]}, {'end': 910.871, 'start': 471.01, 'title': 'Neural net structure & configuration', 'summary': 'Explores the structure and configuration of neural networks, covering the initiation with random data, the role of activation functions like relu, the importance of hidden layers, the impact of different configurations, and the use of arrays in neural nets.', 'duration': 439.861, 'highlights': ["Neural nets start with random data as it's mathematically proven to be an effective way to initiate learning.", 'The ReLU activation function is popular and effective in neural networks, and its derivative is used in back propagation.', 'Hidden layers in neural networks store the majority of their information and play a crucial role in learning.', 'Different configurations of hidden layers impact the training time of the neural network, with more layers leading to longer training times.', 'Arrays are useful in neural nets as they represent a collection of values and can be referenced by index, allowing neurons to associate meaning with each array index.']}, {'end': 1445.584, 'start': 911.251, 'title': 'Using objects in brain.js', 'summary': 'Discusses using objects as training data for a neural net in brain.js, demonstrating how to train the neural net with objects, and the process of inverting the problem to classify colors based on brightness, while also exploring the implications of using different data types in neural networks.', 'duration': 534.333, 'highlights': ['The neural net is trained with objects representing color properties such as red, green, and blue, along with brightness properties like light, neutral, and dark, demonstrating the ability to train the neural net using objects as input data.', 'The process of inverting the problem involves training the neural net to classify colors based on brightness, showcasing the flexibility of Brain.js in handling different types of data and problem-solving approaches.', 'Exploration of using different data types, such as objects, in neural networks to improve context understanding and solve complex problems, providing insights into the potential of neural nets beyond numerical data.']}], 'duration': 1362.906, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo82678.jpg', 'highlights': ['The neural net is trained using Brain.js to solve the exclusive or problem, aiming for numbers close to zero to indicate successful training.', 'The training process involves forward and back propagation, aimed at reducing the error rate until completion.', 'The ReLU activation function is popular and effective in neural networks, and its derivative is used in back propagation.', 'Hidden layers in neural networks store the majority of their information and play a crucial role in learning.', 'The neural net is trained with objects representing color properties such as red, green, and blue, along with brightness properties like light, neutral, and dark.']}, {'end': 2041.163, 'segs': [{'end': 1503.575, 'src': 'embed', 'start': 1445.824, 'weight': 0, 'content': [{'end': 1447.566, 'text': 'Now our computers, they speak binary.', 'start': 1445.824, 'duration': 1.742}, {'end': 1449.667, 'text': "That's just ones and zeros.", 'start': 1448.246, 'duration': 1.421}, {'end': 1451.828, 'text': "So it's very, very similar language.", 'start': 1449.967, 'duration': 1.861}, {'end': 1455.51, 'text': 'To the neural net, we could use this same practice.', 'start': 1452.148, 'duration': 3.362}, {'end': 1460.112, 'text': 'We could say that zero is off and one is on.', 'start': 1455.93, 'duration': 4.182}, {'end': 1469.016, 'text': 'Now, we sort of did this previously with objects via their property name, but we fed the inputs directly into the neural net.', 'start': 1460.432, 'duration': 8.584}, {'end': 1476.68, 'text': 'In this case, we assign a neuron to a specific value that we are training towards, either the input or the output.', 'start': 1469.256, 'duration': 7.424}, {'end': 1484.703, 'text': 'And when that input or output neuron fires, we basically just assign that value as 1.', 'start': 1477.538, 'duration': 7.165}, {'end': 1488.005, 'text': "Otherwise, it's 0.", 'start': 1484.703, 'duration': 3.302}, {'end': 1500.693, 'text': "So, just like our on and off, we're taking these values like a boolean or null value or a string, et cetera,", 'start': 1488.005, 'duration': 12.688}, {'end': 1503.575, 'text': "and we're simply assigning it to the input.", 'start': 1500.693, 'duration': 2.882}], 'summary': 'Neural nets use binary language, assigning 0 or 1 to specific values for training inputs and outputs.', 'duration': 57.751, 'max_score': 1445.824, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo1445824.jpg'}, {'end': 1607.875, 'src': 'embed', 'start': 1577.948, 'weight': 4, 'content': [{'end': 1582.151, 'text': "Next, let's go ahead and plan how we're going to input our training data into the neural net.", 'start': 1577.948, 'duration': 4.203}, {'end': 1590.172, 'text': "So if we are going to use the day of the week, as the question we're going to ask our neural net.", 'start': 1582.271, 'duration': 7.901}, {'end': 1591.232, 'text': 'That will be our input.', 'start': 1590.292, 'duration': 0.94}, {'end': 1593.692, 'text': 'So our input is going to be a day of the week.', 'start': 1591.632, 'duration': 2.06}, {'end': 1600.734, 'text': 'So Monday, Tuesday, Wednesday, etc.', 'start': 1593.752, 'duration': 6.982}, {'end': 1607.875, 'text': 'Our output is going to be the restaurant name.', 'start': 1602.114, 'duration': 5.761}], 'summary': 'Input training data: day of the week, output: restaurant name', 'duration': 29.927, 'max_score': 1577.948, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo1577948.jpg'}, {'end': 1781.877, 'src': 'embed', 'start': 1742.957, 'weight': 5, 'content': [{'end': 1748.079, 'text': "That'll be const net new brain dot neural network.", 'start': 1742.957, 'duration': 5.122}, {'end': 1752.581, 'text': "And we're going to give it the same hidden layers as before.", 'start': 1749.319, 'duration': 3.262}, {'end': 1755.542, 'text': 'Single hidden layer with three neurons.', 'start': 1753.421, 'duration': 2.121}, {'end': 1761.601, 'text': 'and all that is left to do is train on our training data.', 'start': 1757.638, 'duration': 3.963}, {'end': 1774.891, 'text': "so we'll do const stats equals, net dot, train training data, and then we'll console, log our stats out.", 'start': 1761.601, 'duration': 13.29}, {'end': 1775.992, 'text': 'all right, are you ready?', 'start': 1774.891, 'duration': 1.101}, {'end': 1781.396, 'text': 'here we go.', 'start': 1775.992, 'duration': 5.404}, {'end': 1781.877, 'text': 'look at that.', 'start': 1781.396, 'duration': 0.481}], 'summary': 'Creating a neural network with a single hidden layer containing three neurons and training it on the training data.', 'duration': 38.92, 'max_score': 1742.957, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo1742957.jpg'}, {'end': 1853.396, 'src': 'embed', 'start': 1815.723, 'weight': 6, 'content': [{'end': 1819.405, 'text': 'We just have a likelihood associated to each one of those restaurants.', 'start': 1815.723, 'duration': 3.682}, {'end': 1826.21, 'text': 'But really what we want is to put a string in and to get a string from our neural net.', 'start': 1820.026, 'duration': 6.184}, {'end': 1827.911, 'text': "We're going to do that next.", 'start': 1827.05, 'duration': 0.861}, {'end': 1831.433, 'text': 'If you can pause it, just think about how you might be able to do that.', 'start': 1828.631, 'duration': 2.802}, {'end': 1848.774, 'text': "Okay, so we're going to create a function And its name is restaurant or day.", 'start': 1836.556, 'duration': 12.218}, {'end': 1853.396, 'text': "It's going to get a day of week.", 'start': 1848.795, 'duration': 4.601}], 'summary': 'Developing a function to determine restaurant likelihood based on neural net input.', 'duration': 37.673, 'max_score': 1815.723, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo1815723.jpg'}, {'end': 1999.523, 'src': 'embed', 'start': 1969.792, 'weight': 3, 'content': [{'end': 1972.914, 'text': "And so from this, we're going to accept a day of the week, a string.", 'start': 1969.792, 'duration': 3.122}, {'end': 1974.635, 'text': "We're going to put that into the neural net.", 'start': 1973.255, 'duration': 1.38}, {'end': 1977.457, 'text': "The neural net's going to give us its predictions.", 'start': 1975.176, 'duration': 2.281}, {'end': 1980.179, 'text': 'Those predictions are a list of restaurants.', 'start': 1977.937, 'duration': 2.242}, {'end': 1982.941, 'text': "We're going to iterate over those restaurants.", 'start': 1981.179, 'duration': 1.762}, {'end': 1990.085, 'text': "Then we're going to save the highest one, and we're going to return the highest one.", 'start': 1983.821, 'duration': 6.264}, {'end': 1993.521, 'text': "We'll go ahead and log the results out.", 'start': 1991.24, 'duration': 2.281}, {'end': 1995.262, 'text': 'So this is restaurant for day.', 'start': 1993.541, 'duration': 1.721}, {'end': 1999.523, 'text': "We're going to say Monday and we'll test all out.", 'start': 1995.282, 'duration': 4.241}], 'summary': 'Neural net predicts restaurants for a day, returning the highest one.', 'duration': 29.731, 'max_score': 1969.792, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo1969792.jpg'}], 'start': 1445.824, 'title': 'Training neural net for restaurant selection', 'summary': 'Explains training a neural net to recommend restaurants for free meals with kids based on the day of the week using brain.js, achieving accurate results with a single hidden layer of three neurons and under 2000 iterations.', 'chapters': [{'end': 1527.023, 'start': 1445.824, 'title': 'Neural net and binary representation', 'summary': 'Explains how neural nets can be trained using binary representation, assigning specific values to neurons and implications for processing any value through a neural net.', 'duration': 81.199, 'highlights': ['Neural nets can be trained using binary representation, with specific values assigned to neurons and inputs/outputs firing as 1 or 0, allowing processing of any value through the net.', 'Computers speak binary, using ones and zeros, similar to the language of neural nets, where 1 is on and 0 is off.', 'Values like boolean, null, or string are simply assigned to the input, with firing neurons representing a value of 1 and otherwise 0.']}, {'end': 2041.163, 'start': 1527.563, 'title': 'Neural net for restaurant selection', 'summary': 'Discusses the process of training a neural net to recommend restaurants for free meals with kids based on the day of the week, using brain.js. it covers the input and output data, training the neural net, and creating a function to predict the restaurant for a given day of the week, achieving accurate results with a single hidden layer of three neurons and under 2000 iterations.', 'duration': 513.6, 'highlights': ['Training the neural net to recommend restaurants for free meals with kids based on the day of the week', 'Defining input and output data for the neural net', 'Training the neural net with a single hidden layer and under 2000 iterations', 'Creating a function to predict the restaurant for a given day of the week']}], 'duration': 595.339, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo1445824.jpg', 'highlights': ['Neural nets process any value through binary representation', 'Computers and neural nets use binary language of 1 and 0', 'Assigning values like boolean or string to firing neurons', 'Training neural net to recommend restaurants based on day of the week', 'Defining input and output data for the neural net', 'Training with a single hidden layer and under 2000 iterations', 'Creating a function to predict the restaurant for a given day']}, {'end': 3024.913, 'segs': [{'end': 2097.829, 'src': 'embed', 'start': 2041.624, 'weight': 6, 'content': [{'end': 2046.125, 'text': "So now we've got string in and string out for our neural net.", 'start': 2041.624, 'duration': 4.501}, {'end': 2057.985, 'text': 'Next, as a bonus, Try and flip this logic the other way so that you are inputting a restaurant name and you are getting out a day of the week.', 'start': 2046.745, 'duration': 11.24}, {'end': 2060.127, 'text': "I'll leave you to it.", 'start': 2059.547, 'duration': 0.58}, {'end': 2067.931, 'text': "In this tutorial, we're going to learn how to count.", 'start': 2066.311, 'duration': 1.62}, {'end': 2073.656, 'text': 'And although that sounds kind of like an easy task at first, it actually is a little bit difficult.', 'start': 2068.693, 'duration': 4.963}, {'end': 2077.197, 'text': 'But when we use the right tools, it becomes easy.', 'start': 2074.496, 'duration': 2.701}, {'end': 2082.94, 'text': 'Take a look at my slides, and this will give us a background on where to get started.', 'start': 2078.297, 'duration': 4.643}, {'end': 2086.922, 'text': 'This is exclusive OR, our first problem that we solved.', 'start': 2083.179, 'duration': 3.743}, {'end': 2093.085, 'text': 'Each of the empty squares is a zero, and each of the black squares is a one.', 'start': 2088.023, 'duration': 5.062}, {'end': 2097.829, 'text': "Let's take a look at a different input, one that may be a little bit more tricky.", 'start': 2094.286, 'duration': 3.543}], 'summary': 'Tutorial on neural net, counting, and problem-solving.', 'duration': 56.205, 'max_score': 2041.624, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo2041624.jpg'}, {'end': 2160.687, 'src': 'embed', 'start': 2125.21, 'weight': 9, 'content': [{'end': 2127.876, 'text': "Width and height don't really change in neural nets.", 'start': 2125.21, 'duration': 2.666}, {'end': 2130.082, 'text': 'They are constant.', 'start': 2128.578, 'duration': 1.504}, {'end': 2136.654, 'text': 'But in computers, there are some rules that can be bent and others that can be broken.', 'start': 2131.011, 'duration': 5.643}, {'end': 2141.156, 'text': "And we'll start illustrating that now by going to the movies.", 'start': 2137.314, 'duration': 3.842}, {'end': 2144.378, 'text': "On your trip to the movies, you're going to bring your best friend along.", 'start': 2141.776, 'duration': 2.602}, {'end': 2151.461, 'text': "And they're, of course, thrilled at going to the movies with you because it's the latest and greatest movie that you've been looking forward to.", 'start': 2144.998, 'duration': 6.463}, {'end': 2160.687, 'text': "and everything is going fantastic and in fact it's the cliffhanger scene right there at the middle but all of a sudden the screen goes black.", 'start': 2152.461, 'duration': 8.226}], 'summary': 'Neural net dimensions remain constant, unlike computer rules. an abrupt interruption occurs during a thrilling movie scene.', 'duration': 35.477, 'max_score': 2125.21, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo2125210.jpg'}, {'end': 2305.515, 'src': 'embed', 'start': 2251.504, 'weight': 0, 'content': [{'end': 2260.113, 'text': 'The depth, The frames, how long the movie is and what happens on each frame and what leads to the next one.', 'start': 2251.504, 'duration': 8.609}, {'end': 2264.476, 'text': 'that gives us a context as to what is happening in the movie.', 'start': 2260.113, 'duration': 4.363}, {'end': 2267.178, 'text': "It's the same with neural nets.", 'start': 2266.077, 'duration': 1.101}, {'end': 2272.701, 'text': 'This context in a neural net recurs.', 'start': 2269.039, 'duration': 3.662}, {'end': 2277.744, 'text': "It's something that happens over and over again, something that has to, in a sense, repeat.", 'start': 2273.261, 'duration': 4.483}, {'end': 2281.986, 'text': 'This terminology in neural nets is called recurrent.', 'start': 2278.524, 'duration': 3.462}, {'end': 2285.488, 'text': 'Now, that sounds like a very complex word, recurrent.', 'start': 2282.266, 'duration': 3.222}, {'end': 2288.289, 'text': "Oh no, what are we going to do next? But it's actually quite simple.", 'start': 2285.568, 'duration': 2.721}, {'end': 2292.392, 'text': "And to illustrate that, let's go simple.", 'start': 2288.57, 'duration': 3.822}, {'end': 2294.953, 'text': "Let's go to something that even a child can understand.", 'start': 2292.512, 'duration': 2.441}, {'end': 2305.515, 'text': "One. Now, at its very simplest, if I go to a child and I say one, likely the child will not understand what I'm talking about,", 'start': 2296.614, 'duration': 8.901}], 'summary': "Neural nets use recurrent context, analogous to a child understanding 'one.'", 'duration': 54.011, 'max_score': 2251.504, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo2251504.jpg'}, {'end': 2641.464, 'src': 'embed', 'start': 2613.482, 'weight': 1, 'content': [{'end': 2616.184, 'text': 'And that is how you count using a neural net.', 'start': 2613.482, 'duration': 2.702}, {'end': 2623.647, 'text': 'In our first one, we gave it an array of 1, 2, 3, and 4, expecting a 5.', 'start': 2616.404, 'duration': 7.243}, {'end': 2626.969, 'text': "And that's what we got, 4.98.", 'start': 2623.647, 'duration': 3.322}, {'end': 2632.07, 'text': 'And in the second one, we sent in a 5, 4, 3, 2.', 'start': 2626.969, 'duration': 5.101}, {'end': 2635.853, 'text': "And we're expecting a 1, just like we have up here in our training data.", 'start': 2632.071, 'duration': 3.782}, {'end': 2638.678, 'text': 'And we got a 1.00.', 'start': 2636.473, 'duration': 2.205}, {'end': 2641.464, 'text': "So that's really exactly what we wanted.", 'start': 2638.678, 'duration': 2.786}], 'summary': 'Neural net accurately predicted 5 as 4.98 and 1 as 1.00 in counting task.', 'duration': 27.982, 'max_score': 2613.482, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo2613482.jpg'}, {'end': 2923.229, 'src': 'embed', 'start': 2883.437, 'weight': 2, 'content': [{'end': 2888.48, 'text': "And we're going to return that same sort of signature, that same sort of data.", 'start': 2883.437, 'duration': 5.043}, {'end': 2899.004, 'text': 'But rather than dividing by 138, the exact inverse of dividing is multiplying.', 'start': 2889.18, 'duration': 9.824}, {'end': 2901.045, 'text': 'So we will multiply by 138.', 'start': 2899.945, 'duration': 1.1}, {'end': 2909.789, 'text': 'And now we have our scale up function, referred to normally as denormalize.', 'start': 2901.045, 'duration': 8.744}, {'end': 2912.463, 'text': 'Normalize brings it down.', 'start': 2910.902, 'duration': 1.561}, {'end': 2914.444, 'text': 'Denormalize brings it up.', 'start': 2912.943, 'duration': 1.501}, {'end': 2923.229, 'text': "And to test them both side by side, we'll go ahead and console.log scale up.", 'start': 2915.284, 'duration': 7.945}], 'summary': 'Multiplying by 138 to scale up and denormalize the data for testing.', 'duration': 39.792, 'max_score': 2883.437, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo2883437.jpg'}, {'end': 2973.981, 'src': 'embed', 'start': 2951.208, 'weight': 3, 'content': [{'end': 2966.256, 'text': "A more common approach to normalizing your data would be to subtract the lowest value from all the other values that you're sending into the neural net and then to divide by the highest value minus the lowest value.", 'start': 2951.208, 'duration': 15.048}, {'end': 2967.937, 'text': 'That sounds kind of confusing at first.', 'start': 2966.496, 'duration': 1.441}, {'end': 2973.981, 'text': 'If we were to take one of these lines, for example, the first one in scale down, and we used it right here.', 'start': 2967.957, 'duration': 6.024}], 'summary': 'Normalization involves subtracting lowest value and dividing by range.', 'duration': 22.773, 'max_score': 2951.208, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo2951208.jpg'}], 'start': 2041.624, 'title': 'Neural net manipulation & context', 'summary': 'Covers string manipulation, counting, exclusive or problem-solving, and neural net input representation, while emphasizing the importance of recurrent context, frames, and data normalization for neural networks.', 'chapters': [{'end': 2144.378, 'start': 2041.624, 'title': 'Neural net string manipulation & counting tutorial', 'summary': 'Covers string manipulation for neural nets, introduces counting, exclusive or problem-solving, and neural net input representation, highlighting the ease of tasks with the right tools and the constant nature of width and height in neural nets.', 'duration': 102.754, 'highlights': ['The chapter introduces string manipulation for neural nets and a bonus task of mapping restaurant names to days of the week.', 'It covers the topic of counting, highlighting its initial perceived simplicity and actual difficulty.', 'The chapter discusses the exclusive OR problem-solving and illustrates the input representation in neural nets using 0s and 1s, emphasizing the difficulty in interpreting certain inputs.', 'It emphasizes the constant nature of width and height in neural nets and the ability to bend and break rules in computers.']}, {'end': 2364.412, 'start': 2144.998, 'title': 'Neural nets and recurrent context', 'summary': 'Illustrates the concept of recurrent context in neural nets using a movie analogy, emphasizing the importance of context and frames in understanding neural networks, and how providing context helps in deciphering information, with a simple illustration of counting as a child would understand.', 'duration': 219.414, 'highlights': ['The importance of context and frames in understanding neural networks', 'The concept of recurrent context in neural nets', 'Simple illustration of counting as a child would understand']}, {'end': 3024.913, 'start': 2364.412, 'title': 'Recurrent neural networks and time sequences', 'summary': 'Explains the concept of depth and time in recurrent neural networks, trains a neural net to count from one to five and from five to one, demonstrates data normalization using scaledown and scaleup functions, and discusses the importance of normalizing data for neural nets.', 'duration': 660.501, 'highlights': ['The chapter explains the concept of depth and time in recurrent neural networks', 'Trains a neural net to count from one to five and from five to one', 'Demonstrates data normalization using scaleDown and scaleUp functions', 'Discusses the importance of normalizing data for neural nets']}], 'duration': 983.289, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo2041624.jpg', 'highlights': ['The chapter explains the concept of depth and time in recurrent neural networks', 'Trains a neural net to count from one to five and from five to one', 'Demonstrates data normalization using scaleDown and scaleUp functions', 'Discusses the importance of normalizing data for neural nets', 'The importance of context and frames in understanding neural networks', 'The concept of recurrent context in neural nets', 'Covers string manipulation for neural nets and a bonus task of mapping restaurant names to days of the week', 'It covers the topic of counting, highlighting its initial perceived simplicity and actual difficulty', 'The chapter discusses the exclusive OR problem-solving and illustrates the input representation in neural nets using 0s and 1s, emphasizing the difficulty in interpreting certain inputs', 'Emphasizes the constant nature of width and height in neural nets and the ability to bend and break rules in computers', 'Simple illustration of counting as a child would understand']}, {'end': 3770.545, 'segs': [{'end': 3081.714, 'src': 'embed', 'start': 3049.784, 'weight': 4, 'content': [{'end': 3052.127, 'text': "So first, let's scale all of our raw data.", 'start': 3049.784, 'duration': 2.343}, {'end': 3055.792, 'text': "We're going to call this scaled data.", 'start': 3052.147, 'duration': 3.645}, {'end': 3058.355, 'text': "It's not yet training data, but it's close.", 'start': 3055.812, 'duration': 2.543}, {'end': 3061.98, 'text': "We're going to say raw data dot map.", 'start': 3058.956, 'duration': 3.024}, {'end': 3067.427, 'text': "And we're going to map over all those values using our scale down function.", 'start': 3062.4, 'duration': 5.027}, {'end': 3074.469, 'text': 'And so now our scaled data will have all of those new values that are normalized.', 'start': 3068.644, 'duration': 5.825}, {'end': 3081.714, 'text': 'Next, what we want to do is, rather than feed in one long array of all these objects, these properties,', 'start': 3074.829, 'duration': 6.885}], 'summary': 'Scaling raw data using scale down function to normalize values.', 'duration': 31.93, 'max_score': 3049.784, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo3049784.jpg'}, {'end': 3142.82, 'src': 'embed', 'start': 3102.802, 'weight': 3, 'content': [{'end': 3113.088, 'text': "We're going to take our scaled data and we're going to slice it into chunks of five, starting at the first index.", 'start': 3102.802, 'duration': 10.286}, {'end': 3122.093, 'text': "And we're going to progress by five indexes each time.", 'start': 3115.109, 'duration': 6.984}, {'end': 3128.651, 'text': 'And so that is our training data.', 'start': 3126.67, 'duration': 1.981}, {'end': 3130.432, 'text': 'And we can console log it out.', 'start': 3129.051, 'duration': 1.381}, {'end': 3134.035, 'text': 'Make sure it looks right.', 'start': 3133.294, 'duration': 0.741}, {'end': 3137.056, 'text': 'Very nice.', 'start': 3136.536, 'duration': 0.52}, {'end': 3140.699, 'text': "Okay, so it's an array of arrays.", 'start': 3137.837, 'duration': 2.862}, {'end': 3142.82, 'text': "That's an important concept.", 'start': 3141.739, 'duration': 1.081}], 'summary': 'Data sliced into chunks of 5 for training, array of arrays concept emphasized.', 'duration': 40.018, 'max_score': 3102.802, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo3102802.jpg'}, {'end': 3201.114, 'src': 'embed', 'start': 3174.713, 'weight': 1, 'content': [{'end': 3179.157, 'text': 'that represents one point in time or one step through time.', 'start': 3174.713, 'duration': 4.444}, {'end': 3187.384, 'text': 'so our neural net is going to have an input size of those properties, being them four properties.', 'start': 3179.157, 'duration': 8.227}, {'end': 3194.63, 'text': "our input size will be four, and it's very rare to deviate from that with output size.", 'start': 3187.384, 'duration': 7.246}, {'end': 3196.592, 'text': "so we'll go ahead and put an output size of four as well.", 'start': 3194.63, 'duration': 1.962}, {'end': 3201.114, 'text': 'And so now we want to define our hidden layers.', 'start': 3198.993, 'duration': 2.121}], 'summary': 'Neural net has input and output size of 4, rare to deviate from that.', 'duration': 26.401, 'max_score': 3174.713, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo3174713.jpg'}, {'end': 3269.52, 'src': 'embed', 'start': 3239.09, 'weight': 2, 'content': [{'end': 3244.132, 'text': "And the reason we're going to do that is so it doesn't sort of shoot past the values that we're looking for.", 'start': 3239.09, 'duration': 5.042}, {'end': 3247.834, 'text': 'We want very small increments toward our goal.', 'start': 3244.472, 'duration': 3.362}, {'end': 3250.695, 'text': 'And the next is our error threshold.', 'start': 3248.694, 'duration': 2.001}, {'end': 3259.537, 'text': "now, the longer and the more data that you end up using with your neural net, potentially longer it's going to take to train, and so,", 'start': 3251.835, 'duration': 7.702}, {'end': 3269.52, 'text': "for this being just in the web browser and we want to train to a sufficiently good error, i'm going to turn it down to 0.02 and as well.", 'start': 3259.537, 'duration': 9.983}], 'summary': 'Adjusting training parameters for small increments and error threshold of 0.02.', 'duration': 30.43, 'max_score': 3239.09, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo3239090.jpg'}, {'end': 3354.232, 'src': 'embed', 'start': 3322.904, 'weight': 5, 'content': [{'end': 3326.225, 'text': "So what do we want to do there? Well, I'll give you a moment to think about it.", 'start': 3322.904, 'duration': 3.321}, {'end': 3333.362, 'text': 'Okay, this is where we finally use scale up.', 'start': 3330.057, 'duration': 3.305}, {'end': 3335.926, 'text': 'This is where we denormalize our values.', 'start': 3333.603, 'duration': 2.323}, {'end': 3336.928, 'text': 'Here we go.', 'start': 3336.507, 'duration': 0.421}, {'end': 3340.073, 'text': 'I went ahead and added that as a wrapper around.', 'start': 3336.948, 'duration': 3.125}, {'end': 3343.403, 'text': "Net run, and we'll run it again.", 'start': 3341.721, 'duration': 1.682}, {'end': 3344.644, 'text': 'And there we go.', 'start': 3343.423, 'duration': 1.221}, {'end': 3348.207, 'text': 'Values that look very familiar, our 140s or so.', 'start': 3345.324, 'duration': 2.883}, {'end': 3354.232, 'text': "One thing that would be really useful is to not just look one step into the future, which is what we're doing right here.", 'start': 3348.747, 'duration': 5.485}], 'summary': 'Utilized scale up, denormalized values, and achieved familiar 140s.', 'duration': 31.328, 'max_score': 3322.904, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo3322904.jpg'}, {'end': 3400.379, 'src': 'embed', 'start': 3372.782, 'weight': 0, 'content': [{'end': 3377.468, 'text': 'In our last tutorial, we predicted the next step for stock market data.', 'start': 3372.782, 'duration': 4.686}, {'end': 3381.293, 'text': "And in this tutorial, we're going to predict the next three steps.", 'start': 3377.929, 'duration': 3.364}, {'end': 3383.216, 'text': "That's really interesting and cool.", 'start': 3381.554, 'duration': 1.662}, {'end': 3384.417, 'text': "And it's actually quite simple.", 'start': 3383.456, 'duration': 0.961}, {'end': 3388.61, 'text': "So we're going to actually just change one little method.", 'start': 3384.437, 'duration': 4.173}, {'end': 3400.379, 'text': "So rather than use net.run, I'm going to comment this out, and I'm going to say console.log, we're going to do net.forecast.", 'start': 3389.27, 'duration': 11.109}], 'summary': 'Predict the next three stock market steps using net.forecast.', 'duration': 27.597, 'max_score': 3372.782, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo3372782.jpg'}, {'end': 3540.857, 'src': 'embed', 'start': 3508.925, 'weight': 6, 'content': [{'end': 3515.747, 'text': 'And that array maps a value that is coming into the neural net to a neuron.', 'start': 3508.925, 'duration': 6.822}, {'end': 3517.89, 'text': 'And it does so by index.', 'start': 3516.607, 'duration': 1.283}, {'end': 3519.754, 'text': 'And this is how it works.', 'start': 3518.812, 'duration': 0.942}, {'end': 3523.126, 'text': 'By first sending in our training data.', 'start': 3520.945, 'duration': 2.181}, {'end': 3535.794, 'text': 'the training data is analyzed and we pull out unique values like zero, the next value being plus and the next value being equals,', 'start': 3523.126, 'duration': 12.668}, {'end': 3538.936, 'text': "because zero is repeating up here and we've already established it.", 'start': 3535.794, 'duration': 3.142}, {'end': 3540.857, 'text': 'Equals would be the next one.', 'start': 3539.796, 'duration': 1.061}], 'summary': 'The array maps values to neurons by index, analyzing training data to pull out unique values like zero, plus, and equals.', 'duration': 31.932, 'max_score': 3508.925, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo3508925.jpg'}, {'end': 3750.517, 'src': 'embed', 'start': 3705.94, 'weight': 7, 'content': [{'end': 3706.961, 'text': "We're going to define our net.", 'start': 3705.94, 'duration': 1.021}, {'end': 3722.215, 'text': "Const net equals new brain.recurrent.longshorttermmemory And we're going to have hidden layers of 20.", 'start': 3707.041, 'duration': 15.174}, {'end': 3727.238, 'text': "And we're going to net.train on our training data.", 'start': 3722.215, 'duration': 5.023}, {'end': 3736.284, 'text': 'And we are going to set our error threshold to 0.025.', 'start': 3730.7, 'duration': 5.584}, {'end': 3744.829, 'text': "And we're going to go ahead and log out our value.", 'start': 3736.284, 'duration': 8.545}, {'end': 3749.637, 'text': "All right, so we'll go ahead and learn it, and we'll see what happens.", 'start': 3746.576, 'duration': 3.061}, {'end': 3750.517, 'text': 'Very cool.', 'start': 3750.017, 'duration': 0.5}], 'summary': 'Creating a neural net with 20 hidden layers, training with error threshold of 0.025.', 'duration': 44.577, 'max_score': 3705.94, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo3705940.jpg'}], 'start': 3024.913, 'title': 'Neural net training and predicting future steps', 'summary': 'Covers normalizing data and training a neural net, and predicting multiple future steps in stock market data using recurrent neural networks, cautioning about the complexity and computational time of long short-term memory neural nets.', 'chapters': [{'end': 3348.207, 'start': 3024.913, 'title': 'Neural net training and data normalization', 'summary': 'Discusses normalizing data and training a neural net with normalized data by scaling the raw data, creating training data by chunking and normalizing it, defining a neural net with input, hidden and output sizes, training the neural net with learning rate and error threshold adjustments, and denormalizing the output values.', 'duration': 323.294, 'highlights': ['Defining a neural net with input, hidden and output sizes', 'Training the neural net with learning rate and error threshold adjustments', 'Creating training data by chunking and normalizing it', 'Scaling the raw data to create scaled data', 'Denormalizing the output values']}, {'end': 3770.545, 'start': 3348.747, 'title': 'Predicting multiple future steps with neural networks', 'summary': 'Discusses using a recurrent neural network to predict the next three steps in stock market data, demonstrating the process of input mapping, neuron activation, and error threshold setting, while cautioning about the complexity and computational time of long short-term memory neural nets.', 'duration': 421.798, 'highlights': ['The tutorial demonstrates predicting the next three steps in stock market data using a recurrent neural network.', 'The process involves input mapping and neuron activation, with unique values from the training data being mapped to neurons in the network.', 'Setting the error threshold to 0.025 for the neural network and cautioning about the complexity and computational time of long short-term memory neural nets.']}], 'duration': 745.632, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo3024913.jpg', 'highlights': ['Predicting the next three steps in stock market data using a recurrent neural network', 'Defining a neural net with input, hidden and output sizes', 'Training the neural net with learning rate and error threshold adjustments', 'Creating training data by chunking and normalizing it', 'Scaling the raw data to create scaled data', 'Denormalizing the output values', 'The process involves input mapping and neuron activation, with unique values from the training data being mapped to neurons in the network', 'Setting the error threshold to 0.025 for the neural network and cautioning about the complexity and computational time of long short-term memory neural nets']}, {'end': 4271.65, 'segs': [{'end': 3827.458, 'src': 'embed', 'start': 3793.6, 'weight': 0, 'content': [{'end': 3800.943, 'text': '4.1 And depending on the error rate, too, some of these values may be a little bit incorrect.', 'start': 3793.6, 'duration': 7.343}, {'end': 3803.134, 'text': 'But they should be pretty close.', 'start': 3801.953, 'duration': 1.181}, {'end': 3809.16, 'text': "It's quite entertaining what a neural net can actually give us.", 'start': 3803.955, 'duration': 5.205}, {'end': 3812.524, 'text': "Okay, so we're going to run these three values and see what happens.", 'start': 3809.541, 'duration': 2.983}, {'end': 3822.413, 'text': 'Alright, 0 plus 1 is 1, 4 plus 1 is 5, and 2 plus 1 is 3.', 'start': 3813.945, 'duration': 8.468}, {'end': 3823.555, 'text': 'We nailed it.', 'start': 3822.413, 'duration': 1.142}, {'end': 3827.458, 'text': 'Awesome So that is Recurrent Neural Networks Learning Math.', 'start': 3824.175, 'duration': 3.283}], 'summary': 'Recurrent neural networks learns math with 100% accuracy.', 'duration': 33.858, 'max_score': 3793.6, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo3793600.jpg'}, {'end': 3885.473, 'src': 'embed', 'start': 3858.931, 'weight': 1, 'content': [{'end': 3866.215, 'text': "Now we're going to use this simple string and a simple normalization function to convert these inputs right here to zeros and ones.", 'start': 3858.931, 'duration': 7.284}, {'end': 3867.816, 'text': "So let's go ahead and write that first.", 'start': 3866.516, 'duration': 1.3}, {'end': 3873.586, 'text': "So we're going to create a function and we're going to call it toNumber.", 'start': 3868.797, 'duration': 4.789}, {'end': 3876.849, 'text': "And it's going to take a character as an input.", 'start': 3874.167, 'duration': 2.682}, {'end': 3885.473, 'text': "What we're going to return from this function is if the character equals an asterisk, we're going to return a 1.", 'start': 3877.029, 'duration': 8.444}], 'summary': 'A function will convert input characters to 0s and 1s.', 'duration': 26.542, 'max_score': 3858.931, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo3858931.jpg'}, {'end': 4214.642, 'src': 'embed', 'start': 4188.859, 'weight': 2, 'content': [{'end': 4193.304, 'text': "In this tutorial, we're going to write a children's book using a recurrent neural network.", 'start': 4188.859, 'duration': 4.445}, {'end': 4196.026, 'text': "And we'll start with our training data here.", 'start': 4194.145, 'duration': 1.881}, {'end': 4203.012, 'text': "And if you'll go ahead and think about pausing it here, what type of neural net that we use based off of our previous tutorials.", 'start': 4196.647, 'duration': 6.365}, {'end': 4214.642, 'text': "Okay, likely you arrived at a long short term memory, recurrent neural network, we're going to go ahead and train on our data.", 'start': 4206.195, 'duration': 8.447}], 'summary': "Tutorial on writing a children's book using recurrent neural network, training on long short term memory (lstm) rnn.", 'duration': 25.783, 'max_score': 4188.859, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo4188859.jpg'}], 'start': 3771.713, 'title': 'Neural net applications', 'summary': 'Discusses the application of recurrent neural networks in learning and predicting mathematical operations, achieving accurate results such as 0+1=1, 4+1=5, and 2+1=3, and also explains the process of training a neural network to recognize and output numbers with a low error rate using a simple string normalization function to convert inputs to zeros and ones.', 'chapters': [{'end': 3827.458, 'start': 3771.713, 'title': 'Recurrent neural networks learning math', 'summary': 'Discusses how a recurrent neural network was used to learn and predict mathematical operations, achieving accurate results with examples of 0+1=1, 4+1=5, and 2+1=3, showcasing the entertaining capabilities of neural nets.', 'duration': 55.745, 'highlights': ['The neural net successfully predicted the results of mathematical operations, with examples such as 0+1=1, 4+1=5, and 2+1=3, showcasing its accurate learning capabilities.', 'The chapter also mentions the potential for some values to be slightly incorrect due to error rates, emphasizing that the predictions should be pretty close.', 'The fun part lies in observing the outcomes of the trained neural net, highlighting the entertaining and impressive capabilities it possesses.']}, {'end': 4271.65, 'start': 3827.759, 'title': 'Neural net training and application', 'summary': 'Explains the process of training a neural network using a simple string normalization function to convert inputs to zeros and ones, and then using the network to recognize and output numbers with a low error rate, demonstrating the dynamic and resilient nature of neural nets.', 'duration': 443.891, 'highlights': ['The process of training a neural network involves using a simple string normalization function to convert inputs to zeros and ones, and then using the network to recognize and output numbers with a low error rate.', 'The dynamic and resilient nature of neural nets is demonstrated by their ability to still recognize a number even if certain input elements are removed, showcasing their popularity and amazing capabilities.', "The chapter introduces the concept of writing a children's book using a recurrent neural network, specifically a long short term memory (LSTM) network, and demonstrates its training and output capabilities."]}], 'duration': 499.937, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo3771713.jpg', 'highlights': ['The neural net successfully predicted the results of mathematical operations, showcasing its accurate learning capabilities.', 'The process of training a neural network involves using a simple string normalization function to convert inputs to zeros and ones.', "The chapter introduces the concept of writing a children's book using a recurrent neural network, specifically a long short term memory (LSTM) network."]}, {'end': 4643.995, 'segs': [{'end': 4318.733, 'src': 'embed', 'start': 4272.35, 'weight': 0, 'content': [{'end': 4275.372, 'text': 'You see the net already altered a little bit of what was going on.', 'start': 4272.35, 'duration': 3.022}, {'end': 4281.653, 'text': "What you'll find is that depending on how you set up your neural net, it can give you some really interesting outputs.", 'start': 4276.666, 'duration': 4.987}, {'end': 4284.497, 'text': "And the more data that you give it, the more interesting it's going to get.", 'start': 4281.813, 'duration': 2.684}, {'end': 4289.405, 'text': 'So your bonus here is to experiment with book writing.', 'start': 4284.577, 'duration': 4.828}, {'end': 4300.416, 'text': 'In this tutorial, we are going to learn how to detect sentiment from text directly.', 'start': 4295.632, 'duration': 4.784}, {'end': 4303.259, 'text': "And you'll notice our training data is a bit different than prior.", 'start': 4300.536, 'duration': 2.723}, {'end': 4312.988, 'text': 'Here we have an array of objects whose properties are strings rather than arrays of numbers.', 'start': 4303.399, 'duration': 9.589}, {'end': 4316.691, 'text': 'And Brain.js is set up to go ahead and accept this type of input.', 'start': 4313.228, 'duration': 3.463}, {'end': 4317.452, 'text': "It's not a problem.", 'start': 4316.731, 'duration': 0.721}, {'end': 4318.733, 'text': "So let's go ahead and get started.", 'start': 4317.632, 'duration': 1.101}], 'summary': 'Neural nets can generate interesting outputs with more data. experiment with book writing and detect sentiment from text using brain.js.', 'duration': 46.383, 'max_score': 4272.35, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo4272350.jpg'}, {'end': 4455.595, 'src': 'embed', 'start': 4377.465, 'weight': 2, 'content': [{'end': 4386.451, 'text': "Now I want to point out that we're not training this for very long and that the error threshold if you were to bring that a bit down and as well iterations it's going to be quite a bit more stable.", 'start': 4377.465, 'duration': 8.986}, {'end': 4393.255, 'text': 'But what you may have not noticed is that we did not send into the neural net the values that we trained it with.', 'start': 4386.691, 'duration': 6.564}, {'end': 4396.358, 'text': 'And yet it was still able to classify them as happy and sad.', 'start': 4393.716, 'duration': 2.642}, {'end': 4400.941, 'text': "So again we're kind of highlighting the dynamic ability of the neural net.", 'start': 4396.918, 'duration': 4.023}, {'end': 4407.872, 'text': 'And for your bonus, Tweak the iterations and threshold.', 'start': 4401.721, 'duration': 6.151}, {'end': 4413.595, 'text': 'Be careful because in the browser, you can cause it to train indefinitely or for a very long period of time.', 'start': 4408.132, 'duration': 5.463}, {'end': 4419.599, 'text': 'But add five new examples in the training data.', 'start': 4414.175, 'duration': 5.424}, {'end': 4421.18, 'text': 'That would be up here.', 'start': 4420.479, 'duration': 0.701}, {'end': 4430.826, 'text': "And then log out of five examples that aren't in the training data.", 'start': 4423.861, 'duration': 6.965}, {'end': 4432.687, 'text': 'All right, have fun yelling at the computer.', 'start': 4431.126, 'duration': 1.561}, {'end': 4443.153, 'text': "Sentiment Detection Recurrent Neural Network and in this tutorial we're going to explain kind of how we did it.", 'start': 4437.449, 'duration': 5.704}, {'end': 4446.035, 'text': "Now, if you'll recall,", 'start': 4444.554, 'duration': 1.481}, {'end': 4455.595, 'text': 'we use both inputs and outputs for the sentiment detection recurrent neural network and That is kind of a new concept when talking about recurrent neural networks,', 'start': 4446.035, 'duration': 9.56}], 'summary': 'Neural net showcased dynamic ability, with potential to improve with more examples and tweaked parameters.', 'duration': 78.13, 'max_score': 4377.465, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo4377465.jpg'}], 'start': 4272.35, 'title': 'Sentiment analysis with neural nets', 'summary': 'Discusses experimenting with neural nets for sentiment analysis using brain.js and a recurrent neural network, showcasing the training process and manipulation of input and output data, with a call to action for experimentation.', 'chapters': [{'end': 4318.733, 'start': 4272.35, 'title': 'Neural net for sentiment analysis', 'summary': 'Discusses experimenting with neural nets for book writing and learning to detect sentiment from text using brain.js, which can accept input in the form of strings.', 'duration': 46.383, 'highlights': ['Brain.js can accept input in the form of strings for sentiment detection, which differs from prior training data.', 'The more data given to a neural net, the more interesting outputs it can generate.', 'Experimenting with neural nets for book writing is highlighted as a bonus.']}, {'end': 4643.995, 'start': 4318.873, 'title': 'Sentiment detection neural net', 'summary': 'Explains how to use a recurrent neural network for sentiment detection, showcasing the training process, the dynamic ability of the net, and the manipulation of input and output data, with a call to action to experiment with training data and additional examples.', 'duration': 325.122, 'highlights': ["The training options include stopping at 100 iterations with an error threshold of 0.011, showcasing the neural net's ability to classify inputs as happy and sad even without training on the specific values.", "The tutorial explores the concept of using inputs and outputs for sentiment detection in recurrent neural networks, bending the rules to fit the paradigm and demonstrating the simplicity of neural networks' math and rules.", 'The chapter encourages the addition of five new examples in the training data and the logging of five examples not in the training data, promoting experimentation with the training data and additional examples.']}], 'duration': 371.645, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo4272350.jpg', 'highlights': ['Brain.js can accept input in the form of strings for sentiment detection, which differs from prior training data.', 'The more data given to a neural net, the more interesting outputs it can generate.', "The training options include stopping at 100 iterations with an error threshold of 0.011, showcasing the neural net's ability to classify inputs as happy and sad even without training on the specific values.", "The tutorial explores the concept of using inputs and outputs for sentiment detection in recurrent neural networks, bending the rules to fit the paradigm and demonstrating the simplicity of neural networks' math and rules.", 'The chapter encourages the addition of five new examples in the training data and the logging of five examples not in the training data, promoting experimentation with the training data and additional examples.', 'Experimenting with neural nets for book writing is highlighted as a bonus.']}, {'end': 5130.744, 'segs': [{'end': 4700.032, 'src': 'embed', 'start': 4644.615, 'weight': 0, 'content': [{'end': 4659.154, 'text': 'And so our training data that has an input of 2 and an output of 1 will internally to Brain.js look like this.', 'start': 4644.615, 'duration': 14.539}, {'end': 4669.172, 'text': "It'll start with a 0 0 1 0 1 0 And then N finally with a one, zero, zero.", 'start': 4659.414, 'duration': 9.758}, {'end': 4671.754, 'text': 'Now this is all internal to Brain.js.', 'start': 4669.392, 'duration': 2.362}, {'end': 4673.555, 'text': "This isn't stuff that you have to learn.", 'start': 4672.074, 'duration': 1.481}, {'end': 4676.598, 'text': "It's just understanding the principles behind the neural net.", 'start': 4673.715, 'duration': 2.883}, {'end': 4679, 'text': 'Because again, a neural net is simple.', 'start': 4677.038, 'duration': 1.962}, {'end': 4680.221, 'text': "There's just a lot of it.", 'start': 4679.14, 'duration': 1.081}, {'end': 4687.922, 'text': 'In this tutorial we are going to use reinforcement learning.', 'start': 4684.719, 'duration': 3.203}, {'end': 4692.306, 'text': "This is a really exciting frontier of machine learning and we're going to use it right here.", 'start': 4687.962, 'duration': 4.344}, {'end': 4699.231, 'text': "You'll notice our training data is exclusive or right where we started originally and half of our training data has been commented out.", 'start': 4692.426, 'duration': 6.805}, {'end': 4700.032, 'text': 'This is important.', 'start': 4699.332, 'duration': 0.7}], 'summary': 'Training data with input 2 and output 1 for exclusive or in brain.js tutorial.', 'duration': 55.417, 'max_score': 4644.615, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo4644615.jpg'}, {'end': 4816.693, 'src': 'embed', 'start': 4782.735, 'weight': 3, 'content': [{'end': 4785.037, 'text': 'Our training data may not be available all at once.', 'start': 4782.735, 'duration': 2.302}, {'end': 4786.578, 'text': 'It may come over time.', 'start': 4785.497, 'duration': 1.081}, {'end': 4790.061, 'text': 'And so we want to make sure that our neural net can adjust for that.', 'start': 4786.718, 'duration': 3.343}, {'end': 4796.546, 'text': "So let's go ahead and adjust our training data, adding one brand new example, the one zero outputting of one.", 'start': 4790.161, 'duration': 6.385}, {'end': 4799.809, 'text': "And you'll get to see how we use reinforcement learning in this feed forward neural net.", 'start': 4796.667, 'duration': 3.142}, {'end': 4800.229, 'text': 'All right.', 'start': 4800.009, 'duration': 0.22}, {'end': 4807.671, 'text': "training data dot push and we're going to give it an object.", 'start': 4801.25, 'duration': 6.421}, {'end': 4816.693, 'text': "that's an input array and one zero is our input and an output is going to be of one array.", 'start': 4807.671, 'duration': 9.022}], 'summary': 'Adjust training data by adding a new example to demonstrate reinforcement learning in a feed forward neural net.', 'duration': 33.958, 'max_score': 4782.735, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo4782735.jpg'}], 'start': 4644.615, 'title': 'Neural net and reinforcement learning', 'summary': 'Discusses the internal representation of training data in brain.js, the simplicity of neural nets, and the use of reinforcement learning in machine learning. it illustrates the process of training a neural network using reinforcement learning, adjusting the training data over time, and how the network adapts to changes in preferences.', 'chapters': [{'end': 4700.032, 'start': 4644.615, 'title': 'Neural net principles and reinforcement learning', 'summary': 'Discusses the internal representation of training data in brain.js, the simplicity of neural nets, and the use of reinforcement learning in machine learning, focusing on exclusive or training data and the significance of commented out data.', 'duration': 55.417, 'highlights': ['The internal representation of training data in Brain.js, using an input of 2 and an output of 1, involves a sequence of 0s and 1s, providing insight into the principles behind the neural net.', 'The use of reinforcement learning is highlighted as an exciting frontier of machine learning, particularly in the context of exclusive or training data and the importance of commented out data in the tutorial.', 'A neural net is described as simple, emphasizing the need for understanding its principles and the vast scale at which it operates.']}, {'end': 5130.744, 'start': 4700.052, 'title': 'Neural net and reinforcement learning', 'summary': 'Illustrates the process of training a neural network using reinforcement learning, adjusting the training data over time, and how the network adapts to changes in preferences, demonstrating the importance and application of reinforcement learning in neural networks.', 'duration': 430.692, 'highlights': ['The chapter illustrates the process of training a neural network using reinforcement learning', 'Adjusting the training data over time and how the network adapts to changes in preferences', 'Demonstrating the importance and application of reinforcement learning in neural networks']}], 'duration': 486.129, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo4644615.jpg', 'highlights': ['The use of reinforcement learning is highlighted as an exciting frontier of machine learning, particularly in the context of exclusive or training data and the importance of commented out data in the tutorial.', 'The internal representation of training data in Brain.js, using an input of 2 and an output of 1, involves a sequence of 0s and 1s, providing insight into the principles behind the neural net.', 'The chapter illustrates the process of training a neural network using reinforcement learning.', 'Adjusting the training data over time and how the network adapts to changes in preferences.', 'A neural net is described as simple, emphasizing the need for understanding its principles and the vast scale at which it operates.', 'Demonstrating the importance and application of reinforcement learning in neural networks.']}, {'end': 5526.854, 'segs': [{'end': 5223.742, 'src': 'embed', 'start': 5190.172, 'weight': 0, 'content': [{'end': 5194.372, 'text': 'machine learning is moving really fast and that is super exciting.', 'start': 5190.172, 'duration': 4.2}, {'end': 5196.833, 'text': "that means it's changing and it's being adopted.", 'start': 5194.372, 'duration': 2.461}, {'end': 5200.933, 'text': "we're solving problems that we've never been able to solve before, and you have a voice in that.", 'start': 5196.833, 'duration': 4.1}, {'end': 5206.294, 'text': 'machine learning can change directions, and a lot of that has to do with our understanding of how to use it.', 'start': 5200.933, 'duration': 5.361}, {'end': 5213.136, 'text': "we're also arriving at simple solutions are are so much more dynamic and powerful than complex ones when applying it.", 'start': 5206.294, 'duration': 6.842}, {'end': 5220.439, 'text': "so if there is a practice that you want to see more of, or if there is something you'd like to change about machine learning, try and introduce it,", 'start': 5213.136, 'duration': 7.303}, {'end': 5223.742, 'text': 'study it, prove it, test it to see if it is worthwhile.', 'start': 5220.439, 'duration': 3.303}], 'summary': 'Machine learning is rapidly evolving, solving new problems, and offering dynamic and powerful solutions.', 'duration': 33.57, 'max_score': 5190.172, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo5190172.jpg'}, {'end': 5313.707, 'src': 'embed', 'start': 5282.484, 'weight': 3, 'content': [{'end': 5286.189, 'text': 'So the point is that Albert Einstein used intuition.', 'start': 5282.484, 'duration': 3.705}, {'end': 5294.218, 'text': "Use your intuition when you're solving problems with machine learning and solve for simplicity like E equals MC squared.", 'start': 5287.05, 'duration': 7.168}, {'end': 5297.18, 'text': 'The next illustration was that of an ac motor.', 'start': 5294.358, 'duration': 2.822}, {'end': 5304.983, 'text': 'now a lot of people know that nikola tesla helped to build and refine the ac motor, but if you go back further in his career,', 'start': 5297.18, 'duration': 7.803}, {'end': 5313.707, 'text': "you'll arrive at that when he was in school, he was shown this dynamo type dc motor that had these brushes and that arced.", 'start': 5304.983, 'duration': 8.724}], 'summary': "Use intuition like einstein, simplify like e=mc^2, and learn from tesla's career trajectory.", 'duration': 31.223, 'max_score': 5282.484, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo5282484.jpg'}, {'end': 5525.314, 'src': 'heatmap', 'start': 5452.344, 'weight': 4, 'content': [{'end': 5457.446, 'text': 'but that idea is changing And you are in part to be thanked for that.', 'start': 5452.344, 'duration': 5.102}, {'end': 5462.708, 'text': 'In fact, anybody who is looking at JavaScript as a potential solution for machine learning, that is awesome.', 'start': 5457.586, 'duration': 5.122}, {'end': 5467.27, 'text': 'And we should spread it, like wildfire, not just in JavaScript but in every language.', 'start': 5462.868, 'duration': 4.402}, {'end': 5474.192, 'text': 'every computer language that is out there should have the capability of using machine learning, because it is so amazing.', 'start': 5467.27, 'duration': 6.922}, {'end': 5481.596, 'text': 'Now I want to take this moment to invite you over to the machine learning movement in JavaScript, which is the bri.im website,', 'start': 5474.372, 'duration': 7.224}, {'end': 5482.777, 'text': 'and as well their Slack channel.', 'start': 5481.596, 'duration': 1.181}, {'end': 5489.881, 'text': "There you're going to find like-minded individuals who are not only interested in JavaScript as a means of using machine learning,", 'start': 5483.017, 'duration': 6.864}, {'end': 5494.284, 'text': 'but also challenging the ideas that are out there now and introducing new ones.', 'start': 5489.881, 'duration': 4.403}, {'end': 5497.946, 'text': 'I look forward to talking with you there and there are many others that do as well.', 'start': 5494.564, 'duration': 3.382}, {'end': 5500.107, 'text': 'Thank you as well for letting me teach this course.', 'start': 5498.166, 'duration': 1.941}, {'end': 5502.427, 'text': 'Teaching using the Scrimba platform has been a real honor.', 'start': 5500.227, 'duration': 2.2}, {'end': 5506.068, 'text': 'And I really do thank the encouragement of the Scrimba crew.', 'start': 5502.527, 'duration': 3.541}, {'end': 5509.269, 'text': 'You know who you are for prodding me along to make this course.', 'start': 5506.368, 'duration': 2.901}, {'end': 5515.591, 'text': 'And I want to thank you for your time and letting me talk about these ideas and try to arrive at some sort of simplicity with them.', 'start': 5509.449, 'duration': 6.142}, {'end': 5518.772, 'text': 'And for following the entire course all the way through to the end.', 'start': 5515.791, 'duration': 2.981}, {'end': 5520.392, 'text': 'I look forward to seeing what you can build.', 'start': 5518.952, 'duration': 1.44}, {'end': 5521.893, 'text': 'And now comes the fun part.', 'start': 5520.832, 'duration': 1.061}, {'end': 5525.314, 'text': 'We get to use machine learning to solve real world problems.', 'start': 5522.073, 'duration': 3.241}], 'summary': 'Encouraging use of machine learning in javascript, thanking the community for support and inviting to join the movement.', 'duration': 41.94, 'max_score': 5452.344, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo5452344.jpg'}], 'start': 5130.744, 'title': 'Machine learning insights and illustrations, and machine learning in javascript', 'summary': 'Illustrates the application of reinforcement learning and building a simple recommendation engine, emphasizing the power of simplicity, and provides three illustrative examples of using intuition to solve problems. it also highlights the growing impact of machine learning on all industries and the increasing significance of javascript for machine learning, with a call to action for expanding its use across all computer languages.', 'chapters': [{'end': 5414.982, 'start': 5130.744, 'title': 'Machine learning insights and illustrations', 'summary': 'Illustrates the application of reinforcement learning and building a simple recommendation engine, highlights the rapid evolution of machine learning, emphasizes the power of simplicity, and provides three illustrative examples of using intuition to solve problems, emphasizing the importance of simplicity in the field of machine learning.', 'duration': 284.238, 'highlights': ['The rapid evolution of machine learning and its adoption rate, empowering individuals with a voice in its development, and the capability to solve previously unsolvable problems.', 'Emphasizing the power of simplicity in machine learning solutions and the potential for simple solutions to be more dynamic and powerful than complex ones.', 'Illustrative examples of using intuition to solve problems in machine learning, including E equals MC squared, the AC motor, and the practice of washing hands, highlighting the importance of simplicity and intuition in problem-solving.']}, {'end': 5526.854, 'start': 5415.282, 'title': 'Machine learning in javascript', 'summary': 'Highlights the growing impact of machine learning on all industries and the increasing significance of javascript for machine learning, with a call to action for expanding its use across all computer languages.', 'duration': 111.572, 'highlights': ['Machine learning is impacting all industries and is a significant force for problem-solving.', 'JavaScript is increasingly important for machine learning and should be promoted across all computer languages.', 'Invitation to join the machine learning movement in JavaScript through bri.im website and Slack channel.']}], 'duration': 396.11, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6E6XecoTRVo/pics/6E6XecoTRVo5130744.jpg', 'highlights': ['The rapid evolution of machine learning and its adoption rate, empowering individuals with a voice in its development, and the capability to solve previously unsolvable problems.', 'Machine learning is impacting all industries and is a significant force for problem-solving.', 'Emphasizing the power of simplicity in machine learning solutions and the potential for simple solutions to be more dynamic and powerful than complex ones.', 'Illustrative examples of using intuition to solve problems in machine learning, including E equals MC squared, the AC motor, and the practice of washing hands, highlighting the importance of simplicity and intuition in problem-solving.', 'JavaScript is increasingly important for machine learning and should be promoted across all computer languages.', 'Invitation to join the machine learning movement in JavaScript through bri.im website and Slack channel.']}], 'highlights': ["The course covers practical applications including building a Zorgate, a counter, a basic math network, an image recognizer, a sentiment analyzer, and a children's book creator.", 'Emphasizes a practical approach with 17 lectures focused on hands-on practice over theory, ensuring understanding of the ideas behind neural networks.', 'The neural net is trained using Brain.js to solve the exclusive or problem, aiming for numbers close to zero to indicate successful training.', 'The training process involves forward and back propagation, aimed at reducing the error rate until completion.', 'Neural nets process any value through binary representation.', 'Training with a single hidden layer and under 2000 iterations for restaurant selection.', 'Predicting the next three steps in stock market data using a recurrent neural network.', 'The neural net successfully predicted the results of mathematical operations, showcasing its accurate learning capabilities.', 'Brain.js can accept input in the form of strings for sentiment detection, which differs from prior training data.', 'The use of reinforcement learning is highlighted as an exciting frontier of machine learning, particularly in the context of exclusive or training data and the importance of commented out data in the tutorial.', 'The rapid evolution of machine learning and its adoption rate, empowering individuals with a voice in its development, and the capability to solve previously unsolvable problems.']}