# Máquina de aprendizaje extremo

Las máquinas de aprendizaje extremo son redes neuronales prealimentadas o feedforward para clasificación, regresión, agrupación, aproximación dispersa, compresión y aprendizaje de características con una sola capa o varias capas de nodos ocultos, en las que es necesario ajustar los parámetros de los nodos ocultos (no sólo los pesos que conectan las entradas con los nodos ocultos). Estos nodos ocultos pueden asignarse aleatoriamente y no actualizarse nunca (es decir, son proyecciones aleatorias pero con transformaciones no lineales), o pueden heredarse de sus antecesores sin modificarse. En la mayoría de los casos, los pesos de salida de los nodos ocultos suelen aprenderse en un solo paso, lo que equivale esencialmente a aprender un modelo lineal.
Guang-Bin Huang dio el nombre de "máquina de aprendizaje extremo" (ELM, por sus siglas en inglés) a este tipo de modelos y propuso originalmente redes con cualquier tipo de nodos ocultos no lineales y continuos a trozos, incluidas neuronas biológicas y distintos tipos de funciones matemáticas básicas. La idea de las redes neuronales artificiales se remonta a Frank Rosenblatt, que no sólo publicó un perceptrón de una sola capa en 1958, sino que también introdujo un perceptrón multicapa con 3 capas: una capa de entrada, una capa oculta con pesos aleatorios que no aprendían y una capa de salida que aprendía.
Según algunos investigadores, estos modelos son capaces de producir un buen rendimiento de generalización y aprender miles de veces más rápido que las redes entrenadas mediante retropropagación. En la literatura, también se muestra que estos modelos pueden superar a las máquinas de vectores de soporte tanto en aplicaciones de clasificación como de regresión.

## Historia

Entre 2001 y 2010, la investigación sobre ELM se centró principalmente en el marco de aprendizaje unificado para redes neuronales de una capa oculta (SLFN) "generalizadas", incluyendo, entre otras, redes sigmoidales, redes RBF, redes umbral, redes trigonométricas, sistemas de inferencia difusa, series de Fourier, transformada laplaciana, redes wavelet, etc. Un logro significativo conseguido en esos años es demostrar con éxito las capacidades universales de aproximación y clasificación de ELM en teoría.
De 2010 a 2015, la investigación sobre ELM se extendió al marco de aprendizaje unificado para el aprendizaje de kernel, SVM y algunos métodos típicos de aprendizaje de características, como el análisis de componentes principales (PCA) y la factorización no negativa de matrices (NMF). Se demuestra que SVM proporciona en realidad soluciones subóptimas en comparación con ELM, y ELM puede proporcionar el mapeo de kernel de caja blanca, que se implementa mediante el mapeo de características aleatorias de ELM, en lugar del kernel de caja negra utilizado en SVM. PCA y NMF pueden considerarse como casos especiales en los que se utilizan nodos ocultos lineales en ELM.
De 2015 a 2017, se ha prestado una mayor atención a las implementaciones jerárquicas de ELM. Además, desde 2011, se han realizado importantes estudios biológicos que apoyan ciertas teorías de ELM.
A partir de 2017, para superar el problema de baja convergencia durante la descomposición LU de entrenamiento, los enfoques basados en la descomposición de Hessenberg y la descomposición QR con regularización han comenzado a atraer la atención.
En 2017, Google Scholar Blog publicó una lista de "Classic Papers: Artículos que han resistido el paso del tiempo". Entre ellos se encuentran dos artículos escritos sobre ELM que se muestran en los estudios 2 y 7 de la "Lista de 10 artículos clásicos sobre IA de 2006".

## Algoritmos

