<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.9.2">Jekyll</generator><link href="http://hnevarez.com/feed.xml" rel="self" type="application/atom+xml" /><link href="http://hnevarez.com/" rel="alternate" type="text/html" /><updated>2022-10-22T03:18:52+00:00</updated><id>http://hnevarez.com/feed.xml</id><title type="html">Hector Nevarez</title><subtitle>This site is a portfolio website that holds information regarding my projects, workshops, resume, and other relevant information about myself</subtitle><author><name>Hector Nevarez</name><email>Hnevarez1285@sdsu.edu</email></author><entry><title type="html">A Simple and Quick Docker Tutorial</title><link href="http://hnevarez.com/docker/" rel="alternate" type="text/html" title="A Simple and Quick Docker Tutorial" /><published>2021-04-19T00:00:00+00:00</published><updated>2021-04-19T21:20:02+00:00</updated><id>http://hnevarez.com/docker</id><content type="html" xml:base="http://hnevarez.com/docker/">&lt;h2 id=&quot;prerequisites&quot;&gt;Prerequisites&lt;/h2&gt;
&lt;p&gt;All information for this tutorial was tested on Ubuntu 20.04 (Focal Fossa). Having this operating system is not a hard requirement but some information may be different on your personal machine. This information should be consistent for most linux distros but might differ on operating systems such as Mac or Windows.&lt;/p&gt;

&lt;p&gt;There are no specific skills needed for this tutorial besides basic familiarity with the command line and text editor&lt;/p&gt;

&lt;p&gt;Before we get started we need to make sure we install &lt;a href=&quot;https://docs.docker.com/engine/install/ubuntu/#installation-methods&quot;&gt;Docker Engine&lt;/a&gt;. Docker Engine is the main product of Docker which we will be using.&lt;/p&gt;

&lt;p&gt;Once Docker Engine is installed, try running the following command:&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;me@mycomputer:~$ docker run hello-world
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Like every other hello world program, this is used to make sure our installation is set up correctly. You should see your terminal display the following results:&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the &quot;hello-world&quot; image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Once you are able to see this message, that means everything is set up correctly and we can go ahead and get started!&lt;/p&gt;

&lt;h1 id=&quot;getting-started&quot;&gt;Getting Started&lt;/h1&gt;
&lt;p&gt;With your clean installation of Docker Engine, we are ready to get started.&lt;/p&gt;

&lt;p&gt;Docker is a way to package your software so it can run on any hardware. In order to achieve this, there are three main components you must understand.&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Dockerfile&lt;/strong&gt; This is a text document that holds all the user commands required in assemble an image. We can think of this as our blueprint&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Image&lt;/strong&gt; A Docker image is a template containing a set of instructions for creating a Docker container&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Container&lt;/strong&gt; The Docker container is a running instance of an Image&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those three concepts are all we need to know to have a simple understanding of Docker. For this tutorial we will be creating our own dockerfile to generate an image and using docker run to start a container from the image we created. Our Docker container will run a simple python script that creates an array using &lt;a href=&quot;https://numpy.org/&quot;&gt;NumPy&lt;/a&gt; and prints it to the console.&lt;/p&gt;

&lt;p&gt;The python script will be located under &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/usr/src/docker_example&lt;/code&gt; and will be called app.py. The contents inside app.py are the following:&lt;/p&gt;
&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;numpy&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;arr&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;array&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]])&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;arr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The file location, file name, and file contents were all arbitrarily set by me. For your own applications feel free to change any of these parameters for your own specifications. All the example code can be found on my &lt;a href=&quot;https://github.com/HectorENevarez/hectorenevarez.github.io/tree/master/example_code/docker&quot;&gt;personal gitub&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;dockerfile&quot;&gt;Dockerfile&lt;/h2&gt;
&lt;p&gt;We’ll begin by constructing our Dockerfile. As mentioned before, the Dockerfile serves as the blueprint for creating our image. In your working directory, begin by creating a dockerfile. You can do this in the command line by navigating to your working directory and creating the dockerfile.&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;me@mycomputer:~$ cd /insert-your-dir
me@mycomputer:~/insert-your-dir$ touch dockerfile
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Now open up the dockerfile you just created and let’s get started!&lt;/p&gt;

