Back to Topics

Perceptron

Description

The Perceptron is one of the earliest and simplest types of artificial neural networks. It was introduced by Frank Rosenblatt in 1958 and is primarily used for binary classification tasks.

A perceptron consists of one or more inputs, a processor (weighted sum), an activation function, and a single output. It learns a linear decision boundary to classify inputs into two distinct classes.

Key Insight

Perceptrons can only solve problems that are linearly separable, meaning a straight line (or hyperplane) can separate the data classes.

The components of a perceptron include:

  • Input features (x₁, x₂, ..., xₙ)
  • Weights for each input (w₁, w₂, ..., wₙ)
  • Bias term (b)
  • Activation function (usually step or sign function)
Perceptron Diagram

Visualization of a single-layer perceptron model

Examples

Here's a basic implementation of a single-layer perceptron in Python using NumPy:

import numpy as np

# Activation Function
def step_function(x):
    return 1 if x >= 0 else 0

# Perceptron Training
def train_perceptron(X, y, lr=0.1, epochs=10):
    n_samples, n_features = X.shape
    weights = np.zeros(n_features)
    bias = 0

    for _ in range(epochs):
        for idx, x_i in enumerate(X):
            linear_output = np.dot(x_i, weights) + bias
            y_pred = step_function(linear_output)
            error = y[idx] - y_pred
            weights += lr * error * x_i
            bias += lr * error
            
    return weights, bias

# Example Data (AND gate)
X = np.array([[0,0], [0,1], [1,0], [1,1]])
y = np.array([0, 0, 0, 1])

w, b = train_perceptron(X, y)
print("Trained weights:", w)
print("Trained bias:", b)

This perceptron is trained to learn the logic of an AND gate using a step activation function.

Note

The perceptron can’t solve problems like XOR, which are not linearly separable.

Real-World Applications

Binary Classification

Used in basic binary classifiers such as spam detection and sentiment analysis when data is linearly separable.

Simple Decision Systems

Perceptrons can act as basic decision units in rule-based automation or filtering systems.

Foundation for Neural Networks

Perceptron is the building block for more complex neural networks, making it foundational for deep learning.

Resources

Video Tutorials

below is the video resource

PDFs

The following documents

Recommended Books

Interview Questions

What is a Perceptron?

A Perceptron is a linear binary classifier that computes a weighted sum of the inputs and passes it through an activation function to produce a binary output (0 or 1).

What are the limitations of the Perceptron model?

Perceptrons can only solve linearly separable problems. They fail on tasks like XOR and cannot learn non-linear decision boundaries without additional layers.

What is the role of the activation function in a perceptron?

The activation function in a perceptron determines whether a neuron should "fire" or not. In simple perceptrons, a step function is typically used to produce binary output.