---
header-includes:
  - \usepackage[T1]{fontenc}
  - \usepackage[french]{babel}
  - \usepackage{datetime}
  - \usepackage{hyperref}
---

# Semaine 7: 


## Lecture 1: Intégration de réseaux de neurones dans un système à base de connaissances en Prolog

Source: Ultsch, A. & Korus, D. '[Integration of Neural Networks with Knowledge-Based Systems](https://pdfs.semanticscholar.org/2565/fa17e3ca2d8e940a2bf81cdba2916a2d0952.pdf)' Proc. IEEE Int. Conf. Neural Networks, Perth/Australia, 1995.

Les systèmes symboliques ont de la difficulté à traiter les données provenant de mesures, les inconsistances et le bruit. Il est difficile de définir les connaîssances acquises de l'expérience.

Les réseaux de neurones permettent de pallier à ces problèmes, mais leurs raisonnements sont difficiles à expliquer.
**Note: Un peu de la même façon que l'intuition de l'expert acquise avec l'expérience**

Au départ, les réseaux de neurones sont surtout associés à des tâches de perception en comparaison avec des tâches de cognition.

Enjeux:
    
- Détecter la structure des réseaux par le comportement collectif: Un neurone seul ne fournit aucune information utilisable pour comprendre le fonctionnement du réseau. Exemple:
    - Self-Organizing Feature Maps (SOFM), Kohonen
    - Haute dimensionnalité vers réseaux de neurones bidimensionnel.
    - Difficile de voir la structure (U-matrix)
- Acquisition intégrée des connaissances: Traiter l'information avec un réseau de neurones pour ensuite fournir le résultat à un système symbolique:
    - Approche sig*: transférer la connaîssance des réseaux de neurones en règles à l'aide de la logique floue.
- Introspection: Un système expert analyse son propre comportement pour éviter les mauvais chemins et arriver plus rapidement à la conclusion:
    - Exemple du compilateur Prolog qui remontera à la source de l'erreur et prendra un autre chemin sans tenir compte de la cause de l'erreur.
- Unification: Rattacher les nouvelles connaîssances aux connaissances précédentes:
    - Analyse des variables dans un programme Prolog
    - Réseau `Cube` permet l'unification

## Lecture 2: Prédiction des avalanches

[A HYBRID EXPERT SYSTEM FOR AVALANCHE FORECASTING](http://www.wsl.ch/info/mitarbeitende/schweizj/publications/Schweizer_etal_Hybrid_expert_system_avalanche_forecasting_1994.pdf)

Échantillonnage quotidien de la neige, de la température et de la couverture de neige pour l'ensemble des Alpes suisse. Les questions: Où? Quand? Quel type?

Approche déterministe: processus physique, modèles de couverture neigeuse pas suffisamment détaillés.

Approche statistiques: données de plusieurs années d'observation, avanlanches des 10 journées les plus similaires.

En combinant les deux modèles, on a un meilleur modèle pour les journées avec de fortes chutes de neige. Nécessite cependant des données sur le niveau de danger mesuré. 

Statistique NEX_MOD: 50%
Système expert COGENSYS: 60-70%
Méthode synoptique (terrain): 70% 
Performance globale de 80-85%.

### Nouvelle approche

Objectifs:

- Degré de danger basé sur les données de neige et de météo
- Données incomplètes ou inconsistantes
- Explication du résultat
- Cible de 80% de succès
- Meilleure performance en situations critiques

![Extrait de l'article: Outils et procédures pour le développement d'un système expert hybride de prévention des avalanches](images/semaine07/tools-hybrid-expert-system-001.png)

Composantes:

- Algorithme sim_m basé sur les statistiques et la méthode U-Matrix pour explorer la structure de la carte de Kohonen, produite par un réseau de neurones automatiquement organisé non supervisé.
- Données du système COGENSYS
- Pour les cas plus difficiles: 
    - Réseau de Kohonen: visualisation de clusters dans l'espace-état des données d'entraînement
    - Lorsqu'on ne peut obtenir une réponse en utilisant le système expert, on utiliser cet algorithme supervisé qui donne une réponse, mais sans explication. On peut aussi utiliser pour compléter les valeurs manquantes.

## Lecture 3: Algorithme de Kohonen (en complément)

Source: [Kohonen's Self Organizing Feature Maps for Exploratory Data Analysis](https://www.uni-marburg.de/fb12/arbeitsgruppen/datenbionik/pdf/pubs/1990/ultschsiemon90.pdf)

L'algorithme de Kohonen est une fonction qui permet de projeter des données multidimensionnelles sur un treillis U de dimension inférieure, en préservant la notion de voisinage via une mesure de distance.

Si on applique seulement l'algorithme de Kohonen, on obtient des points assez uniformes dans le treillis U, ce qui nous fait perdre l'information des cluster, même si les points devant appartenir au même cluster sont ensemble. Ce n'est pas approprié pour faire un apprentissage non-supervisé.

La méthode Unified Matrix (U-Matrix) permet de retrouver les clusters en créant une matrice ayant des vallées et des murs. Un test a été effectué avec des données médicales et est concluant avec les diagnostics des experts.

## Lecture 4: Intégration des réseaux de neurones dans les SaBC avec la logique floue

[Using Fuzzy Logic to Integrate Neural Networks and Knowledge-based Systems}(https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19910012475.pdf)











