generated from aselimov/cpp_project_template
60 lines
1.4 KiB
Markdown
60 lines
1.4 KiB
Markdown
# Neural Net
|
|
|
|
## Overview
|
|
|
|
`neural_net` is a personal learning project focused on implementing a basic neural network from scratch using C++. The goal of this project is to gain a deep understanding of neural network architecture, training algorithms, and fundamental machine learning concepts.
|
|
|
|
## Features
|
|
|
|
- Custom neural network implementation in C++
|
|
- Support for basic feed-forward neural network architecture
|
|
- Configurable number of layers and neurons
|
|
- Implementation of key activation functions
|
|
- Simple data loading and preprocessing utilities
|
|
- Basic performance metrics and evaluation
|
|
|
|
## Prerequisites
|
|
|
|
- C++17 or later
|
|
- CMake (version 3.10 or higher)
|
|
- A modern C++ compiler (GCC, Clang, or MSVC)
|
|
|
|
## Installation
|
|
|
|
1. Clone the repository:
|
|
```bash
|
|
git clone https://github.com/aselimov/neural_net.git
|
|
cd neural_net
|
|
```
|
|
|
|
2. Create a build directory and compile:
|
|
```bash
|
|
mkdir build
|
|
cd build
|
|
cmake ..
|
|
make
|
|
```
|
|
|
|
## Learning Objectives
|
|
|
|
- Understand neural network architecture
|
|
- Implement core machine learning algorithms
|
|
- Practice advanced C++ programming techniques
|
|
- Explore computational efficiency in ML implementations
|
|
|
|
## Roadmap
|
|
|
|
- [x] Activation functions
|
|
- [ ] Basic neural network structure
|
|
- [ ] Backpropagation algorithm
|
|
- [ ] Regularization techniques
|
|
- [ ] Performance optimizations
|
|
|
|
## License
|
|
|
|
This project is [MIT](LICENSE) licensed.
|
|
|
|
## Contact
|
|
|
|
Alex Selimov - [alex@alexselimov.com](mailto:alex@alexselimov.com)
|