Dada una única capa oculta del ELM, supongamos que la función de salida del $i$ del nodo oculto es $h_{i}(\mathbf {x} )=G(\mathbf {a} _{i},b_{i},\mathbf {x} )$, donde $\mathbf {a} _{i}$ y $b_{i}$ son los parámetros del nodo oculto i-ésimo. La función de salida del ELM para redes feedforward de capa oculta única (SLFN) con $L$ nodos ocultos es:
$f_{L}({\bf {x}})=\sum _{i=1}^{L}{\boldsymbol {\beta }}_{i}h_{i}({\bf {x}})$, donde ${\boldsymbol {\beta }}_{i}$ es el peso de salida del nodo oculto $i$.
$\mathbf {h} (\mathbf {x} )=[h_{i}(\mathbf {x} ),...,h_{L}(\mathbf {x} )]$ es el mapeo de salida de la capa oculta del ELM. Dado $N$ muestras de entrenamiento, la matriz de salida de la capa oculta $\mathbf {H}$ de ELM se da como:
${\bf {H}}=\left[{\begin{matrix}{\bf {h}}({\bf {x}}_{1})\\\vdots \\{\bf {h}}({\bf {x}}_{N})\end{matrix}}\right]=\left[{\begin{matrix}G({\bf {a}}_{1},b_{1},{\bf {x}}_{1})&\cdots &G({\bf {a}}_{L},b_{L},{\bf {x}}_{1})\\\vdots &\vdots &\vdots \\G({\bf {a}}_{1},b_{1},{\bf {x}}_{N})&\cdots &G({\bf {a}}_{L},b_{L},{\bf {x}}_{N})\end{matrix}}\right]$
y $\mathbf {T}$ es la matriz objetivo de los datos de entrenamiento: ${\bf {T}}=\left[{\begin{matrix}{\bf {t}}_{1}\\\vdots \\{\bf {t}}_{N}\end{matrix}}\right]$
En términos generales, ELM es un tipo de redes neuronales de regularización pero con mapeos de capa oculta no sintonizados (formados por nodos ocultos aleatorios, kernels u otras implementaciones), su función objetivo es:
${\text{Minimize: }}\|{\boldsymbol {\beta }}\|_{p}^{\sigma _{1}}+C\|{\bf {H}}{\boldsymbol {\beta }}-{\bf {T}}\|_{q}^{\sigma _{2}}$
donde $\sigma _{1}>0,\sigma _{2}>0,p,q=0,{\frac {1}{2}},1,2,\cdots ,+\infty$.
Diferentes combinaciones de $\sigma _{1}$, $\sigma _{2}$, $p$ y $q$ pueden utilizarse y dar lugar a diferentes algoritmos de aprendizaje para la regresión, la clasificación, la codificación dispersa, la compresión, el aprendizaje de características y la agrupación.
Como caso especial, un algoritmo de entrenamiento ELM más simple aprende un modelo de la forma (para redes neuronales sigmoidales de una sola capa oculta):
$\mathbf {\hat {Y}} =\mathbf {W} _{2}\sigma (\mathbf {W} _{1}x)$
donde W$_1$ es la matriz de pesos de entrada a capa oculta, $\sigma$ es una función de activación, y W$_2$ es la matriz de pesos de la capa oculta a la capa de salida. El algoritmo procede como sigue:
* Llenar W$_1$ con valores aleatorios (por ejemplo, ruido aleatorio gaussiano);
* Estimar W$_2$ por ajuste de mínimos cuadrados a una matriz de variables de respuesta Y, calculada mediante la pseudoinversa ⋅$^+$, dada una matriz de diseño X :
$\mathbf {W} _{2}=\sigma (\mathbf {W} _{1}\mathbf {X} )^{+}\mathbf {Y}$

## Arquitecturas

En la mayoría de los casos, el ELM se utiliza como una red feedforward de una sola capa oculta (SLFN) que incluye, entre otras, redes sigmoidales, redes RBF, redes umbral, redes de inferencia difusa, redes neuronales complejas, redes wavelet, transformada de Fourier, transformada laplaciana, etc. Debido a sus diferentes implementaciones de algoritmos de aprendizaje para regresión, clasificación, codificación dispersa, compresión, aprendizaje de características y agrupación, los ELM múltiples se han utilizado para formar redes de varias capas ocultas, aprendizaje profundo o redes jerárquicas.
Un nodo oculto en ELM es un elemento computacional, que no necesita ser considerado como una neurona clásica. Un nodo oculto en ELM puede ser neuronas artificiales clásicas, funciones base o una subred formada por algunos nodos ocultos.

## Teorías

En la literatura se han demostrado tanto la capacidad de aproximación universal como la de clasificaciónpara ELM. En particular, Guang-Bin Huang y su equipo dedicaron casi siete años (2001-2008) a demostrar rigurosamente la capacidad de aproximación universal del ELM.

### Capacidad de aproximación universal

En teoría, cualquier función continua a trozos no constante puede utilizarse como función de activación en los nodos ocultos del ELM, no es necesario que dicha función de activación sea diferencial. Si el ajuste de los parámetros de los nodos ocultos puede hacer que los SLFN se aproximen a cualquier función objetivo $f(\mathbf {x} )$, entonces los parámetros del nodo oculto pueden generarse aleatoriamente según cualquier probabilidad de distribución continua, y $\lim _{L\rightarrow \infty }\left\|\sum _{i=1}^{L}{\boldsymbol {\beta }}_{i}h_{i}({\bf {x}})-f({\bf {x}})\right\|=0$ se cumple con probabilidad uno con las ponderaciones de salida adecuadas ${\boldsymbol {\beta }}$.

### Capacidad de clasificación

Dada cualquier función continua a trozos no constante como función de activación en los SLFN, si el ajuste de los parámetros de los nodos ocultos puede hacer que los SLFN se aproximen a cualquier función objetivo $f(\mathbf {x} )$, entonces SLFNs con mapeo aleatorio de la capa oculta $\mathbf {h} (\mathbf {x} )$ puede separar regiones disjuntas arbitrarias de cualquier forma.

