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 :

Calculer le Plan principal


Sujet :

Algorithmes et structures de données

  1. #21
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour

    Citation Envoyé par Miles
    Non, 2 car c'est une fonction quadratique, avec un calcul du gradient et du hessien, c'est instantanné.
    un petit exemple ou quelques chose de plus détaillé me ferait le plus grand plaisir...

    Merci par avance...
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  2. #22
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Tu as une fonction quadratique à plusieurs variables.
    Par exemple f(x) = (x-2)² - ça marche avec plusieurs variables aussi, il y a pleins d'exemples sur Internet pour dériver une fonction par rapport à un vecteur ou une matrice, j'ai imprimé un de ces exemples pour mes calculs chez moi -.
    Le gradient vaut f'(x) = 2(x-2).
    Le hessien vaut f''(x) = 2.

    On calcule la valeur en x0=0 par exemple.
    f(x)=4
    f'(x)=-4
    f''(x)=2
    On met à jour x = x0 - f'(x0) * 1/f''(x0) = 2
    Et là
    f(x) = 0
    f'(x) = 0
    f''(x) = 2

    Avec une fonction quadratique, cet algorithme atteint le minimum en un seul coup.

  3. #23
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Merci pour cet exemple.

    Je teste demain cette méthode et on en reparle dessuite après.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  4. #24
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    En fait, on pourrait faire encore mieux en annulant directement le gradient, si c'est une fonction quadratique, c'est encore plus rapide.

  5. #25
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 192
    Points : 231
    Points
    231
    Par défaut
    Toto13, si tu y arrives, pourras-tu poster la fonction objectif quadratique ou comment tu l'as trouvée s'il-te-plait, je sèche vraiment et ça m'intéresse.
    Merci d'avance.

    [edit] je vois comment faire en posant des contraintes sur les variables, mais dans ce cas, les techniques idiquées par Miles ne sont plus valides telles qu'elles...

  6. #26
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Citation Envoyé par borisd
    Toto13, si tu y arrives, pourras-tu poster la fonction objectif quadratique ou comment tu l'as trouvée s'il-te-plait, je sèche vraiment et ça m'intéresse.
    Merci d'avance.

    [edit] je vois comment faire en posant des contraintes sur les variables, mais dans ce cas, les techniques idiquées par Miles ne sont plus valides telles qu'elles...
    S'il y a des contraintes, c'est sûr que la descente de Gauss Newton ne marche pas telle quelle

  7. #27
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,

    j'ai un peu de mal avec les fonctions à plusieurs paramètres, aors prenons un exemple en 2D :

    - Soit une image I (donc deux dimensions), contenant une forme F de N pixels et B = (Bx, By) son barycentre.

    - On remplit la matrice d'inertie de la façon suivante :
    avec mX = Sigma(sur F, (x-Bx)²), mY = Sigma(sur F, (y-By)²) et mXY = Sigma(sur F, (x-Bx)(y-By)).

    Questions :
    - Sur mX et mY, j'arrive à faire les manipulations que tu m'avais donné, mais pas sur mXY, notamment le x=x0-f'/f".
    - Une fois ces résultats obtenus, que fais je ???


    Merci...
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  8. #28
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 192
    Points : 231
    Points
    231
    Par défaut
    Après avoir vu le dernier post de Toto, j'ai retrouvé mes cours d'analyse des données de licence (c'était pas vraiment ma matière préférée, mais en fait c'est pas si inintéressant que ça )...
    C'est peut-être ça qui me manquait pour comprendre : un plan d'inertie minimale respecterait-il par hasard la propriété qui est recherchée ? Je pense que ça marche si la somme des distances au carré des deux côtés du plan sont égales, mais si elles ne sont pas au carré, ça marche toujours ? Si c'est le cas, on pourrait calculer les deux premiers axes principaux comme pour une analyse en compsantes principales ?

  9. #29
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Justement, c'est une analyse en composante principale....
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  10. #30
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 192
    Points : 231
    Points
    231
    Par défaut
    C'est un résultat connu que la somme des distances des points des deux côtés du plan est égale ?

  11. #31
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Disons plutôt que c'est la définition du plan principal...
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  12. #32
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 192
    Points : 231
    Points
    231
    Par défaut
    Je connaissais pas ça
    J'ai seulement utilisé ça pour projeter le nuage dessus, sans savoir même la définition !!

  13. #33
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Miles....

    est ce que tu pourrais m'aider sur l'exemple que j'ai marqué avant... sur l'image 2D...

    Merci...
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  14. #34
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Je vais essayer d'y penser demain mais rappelle-le moi si j'oublie.

  15. #35
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Merci....
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  16. #36
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Citation Envoyé par ToTo13
    Bonjour,

    j'ai un peu de mal avec les fonctions à plusieurs paramètres, aors prenons un exemple en 2D :

    - Soit une image I (donc deux dimensions), contenant une forme F de N pixels et B = (Bx, By) son barycentre.

    - On remplit la matrice d'inertie de la façon suivante :
    avec mX = Sigma(sur F, (x-Bx)²), mY = Sigma(sur F, (y-By)²) et mXY = Sigma(sur F, (x-Bx)(y-By)).

    Questions :
    - Sur mX et mY, j'arrive à faire les manipulations que tu m'avais donné, mais pas sur mXY, notamment le x=x0-f'/f".
    - Une fois ces résultats obtenus, que fais je ???


    Merci...
    C'est vrai qu'en y pensant, il y a plus simple dans le cas 2D. Pour obtenir le vecteur directeur de la droite principale - c'est la droite qui maximise la variance par définition -, il suffit de diagonaliser la matrice des correlation et de prendre le vecteur unitaire associé à la valeur propre la plus forte.
    Sinon, si on prend une matrice N*2 des coordonnées des points, (a, b, c) l'équation de la droite D ax+by+c=0 qui est la droite que l'on recherche. Pour continuer, on ajoute une ligne de 1 à la matrice des coordonnées, de telle sorte que ce soit une matrice N*3. On en a besoin pour faire des calculs matriciels plus faciles. On appelle D le vecteur colonne des paramètres de la droite D et X la matrice des coordonnées.

    Alors la matrice des projetés de la matrice des coordonnées sur la droite est P = (D'*X)*D / ||D||²
    De là, on peut calculer le vecteur des points à la droite qui est donc (D-P). Ensuite, on utilise le vecteur perpendiculaire à la droite D qui peut être (a, b, 0) qu'on va appeler V. On peut prendre n'importe quel vecteur colinéaire à V.
    On fait maintenant (V'*(D-P))*(V'*(D-P))' pour calculer la somme des carrés des produits scalaires entre les vecteurs à la droite et le vecteur. On pourrait simplement calculer le carré des normes des vecteurs (D-P), mais on perdrait le sens, ce qui n'est pas le cas ici.
    En fait, j'ai l'impression que ce n'est pas quadratique, ce truc, donc on ne trouvera pas un minimum directement, d'autant que je pense qu'il peut y en avoir plusieurs, des minimas. Si ce n'est pas quadratique, il suffit de faire plusieurs itérations de Gauss Newton pour trouver un minimum. Le gradient s'obtient en dérivant la fonction par rapport à a, b et c -> un vecteur, et le hessien s'obtient en dérivant le gradient selon a, b et c, ce qui donne une matrice.

  17. #37
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,

    merci pour ta réponse...

    Mais j'ai rien compris.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  18. #38
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    zut

Discussions similaires

  1. Calcul de planning du personnel
    Par chouchouilloux dans le forum Excel
    Réponses: 3
    Dernier message: 27/08/2010, 09h40
  2. calculer le plan moindres carrés
    Par Mrmeynis dans le forum MATLAB
    Réponses: 2
    Dernier message: 21/07/2009, 08h49
  3. Calcul de plan moyen
    Par Pierre845 dans le forum MATLAB
    Réponses: 17
    Dernier message: 20/12/2008, 18h18
  4. Calculer un plan d'adressage IP
    Par WESTSIDE dans le forum Protocoles
    Réponses: 1
    Dernier message: 07/05/2008, 10h00
  5. Réponses: 18
    Dernier message: 29/02/2008, 11h41

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