▶︎ Les apprentissages critiques

  1. AC22.01 | Choisir des structures de données complexes adaptées au problème
  2. AC22.02 | Utiliser des techniques algorithmiques adaptées pour des problèmes complexes (par ex. recherche opérationnelle, méthodes arborescentes, optimisation globale, intelligence artificielle ... )
  3. AC22.03 | Comprendre les enjeux et moyens de sécurisation des données et du code
  4. AC22.04 | Évaluer l'impact environnemental et sociétal des solutions proposées

AC22.01 | Choisir des structures de données complexes adaptées au problème

🚀 Preuves ressources

R3.02 : Développement efficace

Durant cette ressources j’ai appris différents structures pour stocker des données en Java, et ces structures s’appliquent aussi à d’autres langages.

J’ai par exemple pu voir comment créer des listes chaînées. L’avantage de cette technique est que l’on peut accéder rapidement au i-ème élément de la liste, et son inconvénient est que les insertions et suppressions sont coûteuses. Ainsi cette structure est plus adaptée pour des listes constantes ou subissant peu de modifications et des listes modifiées essentiellement en début ou en fin.

image.png

J’ai aussi pu voir comment créer des structures en arbre. L’avantage de cette technique est que sous certaines conditions (arbre binaire équilibré) on peut accéder rapidement à un élément de l’arbre.

image.png

Avoir vu toutes ces manières de stocker des données me permet ainsi d’avoir différents choix pour les programmes que je vais développer dans le future.

🚀 Preuves SAE

S4.01 : Développement d’application complexe

Pour notre SAE nous avions différent types de données à gérer. Ainsi j’ai pu explorer différentes manières de structurer les données, que ce soit par une base de donnée relationnelle pour les défis contenus dans le projet, ou via une sauvegarde structurée dans les cookies pour les données d’authentification.

AC22.02 | Utiliser des techniques algorithmiques adaptées pour des problèmes complexes (par ex. recherche opérationnelle, méthodes arborescentes, optimisation globale, intelligence artificielle ... )

🚀 Preuves ressources

AL4.A.01 : Apprentissage profond (coloration IA)

Durant cette ressource j’ai appris le fonctionnement des modèles d’IA, et plus précisément le fonctionnement des réseaux de neurones. J’ai appris à configurer et utiliser des réseaux de neurones pour résoudre des tâches complexes, comme de l’OCR (Optical Character Recognition) ou de la classification. Plus globalement j’ai appris en détail comment configurer des réseaux de neurones via des outils déjà existant mais j’ai aussi appris leur fonctionnement en détail ce qui peut me permettre de reproduire des algorithmes simple. J’ai constaté l’étendu des utilisations possibles des réseaux de neurones tant ils sont puissant avec néanmoins pour limite la puissance de calcule.

image.png

Quelques prédiction d’un modèle que j’ai testé.

image.png

Ce graphique montre l’évolution de la précision du modèle sur les données d’entraînement et les données de validation (données neutres) au fur et à mesure de l’entraînement du modèles (nombre d’epochs)

R4.04 : Méthodes d’optimisation