Du machine learning ?

Appliquée à de la recherche en maths pures

a marqué ce sujet comme résolu.

Hello !

J'ai pris une douche, et comme certains le savent, c'est une incroyable source d'inspiration !

Alors je vais vous exposer les détails pertinent d'un problème actuel en géométrie algébrique. Le but ici est d'avoir des avis de gens expérimentés en machine learning (ce que je ne suis pas du tout) ainsi que d'avoir des conseils sur la mise en place si ça vous paraît pas délirant.

La situation

Il s'agit de faire un tri assez particulier. Je travaille dans un pavé centré en l'origine de $\mathbf{C}^2$. À chaque fois j'évalue environ 100 000 itérations d'un point choisi dans le rectangle et deux cas possibles peuvent se produire :

  • les points obtenus s'accumulent sur un tore (holomorphe) comme ici :
  • les points obtenus s'accumulent sur un cercle (holomorphe) comme ici :

Le '(holomorphe)' signifie qu'il s'agit d'un tore ou d'un cercle à déformation holomorphe près.

La partie gauche en bleue désigne la première coordonnée, celle de droite en rouge la seconde.

J'espère que les images vous éclaircissent … J'ai également fait une vidéo (avec une seule coordonnée représentée) montrant l'évolution entre des points qui s'accumulent sur un tore puis sur un cercle vous montrant alors la variété de figures possibles. Elle est ici.

Le problème

Il s'agit de décider pour chaque image (environ 100 000 points) s'ils s'accumulent sur un cercle ou un tore (holomorphes).

À ce jour je n'ai pas trouvé de solution, du tout.

Et c'est là que le machine learning me vend tout son charme. Comme vous pouvez l'observer sur la vidéo, on comprend bien (nous humain) qu'il y a des différences de répartition des points assez nettes entre un tore et un cercle limites. En revanche, c'est très difficile de dire quel est le bon critère. J'avais donc envie de laisser une machine décider de ce problème sauf que je n'ai aucune idée de la manière dont je devrais m'y prendre, ni même si c'est réaliste.

Votre avis ? Des idées ? Des suggestions ?

Merci de votre aide !

+0 -0

Sans avoir aucune certitude ni expérience, au vue des formes de tes objets géométriques, mon premier test ressemblerait à ça:

  • je prends un pool de figure dont je connais la nature (cercle/tore)
  • je fais subir une homothétie à chacune des figure de manière à ce qu'elles soient toutes à la même échelle
  • je sépare chacune des figures en 4 parties d'égale surface
  • je calcule la densité de point appartenant à la figure dans chacune des zones
  • je passe ces 4 données dans un réseau neuronnal

Si les résultats semblent encourageants mais pas assez précis, je divise les figures en 8 plutôt qu'en 4 et je refais le test.

Si les probabilités semblent bonnes, soit je garde le modèle, soit je module chacune des zones de manière à découvrir des zones "fortes" qui exprimeraient la présence de l'un ou de l'autre des objets.

Tu peux aussi jouer avec le principe de perceptron.

  • je fais subir une homothétie à chacune des figure de manière à ce qu'elles soient toutes à la même échelle

artragis

Premier problème : des points peuvent partir à l'infini (très facilement d'ailleurs).

Sinon je vais me renseigner sur les réseaux neuronaux, mais j'ai aucune expérience donc est-ce qu'il y a de bonnes ressources à me conseiller?

Tu peux voir du coté des ouvrages du Dr. Peter Norvig/Stuart Russel, Chris Bishop, Simon Haykin. Tu peux aussi regarder du coté de Raúl Rojas dont celui-ci qui est disponible gratuitement en ligne.

Tu as aussi An Introduction to Neural Networks de Kevin Gurney qui est une bonne introduction, bien accessible et Fundamentals of Neural Networks: Architectures, Algorithms And Applications de Laurene Fausett, très utilisé dans le milieu académique (mais c'est aussi le cas des personnes citées plus haut).

That should be enough. :)

+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte