Algorithmes de prédiction série 5 - Kernel Extreme Learning Machine KELM et sa mise en œuvre (Matlab)

retour:

insérer la description de l'image ici

Classification:
insérer la description de l'image ici

Dans l'article précédent, j'ai présenté la mise en œuvre et l'optimisation de la machine d'apprentissage extrême ELM. Bien que la machine d'apprentissage extrême ait une vitesse de formation rapide et une faible complexité, elle surmonte le minimum local, le surajustement et la sélection du taux d'apprentissage de l'algorithme de gradient traditionnel.Cependant, des tâches de reconnaissance de formes non linéaires plus complexes telles que la classification et la régression nécessitent souvent davantage de neurones de couche cachée, ce qui entraîne une structure de réseau très complexe.

Huang et al. [1] ont introduit la fonction noyau dans ELM et ont proposé l'algorithme KELM (Kernel ELM) basé sur la méthode du noyau. Cette méthode n'a pas besoin de définir explicitement la fonction de mappage ni de définir le nombre de neurones de la couche cachée, elle permet de gagner du temps pour optimiser le nombre de neurones dans la couche cachée. Par rapport à l'algorithme ELM traditionnel, KELM utilise le mappage du noyau au lieu du mappage aléatoire, ce qui peut améliorer efficacement le problème de la généralisation et de la stabilité réduites provoqués par l'affectation aléatoire des neurones des couches cachées.

00 catalogue

1 Principe du Kernel Extreme Learning Machine

2 Répertoire des codes

3 Implémentation de MATLAB

4 Perspectives

les références

01 Principe de la machine d'apprentissage nucléaire extrême

Il existe de nombreuses options pour le mappage des fonctionnalités de la couche cachée ELM, qui peut être un mappage explicite ou un mappage implicite. Le mappage implicite utilise intelligemment la méthode du noyau pour obtenir le produit interne entre les vecteurs de fonctionnalités, il n'est donc pas nécessaire de définir explicitement l'espace des fonctionnalités et Fonction de cartographie. L'essence de la méthode du noyau est de mapper implicitement les échantillons linéairement inséparables de basse dimension dans l'espace d'entrée à l'espace de caractéristiques de haute dimension ou même de dimension infinie via la fonction du noyau, de sorte que le problème séparable non linéaire dans l'espace d'origine soit transformé en un problème linéairement séparable dans l'espace des fonctionnalités. , est une méthode très importante dans le domaine de l'apprentissage automatique. L'algorithme ELM traditionnel utilise un mappage explicite de caractéristiques non linéaires. Pour des tâches de reconnaissance de formes non linéaires plus complexes telles que la classification et la régression, davantage de neurones de couche cachée sont souvent nécessaires, ce qui entraîne une structure de réseau très complexe. Huang et ses collègues ont introduit la fonction noyau dans ELM, ont proposé l'algorithme KELM (Kernel ELM) basé sur la méthode du noyau et ont fourni un cadre d'apprentissage unifié pour les problèmes de régression, de classification binaire et de multi-classification [2]

1.1 Principe KELM

Lorsque la forme spécifique de la carte de caractéristiques h(x) de la couche cachée est inconnue, une fonction noyau doit être introduite pour mesurer la similarité entre les échantillons. La matrice du noyau d'ELM peut être définie selon la condition de Mercer, qui est exprimée comme suit:insérer la description de l'image ici

Ensuite, l'expression de la fonction de sortie du modèle KELM est représentée parinsérer la description de l'image ici

Dans la formule : C est le coefficient de régularisation, et son réglage affectera les performances de KELM. On peut voir que ΩELM=HHT∈RNXN n'est lié qu'au nombre de données d'entrée xi et d'échantillons d'apprentissage. Dans KELM, la fonction noyau K(xi,xj) est utilisée pour transformer les données (xi,xj) dans l'espace d'entrée de faible dimension en produit interne h(xi)·h(xj) dans l'espace de fonctionnalités de haute dimension. La dimensionnalité n'est pas pertinente, ce qui peut efficacement éviter la malédiction de la dimensionnalité.

KELM n'a besoin que de présélectionner la fonction du noyau, n'a pas besoin de définir explicitement la fonction de mappage et n'a pas besoin de définir le nombre de neurones de la couche cachée, ce qui permet de gagner du temps dans l'optimisation du nombre de neurones de la couche cachée. Par rapport à l'algorithme ELM traditionnel, KELM utilise le mappage du noyau au lieu du mappage aléatoire, ce qui peut améliorer efficacement le problème de la généralisation et de la stabilité réduites provoqués par l'affectation aléatoire des neurones des couches cachées.

Il existe de nombreux types de fonctions de noyau, telles que les fonctions de noyau linéaires, les fonctions de noyau polynomiales, etc. Dans cet article, les fonctions de noyau gaussiennes avec moins de paramètres et une forte polyvalence sont sélectionnées :insérer la description de l'image ici

Parmi eux, s est le paramètre du noyau.

1.2 Optimisation KELM

La structure du modèle de KELM est illustrée dans la figure ci-dessous et K() représente la fonction noyau introduite. Étant donné que l'introduction du paramètre de fonction noyau s et du coefficient de régularisation C aura un impact sur les performances de l'algorithme KELM, s détermine la portée de la fonction noyau et C affectera la stabilité de la structure du modèle. Par conséquent, il est très important de sélectionner les paramètres appropriés pour le modèle KELM. Afin de lui donner les meilleures performances, l'algorithme d'intelligence en essaim peut être utilisé pour optimiser les deux paramètres.

ORME
insérer la description de l'image ici

arnaqueur

insérer la description de l'image ici

02 Répertoire des codes

insérer la description de l'image ici

Parmi eux, MY_XXX.m est un programme ELM ou KELM qui peut être exécuté indépendamment, tandis que Main.m peut exécuter ELM et KELM et comparer leurs résultats. Voir la fin de l'article pour savoir comment obtenir le code.

03 Implémentation de MATLAB

retour

insérer la description de l'image ici
insérer la description de l'image ici

insérer la description de l'image ici

Classification

insérer la description de l'image ici

insérer la description de l'image ici

insérer la description de l'image ici

04 Perspectives

Dans cet article, l'auteur explique le principe de KELM et donne son implémentation MATLAB. Dans les articles suivants, l'auteur mettra à jour l'optimisation de KELM, alors faites attention à ne pas vous perdre~

les références

[1] Huang GB,Zhou HM,Ding XJ,et al.Machine d'apprentissage extrême pour la régression et la classification multiclasse[J].Transactions IEEE sur les systèmes, l'homme et la cybernétique,Partie B (Cybernétique),2012,42(2): 513.

[2] Xu Rui, Liang Xun, Qi Jinshan, etc. Frontier Progress and Trends of Extreme Learning Machines [J] Journal of Computer Science, 2019, 42(07) : 1640-1670.

Autre remarque : si des partenaires ont des problèmes d'optimisation à résoudre (dans n'importe quel domaine), vous pouvez me les envoyer, et je mettrai à jour de manière sélective les articles qui utilisent des algorithmes d'optimisation pour résoudre ces problèmes.

Si cet article vous est utile ou inspirant, vous pouvez cliquer sur J'aime (ง •̀_•́)ง dans le coin inférieur droit (vous n'êtes pas obligé de cliquer). Si vous avez des besoins de personnalisation, vous pouvez envoyer un message privé. message à l'auteur.

Le code est disponible chez l'auteur wx princess (même nom)

Supongo que te gusta

Origin blog.csdn.net/sfejojno/article/details/132258595
Recomendado
Clasificación