Tout d'abord, permettez-moi de dire que je suis un peu hors de ma profondeur ici, donc si cette question doit être reformulée ou fermée en double, veuillez me le faire savoir. Il se peut simplement que je n'ai pas le vocabulaire approprié pour exprimer ma question.
Je travaille sur une tâche de traitement d'image dans laquelle j'identifie les caractéristiques d'une image, puis je les classe en fonction de leurs propriétés, y compris la forme, la taille, l'obscurité, etc. Je pourrais améliorer les méthodes que j'utilise pour la classification des fonctionnalités.
À l'heure actuelle, je fixe des seuils pour chacun des paramètres mesurés, puis je classe les entités selon une logique simple en fonction des seuils que l'entité a franchis. Par exemple (les propriétés et les regroupements réels sont plus complexes, mais j'essaie de simplifier des parties non pertinentes de mon projet pour cette question), disons que je regroupe les fonctionnalités dans les groupes "Big and Dark", "Big and Light" et petit". Ensuite, une fonction sera dans "Big and Dark" si (taille ( )> sizeThreshold) et (obscurité ( )> obscuritéThreshold).
L'objectif est que la classification soit en accord avec la classification effectuée par un humain de niveau expert, donc je peux définir les seuils pour produire la meilleure correspondance entre les regroupements effectués par l'homme et l'ordinateur sur un ensemble de tests, puis espérer que la classification fonctionne bien avec de nouvelles données.
Cela fonctionne déjà assez bien, mais je vois un mode de défaillance particulier qui, je pense, peut être corrigé. Disons que la fonction appartient à «Big and Dark». L'humain l'a classé de cette façon parce que, alors qu'il était à peine assez grand, il faisait très très sombre, ce qui compensait quelque peu le manque de «grandeur». Mon algorithme ne parviendrait pas à classer cette fonctionnalité correctement, car la classification est basée sur une logique binaire rigide et nécessite que tous les seuils soient franchis.
Je voudrais améliorer cet échec en faisant en sorte que mon algorithme imite mieux le processus guidé par l'homme, dans lequel une déficience d'un paramètre peut être compensée par une abondance d'un autre. Pour ce faire, je voudrais prendre chacune des propriétés de base de mes fonctionnalités et les convertir en une sorte de score qui serait un prédicteur du groupe auquel appartient la fonctionnalité. J'ai pensé à de nombreuses façons de le faire, mais ce sont principalement des idées ad hoc, basées sur mes antécédents en calcul vectoriel et en physique. Par exemple, j'ai envisagé de traiter chaque entité comme un vecteur dans l'espace ND des propriétés de l'entité et de calculer la projection de chaque entité le long de certains vecteurs, chacun mesurant le degré auquel une entité appartient au groupe.
Je suis sûr qu'il existe une technique plus rigoureuse et mieux établie pour faire ce genre de chose, mais mes antécédents sont relativement faibles en analyse statistique, donc je cherche un coup de pouce dans la bonne direction. Même le nom d'une technique ou un lien vers un manuel serait utile.
TL; DR: Quelles techniques sont utiles pour classer des objets en fonction d'un grand nombre de paramètres descriptifs?