&lt;p&gt;When starting the docker image, first you must start by setting a base image for subsequent instructions. To do this we use the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;FROM&lt;/code&gt; instruction. A dockerfile must always begin with this instruction. Typically we would start by using our operating system as our parent image, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;FROM ubuntu:20.04&lt;/code&gt;, however since our application requires python, we can use the offically supported &lt;a href=&quot;https://hub.docker.com/_/python&quot;&gt;python image&lt;/a&gt;. By doing so, we are not required to download python in our dockerfile.&lt;/p&gt;

&lt;div class=&quot;language-docker highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;FROM&lt;/span&gt;&lt;span class=&quot;s&quot;&gt; python:3 #Sets our parent image&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;We then navigate to our working directory and copy all of the files into our container. The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WORKDIR&lt;/code&gt; instruction sets our working directory to whichever existing location we want. The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;COPY&lt;/code&gt; instruction will copy any specified files into our container.&lt;/p&gt;

&lt;div class=&quot;language-docker highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;WORKDIR&lt;/span&gt;&lt;span class=&quot;s&quot;&gt; /usr/src/docker_example&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;COPY&lt;/span&gt;&lt;span class=&quot;s&quot;&gt; . .&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Now that we have all the files we need inside our container, we want to install any python dependencies our program will use. In this case, we need to install NumPy. We use the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;RUN&lt;/code&gt; instruction in order to execute any command inside our Docker image.&lt;/p&gt;

&lt;div class=&quot;language-docker highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;RUN &lt;/span&gt;pip &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;numpy
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Finally, we run our python file using the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CMD&lt;/code&gt; instruction&lt;/p&gt;

&lt;div class=&quot;language-docker highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;CMD&lt;/span&gt;&lt;span class=&quot;s&quot;&gt; [&quot;python&quot;, &quot;./app.py&quot;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;building-and-loading-the-container&quot;&gt;Building and loading the container&lt;/h2&gt;
&lt;p&gt;Now that our docker file is complete we can build our docker image. In the same directory that your docker image lives, run the build command:&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;docker build &lt;span class=&quot;nt&quot;&gt;-t&lt;/span&gt; python-docker-image &lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Here we use docker build to build the dockerfile. the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-t&lt;/code&gt; flag allows us to tag our docker image. This is just the name that we will give our docker image everytime we want to use it. Here we are calling in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;python-docker-image&lt;/code&gt;. Finally we specify where our dockerfile lives, since we are in the directory where our dockerfile lives, we use the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.&lt;/code&gt; to indicate that the dockerfile lives in our current working directory.&lt;/p&gt;

&lt;p&gt;We can verify our image has built by using the grep tool after listing our current docker images:&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;docker image &lt;span class=&quot;nb&quot;&gt;ls&lt;/span&gt; | &lt;span class=&quot;nb&quot;&gt;grep &lt;/span&gt;python-docker-image
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;output:&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;python-docker-image      latest    ad47ffb98ac2   About a minute ago   995MB
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Now that we’ve confirmed that our docker image is built and ready to be used, let’s go ahead and run it!&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;docker run python-docker-image
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;We simply use docker run and specify our docker image name in order to run it, you should see the following output:&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;o&quot;&gt;[[&lt;/span&gt;1 2 3]
 &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;3 2 1]]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This is exactly what we expected to run since that’s what our &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;app.py&lt;/code&gt; application is expected to print out!&lt;/p&gt;

&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;And just like that, you now know the basics of docker. Don’t stop there! Docker has so much more to offer. Our example application only ran a python file for us but you can do so much more. Docker provides interactive modes where you can mount a filesystem and use docker as an emulator based on whatever parent image you provide it. Docker can run in the background and you can give it commands for it to whatever you want. There is so much more to learn about docker, we are barely touching the surface. I hope you learned something new about docker today.&lt;/p&gt;

