IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

IA pour trouver la meilleure combinaison à partir de données


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Avril 2018
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Avril 2018
    Messages : 71
    Par défaut IA pour trouver la meilleure combinaison à partir de données
    Bonjour, je vous expose mon probleme.

    j'ai posté ce message dans le forum python, mais on m'a conseiller d'aller plutôt d'abord sur ce forum afin de m'orienter vers un algo pouvant répondre à mon probleme

    https://www.developpez.net/forums/d1.../#post10149875

    J'ai des données sous forme d'une liste 2D contenant des données de chauffage de maisons :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
     
    """
        0 fenetre ouverte
        1 fenetre fermer
     
        2 chauffage eau
        3 chauffage solaire
        4 chauffage bois
        5 chauffage fuel
     
        6 mauvaise isolation
        7 bonne isolation
        """
     
        inputs = array([[0, 2, 6], [1, 4, 6], [1, 5, 7], [0, 3, 7], [0, 2], [7]]) # combinaison des elements
        outputs = array([[8, 10, 11, 9, 7, 11]]).T # temperature de la maison en combinant les resultats
        question=array([0, 4, 7]) # quelle temperature donne la combinaison des elements 0,4 et 7 ?

    input c'est les élemnts qui compose la maison, output c'est la température qu'il fait dans la maison
    par exemple [0, 2, 6] donne 8° ainsi la fenêtre ouverte (0) le chauffage eau (2) et la mauvaise isolation (6) donne une température de 8 degrée
    autre exemple : [0, 2] donne 7°, une maison qui a la fenêtre ouverte (0) et le chauffage eau (2) a donner a été enregistré avec une température de 7°, vous remmarquer ici qu'il manque la 3ieme information : bonne ou mauvaise isolation

    voila mon probleme, je cherche a partir de ces données (certaines sont "incomplète"), a trouver la meilleur combinaison possible pour obtenir la température maximal

    j'ai regardé du coté des réseau de neurone mais ils ont 2 problèmes : la première c'est qu'il ne semble pas possible de les utilisé si mes donnée n'ont pas la même longueur d'input (mes données incomplète ou il manque 1 ou 2 informations)

    et 2ieme probleme, le réseau de neurone finalement ne répond pas a mon probleme, il vas essayer de prédire la température qu'il peut faire dans la maison en combinant les paramètres mais ne vas pas chercher a trouver la meilleur combinaison possible.

    voila, je cherche donc en python une solution pour résoudre mon probleme

    autre probleme aussi avec le réseau de neurone, c'est que l'entrainement des neurones ne semble pas pouvoir etre parallélisable, concrètement moi j'ai pas 3 entrées comme dans l'exemple que je donne, mais plus de 300000, j'aimerais une solution parallélisable.

    je vous demande évidement pas de coder sa à ma place, mais de m'orienter vers une solution concrète (avec un exemple de code) qui répondrait à mes contraintes.

  2. #2
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 295
    Par défaut
    Bonjour

    Je n'ai rien compris à la question.
    Dans ton exemple, la température maximale est 11 car c'est le maximum du tableau "outputs".
    Cela correspond à [1, 5, 7] et [7].
    Fin du jeu.
    Pourquoi ceci ne répond-il pas à ta question ?

  3. #3
    Inactif  
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Avril 2018
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Avril 2018
    Messages : 71
    Par défaut
    A partir des données que j'ai, je voudrais arriver a prédire d'autres combinaisons de paramètres que j'ai pas.

    si tu regarde dans mon input, peut être que si je fais :
    fenetre fermer
    chauffage eau
    bonne isolation

    donc [1,2,7] j'aurais peut être plus de 11 en température.

    c'est pour cela que j'ai penser au début à l'utilisation d'un réseau de neurone.

  4. #4
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Le réseau de neurones répond tout à fait à ta problématique.
    Tu vas l'entrainer avec les entrées connues et les températures associées.
    Après l'entrainement, tu pourras soumettre des entrées selon une combinaison non entrainée et le réseau te donnera la température.
    Par contre, il te faut un nombre suffisant d'exemples pour l'apprentissage. Comment savoir ? Si le réseau te répond trop souvent n'importe quoi, alors tu dois augmenter les exemples pour l'apprentissage.


    Ok, je viens de saisir ta problématique. Pour un set d'entrées, connaissant la température, tu cherches à modifier les entrées pour augmenter la température. C'est ça ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  5. #5
    Inactif  
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Avril 2018
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Avril 2018
    Messages : 71
    Par défaut
    Oui exacte !
    mais se doit être de la simulation, a partir des données que j'ai, le programme dois pouvoir essayer de prédire la température qui fera si je mets tels ou tels paramètres

    évidement j'ai un plus que 3 données (d’où mon intérêt pour le réseau de neurone)
    mais le réseau de neurone vas juste prédire, il vas pas chercher a trouver la combinaison

  6. #6
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Citation Envoyé par vayel Voir le message
    mais se doit être de la simulation, a partir des données que j'ai, le programme dois pouvoir essayer de prédire la température qui fera si je mets tels ou tels paramètres
    euh... tu changes de problématique là...
    Finalement, tu décris deux problèmes :
    1. connaitre la température selon des paramètres : un réseau de neurones est fait pour ça. Tu l'entraînes avec des entrées/sorties connues puis tu lui soumets un nouveau set d'entrées => il donne la température s'il est correctement entrainé
    2. pour un set d'entrées, apporter des modifications pour améliorer la température : un algorithme génétique est fait pour ça. Par contre, il faut un bon simulateur : ce sera ton réseau de neurones déjà entrainé.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

Discussions similaires

  1. ia pour trouver la meilleur combinaison a parti de données
    Par vayel dans le forum Général Python
    Réponses: 2
    Dernier message: 09/04/2018, 19h02
  2. Réponses: 1
    Dernier message: 02/03/2017, 14h00
  3. trouver les meilleures combinaisons
    Par Emma95 dans le forum Excel
    Réponses: 15
    Dernier message: 15/04/2010, 14h20
  4. quel programme pour dessiner un graphe a partir de données
    Par Tex-Twil dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 10/12/2007, 12h47
  5. Réponses: 35
    Dernier message: 16/05/2006, 11h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo