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

Intelligence artificielle Discussion :

Quel(s) Algorithme(s) choisir ?


Sujet :

Intelligence artificielle

  1. #1
    Membre éclairé Avatar de jkofr
    Homme Profil pro
    Senior Consultant DBA (Trivadis SA)
    Inscrit en
    Octobre 2006
    Messages
    484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Senior Consultant DBA (Trivadis SA)
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 484
    Points : 724
    Points
    724
    Par défaut Quel(s) Algorithme(s) choisir ?
    Bonjour,

    J'ai réalisé un modèle de prédiction linéaire sur les courses hippiques.
    Ce modèle est basé sur des calculs simples qui portent sur le x dernières performances de chaque cheval.

    Chaque méthode de calcul donne une variable.
    Chaque calcul effectué sur un cheval donne une ligne dans la variable.
    Certaines variables sont décroissantes d'autres croissante.

    Voici le tableau de quelques variables brutes.
    Pour info ça correspond au quinte d'aujourd'hui le gagnant étant en rouge et les placés en bleu gras.
    Pt = le partant
    Le titre en gras est le nom de la variable.



    Le modèle actuel se sert des ces variables de base pour définir des synthèses. Ce sont ces synthèses qui sont utilisées pour le jeux final.

    Par la suite il m'est venu l'idée de pousser plus loin mon modèle et de me lancer dans de l'analyse combinatoire. C'est a dire tester tous les cas de figures et les réussites associés sur des combinaisons entre 5 variables. A ceci j'ai rajouté le nombre de lignes maxi (profondeur) puis les catégories de courses ... ET c'est ainsi que j'ai créé plus de 15 milliards de lignes dans ma base Oracle pour finalement ne rien pouvoir tirer (rapidement et facilement) de tout ce tas de données.

    J'ai bien sur très vite abandonné car il m'a semblé que ce n'est pas la bonne méthode et aussi, pourquoi s'arrêter à 5 variables?
    Une autre chose qui me dérangeait quelque peut est la dispersion des valeurs a l'intérieur des variables. J'ai donc normalisé ( avec l'aide de ce forum) les valeurs de chaque variable.

    Ci dessous le même tableau mais normalisé cette fois avec un cadrage de 0 à 100. Toutes les variables sont a présent décroissantes.
    C'est mieux, mais pas encore parfait.
    En effet, y'a encore une trop grande inégalité dans la répartition des valeurs de certaines variables (cl, ct,...)



    J'ai beaucoup entendu parle de l'IA et je pense que ça peut m'aider à résoudre mon problème.

    Seulement voila, j'ai pas mal parcouru le forum sur l'IA et je ne vois pas quel algo utiliser. J'ai tout d'abord pensé au génétique mais je ne vois pas comment modéliser l'entrée du modèle. Le modèle Alpha - beta, et pathfinder me semblent aussi intéressants.

    Si je pouvais avoir un coup de main, un point d'entré assez précis ça m'aiderai grandement.

    Merci beaucoup pour votre aide.
    jko
    OCM 11g, RAC and Performance & Tuning Expert 11g
    RMAN Backup & Recovery, Data Guard and Grid Control

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    La question pourrait être de savoir quelle heuristisque ont pourrait essayer de tirer de tout ca et dans quel but.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre éclairé Avatar de jkofr
    Homme Profil pro
    Senior Consultant DBA (Trivadis SA)
    Inscrit en
    Octobre 2006
    Messages
    484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Senior Consultant DBA (Trivadis SA)
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 484
    Points : 724
    Points
    724
    Par défaut
    Toutes celles pouvant conduire à trouver

    - le gagnant potentiel
    - un cheval qui peut se placer.

    jko
    OCM 11g, RAC and Performance & Tuning Expert 11g
    RMAN Backup & Recovery, Data Guard and Grid Control

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    est ce qu'il y a une certaine corrélation entre la valeur (des variables) et la performance en course?
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre éclairé Avatar de jkofr
    Homme Profil pro
    Senior Consultant DBA (Trivadis SA)
    Inscrit en
    Octobre 2006
    Messages
    484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Senior Consultant DBA (Trivadis SA)
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 484
    Points : 724
    Points
    724
    Par défaut
    Oui effectivement.
    OCM 11g, RAC and Performance & Tuning Expert 11g
    RMAN Backup & Recovery, Data Guard and Grid Control

  6. #6
    Membre éclairé Avatar de jkofr
    Homme Profil pro
    Senior Consultant DBA (Trivadis SA)
    Inscrit en
    Octobre 2006
    Messages
    484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Senior Consultant DBA (Trivadis SA)
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 484
    Points : 724
    Points
    724
    Par défaut
    Bonjour a tous,

    Apres une nuit de reflexion, voici l'idee du matin

    L'algo qui peut etre utilise est le genetique.

    Si je prends les valeurs normalisees et que tries par ordre croissant sur le numero de partant, ca va donner ceci:



    Maintenant, nous enlevons les num de partants et il ne nous reste plus que les valeurs.
    Si on prend comme exemple l'informaticien en vacances, nous pouvons dire que a la place des villes, nous prenons la valeur.
    Chaque ligne va donc representer un individu.

    Pour l'evaluation, nous pouvons faire la somme des valeurs et la reussite de l'individu a gagner la course quand cette somme est + ou - une constante et
    la reussite de l'individu a se placer quand cette somme est + ou - une constante.
    Les regles de selection, croisement, mutation et autres peuvent etre je pense conservees.

    Quel est votre avis ?

    jko
    OCM 11g, RAC and Performance & Tuning Expert 11g
    RMAN Backup & Recovery, Data Guard and Grid Control

  7. #7
    Membre éclairé Avatar de jkofr
    Homme Profil pro
    Senior Consultant DBA (Trivadis SA)
    Inscrit en
    Octobre 2006
    Messages
    484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Senior Consultant DBA (Trivadis SA)
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 484
    Points : 724
    Points
    724
    Par défaut
    Je vais essayer de redecrire le systeme en ne prenant quelque variables:

    Soit 5 variables nommes var1 a var5.
    Chacune de ces 5 variables est calculee en utilisant la meme base: les 8 dernieres performences du cheval
    Le resultat est un nombre. Pour une courses a 15 partants nous avons donc 15 nombres par variables.
    Pour chaque variable, je trie ces nombres en decroissant.
    Les meilleurs chevaux (en principe) portent les plus grandes valeurs.

    Je souhaiterai analyser toutes mes valeurs en utilisant un moteur IA pour identifier

    - le gagnant potentiel de la course
    - ou un cheval succeptible de se placer.


    J'ai env 20000 courses avec en moyenne 14 partants, ca fait 280000 lignes (donc chevaux).
    Nous avons donc 280000 combinaisons des 5 variables enoncees.

    Faire une analyse combinatoire sur ces 5 variables est possible, sauf qu'en realite j'en ai 58! La ce n'est plus possible.

    Je sais pas si c'est asser clair.

    N'hesitez pas a me poser vos questions.

    Merci.

    jko
    OCM 11g, RAC and Performance & Tuning Expert 11g
    RMAN Backup & Recovery, Data Guard and Grid Control

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Il y a un truc que je ne comprend pas.

    Si on veut faire des pronostics pour la prochaine course, on utilise les performances des chevaux sur les 8 dernières courses.
    => Ce qui fait environ 15 x 8 x 58 = 6960 données.

    Après on peut avoir un historique de 20000 courses mais tous les chevaux ne courent pas et en plus on ne s'interresse qu'aux 8 dernières courses effectuées par chaque cheval, ie au plus à 8 x 15 = 120 courses.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  9. #9
    Membre éclairé Avatar de jkofr
    Homme Profil pro
    Senior Consultant DBA (Trivadis SA)
    Inscrit en
    Octobre 2006
    Messages
    484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Senior Consultant DBA (Trivadis SA)
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 484
    Points : 724
    Points
    724
    Par défaut
    Hello,

    En fait 15 * 58 Car les 8 dernieres performences sont utilisees pour calculer un nombre.

    Exemple de calcul pour la variable Var1:
    Nous avons les dernieres performence du cheval: 2a 5a 1a 4a 0a 3a 2a 1a
    On transcrit:
    2 + 5 + 1 + 4 + 0 + 3 + 2 + 1 = 18 / 8 = 20-2.25 = 18.5

    Pour la Variable Var1 Chaque cheval porte une valeur, le tout est trie en decroissant.
    Nous avons 58 variables avec une formule de calcul differente ce qui fait au total:
    58 * 15 valeurs pour une courses a 15 partants.

    jko
    OCM 11g, RAC and Performance & Tuning Expert 11g
    RMAN Backup & Recovery, Data Guard and Grid Control

  10. #10
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    OK : je n'avais pas fait cette réduction dans mon calcul.
    Si on reconsidère le problème posé, nous avons plus à gérer une base de donnée plutôt qu'à trouver une heuristique pour sortir des résultats d'une quantité astronomique de données.
    Mais je n'ai peut être rien compris du tout.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  11. #11
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    OK : je n'avais pas fait cette réduction dans mon calcul.
    Si on reconsidère le problème posé, nous avons plus à gérer une base de donnée plutôt qu'à trouver une heuristique pour sortir des résultats d'une quantité astronomique de données.
    Mais je n'ai peut être rien compris du tout.
    - W
    L'IA dans votre problème est votre modèle de régression linéaire.
    Vous procédez par apprentissage inductif un tas de donné pour "prédire" en leur attrbuant un valeur qui va servir de repère pour le pronostic.
    -W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  12. #12
    Membre éclairé Avatar de jkofr
    Homme Profil pro
    Senior Consultant DBA (Trivadis SA)
    Inscrit en
    Octobre 2006
    Messages
    484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Senior Consultant DBA (Trivadis SA)
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 484
    Points : 724
    Points
    724
    Par défaut
    Oui, pour le moment c'est uniquement ça.

    Je tire 5 synthèses des toutes ces valeurs et mes sélections pour le jeux se limitent au 3 premiers chevaux de chacune de ces synthèses.

    Pensez-vous qu'un algo génétique peut être adéquat dans ce cas?

    jko
    OCM 11g, RAC and Performance & Tuning Expert 11g
    RMAN Backup & Recovery, Data Guard and Grid Control

  13. #13
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    un algorithme genetique procède par des opérations du type
    • initialisation
    • selection
    • reproduction
    • fin

    qu'on applique a des sequences d'un alphabet qui a un nombre de positions assez réduit.
    Et pour l'instant, je ne vois pas trop comment appliquer cela a votre description.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  14. #14
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Toute méthode d'apprentissage statistique ferait l'affaire non ?
    Réseaux de neurones, SVMs ou autres.

    Il suffira juste que tu étiquettes les valeurs : telles valeurs indiquent que tel cheval est gagnant, etc.

  15. #15
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par Alp Voir le message
    Toute méthode d'apprentissage statistique ferait l'affaire non ?
    Une régression linéaire est déjà une méthode d'apprentissage 'statistique'. Je n'ai toujours pas compris l'intérêt ou les motivations pour en changer.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  16. #16
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Oui, la régression linéaire est tout à fait adaptée.
    Je suis juste en plein dans un bouquin sur les SVM et les Réseaux de Neurones, faut m'excuser

Discussions similaires

  1. [Outil] Quel Gestionnaire de bugs choisir pour les projets ?
    Par MLK jr dans le forum Langages de programmation
    Réponses: 21
    Dernier message: 06/06/2006, 15h39
  2. [Info]Quel base de données choisir
    Par bartmarley dans le forum JDBC
    Réponses: 6
    Dernier message: 19/01/2005, 12h42
  3. Quel gestionnaire de version choisir ?
    Par hugo123 dans le forum SCM
    Réponses: 1
    Dernier message: 28/12/2004, 21h41
  4. Quel type de projet choisir pour incorporer directX9...
    Par Coderm@n dans le forum DirectX
    Réponses: 6
    Dernier message: 02/08/2004, 13h24

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