-
-
Notifications
You must be signed in to change notification settings - Fork 48.9k
Open
Labels
enhancementThis PR modified some existing filesThis PR modified some existing files
Description
Feature description
Feature Request: Add Deep Belief Network (DBN) Implementation
Description
I would like to contribute a Deep Belief Network (DBN) implementation using stacked Restricted Boltzmann Machines (RBMs) to the neural network module.
Key Features
- Pure NumPy implementation with no external deep learning frameworks (no PyTorch, TensorFlow, etc.)
- Layer-wise unsupervised pretraining using Contrastive Divergence (CD-k)
- Implements Gibbs sampling for probabilistic binary units
- Manual weight updates and gradient computation for educational transparency
- Includes usage example demonstrating training and reconstruction
Purpose
- Adds a generative probabilistic model to the repository, complementing existing discriminative models
- Provides educational value by showing fundamental unsupervised learning algorithms
- Minimal dependencies (only NumPy required)
- Follows repository coding standards (PEP8, docstrings, examples)
Implementation Details
- File location:
neural_network/deep_belief_network.py
- Includes both
RBM
andDeepBeliefNetwork
classes - Fully documented with comprehensive docstrings
- Includes working example in
__main__
block
I am ready to submit a pull request following the contribution guidelines. Please let me know if this addition would be welcomed!
References
- Based on original DBN/RBM research and educational implementations
- Extension from the code developed by me for Intrusion Detection System (IDS) project: https://github.com/Adhithya-Laxman/IDS-For-WiFi-using-Federated-DBN-RBM
Metadata
Metadata
Assignees
Labels
enhancementThis PR modified some existing filesThis PR modified some existing files