https://github.com/albanecoiffe/mlp_approximation_universelle
Étude de l'approximation universelle dans les réseaux de neurones.
https://github.com/albanecoiffe/mlp_approximation_universelle
mlp tensorflow
Last synced: over 1 year ago
JSON representation
Étude de l'approximation universelle dans les réseaux de neurones.
- Host: GitHub
- URL: https://github.com/albanecoiffe/mlp_approximation_universelle
- Owner: albanecoiffe
- Created: 2024-09-24T13:42:50.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-02-04T18:40:41.000Z (over 1 year ago)
- Last Synced: 2025-02-04T19:37:40.644Z (over 1 year ago)
- Topics: mlp, tensorflow
- Language: HTML
- Homepage:
- Size: 302 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🌐 Study of Universal Approximation in Neural Networks
[Notebook](https://albanecoiffe.github.io/MLP_approximation_universelle/)
## 🧠 Objective
The goal of this lab is to study a fundamental property of static (non-recurrent) neural networks: the universal approximation theorem. This property states that neural networks, even with just one hidden layer, can approximate any continuous function given sufficient neurons.
In this lab, we train a Multi-Layer Perceptron (MLP) with a single hidden layer on a piecewise-defined function and analyze how well the network approximates it.
## 📊 Lab Steps
### 1. Data Generation
The function f(x) is defined as follows:
𝑓(𝑥)={
sin(𝜋𝑥) si 𝑥∈[−1,1[
0 si 𝑥∈[−2,−1]∪[1,2]
-Adding Gaussian noise (0,0.2) to the generated data.
- Generating multiple training and test samples from this function.
### 2. mplementing MLP with TensorFlow
- Using a simple MLP with one hidden layer to approximate the generated function.
- Exploring different architectures by varying the number of hidden neurons (e.g., 1, 3, 5, 7 neurons).
### Recommendations
- Analyzing results: Start with a small number of neurons and observe how the function approximation evolves.
- Testing variations: Experiment with different hidden layer sizes to see how the approximation becomes more or less "sparse" depending on the model's capacity.
- Evaluating performance: Assess the generalization of the model by testing it on a separate test set.
## 🛠️ Technologies Used
- Python: Main programming language for implementation.
- TensorFlow: Framework for building and training the MLP neural network.
- NumPy: For generating and manipulating data.
- Matplotlib: For visualizing function approximations.