## Neuronas

Una amplia gama de funciones no lineales continuas a trozos $G(\mathbf {a} ,b,\mathbf {x} )$ puede utilizarse en neuronas ocultas de ELM, por ejemplo:

### Dominio real

Función sigmoidea: $G(\mathbf {a} ,b,\mathbf {x} )={\frac {1}{1+\exp(-(\mathbf {a} \cdot \mathbf {x} +b))}}$
Función de Fourier: $G(\mathbf {a} ,b,\mathbf {x} )=\sin(\mathbf {a} \cdot \mathbf {x} +b)$
Función Hardlimit: $G(\mathbf {a} ,b,\mathbf {x} )={\begin{cases}1,&{\text{if }}{\bf {a}}\cdot {\bf {x}}-b\geq 0\\0,&{\text{otherwise}}\end{cases}}$
Función gaussiana: $G(\mathbf {a} ,b,\mathbf {x} )=\exp(-b\|\mathbf {x} -\mathbf {a} \|^{2})$
Función multicuadrícula: $G(\mathbf {a} ,b,\mathbf {x} )=(\|\mathbf {x} -\mathbf {a} \|^{2}+b^{2})^{1/2}$
Ondícula: $G(\mathbf {a} ,b,\mathbf {x} )=\|a\|^{-1/2}\Psi \left({\frac {\mathbf {x} -\mathbf {a} }{b}}\right)$ donde $\Psi$ es una única función wavelet madre.

### Dominio complejo

Funciones circulares:
$\tan(z)={\frac {e^{iz}-e^{-iz}}{i(e^{iz}+e^{-iz})}}$
$\sin(z)={\frac {e^{iz}-e^{-iz}}{2i}}$
Funciones circulares inversas:
$\arctan(z)=\int _{0}^{z}{\frac {dt}{1+t^{2}}}$
$\arccos(z)=\int _{0}^{z}{\frac {dt}{(1-t^{2})^{1/2}}}$
Funciones hiperbólicas:
$\tanh(z)={\frac {e^{z}-e^{-z}}{e^{z}+e^{-z}}}$
$\sinh(z)={\frac {e^{z}-e^{-z}}{2}}$
Funciones hiperbólicas inversas:
${\text{arctanh}}(z)=\int _{0}^{z}{\frac {dt}{1-t^{2}}}$
${\text{arcsinh}}(z)=\int _{0}^{z}{\frac {dt}{(1+t^{2})^{1/2}}}$

## Fiabilidad

El carácter de caja negra de las redes neuronales en general y de las máquinas de aprendizaje extremo (ELM) en particular es una de las principales preocupaciones que repele a los ingenieros a la hora de aplicarlas en tareas de automatización poco seguras. Este problema concreto se ha abordado mediante varias técnicas diferentes. Un enfoque consiste en reducir la dependencia de la entrada aleatoria. Otro enfoque se centra en la incorporación de restricciones continuas en el proceso de aprendizaje de las ELM. que se derivan del conocimiento previo sobre la tarea específica. Esto es razonable, porque las soluciones de aprendizaje automático tienen que garantizar un funcionamiento seguro en muchos dominios de aplicación. Los estudios mencionados revelaron que la forma especial de los ELMs, con su separación funcional y los pesos lineales de lectura, es particularmente adecuada para la incorporación eficiente de restricciones continuas en regiones predefinidas del espacio de entrada.

## Polémica

Hay dos quejas principales de la comunidad académica con respecto a este trabajo, la primera es sobre "reinventar e ignorar ideas anteriores", la segunda es sobre "nombrar y popularizar incorrectamente", como se muestra en algunos debates en 2008 y 2015. En particular, se señaló en una carta al editor de IEEE Transactions on Neural Networks que la idea de utilizar una capa oculta conectada a las entradas mediante pesos aleatorios no entrenados ya se había sugerido en los artículos originales sobre redes RNA a finales de la década de 1980; Guang-Bin Huang respondió señalando sutiles diferencias. En un artículo de 2015, Huang respondió a las quejas sobre su invención del nombre ELM para métodos ya existentes, quejándose de "comentarios muy negativos y poco útiles sobre ELM de manera ni académica ni profesional debido a diversas razones e intenciones" y un "ataque anónimo irresponsable que pretende destruir el ambiente de investigación en armonía", argumentando que su trabajo "proporciona una plataforma de aprendizaje unificadora" para varios tipos de redes neuronales, incluyendo ELM estructurado jerárquico. En 2015, Huang también dio una refutación formal a lo que consideró como "maligno y ataque" Investigaciones recientes sustituyen los pesos aleatorios por pesos aleatorios restringidos.

## Fuentes abiertas

* Biblioteca Matlab
* Biblioteca Python