# Machine d'apprentissage logique

Machine d'apprentissage logique (en anglais Logic learning machine, LLM, à ne pas confondre avec Large language model) est une méthode d'apprentissage automatique basée sur la génération de règles intelligibles. LLM est une implémentation efficace du paradigme du réseau neuronal à commutation (en anglais Switching Neural Network, SNN, à ne pas confondre avec Spiking Neural Networks, SNNs), développé par Marco Muselli, chercheur principal au Conseil national italien de la recherche CNR-IEIIT à Gênes.
LLM a été employé dans de nombreux secteurs différents, notamment le domaine de la médecine (classification orthopédique des patients, analyse de puces à ADN et systèmes d'aide à la décision clinique ),les services financiers et la logistique.

## Histoire

Le paradigme de réseau neuronal à commutation (Switching Neural Network) a été développée dans les années 1990 pour surmonter les inconvénients des méthodes d’apprentissage automatique les plus couramment utilisées. En particulier, les méthodes de boîte noire, telles que le perceptron multicouche et la machine à vecteurs de support, avaient une bonne précision mais ne pouvaient pas fournir un aperçu approfondi du fonctionnement interne de l'apprentissage étudié. En revanche, les arbres de décision étaient capables de décrire le phénomène mais manquaient souvent de précision. Les réseaux de neurones à commutation ont utilisé l'algèbre booléenne pour construire des ensembles de règles intelligibles capables d'obtenir de très bonnes performances. En 2014, une version efficace de Switching Neural Network a été développée et implémentée dans la suite logiciel de l'entreprise Rulex sous le nom de Logic Learning Machine. De plus, une version LLM consacrée aux problèmes de régression a été développée.

## Général

Comme d'autres méthodes d'apprentissage automatique, LLM utilise des données pour construire un modèle capable d'effectuer une bonne prévision sur les comportements futurs. LLM part d'une table comprenant une variable cible (sortie) et quelques entrées et génère un ensemble de règles qui renvoient la valeur de sortie $y$ correspondant à une configuration donnée d’entrées. Une règle s'écrit sous la forme :
    ${\textbf {if}}{\text{ }}premise{\text{ }}{\textbf {then}}{\text{ }}consequence$
où la conséquence contient la valeur de sortie alors que la prémisse inclut une ou plusieurs conditions sur les entrées. Selon le type de saisie, les conditions peuvent prendre différentes formes :
* pour les variables catégorielles, la valeur d'entrée doit être dans un sous-ensemble donné : $x_{1}\in \{A,B,C,...\}$.
* pour les variables ordonnées, la condition s'écrit sous forme d'inégalité ou d'intervalle : $x_{2}\leq \alpha$ ou $\beta \leq x_{3}\leq \gamma$
Une règle possible est donc sous la forme:
    ${\textbf {if}}{\text{ }}x_{1}\in \{A,B,C,...\}{\text{ AND }}x_{2}\leq \alpha {\text{ AND }}\beta \leq x_{3}\leq \gamma {\text{ }}{\textbf {then}}{\text{ }}y={\bar {y}}$

## Les types

Selon le type de sortie, différentes versions de Machine d'apprentissage logique ont été développées :
* LLM pour la classification, lorsque la sortie est une variable catégorielle, qui peut prendre des valeurs dans un ensemble fini
* LLM pour la régression, lorsque la sortie est un nombre entier ou réel.