algorithmes d'extraction de règles pour vérifier le réseau de neurones artificiels (ANN)Bonjour,
J'ai récemment commencé à utiliser JMP Pro également pour le réseau neuronal artificiel.
Je voudrais savoir, comment puis-je vérifier les architectures de réseaux neuronaux avec JMP ?
Par exemple, en utilisant les expressions mathématiques, la logique symbolique, la logique floue ou les arbres de décision...
J'ai lu que ce système pourrait résoudre la « boîte noire ».
Merci beaucoup,
Angelo
Re : algorithmes d'extraction de règles pour vérifier le réseau de neurones artificiels (ANN)Bonjour Dan,
J'ai essayé votre solution à 200 colonnes et je pense que je fais quelque chose de mal, j'ai joint le tableau avec la formule pour savoir ce que je fais de mal, merci !
Acclamations,
Marc
Re : algorithmes d'extraction de règles pour vérifier le réseau de neurones artificiels (ANN)Bonjour Dan,
Excellente explication !!! merci, je vais essayer votre solution, par rapport au prix des actions (ci-joint tableau 1 base et tableau 2 objectif), j'ai 4 colonnes de 74 547 lignes avec cours d'ouverture, haut, bas et clôture.... comment puis-je convertir avec une formule dans JMP ...... 400 nouvelles colonnes ou plus comportant le nombre maximum possible de lignes avec des étiquettes et des données créées par la formule... par exemple :
open100, high100, low100, close100, open99, high99, low99, close99, open98, high98, low98, close98 ....
Salutations,
Marc
Re : algorithmes d'extraction de règles pour vérifier le réseau de neurones artificiels (ANN)Je ne peux pas parler de Python. Cependant, vous pouvez exécuter un script Python depuis JMP et récupérer les résultats. Cependant, comme la formule de prédiction a été créée en Python, je ne pense pas que JMP la convertira en code C. JMP ne peut convertir que ses propres formules natives dans différents formats.
Quant aux 200 colonnes de cours des actions, le moyen le plus simple de le faire serait d'utiliser un script. Cependant, une approche d’interaction consiste à procéder comme suit :
1) Faites convertir vos 200 colonnes les unes à côté des autres.
2) Créez 200 nouvelles colonnes en utilisant Cols > Nouvelles colonnes.
3) Sélectionnez les 200 nouvelles colonnes, qui sont toutes vides.
4) Choisissez Cols > Standardiser les attributs.
5) Dans la section Standardiser les propriétés, cliquez sur Propriétés de colonne > Formule.
6) Cochez la case Remplacer la référence de colonne et cliquez sur Modifier la formule.
7) Construisez la formule pour la première de vos 200 colonnes de cours des actions. La formule (selon ce que vous avez spécifié) ressemblerait à ceci :

