Fonctions de covariance ou noyaux - que sont-ils exactement?

13

Je suis plutôt nouveau dans le domaine des processus gaussiens et comment ils sont appliqués dans l'apprentissage automatique. Je continue de lire et d'entendre que les fonctions de covariance sont l'attraction principale de ces méthodes. Quelqu'un pourrait-il donc expliquer de manière intuitive ce qui se passe dans ces fonctions de covariance?

Sinon, si vous pouviez indiquer un didacticiel ou un document spécifique les expliquant.

AnarKi
la source
Chapitre 4. gaussianprocess.org/gpml '
Sycorax dit Reinstate Monica
S'il s'agit principalement d'un problème de demande de référence, vous pouvez ajouter la balise "références". (La question est assez large, mais si vous acceptez que les gens pointent ce que vous devez lire et cela résout largement ce problème.)
Silverfish

Réponses:

12

k(x,x)x,xxxk(,)

Les noyaux typiques peuvent simplement dépendre de la distance euclidienne (ou de ses transformations linéaires) entre les points, mais le plaisir commence lorsque vous réalisez que vous pouvez faire beaucoup, beaucoup plus.

Comme le dit David Duvenaud:

Les noyaux peuvent être définis sur tous les types de structures de données: texte, images, matrices et même noyaux. La création d'un noyau sur un nouveau type de données était un moyen facile d'obtenir un papier NIPS.

Pour un aperçu facile des noyaux pour les généralistes, je recommande chaleureusement son livre de recettes du noyau et ses références.


(*) Comme le note @Dikran Marsupial, sachez que l'inverse n'est pas vrai; toutes les métriques de similitude ne sont pas des noyaux valides (voir sa réponse).

lacerbi
la source
8

K(x,x)=ϕ(x)ϕ(x)ϕ() est une fonction qui mappe les vecteurs d'entrée dans l'espace d'entités.

Alors pourquoi le noyau doit-il être interprétable comme un produit interne dans un espace de fonctionnalités? La raison en est qu'il est beaucoup plus facile de concevoir des limites théoriques sur les performances de généralisation pour les modèles linéaires (comme la régression logistique) que pour les modèles non linéaires (comme un réseau de neurones). La plupart des modèles linéaires peuvent être écrits de sorte que les vecteurs d'entrée n'apparaissent que sous la forme de produits internes. Cela signifie que nous pouvons construire un modèle non linéaire en construisant un modèle linéaire dans l'espace des fonctionnalités du noyau. Il s'agit d'une transformation fixe des données, donc toutes les limites de performances théoriques pour le modèle linéaire s'appliquent automatiquement au nouveau modèle non linéaire du noyau *.

Un point important qui est difficile à saisir au début est que nous avons tendance à ne pas penser à un espace de fonctionnalités qui serait bon pour notre application particulière, puis à concevoir un noyau donnant naissance à cet espace de fonctionnalités. En général, nous arrivons à une bonne métrique de similitude et voyons ensuite s'il s'agit d'un noyau (le test est simple, si une matrice d'évaluations par paire de la fonction du noyau aux points en position générale est définie positive, alors c'est un noyau valide) .

Dikran Marsupial
la source
1
"un noyau (le test est simple, si une matrice d'évaluations par paire de la fonction du noyau est définie positive, alors c'est un noyau valide)." Je pense que vous devez inclure "à des points différents".
Mark L. Stone