Metadata-Version: 2.4
Name: restricted_boltzmann
Version: 0.3.5
Summary: Testing installation of Package
Home-page: https://github.com/jzsmoreno/restricted_boltzmann
Author: J. A. Moreno-Guerra
Author-email: jzs.gm27@gmail.com
License: MIT
Project-URL: Bug Tracker, https://github.com/jzsmoreno/restricted_boltzmann
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: black[jupyter]>=23.7.0
Requires-Dist: flake8>=6.0.0
Requires-Dist: mypy>=1.4.1
Requires-Dist: pydocstyle>=6.3.0
Requires-Dist: mypy-extensions>=1.0.0
Requires-Dist: types-openpyxl>=3.1.0.15
Requires-Dist: isort>=5.12.0
Requires-Dist: tensorflow>=2.20.0; python_version > "3.12" or sys_platform == "darwin"
Requires-Dist: tensorflow<=2.15.0,>=1.15.5; python_version <= "3.12" and sys_platform != "darwin"
Requires-Dist: numpy>=2.2; python_version > "3.12"
Requires-Dist: numpy<=2.0.0,>=1.25.2; python_version <= "3.12"
Requires-Dist: matplotlib>=3.0.0
Requires-Dist: scikit-learn>=1.4.0
Requires-Dist: seaborn
Requires-Dist: pandas
Requires-Dist: plotly
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: license-file
Dynamic: project-url
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

![restricted_boltzmann](https://raw.githubusercontent.com/jzsmoreno/restricted_boltzmann/main/restricted_boltzmann.png)

![GitHub last commit](https://img.shields.io/github/last-commit/jzsmoreno/restricted_boltzmann?style=for-the-badge)
![GitHub repo size](https://img.shields.io/github/repo-size/jzsmoreno/restricted_boltzmann?style=for-the-badge)
![License](https://img.shields.io/github/license/jzsmoreno/restricted_boltzmann?style=for-the-badge)
[![CI - Test](https://github.com/jzsmoreno/restricted_boltzmann/actions/workflows/code-quality.yml/badge.svg)](https://github.com/jzsmoreno/restricted_boltzmann/actions/workflows/code-quality.yml)


# restricted_boltzmann
Package for the implementation of restricted Boltzmann machines 

## Installation

This package can be easily installed with pip:
```bash
pip install git+https://github.com/jzsmoreno/restricted_boltzmann
```

## Features

- **Training**: Implements Contrastive Divergence (CD) and other training algorithms for RBMs.
- **Inference**: Support for both Gibbs sampling and deterministic inference methods.
- **Customization**: Allows the configuration of various hyperparameters such as the number of hidden units, learning rate, and batch size.
- **Compatibility**: Can be easily integrated with popular deep learning frameworks like TensorFlow or PyTorch for more advanced use cases.

## Applications

RBMs are widely used in various real-world applications, including:

- **Pattern Recognition**: Feature extraction in pattern recognition problems, such as handwriting recognition or pattern classification.
- **Recommendation Systems**: Collaborative filtering for recommending products, movies, or other items based on user behavior (e.g., movie or book recommendations).
- **Radar Target Recognition**: Used in radar systems to detect low signal-to-noise ratio (SNR) targets in environments with high noise levels.

## Key Features of RBMs

- **Unsupervised Learning**: RBMs learn from input data without requiring labeled responses.
- **Recurrent and Symmetric Structure**: The network structure is symmetric, with the same types of connections between visible and hidden layers.
- **No Intra-Layer Connections**: There are no connections within the visible layer or within the hidden layer, making the model computationally efficient.
- **Energy-Based Model**: RBMs associate high probability with low-energy configurations.

## Contributing

If you'd like to contribute to the development of this package, feel free to fork the repository and submit a pull request. Please make sure your contributions adhere to the coding style and include relevant tests.

## License

This package is licensed under the MIT License. See the [LICENSE](LICENSE) file for more information.
