J'ai essayé d'implémenter l'algorithme Neighbourhood Component Analysis (NCA) dans Octave, mais apparemment, il y a un problème avec mon code et je n'arrive pas à comprendre ce que c'est.Implémentation de l'analyse des composants voisins dans Octave/Matlab
Note: J'utilise la fonction de Carl Edward Rasmussen minimize
pour la maximisation du négatif f.
Note 2: Les données de test que j'utilise sont les Wine dataset disponibles dans le référentiel UCI Machine Learning.
Alors, que pensez-vous de NCA? J'ai également réalisé une implémentation pour HeuristicLab et ajouté la possibilité d'utiliser un terme de régularisation que j'ai trouvé dans un article de LNCS. J'ai trouvé que NCA étire parfois tous les points très loin. Mais le plus gros problème est le temps d'exécution. Le calcul du gradient est très coûteux. – Andreas
Oui, tout à fait d'accord sur les inconvénients. Cependant, je trouve l'algorithme extrêmement utile (et il se sent en quelque sorte pseudo-triche), mais il est idéal pour la visualisation, et donne aussi une sorte d'information utile à travers la transformation linéaire qui en résulte. – User3419