8) Cliquez sur OK pour fermer l'éditeur de formule.
9) Cliquez à nouveau sur OK pour fermer la boîte de dialogue Standardiser les attributs des colonnes.
Cette formule doit être appliquée aux 200 colonnes avec les références de colonne appropriées appliquées.
Re : algorithmes d'extraction de règles pour vérifier le réseau de neurones artificiels (ANN)Bonjour Dan,
Excellente réponse !, quelques questions :
1. Il me semble que Python dispose de réseaux de neurones récurrents, pourraient-ils être formés à la plateforme JMP et générer du code C ?
2. J'ai un tableau avec 200 colonnes de cours boursiers,
Comment JMP pourrait-il indiquer dans 200 nouvelles colonnes avec le chiffre 1 les prix bas, avec le chiffre -1 les prix les plus élevés (pics) et avec 0 le reste des prix ?
Salutations,
Marc
Re : algorithmes d'extraction de règles pour vérifier le réseau de neurones artificiels (ANN)Le problème avec le point 1 est que l’algorithme d’un réseau neuronal n’a aucune notion d’axe temporel. C'est pourquoi un réseau neuronal récurrent est souvent utilisé pour les données de séries chronologiques, car un réseau neuronal récurrent inclut un composant de séquençage. Puisque JMP ne propose pas cela, vous devrez créer un élément temporel ou séquentiel dans les données. Je ne pourrai pas donner des conseils complets sur ce forum car il s'agit d'un vaste sujet. L’une des choses que vous devrez comprendre est votre horizon de prévision. Cela signifie, quelles sont les unités de temps que vous utiliserez et jusqu’où essayez-vous de prédire le futur. Ma première suggestion était une approche très simple, une prédiction un jour à l’avance. Cette approche n'utilisera aucune valeur cible précédente, uniquement les valeurs des entrées. Mais vous pouvez également utiliser l’objectif de la veille comme entrée. Vous pouvez ensuite essayer différents délais, en fonction de la quantité de données passées que vous souhaitez utiliser ainsi que de la durée de votre horizon de prévision. Il existe probablement d'autres techniques plus créatives pour ajouter un élément temporel à un réseau neuronal. Certaines recherches vous révéleront probablement d’autres options. Gardez à l’esprit que différentes approches sont nécessaires en fonction de la fréquence à laquelle vous prévoyez de mettre à jour les prévisions, de la fréquence à laquelle vous avez besoin d’une prévision, etc.
Quant au point 2, je ne sais pas ce que tu entends par "l'impulsion trouve la quantité optimale". L'idée de trouver les taux d'apprentissage optimaux, le nombre de couches cachées, le nombre de nœuds cachés, etc. est appelée réglage automatique. JMP ne propose pas de réglage automatique. Si vous regardez dans la communauté JMP, vous devriez pouvoir trouver un script JMP qui peut aider au réglage automatique (je me souviens que quelqu'un en a écrit un). Le script est véritablement une méthode de force brute, ce qui signifie qu'il essaiera tous les différents paramètres que vous spécifiez. Cela peut donc prendre un certain temps. Ensuite, en fonction des résultats, vous choisissez la meilleure combinaison.
Re : algorithmes d'extraction de règles pour vérifier le réseau de neurones artificiels (ANN)Bonjour Dan,
Je suis heureux de vous saluer, JMP me semble être un excellent logiciel et chaque jour il me surprend de découvrir les options de solutions qu'il propose..... quelques questions :
1. La réponse du point 1 est intéressante (retracer la variable cible... il y a plusieurs façons de faire), vous pourriez la détailler avec des exemples.
2. J'ai remarqué que l'impulsion trouve la quantité optimale, y aura-t-il une option dans la plateforme de réseau neuronal qui optimise les paramètres ou hyper-paramètres d'un modèle ? ... c'est-à-dire le taux d'apprentissage, le nombre optimal de neurones, le nombre optimal de couches... etc.
Salutations,
Marc
Re : algorithmes d'extraction de règles pour vérifier le réseau de neurones artificiels (ANN)Merci, @Dan_Obermiller , pour avoir répondu aux questions de Marco. Je voudrais également ajouter le livre blanc de Chris Gotwalt , qui gère le groupe de développeurs statistiques JMP.
Re : algorithmes d'extraction de règles pour vérifier le réseau de neurones artificiels (ANN)Cela devrait probablement être un nouveau fil de discussion car il n'est pas directement lié aux questions d'origine. Je ne m'appelle pas non plus Mark, mais je pense pouvoir répondre à vos questions.
1. Afin de prédire un événement futur, vous devrez introduire un élément temporel dans votre réseau neuronal. Il existe plusieurs façons de procéder. Une solution consiste à décaler la variable cible d'une période de temps. Ainsi, si votre intervalle de temps est de jours, vous pouvez utiliser les entrées d'hier pour prédire l'objectif d'aujourd'hui. Vous avez raison, JMP ne propose pas de réseaux de neurones récurrents.
2. JMP n'utilise pas d'algorithmes génétiques ni de programmation génétique pour optimiser les poids.
3. Non, JMP n'utilise pas d'algorithmes génétiques ni de programmation génétique pour optimiser le nombre de neurones ou le nombre de couches cachées. En effet, JMP n'optimise pas le nombre de neurones ni le choix d'une ou deux couches cachées. JMP propose une recherche exhaustive de tous les différents paramètres que vous souhaitez tenter. Vous pourrez alors choisir le gagnant.
Pour ces fonctionnalités de réseau neuronal plus avancées, vous souhaiterez peut-être envisager SAS car ces techniques sont disponibles dans SAS ainsi que dans Viya.
Enfin, gardez à l’esprit qu’il existe de nombreuses études visant à prédire les cours des actions. Des études ont montré qu'il est préférable de modéliser les cours boursiers à court terme sous la forme d'une « marche aléatoire », ce qui signifie qu'il n'existe aucune tendance perceptible. En d’autres termes, ne reprochez pas à la technique de modélisation de ne pas fonctionner sur un ensemble de données qui ne peuvent pas être correctement modélisées. Bonne chance!
Re : algorithmes d'extraction de règles pour vérifier le réseau de neurones artificiels (ANN)Bonjour Mark,
J'ai le plaisir de vous saluer, je suis nouveau chez JMP, j'ai quelques questions :
1. Comment pouvez-vous prédire les cours futurs des actions avec les réseaux neuronaux JMP ?
Apparemment, JMP ne dispose pas de réseaux de neurones récurrents avec mémoire RNN.
2. JMP dans l'entraînement du modèle optimise les poids des réseaux avec des algorithmes génétiques ou une programmation génétique ?
3. JMP optimise le nombre de neurones et le nombre de couches cachées avec des algorithmes génétiques ou une programmation génétique ?
J'ai essayé JMP ARIMA pour prédire le cours futur des actions avec de mauvais résultats.
Salutations,
Marc
Re : algorithmes d'extraction de règles pour vérifier le réseau de neurones artificiels (ANN)Cette citation est tirée de la partie d'aide sur la commande du profileur de prédiction pour générer une table aléatoire :
" Demande un certain nombre d'exécutions et crée une table de sortie avec autant de lignes, avec des paramètres de facteurs aléatoires et des valeurs prédites sur ces paramètres. C'est équivalent à (mais c'est beaucoup plus simple que) ouvrir le simulateur, réinitialiser tous les facteurs sur une distribution uniforme aléatoire , puis simulant la sortie. Cette commande est similaire à Output Grid Table, sauf qu'elle génère un tableau aléatoire plutôt qu'un tableau séquencé.
La principale raison de créer des tableaux de facteurs aléatoires uniformes est d’explorer l’espace des facteurs de manière multivariée à l’aide de requêtes graphiques. Cette technique est appelée Monte-Carlo filtré .
Supposons que tu veuilles pour voir le lieu de tous les paramètres de facteurs qui produisent une plage donnée de paramètres de réponse souhaitables . En sélectionnant et en masquant les points non qualifiés (à l'aide d'un pinceau graphique ou du filtre de données), vous voyez les possibilités de ce qui reste : l'espace d'opportunité produisant le résultat souhaité.
Certaines lignes peuvent apparaître sélectionnées et marquées d'un point rouge. Ceux-ci représentent les points sur la désirabilité multivariée de la frontière de Pareto - les points qui ne sont pas dominés par d'autres points en ce qui concerne la désirabilité de tous les facteurs. "
C'est donc un moyen simple d'obtenir un uniforme simulation aléatoire des prédicteurs et prédiction du modèle de la réponse. Elle a le même objectif que la commande Output Grid Table.
La fonction Simulateur vous donne beaucoup plus de contrôle sur la nature de la variation des prédicteurs et sur la variation aléatoire supplémentaire de la réponse. Il s'agit principalement d'évaluer la capacité des processus, mais il a évidemment d'autres applications.
Re : algorithmes d'extraction de règles pour vérifier le réseau de neurones artificiels (ANN)Salut,
Merci beaucoup de m'avoir répondu !
J'ai lu la documentation JMP, section Options du profileur de prédiction. Et j'ai trouvé que la "Table aléatoire de sortie" est la technique de Montecarlo filtrée, tandis que la "Simulation" n'est qu'une simulation de Montecarlo qui utilise le bruit aléatoire.
Je ne connais pas la différence entre les deux techniques et quelle méthode est la meilleure, je dois mieux étudier ces deux différences. Si vous avez des conseils, ils sont bien appréciés. Cependant, j'ai vérifié que la simulation Montecarlo prend plus de temps que la technique Montecarlo filtrée.
Je dois le faire dans le profil du réseau de neurones. J'ai donc pensé qu'il pourrait s'agir d'une simulation hybride ANN-Montecarlo.
Pour aider à comprendre :
Pour une table aléatoire,
1. J'ai sélectionné l'option neuronale
2. J'ai cliqué sur le triangle rouge dans le modèle
3. J'ai cliqué sur l'option Profil de prédiction
4. J'ai cliqué sur le triangle rouge dans le profil de prédiction.
5. J'ai sélectionné Sortie des tables aléatoires.
Pour la simulation, j'ai effectué la même procédure, mais au lieu de cliquer sur "Sortie des tables aléatoires", j'ai sélectionné l'option "simulateur". J'ai cliqué sur le triangle rouge et sélectionné "Simulation Experiment".
J'ai ajusté le bruit dans les cellules interactives et sélectionné la variable aléatoire.
Re : algorithmes d'extraction de règles pour vérifier le réseau de neurones artificiels (ANN)
@AngeloF88 a écrit:
Il est très simple de faire cette simulation dans JMP. Si vous savez, quelle est la différence dans JMP entre des tables aléatoires et une simulation à partir du profil ? Bolt est-il deux types de simulation Montecarlo ?
Veuillez clarifier les tableaux ("tableaux aléatoires" et "simulation à partir du profil") auxquels vous faites référence avant de pouvoir répondre à votre question.
Re : algorithmes d'extraction de règles pour vérifier le réseau de neurones artificiels (ANN)Merci beaucoup! J'ai lu le journal et c'est intéressant. J'ai également lu des publications (également dans la revue à facteur d'impact élevé) concernant l'utilisation de l'ANN dans le domaine physiologique des plantes. Je crois qu'ils constituent un instrument prédictif puissant, mais le problème de la boîte noire est difficile à expliquer aux chercheurs qui ne travaillent pas toute la journée avec les mathématiques. Cependant, JMP aide à utiliser le réseau neuronal artificiel et à comprendre le résultat. Après votre suggestion concernant le profil et l'estimation, j'ai une vision plus claire du réseau de neurones artificiels. J'ai lu les excellents livres directement disponibles chez JMP. J'ai également trouvé dans ANN et d'autres analyses statistiques la simulation Montecarlo à partir du profil. Bingo!! Parfois, il s’agit d’une simulation importante pour la paléoclimatologie et en général pour les personnes qui travaillent sur la prévision en écologie. Il est très simple de faire cette simulation dans JMP. Si vous savez, quelle est la différence dans JMP entre des tables aléatoires et une simulation à partir du profil ? Bolt est-il deux types de simulation Montecarlo ?
Re : algorithmes d'extraction de règles pour vérifier le réseau de neurones artificiels (ANN)J'ai des informations supplémentaires de JMP Development concernant votre demande. Ils disent qu'il est difficile de vérifier les réseaux de neurones (NN) à partir de n'importe quel produit logiciel. Les NN ne sont pas comme la régression linéaire où les coefficients et les prédictions seront les mêmes quel que soit le produit que vous utilisez.Chaque produit sera très différent. Le mieux que vous puissiez faire est d'utiliser la validation croisée pour évaluer les performances prédictives des modèles d'exploration de données. S'il existe un besoin urgent de vérifier les modèles utilisés, restez avec les moindres carrés et la régression logistique.
J'ai inclus un livre blanc JMP qui aborde tout ce que nous pouvons dire sur NN dans JMP.
Re : algorithmes d'extraction de règles pour vérifier le réseau de neurones artificiels (ANN)Vous pouvez rechercher de telles références. Je n'en ai pas sous la main.
Les éditeurs de logiciels commerciaux ne publient généralement pas leurs méthodes numériques ou leur code car il s'agit d'une propriété intellectuelle exclusive. JMP propose cette page comme ressource aux utilisateurs pour les aider à établir le qualité de JMP .
Re : algorithmes d'extraction de règles pour vérifier le réseau de neurones artificiels (ANN)Merci beaucoup Markbailey,
Trop facile pour vite trouvé... 
Satisfait du logiciel JMP et de son support.
Savez-vous s'il existe une publication ou un document de conférence décrivant les estimations de l'ANN dans JMP ? Car pour publier les données, je dois étayer mon analyse et ma publication avec la ou les références correctes basées sur JMP.
Salutations,
Angelo
Re : algorithmes d'extraction de règles pour vérifier le réseau de neurones artificiels (ANN)Après avoir exécuté un modèle, vous pouvez cliquer sur le triangle rouge en haut du contour de ce modèle. Vous avez le choix pour afficher le réseau diagramme et vous pouvez également afficher le estimations . La structure de chaque nœud dépend de votre choix de fonction d'activation.
De quoi d'autres avez-vous besoin?