Je regarde actuellement la forme primitive non contrainte du classificateur un contre tous
où
est le nombre d'instances, est le nombre de classes, est le nombre d'entités, est une matrice de données , est un vecteur d'étiquettes de classe, est une où chacune correspond aux poids de l'hyperplan divisant une classe du reste, est une fonction de perte arbitraire.
Ma compréhension est que la fonctionnalité ci-dessus essaie de trouver un hyperplan pour chaque classe qui maximise la distance entre les échantillons de la classe associée à tous les autres échantillons. Si les hyperplans sont correctement positionnés, doit toujours être négatif, doit toujours être positif et notre fonction de perte doit revenir. Plutot bas.
J'essaie de mettre en œuvre cela en utilisant la perte de charnière qui, je crois dans ce cas, finira par être
).
Cependant, dans ce qui précède, nous ne pourrions pas nous retrouver dans une situation où les hyperplans classeraient tous les échantillons comme appartenant à chaque classe. Par exemple, si nous examinons l'hyperplan séparant la classe 1 de toutes les autres classes, à condition que alors la perte encourue sera de 0 bien que soit classé dans la mauvaise classe.
Où ai-je mal tourné? Ou n'a-t-il pas d'importance si est négatif ou positif à condition que se retrouve avec un score plus élevé? J'ai le sentiment que mon utilisation de la fonction de charnière telle que je l'ai décrite ici est incorrecte, mais mon utilisation de Google aujourd'hui n'a fait qu'engendrer plus de confusion.
Sur une note connexe, pourquoi y a-t-il un 1 dans la fonctionnalité ci-dessus? Je pense que cela aurait peu d'impact.