Home About Resume Blog
Back to Blog

What are Neural Networks?

If you told high school me that I'd be building systems that can train and learn from data and accurately make predictions, I wouldn't have believed you. You would expect that you would need PhD level qualifications to start actually understanding Artificial Intelligence. But the truth is, the barrier to entry isn't genius or a diploma. It's curiosity.

I myself realized how much you can learn and improve as a person if you're just curious about something and willing to put your foot through the door.

Lately, I've been diving deep into Machine Learning for my own projects, and honestly? It is, in my opinion, one of the most fascinating fields currently. It's not magic, and it's not sci-fi. It's an incredibly elegant way of using math to solve problems that traditional code just can't touch.

Here is what I've learned so far, broken down simply.

Level 1: The Two Pillars of Classical Machine Learning

To really get this, we have to clear up the vocabulary. "Machine Learning" isn't just one big blob of code; it's a toolkit. In Classical Machine Learning, there are two main types of problems: Regression and Classification.

1. Regression (Predicting a Value)

Imagine you're trying to predict the price of a house. You have data like square footage, number of bedrooms, and location. You aren't looking for a "Yes/No" answer; you're looking for a specific number (e.g., $850,000).

  • The Goal: Fit a line (or a complex curve) to your data to predict a continuous value.
  • The Vibe: "Based on the past trends, the next value is probably X."

2. Classification (Predicting a Label)

This is where you want to categorize things. Is this email "Spam" or "Not Spam"? Is this tumor "Malignant" or "Benign"?

  • The Goal: Draw a boundary line between groups of data.
  • The Vibe: "This data point looks like it belongs to Group A, not Group B."

Classical algorithms like Linear Regression (for values) or Decision Trees (for labels) are fantastic when you have neat, organized data. But what happens when the data gets messy?

Level 2: Enter Deep Learning (The Fun Stuff)

Deep learning is what got me genuinely so interested in machine learning. It's so recent, yet so powerful.

What if your data isn't a neat spreadsheet? What if it's a messy image, a voice recording, or raw sensor data?

Classical ML struggles here because you have to tell it exactly what features to look for. Deep Learning changes everything. It learns the features for you.

This is the domain of Neural Networks.

Visualizing Neural Networks

To visualize this, I always go back to one example (shoutout to 3Blue1Brown).

Imagine you want a computer to recognize a handwritten number "3" inside a tiny 28x28 pixel grid.

The Input: You have 784 pixels (28 x 28). Each pixel is a "neuron" holding a number between 0 (black) and 1 (white).

The Goal: You want the final output layer to light up the specific neuron labeled "3."

How does it get there?

It works through layers of abstraction.

Layer 1 The Edges

The first layer of neurons looks at the raw pixels. Some neurons might be tuned to light up only when they see a horizontal line. Others light up for a vertical line.

Layer 2 The Shapes

The next layer combines those lines. It realizes, "Hey, if I see a curve at the top and a curve at the bottom, that looks like a loop."

Layer 3 The Digit

The final layer puts it all together. "If I see two loops stacked on top of each other, that's an 8. If I see open curves to the left, that's a 3."

The Math Behind the Magic

The computer doesn't "know" what an edge or a loop is. It just has Weights and Biases.

Weights (W)

Think of these as connection strengths. If a specific pixel is crucial for being a "3," it gets a high weight. It's like a volume knob—green lines for positive connections, red lines for negative ones.

Biases (b)

This is a threshold. Maybe a neuron only fires if the weighted sum is greater than 10. That threshold is the bias.

Activation Function (σ)

This "squishes" the result into a range (usually 0 to 1). It's what allows the network to make complex decisions rather than just drawing straight lines.

When you initialize a network, these weights are random. The "learning" process is just the computer automatically tuning these 13,000+ knobs and dials until the input pixels for "3" successfully light up the output label "3."

Putting it into Practice: The NASA Space Apps Hackathon

I didn't truly grasp the power of this until I competed in the NASA Space Apps Hackathon last year.

My team and I attacked the hardest difficulty challenge. Our goal was to analyze raw data from the Kepler space telescope to identify exoplanets. The data was massive, noisy, and full of false signals. A simple regression model wouldn't have cut it.

This is where we used Convolutional Neural Networks (CNNs).

A CNN is a specific type of deep learning designed for "spatial" data. We applied the exact same logic from the handwritten digit example to star brightness data.

Early Layers

Detected simple dips in brightness (transits).

Middle Layers

Combined dips to find periodic patterns (orbits).

Deep Layers

Aggregated the info to classify the star: "Planet Confirmed" or "False Positive."

The most satisfying moment was realizing that we didn't have to hard-code the physics of orbits. We gave the model the data, and it learned what a planet looked like on its own.

The Real "Point" of Deep Learning

So, why do we actually need Deep Learning? Why can't we just stick to the simpler Classical stuff?

It comes down to one word: Representation.

In Classical ML, the engineer has to be the genius. If I wanted to detect a cat in a photo using classical methods, I would have to manually write code to find "triangular ears" or "whiskers." That's exhausting.

The "point" of a Neural Network is that it automates this. It learns its own representation of the world. I don't tell it what a planet looks like; I show it examples, and it figures out the features that matter.

This allows us to stop writing rules and start focusing on curating data.

Final Thoughts

Machine learning has been something that I was hesitant in touching at the start because it sounded really scary, but once I started watching videos, following tutorials, and eventually implementing it myself into my projects, I realized genuinely how cool this concept is.

The barrier to entry isn't a PhD or years of experience. It's just curiosity and a willingness to start somewhere. If you're thinking about diving in, I'd highly recommend starting with:

  • 3Blue1Brown's Neural Network series - The best visual explanation out there
  • Hands-on projects - Start with something simple like digit recognition
  • PyTorch or TensorFlow - Pick one and stick with it

Once it clicks, you'll be hooked.