Il semble y avoir de nombreux algorithmes d'apprentissage automatique qui reposent sur les fonctions du noyau. SVM et NN pour n'en nommer que deux. Alors, quelle est la définition d'une fonction du noyau et quelles sont les exigences pour qu'elle soit valide?
svm
terminology
kernel-trick
Franck Dernoncourt
la source
la source
Réponses:
Pour x, y sur S, certaines fonctions K (x, y) peuvent être exprimées comme un produit intérieur (dans un espace généralement différent). K est souvent appelé noyau ou fonction de noyau. Le mot noyau est utilisé de différentes manières dans les mathématiques, mais c'est l'utilisation la plus courante dans l'apprentissage automatique.
L'astuce du noyau est un moyen de cartographier les observations d'un ensemble général S dans un espace produit interne V (équipé de sa norme naturelle), sans jamais avoir à calculer explicitement la cartographie, dans l'espoir que les observations acquièrent une structure linéaire significative dans V Ceci est important en termes d'efficacité (calcul des produits scalaires dans un espace dimensionnel très élevé très rapidement) et pratique (nous pouvons convertir des algorithmes ML linéaires en algorithmes ML non linéaires).
Pour qu'une fonction K soit considérée comme un noyau valide, elle doit satisfaire aux conditions de Mercer . Concrètement, cela signifie que nous devons nous assurer que la matrice du noyau (calcul du produit du noyau de chaque point de données que vous avez) sera toujours semi-définie positive. Cela garantira que la fonction de l'objectif de formation est convexe, une propriété très importante.
la source
De Williams, Christopher KI et Carl Edward Rasmussen. « Processus gaussiens pour l'apprentissage automatique », MIT Press 2, no. 3 (2006). Page 80 .
En outre, kernel = fonction du noyau.
Les noyaux utilisés dans les algorithmes d'apprentissage automatique satisfaisaient généralement plus de propriétés, comme être semi-définis positifs.
la source
Va essayer pour une explication moins technique.
Commencez d'abord par le produit scalaire entre deux vecteurs. Cela vous indique à quel point les vecteurs sont "similaires". Si les vecteurs représentent des points dans votre ensemble de données, le produit scalaire vous indique s'ils sont similaires ou non.
Mais, dans certains (nombreux) cas, le produit scalaire n'est pas la meilleure mesure de similitude. Par exemple:
Ainsi, au lieu d'utiliser le produit scalaire, vous utilisez un "noyau" qui est juste une fonction qui prend deux points et vous donne une mesure de leur similitude. Je ne suis pas sûr à 100% des conditions techniques qu'une fonction doit remplir pour être techniquement un noyau, mais c'est l'idée.
Une très bonne chose est que le noyau peut vous aider à mettre vos connaissances de domaine dans le problème dans le sens où vous pouvez dire que deux points sont les mêmes à cause de la raison xyz qui vient de votre connaissance du domaine.
la source