&lt;p&gt;Happy Learning!&lt;/p&gt;</content><author><name>Hector Nevarez</name><email>Hnevarez1285@sdsu.edu</email></author><category term="Docker" /><category term="Programming" /><category term="Python" /><summary type="html">What is Docker and why is it useful? We break down the basics of docker and even create our own container!</summary></entry><entry><title type="html">A Beginners Guide to Neural Networks</title><link href="http://hnevarez.com/neural-networks/" rel="alternate" type="text/html" title="A Beginners Guide to Neural Networks" /><published>2021-03-05T00:00:00+00:00</published><updated>2021-03-01T21:20:02+00:00</updated><id>http://hnevarez.com/neural-networks</id><content type="html" xml:base="http://hnevarez.com/neural-networks/">&lt;p&gt;A foundational piece to learning artificial intelligence is understanding the architecture of neural networks. Many are frightened by the “complexity” of this topic but in fact, neural networks aren’t that complicated. This post aims to demystify neural networks by providing an intuitive and comprehensive tutorial on the inner workings of neural networks.&lt;/p&gt;

&lt;p&gt;This post is intended for beginners with no previous experience in artificial intelligence but should also provide value to even those who already have a solid background in this field. We’ll be going over the inner workings of neural networks by explaining its structure step by step.&lt;/p&gt;

&lt;p class=&quot;text-center&quot;&gt;&lt;strong&gt;Let’s get started!&lt;/strong&gt;&lt;/p&gt;

&lt;h2 id=&quot;what-is-a-neural-network&quot;&gt;What is a Neural Network?&lt;/h2&gt;
&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Neural Networks(NN)&lt;/code&gt; are sets of interconnected neurons that take in a large set of data and aim to discover an underlying pattern. While neural networks don’t exactly emulate our biological neural networks, they are &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;loosely inspired&lt;/code&gt; by how our brains learn.&lt;/p&gt;

&lt;p&gt;Our brain doesn’t learn concepts instantly, it usually takes different iterations of explanations and even trial and error to solidify our understanding of an idea. Imagine if you had no understanding of what cats and dogs were. If I showed you thousands of different pictures of cats and dogs, you would start to form an understanding and eventually you would become more confident in telling me which pictures were cats and which were dogs. While oversimplified, this is the basis of how neural networks learn.&lt;/p&gt;

&lt;p&gt;Now that you have a high level overview of how neural networks learn, let’s dive deeper and take a look at their structure.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../misc/NeuralNets/DNN.png&quot; alt=&quot;Deep Neural Network&quot; class=&quot;align-center&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Above, we can see an example image. The neural network is composed of 3 types of layers:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Input Layer&lt;/strong&gt;—This is the input of our network where we pass in our data(This could be text, images, sound, etc.)&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Hidden Layer&lt;/strong&gt;—This layer falls in between the input and output layers. It does the mapping between the input and output layers by performing a series of mathematical operations&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Output Layer&lt;/strong&gt;—This can be seen as the results of our network&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;The term “deep learning” comes from neural networks with more than 1 hidden layer. These types of neural networks are called deep neural networks. The neural network figure above displays a deep neural network because it contains 2 hidden layers. Neural networks with only 1 hidden layer can be referred to as simple neural networks.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&quot;what-is-the-function-of-the-neuron&quot;&gt;What is the function of the neuron?&lt;/h2&gt;
&lt;p&gt;Each neuron performs a set of mathematical operations to derive an output.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../misc/NeuralNets/Neuron.png&quot; alt=&quot;Nueron&quot; class=&quot;align-center&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Above is an example of a randomly selected neuron. Each neuron will have a connection with every neuron in the previous layer. The way each neuron obtains its value is simple. It begins by summing up every input. The input consists of the input value(x) as well as an associated weight(w). When the model is trained, these weights shift around in order to get the optimal model. The weights carry influence as to how strong a connection between two neurons are. The higher the weight the higher influence of the neuron.&lt;/p&gt;

\[x\cdot w = (x_1\times w_1) + (x_2\times w_2) + ... + (x_n\times w_n)\]

&lt;p&gt;Above we summed up every input which consisted of the input multiplied by the weight. We can further simplify this summation as the dot product of the vectors x and w.&lt;/p&gt;

&lt;p&gt;Furthermore, we also have to add the bias(b) term to transpose the constant value to obtain the output values.&lt;/p&gt;

\[x\cdot w + b\]

