Alternatives pour remplacer STATISTICA. Les réseaux de neurones

STATISTICA Réseaux de Neurones Automatisés est le seul logiciel de réseau de neurones au monde entièrement traduit en russe !

Les méthodologies de réseaux neuronaux sont de plus en plus répandues dans une variété de domaines allant de la recherche fondamentale aux applications pratiques de l'analyse de données, des affaires, de l'industrie, etc.

est l'un des produits de réseau neuronal les plus avancés et les plus efficaces du marché. Il offre de nombreux avantages uniques et des fonctionnalités riches. Par exemple, les capacités uniques de l'outil de recherche automatique de réseaux neuronaux, , permettent au système d'être utilisé non seulement par des experts en réseaux de neurones, mais également par des débutants dans le domaine de l'informatique en réseaux de neurones.

Quels sont les avantages d'utiliser ?

    Pré- et post-traitement, y compris la sélection des données, le codage nominal, la mise à l'échelle, la normalisation, la suppression des données manquantes avec interprétation pour les problèmes de classification, de régression et de séries chronologiques ;

    Facilité d'utilisation exceptionnelle et puissance analytique inégalée ; par exemple, un outil de recherche automatique unique de réseau neuronal Réseau neuronal automatisé (ANN) guidera l'utilisateur à travers toutes les étapes de création de divers réseaux de neurones et sélectionnera le meilleur (sinon, cette tâche est résolue par un long processus « d'essais et d'erreurs » et nécessite une connaissance approfondie de la théorie) ;

    Les algorithmes de formation de réseau les plus modernes, optimisés et puissants (y compris les méthodes de gradient conjugué, l'algorithme de Levenberg-Marquardt, BFGS, l'algorithme de Kohonen) ; contrôle total sur tous les paramètres affectant la qualité du réseau, tels que les fonctions d'activation et d'erreur, la complexité du réseau ;

    Prise en charge d'ensembles de réseaux de neurones et d'architectures de réseaux de neurones de taille presque illimitée ;

    De riches capacités graphiques et statistiques qui facilitent l'analyse exploratoire interactive ;

    Intégration complète avec le système STATISTIQUE; tous les résultats, graphiques, rapports, etc. peuvent être modifiés davantage à l'aide de puissants outils graphiques et analytiques STATISTIQUE(par exemple, pour analyser les résidus prévus, créer un rapport détaillé, etc.) ;

    Intégration transparente avec de puissants outils automatisés STATISTIQUE; enregistrer des macros à part entière pour toute analyse ; créer vos propres analyses et applications de réseaux neuronaux à l'aide STATISTIQUE Défi Visual Basic Réseaux de neurones automatisés STATISTICA depuis n'importe quelle application prenant en charge la technologie COM (par exemple, analyse automatique du réseau neuronal dans une feuille de calcul MS Excel ou combinaison de plusieurs applications personnalisées écrites en C, C++, C#, Java, etc.).

  • Une sélection des architectures réseau les plus populaires, notamment les perceptrons multicouches, les fonctions de base radiale et les cartes de fonctionnalités auto-organisées.
  • Outil disponible Recherche automatique de réseau, qui vous permet de créer automatiquement diverses architectures de réseaux neuronaux et de réguler leur complexité.
  • Préservation des meilleurs réseaux de neurones.

    Prend en charge divers types d'analyse statistique et de construction de modèles prédictifs, notamment la régression, la classification, les séries chronologiques avec variable dépendante continue et catégorielle, l'analyse groupée pour la réduction de la dimensionnalité et la visualisation.

    Prend en charge le chargement et l’analyse de plusieurs modèles.

  • Possibilité optionnelle de générer du code source en C, C++, C#, Java, PMML (Predictive Model Markup Language), qui peut être facilement intégré dans un environnement externe pour créer vos propres applications.

Générateur de code

Générateur de code Réseaux de neurones automatisés STATISTICA peut générer du code de programme système source pour les modèles de réseaux neuronaux en C, Java et PMML (Predictive Model Markup Language). Le générateur de code est une application supplémentaire au système Réseaux de neurones automatisés STATISTICA, qui permet aux utilisateurs, sur la base de l'analyse du réseau neuronal, de générer un fichier C ou Java avec le code source des modèles et de l'intégrer dans des applications externes indépendantes.

    Le générateur de code nécessite Réseaux de neurones automatisés STATISTICA.

    Génère une version du code source du réseau neuronal (sous forme de fichier en C, C++, C# ou Java).

    Le fichier de code C ou Java peut ensuite être intégré dans des programmes externes.

STATISTIQUEautomatique Les réseaux de neurones en informatique sur réseaux neuronaux

L’utilisation de réseaux de neurones implique bien plus que le simple traitement de données à l’aide de méthodes de réseaux de neurones.

Réseaux de neurones automatisés STATISTICA (SANN) fournit une variété de fonctionnalités pour travailler sur des tâches très complexes, y compris non seulement les dernières Architectures de réseaux neuronaux Et Algorithmes d'apprentissage, mais aussi de nouvelles approches pour construire des architectures de réseaux neuronaux avec la possibilité d'énumérer diverses fonctions d'activation et d'erreur, ce qui facilite l'interprétation des résultats. De plus, les développeurs de logiciels et les utilisateurs expérimentant les paramètres des applications apprécieront le fait qu'après avoir mené des expériences spécifiques dans une interface simple et intuitive Réseaux de neurones automatisés STATISTICA (SANN) Les analyses de réseaux neuronaux peuvent être combinées dans une application personnalisée. Ceci peut être réalisé soit en utilisant la bibliothèque de fonctions COM STATISTIQUE, qui reflète pleinement toutes les fonctionnalités du programme, ou en utilisant du code en C/C++, généré par le programme et permettant de gérer un réseau neuronal entièrement formé.

Module Réseaux de neurones automatisés STATISTICA entièrement intégré au système STATISTIQUE Ainsi, une vaste sélection d'outils d'édition (préparation) des données à analyser (transformations, conditions de sélection des observations, outils de vérification des données, etc.) est disponible.

Comme tous les tests STATISTIQUE, le programme peut être « attaché » à une base de données distante à l'aide d'outils de traitement sur place, ou lié à des données en direct afin que les modèles soient entraînés ou exécutés (par exemple, pour calculer des valeurs prédites ou une classification) automatiquement à chaque fois que les données changent. .

Mise à l'échelle des données et conversion de la valeur nominale

Avant que les données ne soient introduites dans le réseau, elles doivent être préparées d'une certaine manière. Il est tout aussi important que les données de sortie puissent être interprétées correctement. DANS Réseaux de neurones automatisés STATISTICA (SANN) il est possible de mettre automatiquement à l'échelle les données d'entrée et de sortie ; Les variables avec des valeurs nominales peuvent également être automatiquement recodées (par exemple, Gender=(Male,Female)), notamment en utilisant la méthode de codage 1 sur N. Réseaux de neurones automatisés STATISTICA (SANN) contient également des outils pour travailler avec les données manquantes. Il existe des outils de préparation et d'interprétation des données spécialement conçus pour l'analyse des séries chronologiques. Une grande variété d’outils similaires sont également implémentés dans STATISTIQUE.

Dans les problèmes de classification, il est possible de définir des intervalles de confiance qui Réseaux de neurones automatisés STATISTICA (SANN) est ensuite utilisé pour attribuer des observations à une classe ou à une autre. En combinaison avec un spécial mis en œuvre dans Réseaux de neurones automatisés STATISTICA (SANN) la fonction d'activation Softmax et les fonctions d'erreur d'entropie croisée fournissent une approche fondamentale de la théorie des probabilités aux problèmes de classification.

Sélection d'un modèle de réseau de neurones, ensembles de réseaux de neurones

La variété des modèles de réseaux de neurones et les nombreux paramètres à définir (taille des réseaux, paramètres des algorithmes d’apprentissage, etc.) peuvent dérouter certains utilisateurs. Mais c'est pourquoi il existe un outil de recherche automatique de réseaux neuronaux, , qui peut rechercher automatiquement une architecture réseau appropriée de toute complexité, voir ci-dessous. Dans le système Réseaux de neurones automatisés STATISTICA (SANN) Tous les principaux types de réseaux de neurones utilisés pour résoudre des problèmes pratiques ont été mis en œuvre, notamment :

    perceptrons multicouches (réseaux à transmission directe de signaux) ;

    réseaux basés sur des fonctions à base radiale ;

    Cartes Kohonen auto-organisées.

Les architectures ci-dessus sont utilisées dans les problèmes de régression, de classification, de séries chronologiques (avec variable dépendante continue ou catégorielle) et de clustering.

De plus, dans le système Réseaux de neurones automatisés STATISTICA (SANN) mis en œuvre Ensembles de réseaux, formé de combinaisons aléatoires (mais significatives) des réseaux ci-dessus. Cette approche est particulièrement utile pour les données bruitées et de faible dimension.

Dans le paquet Réseaux de neurones automatisés STATISTICA (SANN) De nombreux outils sont disponibles pour aider l'utilisateur à sélectionner une architecture réseau appropriée. Les outils statistiques et graphiques du système comprennent des histogrammes, des matrices et des graphiques d'erreurs pour l'ensemble de la population et pour les observations individuelles, les données finales sur la classification correcte/incorrecte et toutes les statistiques importantes, par exemple la proportion de variance expliquée, sont calculées automatiquement.

Pour visualiser des données dans un package Réseaux de neurones automatisés STATISTICA (SANN) Des nuages ​​de points et des surfaces de réponse 3D sont implémentés pour aider l'utilisateur à comprendre le « comportement » du réseau.

Bien entendu, vous pouvez utiliser toute information obtenue à partir des sources répertoriées pour une analyse plus approfondie par d'autres moyens. STATISTIQUE, ainsi que pour une inclusion ultérieure dans des rapports ou pour une personnalisation.

Réseaux de neurones automatisés STATISTICA (SANN) se souvient automatiquement de la meilleure option réseau parmi celles que vous avez reçues lors de l'expérimentation de la tâche, et vous pouvez vous y référer à tout moment. L'utilité du réseau et sa capacité prédictive sont automatiquement testées sur un ensemble spécial d'observations, ainsi qu'en estimant la taille du réseau, son efficacité et le coût d'une mauvaise classification. Mis en œuvre dans Réseaux de neurones automatisés STATISTICA (SANN) Les procédures automatiques de validation croisée et de régularisation du poids vous permettent de déterminer rapidement si votre réseau est sous-complexé ou trop compliqué pour une tâche donnée.

Pour améliorer les performances dans le package Réseaux de neurones automatisés STATISTICA De nombreuses options de configuration réseau sont présentées. Ainsi, vous pouvez spécifier une couche de réseau de sortie linéaire dans les problèmes de régression ou une fonction d'activation softmax dans les problèmes d'estimation probabiliste et de classification. Le système implémente également des fonctions d'erreur d'entropie croisée basées sur des modèles de théorie de l'information et un certain nombre de fonctions d'activation spéciales, notamment les fonctions identiques, exponentielles, hyperboliques, logistiques (sigmoïdes) et sinusoïdales pour les neurones cachés et de sortie.

Réseau de neurones automatisé (recherche et sélection automatiques de diverses architectures de réseaux de neurones)

Une partie du forfait Réseaux de neurones automatisés STATISTICA (SANN) est un outil de recherche automatique de réseau neuronal, Réseau neuronal automatisé (ANN) - Recherche de réseau automatisée (ANS), qui évalue de nombreux réseaux de neurones d'architecture et de complexité variables et sélectionne les réseaux de la meilleure architecture pour une tâche donnée.

Lors de la création d'un réseau neuronal, un temps considérable est consacré à la sélection des variables appropriées et à l'optimisation de l'architecture du réseau à l'aide de la recherche heuristique. Réseaux de neurones automatisés STATISTICA (SANN) prend en charge ce travail et effectue automatiquement une recherche heuristique pour vous. Cette procédure prend en compte la dimension d'entrée, le type de réseau, les dimensions du réseau, les fonctions d'activation et même les fonctions d'erreur de sortie requises.

C'est un outil extrêmement efficace lors de l'utilisation de techniques complexes, permettant de trouver automatiquement la meilleure architecture réseau. Au lieu de passer des heures assis devant votre ordinateur, laissez le système Réseaux de neurones automatisés STATISTICA (SANN) faites ce travail pour vous.

Le succès de vos expériences pour trouver le meilleur type et la meilleure architecture de réseau dépend en grande partie de la qualité et de la rapidité des algorithmes d'apprentissage du réseau. Dans le système Réseaux de neurones automatisés STATISTICA (SANN) Les meilleurs algorithmes de formation à ce jour ont été mis en œuvre.

Dans le système Réseaux de neurones automatisés STATISTICA (SANN) Deux algorithmes rapides du second ordre ont été implémentés : les méthodes de gradient conjugué et l'algorithme BFGS. Ce dernier est un algorithme d’optimisation non linéaire moderne extrêmement puissant, et les experts recommandent fortement de l’utiliser. Il existe également une version simplifiée de l'algorithme BFGS qui nécessite moins de mémoire, utilisée par le système lorsque les capacités de RAM de l'ordinateur sont assez limitées. Ces algorithmes ont tendance à converger plus rapidement et à produire une solution plus précise que les algorithmes précis de premier ordre tels que la descente de gradient.

Processus itératif de formation du réseau dans le système Réseaux de neurones automatisés STATISTICA (SANN) est accompagné d'un affichage automatique de l'erreur d'entraînement actuelle et de l'erreur calculée indépendamment sur l'ensemble de test, et un graphique de l'erreur totale est également affiché. Vous pouvez interrompre l'entraînement à tout moment en appuyant simplement sur un bouton. De plus, il est possible de définir des conditions d'arrêt dans lesquelles l'entraînement sera interrompu ; une telle condition peut être, par exemple, l'atteinte d'un certain niveau d'erreur, ou une augmentation stable de l'erreur de test sur un nombre donné de passes - « époques » (ce qui indique ce qu'on appelle le recyclage du réseau). En cas de surapprentissage, l'utilisateur ne devrait pas s'en soucier : Réseaux de neurones automatisés STATISTICA (SANN) se souvient automatiquement d'une instance du meilleur réseau obtenu au cours du processus de formation, et cette option de réseau est toujours accessible en cliquant sur le bouton correspondant. Une fois la formation du réseau terminée, vous pouvez vérifier la qualité de son travail sur un ensemble de tests distinct.

Une fois le réseau formé, vous devez vérifier la qualité de son travail et déterminer ses caractéristiques. A cet effet dans le paquet Réseaux de neurones automatisés STATISTICA (SANN) Il existe un ensemble de statistiques et d'outils graphiques à l'écran.

Dans le cas où plusieurs modèles (réseaux et ensembles) sont précisés, alors (si possible) Réseaux de neurones automatisés STATISTICA (SANN) affichera des résultats comparatifs (par exemple, tracera les courbes de réponse de plusieurs modèles sur un graphique, ou présentera les prédicteurs de plusieurs modèles dans un seul tableau). Cette propriété est très utile pour comparer différents modèles formés sur le même ensemble de données.

Toutes les statistiques sont calculées séparément pour les ensembles de formation, de validation et de test ou pour toute combinaison d'entre eux, à la discrétion de l'utilisateur.

Les statistiques récapitulatives suivantes sont automatiquement calculées : l'erreur quadratique moyenne du réseau, la matrice dite de confusion pour les problèmes de classification (où tous les cas de classification correcte et incorrecte sont résumés) et les corrélations pour les problèmes de régression. Le réseau Kohonen dispose d'une fenêtre Carte topologique dans laquelle vous pouvez observer visuellement les activations des éléments du réseau.

Solutions prêtes à l'emploi (applications personnalisées utilisant Réseaux de neurones automatisés STATISTICA)

Interface système simple et pratique Réseaux de neurones automatisés STATISTICA (SANN) vous permet de créer rapidement des applications de réseau neuronal pour résoudre vos problèmes.

Il peut y avoir une situation où il est nécessaire d'intégrer ces solutions dans un système existant, par exemple pour les intégrer à un environnement informatique plus large (il peut s'agir de procédures développées séparément et intégrées au système informatique de l'entreprise).

Les réseaux de neurones entraînés peuvent être appliqués à de nouveaux ensembles de données (pour la prédiction) de plusieurs manières : vous pouvez enregistrer les réseaux entraînés, puis les appliquer à un nouvel ensemble de données (pour la prédiction, la classification ou la prévision) ; Vous pouvez utiliser un générateur de code pour générer automatiquement du code de programme en C (C++, C#) ou Visual Basic, puis l'utiliser pour prédire de nouvelles données dans n'importe quel environnement de programmation Visual Basic ou C++ (C#), c'est-à-dire intégrer un réseau neuronal entièrement formé dans votre application. En conclusion, toutes les fonctionnalités du système STATISTIQUE, y compris Réseaux de neurones automatisés STATISTICA (SANN), peuvent être utilisés comme objets COM (Component Object Model) dans d'autres applications (par exemple, Java, MS Excel, C#, VB.NET, etc.). Par exemple, vous pouvez implémenter une analyse automatisée créée à l'aide de Réseaux de neurones automatisés STATISTICA (SANN) dans des tableaux MS Excel.

Liste des algorithmes d'apprentissage

    Descente graduelle

    Dégradés conjugués

    Formation Kohonen

    Méthode K-Means pour le réseau de fonctions à base radiale

Restrictions de taille du réseau

Un réseau neuronal peut être de presque n'importe quelle taille (c'est-à-dire que ses dimensions peuvent être plusieurs fois plus grandes que ce qui est réellement nécessaire et raisonnable) ; pour un réseau de perceptrons multicouches, une couche cachée de neurones est autorisée. En fait, pour toute tâche pratique, le programme n'est limité que par les capacités matérielles de l'ordinateur.

Manuel électronique

Dans le cadre du système Réseaux de neurones automatisés STATISTICA (SANN) il existe un manuel bien illustré qui fournit une introduction complète et claire aux réseaux de neurones, ainsi que des exemples. Un système d'aide détaillée et contextuelle est disponible à partir de n'importe quelle boîte de dialogue.

Générateur de code source

Le générateur de code source est un produit supplémentaire qui permet aux utilisateurs de créer facilement leurs propres applications basées sur le système. Réseaux de neurones automatisés STATISTICA (SANN). Ce produit supplémentaire crée le code système source du modèle de réseau neuronal (sous forme de fichier en C, C++, C# ou Java), qui peut être compilé séparément et intégré dans votre programme pour une distribution gratuite. Ce produit est conçu spécifiquement pour les développeurs de systèmes d'entreprise, ainsi que pour les utilisateurs qui ont besoin de transformer des procédures hautement optimisées créées dans Réseaux de neurones automatisés STATISTICA (SANN), dans des applications externes pour résoudre des problèmes analytiques complexes. (Il est à noter que pour obtenir l'autorisation, les utilisateurs doivent informer les employés de sitessia de la distribution des programmes utilisant le code généré).

Dans STATISTICA, le problème de prévision continue est représenté comme un problème de régression. Dans le contexte de ce problème, un réseau de neurones est considéré comme une fonction non linéaire dont la complexité est contrôlée « semi-paramétriquement » - le nombre d'éléments dans le réseau affecte la complexité de la solution, mais, bien sûr, l'analyste ne peut pas voir la forme explicite de la fonction de régression.

Il est nécessaire de construire un réseau de neurones qui calcule les émissions de plomb dans l'atmosphère en fonction du nombre et du type de transport qui passe. Les données sont stockées dans le fichier Lead.xls.

Ouvrez le fichier Svinets.xls dans le package Statistica. La fenêtre Ouvrir un fichier apparaît.

Riz. 4. 33. Fenêtre d'importation.

Vous devez sélectionner l'option « Importer la feuille sélectionnée » et sélectionner le nom de la feuille de données :

Riz. 4. 34. Sélection d'une feuille Excel à importer dans le package Statistica.

Dans la fenêtre suivante, vous devez spécifier les paramètres de données réels, qui, en règle générale, sont déterminés et affichés automatiquement (à l'exception des trois dernières cases).

Riz. 4. 35. Définition de la zone d'importation.

Après cela, les données importées seront affichées dans la fenêtre.

Riz. 4. 36. Importer les résultats.

Exécutez le package d'analyse à l'aide de réseaux de neurones. Pour ce faire, sélectionnez « Réseaux de neurones » dans le menu « Analyse ».

Riz. 4. 37. Sélection d'une méthode de traitement des données - « réseau neuronal ».

après quoi la fenêtre du package STATISTICA Réseaux de Neurones apparaîtra :

Riz. 4. 38. Fenêtre de démarrage de l'analyse des « réseaux de neurones ».

Accédez à l'onglet « Rapide », où vous devez définir le type de tâche - Régression et l'outil - Network Designer.

Riz. 4. 39. Lancement du concepteur de réseau neuronal.

Ensuite, en cliquant sur le bouton « OK », vous passerez au mode de sélection des variables de sortie (dépendantes) et d'entrée (indépendantes). Nous sélectionnons « Lead » comme premier et le nombre de voitures de toutes les catégories comme dernier. Les colonnes « Non » et « Rue » restent inutilisées.

Riz. 4. 40. Sélection des données d'entrée et de sortie pour un réseau neuronal.

En cliquant sur « Ok », vous reviendrez à l’onglet « Rapide ». Ensuite, en cliquant à nouveau sur le bouton « Ok », vous serez redirigé vers la fenêtre de formation du réseau neuronal. Dans l'onglet "Rapide", vous devez sélectionner le type de réseau - perceptron multicouche,

Riz. 4. 41. Sélection du type de réseau neuronal.

et sur l'onglet « Éléments » vous pouvez spécifier le nombre de couches requis, le nombre de neurones dans chacune, ainsi que le type de fonction d'activation :

Riz. 4. 42. Définition du nombre de couches et des types de neurones.

Riz. 4. 43. Choisir une méthode de formation d'un réseau de neurones.

Ici, en cliquant sur le bouton « Échantillons », vous pouvez définir le nombre d'exemples de formation, de contrôle et de test. Si vous définissez le nombre d'exemples de test et de contrôle sur zéro, le réseau sera formé à l'aide de tous les exemples :

Riz. 4. 44. Déterminer les données de formation et de test.

En revenant à la fenêtre principale de la formation, vous pouvez cliquer sur le bouton « Utilisateur » et accéder à l'onglet « Interactif », demander que le processus de formation soit reflété sous forme de graphique :

Riz. 4. 45. Préciser le type de graphique pour démontrer le processus d'apprentissage.

Enfin, en cliquant sur le bouton « Ok », vous lancerez le processus d'apprentissage dont le résultat sera affiché sur le graphique :

Riz. 4. 46. Formation d'un réseau de neurones.

En cliquant sur le bouton « Ok », vous serez redirigé vers la fenêtre des résultats, où vous pourrez étudier les différentes caractéristiques du réseau créé en vous déplaçant dans les onglets de la fenêtre :

Riz. 4. 47. Résultats de la modélisation des réseaux neuronaux.

Ainsi, par exemple, sur l'onglet « Avancé » il y a un bouton « Architecture réseau », en cliquant sur lequel vous pouvez voir la topologie du réseau construit :

Riz. 4. 48. Vue du réseau neuronal construit.

ainsi que le bouton « Observations utilisateur », où vous pouvez fournir au réseau de nouvelles données initiales et recevoir une réponse d'un réseau déjà formé.

Quelles sont les similitudes et les différences entre les langages de neuroinformatique et de statistique en analyse de données ? Regardons un exemple simple.

Supposons que nous ayons observations et mesuré expérimentalement N paires de points représentant une relation fonctionnelle. Si vous essayez de tracer la meilleure ligne droite passant par ces points, ce qui, dans le langage des statistiques, signifiera utiliser pour décrire la dépendance inconnue modèle linéaire

(où désigne le bruit lors de l'observation), puis la solution au problème correspondant régression linéaire sera réduit à trouver les valeurs estimées des paramètres qui minimisent la somme des quadratiques résidus.

Si les paramètres sont trouvés, alors la valeur peut être estimée oui pour n'importe quelle valeur X, c'est-à-dire mettre en œuvre interpolation Et extrapolation données.

Le même problème peut être résolu en utilisant un réseau monocouche avec une seule entrée et un seul linéaire neurone de sortie. Poids du lien un et seuil b peut être obtenu en minimisant la même valeur du résidu (qui dans ce cas sera appelé la moyenne quadratique erreur) pendant entraînement réseaux, par exemple en utilisant la méthode de rétropropagation. Propriété d'un réseau de neurones généralisation sera ensuite utilisé pour prédire la valeur de sortie à partir de la valeur d’entrée.

Figure 25. Régression linéaire et perceptron monocouche qui la met en œuvre.

En comparant ces deux approches, ce qui frappe immédiatement, c'est que pour décrire leurs méthodes, la statistique fait appel à formules Et équations, et la neuroinformatique pour description graphique des architectures neuronales.

1 Si l’on se souvient que l’hémisphère gauche fonctionne avec des formules et des équations, et l’hémisphère droit avec des images graphiques, alors on peut comprendre que par rapport aux statistiques, « hémisphère droit» approche de réseau neuronal.

Une autre différence significative est que pour les méthodes statistiques, la manière dont l'écart est minimisé n'a pas d'importance - en tout cas modèle reste le même, tandis que pour la neuroinformatique, le rôle principal est joué par méthode d'enseignement. En d’autres termes, contrairement à l’approche des réseaux de neurones, l’estimation des paramètres du modèle pour les méthodes statistiques ne dépend pas de la méthode de minimisation. Parallèlement, les statisticiens prendront en compte les changements dans le type de résidu, par exemple en

Comment changement fondamental de modèle.

Contrairement à l'approche des réseaux de neurones, dans laquelle la plupart du temps est consacré à la formation des réseaux, dans l'approche statistique, ce temps est consacré à une analyse approfondie du problème. Il utilise l'expertise des statisticiens pour sélectionner un modèle basé sur l'analyse de données et d'informations spécifiques au domaine. L’utilisation des réseaux de neurones – ces approximateurs universels – s’effectue généralement sans recours à des connaissances a priori, même si dans certains cas elle s’avère très utile. Par exemple, pour le modèle linéaire considéré, l'utilisation de l'erreur quadratique moyenne conduit à obtenir une estimation optimale de ses paramètres lorsque la valeur du bruit a une distribution normale avec la même variance pour toutes les paires d'apprentissage. En même temps, si l'on sait que ces dispersions sont différentes, alors l'utilisation pondéré fonctions d'erreur

peut donner des valeurs de paramètres nettement meilleures.

En plus du modèle le plus simple considéré, nous pouvons donner des exemples d'autres modèles, en un sens, équivalents de statistiques et de paradigmes de réseaux neuronaux.

Tableau 3. Techniques similaires

Le réseau Hopfield a un lien évident avec le regroupement de données et l'analyse factorielle.

1 Analyse factorielle utilisé pour étudier constructions données. Son principe principal est l'hypothèse de l'existence de tels signes - facteurs, qui ne peut pas être observé directement, mais peut être évalué par plusieurs caractéristiques primaires observables. Par exemple, des signes tels que volume de production Et coût des immobilisations, peut déterminer un facteur tel que échelle de production. Contrairement aux réseaux de neurones qui nécessitent une formation, l’analyse factorielle ne peut fonctionner qu’avec un certain nombre d’observations. Bien qu'en principe le nombre de ces observations ne doive être supérieur que d'une unité au nombre de variables, il est recommandé d'utiliser au moins trois fois le nombre de valeurs. Ceci est toujours considéré comme inférieur à la taille de l’échantillon de formation pour le réseau neuronal. Par conséquent, les statisticiens soulignent l’avantage de l’analyse factorielle car elle utilise moins de données et conduit donc à une génération de modèles plus rapide. De plus, cela signifie que la mise en œuvre des méthodes d’analyse factorielle nécessite des outils informatiques moins puissants. Un autre avantage de l’analyse factorielle est qu’il s’agit d’une méthode de boîte blanche, c’est-à-dire : complètement ouvert et compréhensible - l'utilisateur peut facilement comprendre pourquoi le modèle produit un résultat particulier. Le lien entre l'analyse factorielle et le modèle de Hopfield peut être vu en rappelant les vecteurs de base minimaux pour un ensemble d'observations (images mémoire - voir chapitre 5). Ce sont ces vecteurs qui sont des analogues de facteurs qui unissent divers composants des vecteurs de mémoire - caractéristiques primaires.

1 Régression logistique est une méthode de classification binaire largement utilisée dans la prise de décision financière. Il permet d'estimer la probabilité de réalisation (ou de non-réalisation) d'un événement en fonction des valeurs de certaines variables indépendantes - prédicteurs : x 1,...,x N. Dans le modèle de régression logistique, cette probabilité a la forme analytique : Pr( X) =(1+exp(-z)) -1, où z = a 0 + a 1 x 1 +...+ a N x N . Son analogue de réseau neuronal est évidemment un perceptron monocouche avec un neurone de sortie non linéaire. Dans les applications financières, la régression logistique est préférée à la régression linéaire multivariée et à l'analyse discriminante pour un certain nombre de raisons. En particulier, il garantit automatiquement que la probabilité appartient à l'intervalle et impose moins de restrictions sur la distribution des valeurs prédictives. Ce dernier est très important, car la répartition des valeurs des indicateurs financiers sous forme de ratios n'est généralement pas normale et est « très asymétrique ». L’avantage des réseaux de neurones est que cette situation ne leur pose pas de problème. De plus, les réseaux de neurones sont insensibles à la corrélation des valeurs prédictives, tandis que les méthodes d'estimation des paramètres du modèle de régression dans ce cas donnent souvent des valeurs inexactes.

Annotation: Réseaux de neurones et statistiques. Réseaux de neurones et logique floue. Réseaux de neurones et systèmes experts. Réseaux de neurones et physique statistique.

Les animaux sont divisés en :

  1. appartenant à l'Empereur,
  2. embaumé,
  3. apprivoisé,
  4. des drageons,
  5. sirènes,
  6. fabuleux,
  7. chiens individuels,
  8. inclus dans ce classement,
  9. courir partout comme un fou
  10. innombrable,
  11. peint avec le meilleur pinceau en poils de chameau,
  12. autres,
  13. j'ai cassé un vase à fleurs,
  14. de loin, ils ressemblent à des mouches.

H. L. Borges, « Le langage analytique de John Wilkins »

La neuroinformatique possède de nombreux points de contact avec d'autres disciplines et leurs méthodes. En particulier, la théorie des réseaux de neurones utilise les appareils de la mécanique statistique et de la théorie de l'optimisation. Les domaines d'application de la neuroinformatique se chevauchent parfois fortement ou coïncident presque avec les domaines d'application des statistiques mathématiques, de la théorie des ensembles flous et des systèmes experts. Les connexions et les parallèles de la neuroinformatique sont extrêmement divers et témoignent de son universalité. Dans ce cours, qui peut être considéré comme complémentaire, car il nécessite une préparation mathématique un peu plus importante, nous ne parlerons que des plus importants d'entre eux.

Réseaux de neurones et statistiques

Étant donné que les réseaux de neurones sont désormais utilisés avec succès pour l’analyse des données, il convient de les comparer avec des méthodes statistiques plus anciennes et bien développées. Dans la littérature statistique, on peut parfois trouver l'affirmation selon laquelle les approches de réseaux neuronaux les plus couramment utilisées ne sont rien de plus que des modèles de régression et discriminants inefficaces. Nous l'avons déjà noté auparavant réseaux de neurones multicouches peut réellement résoudre des problèmes tels que la régression et la classification. Cependant, premièrement, le traitement des données par les réseaux de neurones est beaucoup plus diversifié - rappelez-vous, par exemple, la classification active par les réseaux de Hopfield ou les cartes de caractéristiques de Kohonen, qui n'ont pas d'analogue statistique. Deuxièmement, de nombreuses études concernant l'utilisation des réseaux de neurones dans la finance et les affaires ont révélé leurs avantages par rapport aux méthodes statistiques développées précédemment. Examinons de plus près les résultats de la comparaison des méthodes des réseaux de neurones et des statistiques mathématiques.

Les réseaux de neurones sont-ils un langage de description ?

Comme indiqué, certains statisticiens soutiennent que les approches de réseau neuronal pour le traitement des données sont simplement des méthodes d'analyse statistique redécouvertes et reformulées, mais bien connues. En d’autres termes, la neuroinformatique utilise simplement un nouveau langage pour décrire d’anciennes connaissances. À titre d’exemple, voici une citation de Warren Searle :

De nombreux chercheurs en réseaux neuronaux sont des ingénieurs, des physiciens, des neuroscientifiques, des psychologues ou des informaticiens qui connaissent peu les statistiques et l'optimisation non linéaire. Les chercheurs en réseaux neuronaux redécouvrent constamment des méthodes connues dans la littérature mathématique et statistique depuis des décennies et des siècles, mais se retrouvent souvent incapables de comprendre comment ces méthodes fonctionnent.

Ce point de vue, à première vue, peut paraître raisonnable. Le formalisme des réseaux de neurones peut véritablement prétendre être un langage universel. Ce n’est pas un hasard si les travaux pionniers de McCulloch et Pitts ont déjà montré qu’une description d’un réseau neuronal équivaut à une description de la logique propositionnelle.

En fait, j'ai découvert qu'avec la technique que j'avais développée dans l'article de 1961 (...), je pouvais facilement répondre à toutes les questions que les spécialistes du cerveau (...) ou les informaticiens me posaient. Mais en tant que physicien, je savais bien qu’une théorie qui explique tout n’explique en réalité rien : au mieux, c’est un langage. Eduardo Cayanello

Il n’est donc pas surprenant que les statisticiens découvrent souvent que les concepts qui leur sont familiers ont leurs analogues dans la théorie des réseaux neuronaux. Warren Searle a compilé un petit glossaire des termes utilisés dans ces deux domaines.

Tableau 11.1. Glossaire de termes similaires
Les réseaux de neurones Méthodes statistiques.
Panneaux variables
contributions variables indépendantes
sorties valeurs prédites
valeurs cibles variables dépendantes
erreur résiduel
formation, adaptation, auto-organisation grade
fonction d'erreur, fonction Lyapunov critère d'évaluation
images d'entraînement (paires) observations
paramètres du réseau : poids, seuils. Paramètres estimés
neurones d'ordre élevé interactions
connexions fonctionnelles transformation
apprentissage supervisé ou hétéroassociation régression et analyse discriminante
apprentissage non supervisé ou association automatique compression des données
apprentissage compétitif, quantification vectorielle adaptative l'analyse par grappes
généralisation interpolation et extrapolation
Quelle est la différence entre les réseaux de neurones et les statistiques ?

Quelles sont les similitudes et les différences entre les langages de neuroinformatique et de statistique en analyse de données ? Regardons un exemple simple.

Supposons que nous ayons fait des observations et mesuré expérimentalement N paires de points représentant la dépendance fonctionnelle. Si nous essayons de tracer la meilleure ligne droite passant par ces points, ce qui, dans le langage des statistiques, signifiera utiliser un modèle linéaire pour décrire la dépendance inconnue (où désigne le bruit lors de l'observation), alors résoudre le problème de régression linéaire correspondant sera réduit à trouver les valeurs estimées des paramètres qui minimisent la somme des résidus quadratiques.

Si les paramètres sont trouvés, il est alors possible d'estimer la valeur de y pour n'importe quelle valeur de x, c'est-à-dire d'interpoler et d'extrapoler les données.

Le même problème peut être résolu en utilisant réseau monocouche avec une seule entrée et un seul neurone de sortie linéaire. Le poids de connexion a et le seuil b peuvent être obtenus en minimisant la même quantité de résidu (qui dans ce cas sera appelée erreur quadratique moyenne) lors de la formation du réseau, par exemple en utilisant la méthode de rétropropagation. La propriété de généralisation du réseau neuronal sera utilisée pour prédire la valeur de sortie à partir de la valeur d'entrée.


Riz. 11.1.

En comparant ces deux approches, ce qui frappe immédiatement, c'est que pour décrire leurs méthodes, les statistiques font appel à des formules et des équations, et la neuroinformatique fait référence à une description graphique des architectures neuronales.

Si l'on se souvient que l'hémisphère gauche fonctionne avec des formules et des équations, et l'hémisphère droit avec des images graphiques, alors nous pouvons comprendre qu'en comparaison avec les statistiques, la nature « hémisphère droit » de l'approche des réseaux neuronaux apparaît à nouveau.

Une autre différence significative est que pour les méthodes statistiques, la manière dont l'écart est minimisé n'a pas d'importance - dans tous les cas, le modèle reste le même, tandis que pour la neuroinformatique, c'est la méthode d'entraînement qui joue le rôle principal. En d’autres termes, contrairement à l’approche des réseaux de neurones, l’estimation des paramètres du modèle pour les méthodes statistiques ne dépend pas de méthode de minimisation. Parallèlement, les statisticiens prendront en compte les changements dans le type de résidu, par exemple en

Comme un changement fondamental de modèle.

Contrairement à l'approche des réseaux de neurones, dans laquelle la plupart du temps est consacré à la formation des réseaux, dans l'approche statistique, ce temps est consacré à une analyse approfondie du problème. Il utilise l'expertise des statisticiens pour sélectionner un modèle basé sur l'analyse de données et d'informations spécifiques au domaine. L’utilisation des réseaux de neurones – ces approximateurs universels – s’effectue généralement sans recours à des connaissances a priori, même si dans certains cas elle s’avère très utile. Par exemple, pour le modèle linéaire considéré, l'utilisation de l'erreur quadratique moyenne conduit à obtenir une estimation optimale de ses paramètres lorsque la valeur du bruit a une distribution normale avec la même variance pour toutes les paires d'apprentissage. En même temps, si l'on sait que ces écarts sont différents, alors en utilisant une fonction d'erreur pondérée

Peut donner des valeurs de paramètres nettement meilleures.

En plus du modèle le plus simple considéré, nous pouvons donner des exemples d'autres modèles, en un sens, équivalents de statistiques et de paradigmes de réseaux neuronaux.

Le réseau Hopfield a un lien évident avec le regroupement de données et l'analyse factorielle.

Analyse factorielle utilisé pour étudier la structure des données. Son principe principal est l’hypothèse de l’existence de tels signes – des facteurs qui ne peuvent pas être observés directement, mais qui peuvent être évalués par plusieurs signes primaires observables. Par exemple, des caractéristiques telles que le volume de production et le coût des immobilisations peuvent déterminer un facteur tel que l'échelle de production. Contrairement aux réseaux de neurones qui nécessitent une formation, l’analyse factorielle ne peut fonctionner qu’avec un certain nombre d’observations. Bien qu'en principe le nombre de ces observations ne doive être supérieur que d'une unité au nombre de variables, il est recommandé d'utiliser au moins trois fois le nombre de valeurs. Ceci est toujours considéré comme inférieur à la taille de l’échantillon de formation pour le réseau neuronal. Par conséquent, les statisticiens soulignent l’avantage de l’analyse factorielle car elle utilise moins de données et conduit donc à une génération de modèles plus rapide. De plus, cela signifie que la mise en œuvre des méthodes d’analyse factorielle nécessite des outils informatiques moins puissants. Un autre avantage de l’analyse factorielle est qu’il s’agit d’une méthode de boîte blanche, c’est-à-dire : complètement ouvert et compréhensible - l'utilisateur peut facilement comprendre pourquoi le modèle produit un résultat particulier. Le lien entre l'analyse factorielle et le modèle Hopfield peut être vu en rappelant les vecteurs base minimale pour un ensemble d'observations (images mémoire - voir leçon 5). Ce sont ces vecteurs qui sont des analogues de facteurs qui unissent divers composants des vecteurs de mémoire - caractéristiques primaires.

Au cours d'un certain historique de suivi des patients, un ensemble de données s'est accumulé et est stocké dans un tableau du système STATISTICA. Le tableau de données correspondant est présenté à la figure 6.

Figure 6. Fragment du tableau de données source

Le but de l'étude est de construire un modèle de réseau neuronal qui, sur la base d'un ensemble donné de données initiales (données d'examen du patient, résultats de tests, traitement avant l'admission), basé sur le traitement prescrit à l'hôpital, produirait un pronostic pour son traitement (valeurs d'admission à l'hôpital I-APFARA, BAB, BKK, diurétiques, médicaments à action centrale) avec une précision suffisante.

Le fait que le problème soit non linéaire ne fait aucun doute. Bien entendu, on pourrait essayer de résoudre le problème en utilisant le module Estimation Non Linéaire de STATISTICA, c'est-à-dire en utilisant les procédures itératives proposées par ce module pour « tâtonner » le type de fonction. Cependant, il existe ici un certain nombre de problèmes qui prolongent considérablement la procédure de recherche d'une solution. Le plus important d'entre eux est la formulation d'une hypothèse sur la forme explicite de la dépendance étudiée, ce qui n'est pas du tout évident.

Sans recherches supplémentaires, il est difficile de dire quoi que ce soit sur le type évident de dépendance. De plus, il convient de mentionner que nous n’avons pas pris en compte un facteur supplémentaire. En général, résoudre un tel problème à l’aide de méthodes d’estimation non linéaires peut prendre beaucoup de temps, voire ne mener à rien. Dans des situations aussi critiques, quand on sait que

Il existe une relation entre les variables ;

La relation est définitivement non linéaire ;

Il est difficile de dire quoi que ce soit sur la forme évidente de dépendance,

Les algorithmes des réseaux neuronaux sont utiles. Considérons une manière de résoudre ce problème dans le module Réseaux de Neurones de STATISTICA.

Malheureusement, il n’existe pas de règles universelles indiquant quelle topologie de réseau neuronal doit être suivie pour résoudre un problème particulier. Une procédure raisonnable est donc nécessaire pour trouver le bon réseau.

Le module Réseaux de Neurones du système STATISTICA comprend une procédure qui organise la recherche de la configuration réseau souhaitée. Cette procédure consiste à construire et tester un grand nombre de réseaux avec des architectures différentes puis à sélectionner parmi eux le réseau le plus adapté pour résoudre le problème posé. Cet outil s’appelle Intelligent Problem Solver. Pour lancer le module Réseaux de Neurones, vous devez utiliser la commande du même nom dans le menu principal du système STATISTICA - Statistiques. (Figure 7)

Figure 7. Lancement du module Réseaux de neurones

La thèse suivante est très courante : « les réseaux de neurones sont une structure universelle qui permet d'implémenter n'importe quel algorithme ». Essayons, en croyant aveuglément cette affirmation, de construire un réseau de neurones qui « capterait » immédiatement la dépendance proposée (c'est-à-dire sans analyse exploratoire préalable).

L’une des questions les plus importantes qui n’a pas encore été résolue par la science moderne est celle de la structure d’un réseau neuronal capable de reproduire la dépendance non linéaire multidimensionnelle souhaitée. En effet, le théorème de complétude de Kolmogorov, qu'il a prouvé en 1957, affirme qu'un réseau neuronal est capable de reproduire n'importe quelle fonction (très importante - continue). Cependant, il ne propose pas au chercheur une recette pour créer un tel réseau. En 1988, un certain nombre d'auteurs ont généralisé le théorème de Kolmogorov et ont montré que toute fonction continue peut être approchée par un réseau neuronal à trois couches avec une couche cachée et un algorithme de rétropropagation avec n'importe quel degré de précision. Ainsi, dans notre cas, l’aspect positif est de savoir que le réseau doit être composé de trois couches, mais encore une fois, il n’existe aucune règle établissant la relation entre « un quelconque degré de précision » et le nombre de neurones dans l’intermédiaire, donc- appelée couche cachée.

En résumant tout ce qui précède, nous notons qu'il n'existe pas de règles universelles indiquant quelle topologie de réseau neuronal doit être suivie pour résoudre un problème particulier. Une procédure raisonnable est donc nécessaire pour trouver le bon réseau.

Le module Réseaux de Neurones du système STATISTICA comprend une procédure unique qui organise la recherche de la configuration réseau souhaitée. Cet outil s’appelle Intelligent Problem Solver. Utilisons cet outil et recherchons un réseau de neurones qui sera capable de résoudre notre problème.

Figure 8. Zone de lancement du module Réseaux de neurones

Dans l'onglet Rapide de cette boîte de dialogue, dans la section Type de problème, il est proposé de sélectionner la classe de problèmes auxquels nous sommes confrontés. Notre objectif est de construire une relation multivariée ou, en d’autres termes, une régression non linéaire multivariée. Cela signifie que dans la section Type de problème, vous devez spécifier Régression.

Après avoir décidé de la classe de tâches, il est nécessaire de préciser les variables permettant de réaliser l'Analyse. Pour sélectionner des variables, utilisez le bouton Variables. Lorsque vous cliquez sur ce bouton, la boîte de dialogue Sélectionner les variables d'entrée (indépendantes), de sortie (dépendantes) et de sélecteur apparaît. Dans cette boîte de dialogue, vous devez spécifier deux listes de variables. Les sorties continues, dans notre cas, sont les variables Admission à l'hôpital ACEI/ARB, Admission à l'hôpital BAB, Admission à l'hôpital BKK, Admission à l'hôpital des diurétiques et admission à l'hôpital des médicaments à action centrale. Les entrées continues, dans notre exemple, vont de 1 à 61 paramètres initiaux.

Figure 9. Sélection des variables pour l'analyse

Dans la section Sélectionner une analyse, deux options sont disponibles : Intelligent Problem Solver et Custom Network Designer. Pour sélectionner automatiquement les paramètres du réseau neuronal, la première option est requise, qui est définie par défaut. Pour continuer l'analyse, cliquez sur OK.

À l'étape suivante, la boîte de dialogue de configuration d'Intelligent Problem Solver apparaît.

La section Rapide contient un groupe d'options responsables du temps d'exécution de l'algorithme de recherche du réseau neuronal. Sur cet onglet, vous devez préciser le nombre de réseaux à tester (pour savoir s'ils sont adaptés à la résolution du problème formulé), et également indiquer combien de ces réseaux seront inclus dans le rapport final.

Dans la section Réseaux testés nous indiquons 100, Réseaux retenus - 10 (Figure 10)

L'onglet Types spécifie quels types de réseaux de neurones seront utilisés dans le processus de test. Pour résoudre le problème de régression non linéaire, un perceptron multicouche est le plus approprié, nous choisissons donc les réseaux marqués sur la figure 11.

Figure 10. Définition du nombre de réseaux à tester

Figure 11. Sélection d'une architecture réseau

Ensuite, pour organiser le processus de recherche et de test, il est nécessaire d'indiquer l'étendue des changements dans le nombre de neurones dans chaque couche du réseau neuronal. Les valeurs recommandées pour cette tâche sont présentées dans la figure 12.

Figure 12. Indication des tailles des échantillons d'entraînement, de contrôle et de test

Maintenant, après avoir défini tous les paramètres de formation, pour lancer la procédure de recherche de réseau, vous devez cliquer sur OK.

L'état de l'algorithme de recherche est affiché dans la boîte de dialogue IPS Training In Progress.

Pendant l'exécution de l'algorithme de recherche d'un réseau de neurones approprié, cette boîte de dialogue fournit des informations sur le temps d'exécution de l'algorithme, ainsi que sur les réseaux de neurones considérés. Le but de l'algorithme de recherche est d'énumérer un certain nombre de configurations de réseau neuronal et de sélectionner la meilleure en termes d'erreur minimale à la sortie du réseau et de performances maximales.

Avez-vous aimé l'article? Partagez-le
Haut