Discussion:K-moyennes
- Admissibilité
- Neutralité
- Droit d'auteur
- Article de qualité
- Bon article
- Lumière sur
- À faire
- Archives
- Commons
Problème ou algorithme
modifierBonjour,
je trouve qu'il est un peu déroutant d'avoir un article sur un algorithme qui présente aussi le problème : il est peut-être plus classique d'avoir deux articles séparés ou bien d'avoir un article sur le problème qui présente l'algorithme. En particulier, où mettre d'autres algorithmes pour le même problème ? Par exemple il me semble qu'il existe des algorithmes d'approximation intéressants.--Roll-Morton (discuter) 4 mars 2015 à 18:36 (CET)
- Je ne comprend pas très bien le problème que vous soulevez: le problème est celui du partitionnement de données et cet article présente un algorithme permettant de le résoudre. Cela semble donc suivre parfaitement ce que vous préconisez (séparation problème/solution). L'article partitionnement de données liste d'ailleurs plusieurs algorithmes permettant de le résoudre. Xiawi (discuter) 5 mars 2015 à 21:27 (CET)
- Ok, je comprends votre point de vue, je vous précise le mien. Le problèmes de partitionnement de données est un problème vague, en gros «faire des paquets intelligemment». Une façon précise (parmi d'autres) de faire cela est de fixer k et de donner une fonction objectif précise : minimiser les carrés de distances dans les groupes. Un algorithme pour ce problème précis est la méthode décrite dans l'article. D'une certaines façon l'article porte sur "une méthode pour faire du partitionnement qui consiste à minimiser cette fonction de cette façon" alors que dans ma tête il y a un problème d'optimisation bien défini : minimiser cette fonction, et plusieurs algorithmes, avec sans doute toute une faune d'algorithmes d'approximation, de résultats de complexité etc. --Roll-Morton (discuter) 6 mars 2015 à 11:00 (CET)
- Xiawi : Pour être plus précis, ma question pourrait être : où met-on ces papiers ? Je propose de renommer l'article en k-moyennes ou problème des k-moyennes, en disant en gros :
- (a) Le problème des k-moyennes est de minimiser telle fonction
- (b) C'est une façon de faire du clustering
- (c) Le problème est NP-complet en général
- (d) Un algorithme classique est le suivant
- (e) Autres algorithmes (approximation, streaming etc.)
- Qu'en pensez-vous ? --Roll-Morton (discuter) 11 mars 2015 à 13:25 (CET)
- Merci Roll-Morton : de vos remarques! JGlobalement, je serais néanmoins plutôt partisan d'un unique article qui fasse le tour du sujet plutôt que d'une « constellation » d'articles s'y rapportant. Le "problème" est assez rapide à poser et hormis le fait qu'il soit NP-complet le reste d'un tel article devrait surtout parler des solutions (donc si on met les solutions dans d'autres articles, celui du "problème" risque d'être assez vide). Je suis d'accord que l'article courant (bien nommé « algorithme des K-moyennes ») présente une méthode particulière, qui permet notamment de résoudre exactement ledit problème. Je suis d'accord que l'introduction pourrait être remaniée pour mieux préciser cette dichotomie et mettre en valeur le problème d'optimisation. Par contre, je pense qu'il est très important qu'un utilisateur souhaitant se renseigner naïvement sur les K-moyennes tombe rapidement sur un unique article lui expliquant (1) le problème d'optimisation aux moindres carrés à résoudre (2) l'algorithme classique permettant d'en obtenir une solution. Puis, ensuite, il serait profitable qu'il puisse apprendre que cet algorithme est considéré comme "lent" pour maintes applications et qu'il existes des travaux pour obtenir une approximation du résultat souhaité beaucoup plus rapidement ainsi que des heuristiques sur l'initialisation, etc. Concernant l'organisation des ces travaux complémentaires, je n'ai pas de source secondaire en tête, mais je pourrai retrouver un état de l'art récent qui donnera une base. L'idéal serait d'avoir plusieurs sources secondaires pour éviter un état de l'art relevant du WP:TI.
- Pour résumer (je me suis permis de numéroter vos points) je dirais qu'il faudrait indiquer (b) dans l'intro puis présenter le problème (a) en renommant la section actuelle |« description » en « Problème d'optimisation posé » (ou mieux...) tout indiquant dans cette section (c) les propriétés du problème. Puis, présenter l'algo classique (d) et enfin (e) les autres travaux, cette section étant à organiser en fonctions de sources secondaires (j'en recherche vite). Xiawi (discuter) 12 mars 2015 à 20:46 (CET)
- Ok, très bien. Dernière chose : est-ce que le renommage en "k-moyennes" vous parait pertinent ? --Roll-Morton (discuter) 12 mars 2015 à 23:42 (CET)
- J'ai fini par le faire. On peut revenir en arrière si besoin. Je vais mettre en place les changements que l'on a prévu. --Roll-Morton (discuter) 18 mars 2015 à 10:09 (CET)
- Xiawi : J'ai fait une poignée de changements, est-ce que ça te va ? J'écrirai la partie sur les autres algorithmes plus tard.--Roll-Morton (discuter) 18 mars 2015 à 10:37 (CET)
- J'ai fini par le faire. On peut revenir en arrière si besoin. Je vais mettre en place les changements que l'on a prévu. --Roll-Morton (discuter) 18 mars 2015 à 10:09 (CET)
- Ok, très bien. Dernière chose : est-ce que le renommage en "k-moyennes" vous parait pertinent ? --Roll-Morton (discuter) 12 mars 2015 à 23:42 (CET)
- Xiawi : Pour être plus précis, ma question pourrait être : où met-on ces papiers ? Je propose de renommer l'article en k-moyennes ou problème des k-moyennes, en disant en gros :
- Ok, je comprends votre point de vue, je vous précise le mien. Le problèmes de partitionnement de données est un problème vague, en gros «faire des paquets intelligemment». Une façon précise (parmi d'autres) de faire cela est de fixer k et de donner une fonction objectif précise : minimiser les carrés de distances dans les groupes. Un algorithme pour ce problème précis est la méthode décrite dans l'article. D'une certaines façon l'article porte sur "une méthode pour faire du partitionnement qui consiste à minimiser cette fonction de cette façon" alors que dans ma tête il y a un problème d'optimisation bien défini : minimiser cette fonction, et plusieurs algorithmes, avec sans doute toute une faune d'algorithmes d'approximation, de résultats de complexité etc. --Roll-Morton (discuter) 6 mars 2015 à 11:00 (CET)
Je n'ai jamais vu une méthode si simple "expliquée" de façon aussi hermétique !
modifierQuatre ou cinq diagrammes suffisaient à expliquer le principe des nuées dynamiques. Une fois le principe compris, il est toujours temps de penser à la formalisation. Mais formaliser sans faire comprendre clairement ce qu'on formalise est contre-productif. 2A01:E0A:8BF:94B0:B4D9:7C6A:66:F698 (discuter) 12 mai 2021 à 21:15 (CEST)
Ajout d'un exemple d'application
modifierBonjour,
J'ai ajouté une application au traitement d'images comme exemple. J'ai essayé de mettre en exergue les points théoriques importants en exergue sur ce cas pratique mais du coup c'est peut être un peu long (1 tiers de tout l'article). Diriez-vous que ça pose problème ? E.Le Morvan (discuter) 15 janvier 2023 à 11:38 (CET)