&lt;p&gt;Finally, to obtain the neurons output value, we pass it through an activation function in order to introduce non-linearity into the neurons output. Without the activation function, our neural network is essentially a linear regression model. With the activation function, our model is able to learn more complex tasks. There are several activation functions, but in this post we will be going over the &lt;strong&gt;sigmoid activation function&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../misc/NeuralNets/sigmoid.png&quot; alt=&quot;Sigmoid Function&quot; width=&quot;500&quot; class=&quot;align-center&quot; /&gt;&lt;/p&gt;

&lt;p&gt;To determine the output, the sigmoid activation function looks at the value obtained and the larger the value, the closer it will be to 1. The smaller the value, the closer it will be to 0. This allows us to have output between 0 and 1 with some values carrying more weight than others.&lt;/p&gt;

\[\frac{1}{1+e^{-z}}\]

&lt;p&gt;Above we can see the sigmoid activation function equation where z is $x\cdot w + b$.&lt;/p&gt;

&lt;p&gt;The steps outlined above occur through every neuron in the neueral network until the network reaches its end. This process of passing data through the neural network is called &lt;strong&gt;forward propogation&lt;/strong&gt;. Once this process is completed we move on to backpropogation.&lt;/p&gt;

&lt;h2 id=&quot;what-is-backpropogation&quot;&gt;What is backpropogation?&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Backpropagation&lt;/strong&gt; fine tunes the model based on the results of forward propogation every iteration. After a forward pass, the neural network calculates the loss function and propogates those results backwards to tune the weights and biases. Since the model is updating its weights and biases every iteration, the model should become more optimized. The goal is to lower this error rate.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;The loss function is highly related to the cost function however, the loss function refers to the error of one training sample, while the cost function is the average of the entire training set.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;an example of a cost function is &lt;strong&gt;mean squared error(MSE)&lt;/strong&gt;.&lt;/p&gt;

\[\mathrm{MSE}=\frac{1}{n} \sum_{i=1}^{n}\left(Y_{i}-\hat{Y}_{i}\right)^{2}\]

&lt;p&gt;In this case we’re taking the average of the sum of our actual value ($Y_{i}$) subtracted by our predicted value ($\hat{Y}_{i}$) squared. As mentioned above, our cost function is the average of our loss function, so our cost function is the equation above.&lt;/p&gt;

&lt;p&gt;The cost function only tells us how wrong our predictions were, we now need to back propagate these results to modify our weights and biases. For this we use an optimizer.&lt;/p&gt;

&lt;p&gt;Our optimizer tells use how to change our weights and biases to minimize loss. An example of an optimization algorithm is stochastic gradient descent.&lt;/p&gt;

\[w_{1} \leftarrow w_{1}-\eta \frac{\partial L}{\partial w_{1}}\]

&lt;p&gt;In this equation $\eta$ is our learning rate. Our learning rate controls how fast or slow our weights get updated. $\frac{\partial L}{\partial w_{1}}$ is the partial derivative of our loss with respect to weights or biases. subtracting our weight or bias from $\eta \frac{\partial L}{\partial w_{1}}$ yields us our updated weight or bias.&lt;/p&gt;

&lt;p&gt;This process is applied to all of our weights and biases slowly updating and optimizing our model.&lt;/p&gt;

&lt;h2 id=&quot;now-what&quot;&gt;Now What?&lt;/h2&gt;
&lt;p&gt;Congrats, you now understand neural networks! Like I said, neural networks are easy to understand. The best way to continue learning about neural networks is to:&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;Implement your own simple model using a library such as &lt;a href=&quot;https://www.tensorflow.org/&quot;&gt;TensorFlow&lt;/a&gt; or &lt;a href=&quot;https://pytorch.org/&quot;&gt;PyTorch&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Look into different types of neural networks and their applications such as &lt;a href=&quot;https://hectorenevarez.github.io/AIClubWorkshopsSpring21/workshop6/CNN&quot;&gt;Convolutional Neural Networks&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Read other posts or watch informative videos to solidify your understanding of neural Networks.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Thanks for reading, happy learning!&lt;/p&gt;</content><author><name>Hector Nevarez</name><email>Hnevarez1285@sdsu.edu</email></author><category term="Neural Networks" /><category term="Artificial Intelligence" /><category term="Programming" /><category term="Python" /><summary type="html">Neural Networks aren't as complicated as they seem. This post provides a comprehensive breakdown of neural networks</summary></entry></feed>