El aprendizaje de múltiples núcleos se refiere a un conjunto de métodos de aprendizaje automático que utilizan un conjunto predefinido de núcleos y aprenden una combinación lineal o no lineal óptima de núcleos como parte del algoritmo. Las razones para utilizar el aprendizaje de múltiples núcleos incluyen a) la capacidad de seleccionar un núcleo y parámetros óptimos de un conjunto más grande de núcleos, lo que reduce el sesgo debido a la selección de núcleos y al mismo tiempo permite métodos de aprendizaje automático más automatizados, y b) la combinación de datos de diferentes fuentes (por ejemplo, sonido e imágenes de un video) que tienen diferentes nociones de similitud y, por lo tanto, requieren diferentes núcleos. En lugar de crear un nuevo núcleo, se pueden utilizar algoritmos de múltiples núcleos para combinar núcleos ya establecidos para cada fuente de datos individual.
Se han utilizado múltiples enfoques de aprendizaje de kernel en muchas aplicaciones, como el reconocimiento de eventos en video, [1] el reconocimiento de objetos en imágenes, [2] y la fusión de datos biomédicos. [3]
Algoritmos
Se han desarrollado algoritmos de aprendizaje de núcleos múltiples para el aprendizaje supervisado, semisupervisado y no supervisado. La mayor parte del trabajo se ha realizado en el caso de aprendizaje supervisado con combinaciones lineales de núcleos, sin embargo, se han desarrollado muchos algoritmos. La idea básica detrás de los algoritmos de aprendizaje de núcleos múltiples es agregar un parámetro adicional al problema de minimización del algoritmo de aprendizaje. Como ejemplo, considere el caso de aprendizaje supervisado de una combinación lineal de un conjunto de núcleos . Introducimos un nuevo núcleo , donde es un vector de coeficientes para cada núcleo. Debido a que los núcleos son aditivos (debido a las propiedades de los espacios de Hilbert de núcleos reproductivos ), esta nueva función sigue siendo un núcleo. Para un conjunto de datos con etiquetas , el problema de minimización puede escribirse como
donde es una función de error y es un término de regularización. es típicamente la función de pérdida cuadrada ( regularización de Tikhonov ) o la función de pérdida de bisagra (para algoritmos SVM ), y es usualmente una norma o alguna combinación de las normas (es decir, regularización de red elástica ). Este problema de optimización puede entonces ser resuelto por métodos de optimización estándar. También se han desarrollado adaptaciones de técnicas existentes tales como la Optimización Mínima Secuencial para métodos basados en SVM de múltiples núcleos. [4]
Aprendizaje supervisado
Para el aprendizaje supervisado, existen muchos otros algoritmos que utilizan métodos diferentes para aprender la forma del núcleo. Gonen y Alpaydın (2011) propusieron la siguiente categorización [5].
Enfoques de reglas fijas
Los enfoques de reglas fijas, como el algoritmo de combinación lineal descrito anteriormente, utilizan reglas para establecer la combinación de los núcleos. Estos no requieren parametrización y utilizan reglas como la suma y la multiplicación para combinar los núcleos. La ponderación se aprende en el algoritmo. Otros ejemplos de reglas fijas incluyen los núcleos por pares, que tienen la forma
- .
Estos enfoques por pares se han utilizado para predecir interacciones proteína-proteína. [6]
Enfoques heurísticos
Estos algoritmos utilizan una función de combinación que está parametrizada. Los parámetros se definen generalmente para cada núcleo individual en función del rendimiento de un solo núcleo o de algún cálculo de la matriz del núcleo. Algunos ejemplos de estos incluyen el núcleo de Tenabe et al. (2008). [7] Si se deja que sea la precisión obtenida utilizando solo , y que sea un umbral menor que el mínimo de las precisiones de un solo núcleo, podemos definir
Otros enfoques utilizan una definición de similitud de kernel, como
Utilizando esta medida, Qui y Lane (2009) [8] utilizaron la siguiente heurística para definir
Enfoques de optimización
Estos enfoques resuelven un problema de optimización para determinar parámetros para la función de combinación de núcleos. Esto se ha hecho con medidas de similitud y enfoques de minimización de riesgo estructural. Para medidas de similitud como la definida anteriormente, el problema se puede formular de la siguiente manera: [9]
¿Dónde está el núcleo del conjunto de entrenamiento?
Los enfoques de minimización de riesgo estructural que se han utilizado incluyen enfoques lineales, como el utilizado por Lanckriet et al. (2002). [10] Podemos definir la improbabilidad de un núcleo como el valor de la función objetivo después de resolver un problema de SVM canónico. Luego podemos resolver el siguiente problema de minimización:
donde es una constante positiva. Existen muchas otras variaciones de la misma idea, con diferentes métodos de refinación y solución del problema, por ejemplo, con pesos no negativos para los núcleos individuales y utilizando combinaciones no lineales de núcleos.
Enfoques bayesianos
Los enfoques bayesianos aplican valores a priori a los parámetros del núcleo y aprenden los valores de los parámetros a partir de los valores a priori y del algoritmo base. Por ejemplo, la función de decisión se puede escribir como
se puede modelar con una distribución a priori de Dirichlet y con una distribución a priori gaussiana de media cero y una distribución a priori de varianza gamma inversa. Este modelo se optimiza luego utilizando un enfoque probit multinomial personalizado con un muestreador de Gibbs .
[11] Estos métodos se han utilizado con éxito en aplicaciones como el reconocimiento de pliegues de proteínas y problemas de homología de proteínas [12] [13]
Impulsar enfoques
Los métodos de refuerzo añaden nuevos núcleos de forma iterativa hasta que se alcanza un criterio de detención que es una función del rendimiento. Un ejemplo de esto es el modelo MARK desarrollado por Bennett et al. (2002) [14].
Los parámetros y se aprenden mediante el descenso de gradiente en función de las coordenadas. De esta manera, cada iteración del algoritmo de descenso identifica la mejor columna de kernel para elegir en cada iteración particular y la agrega al kernel combinado. Luego, el modelo se vuelve a ejecutar para generar los pesos óptimos y .
Aprendizaje semisupervisado
Los enfoques de aprendizaje semisupervisado para el aprendizaje de múltiples núcleos son similares a otras extensiones de los enfoques de aprendizaje supervisado. Se ha desarrollado un procedimiento inductivo que utiliza una pérdida empírica de verosimilitud logarítmica y una regularización LASSO de grupo con consenso de expectativa condicional sobre datos no etiquetados para la categorización de imágenes. Podemos definir el problema de la siguiente manera. Sea los datos etiquetados y sea el conjunto de datos no etiquetados. Luego, podemos escribir la función de decisión de la siguiente manera.
El problema se puede escribir como
donde es la función de pérdida (log-verosimilitud negativa ponderada en este caso), es el parámetro de regularización ( LASSO de grupo en este caso) y es la penalización de consenso de expectativa condicional (CEC) en datos no etiquetados. La penalización de CEC se define de la siguiente manera. Sea la densidad de kernel marginal para todos los datos
donde (la distancia del núcleo entre los datos etiquetados y todos los datos etiquetados y no etiquetados) y es un vector aleatorio no negativo con una norma 2 de 1. El valor de es la cantidad de veces que se proyecta cada núcleo. Luego, se realiza la regularización de expectativas en el MKD, lo que da como resultado una expectativa de referencia y una expectativa de modelo . Luego, definimos
donde es la divergencia de Kullback-Leibler . El problema de minimización combinado se optimiza utilizando un algoritmo de descenso de gradiente de bloques modificado. Para obtener más información, consulte Wang et al. [15]
Aprendizaje no supervisado
Zhuang et al. también han propuesto algoritmos de aprendizaje de múltiples núcleos no supervisados . El problema se define de la siguiente manera. Sea un conjunto de datos sin etiquetar. La definición del núcleo es el núcleo lineal combinado . En este problema, los datos deben "agruparse" en grupos según las distancias del núcleo. Sea un grupo o clúster del cual es un miembro. Definimos la función de pérdida como . Además, minimizamos la distorsión minimizando . Finalmente, agregamos un término de regularización para evitar el sobreajuste. Combinando estos términos, podemos escribir el problema de minimización de la siguiente manera.
donde . Una formulación de esto se define de la siguiente manera. Sea una matriz tal que significa que y son vecinos. Entonces, . Nótese que estos grupos también deben aprenderse. Zhuang et al. resuelven este problema mediante un método de minimización alternada para y los grupos . Para obtener más información, consulte Zhuang et al. [16]
Bibliotecas
Las bibliotecas MKL disponibles incluyen
- SPG-GMKL: una biblioteca SVM MKL C++ escalable que puede manejar un millón de núcleos. [17]
- GMKL: Código de aprendizaje de núcleo múltiple generalizado en MATLAB , funciones y regularización para el aprendizaje supervisado. [18]
- (Otro) GMKL: Un código MKL de MATLAB diferente que también puede realizar regularización de red elástica [19]
- SMO-MKL: código fuente en C++ para un algoritmo MKL de optimización mínima secuencial. Realiza regularización -n orm. [20]
- SimpleMKL: un código MATLAB basado en el algoritmo SimpleMKL para MKL SVM. [21]
- MKLPy: un marco Python para máquinas MKL y kernel compatible con scikit con diferentes algoritmos, por ejemplo, EasyMKL [22] y otros.
Referencias
- ^ Lin Chen, Lixin Duan y Dong Xu, "Reconocimiento de eventos en videos mediante el aprendizaje a partir de fuentes web heterogéneas", en la Conferencia internacional IEEE sobre visión artificial y reconocimiento de patrones (CVPR), 2013, págs. 2666-2673
- ^ Serhat S. Bucak, Rong Jin y Anil K. Jain, Aprendizaje de núcleos múltiples para reconocimiento visual de objetos: una revisión. T-PAMI, 2013.
- ^ Yu et al. Aprendizaje de múltiples núcleos de norma L2 y su aplicación a la fusión de datos biomédicos. BMC Bioinformatics 2010, 11:309
- ^ Francis R. Bach, Gert RG Lanckriet y Michael I. Jordan. 2004. Aprendizaje de núcleos múltiples, dualidad cónica y el algoritmo SMO. En Actas de la vigésimo primera conferencia internacional sobre aprendizaje automático (ICML '04). ACM, Nueva York, NY, EE. UU.
- ^ Mehmet Gönen, Ethem Alpaydın. Revista de algoritmos de aprendizaje de múltiples núcleos. Mach. Aprender. Res. 12 (julio): 2211-2268, 2011
- ^ Ben-Hur, A. y Noble WS Métodos de kernel para predecir interacciones proteína-proteína. Bioinformática. 2005 Jun;21 Suppl 1:i38-46.
- ^ Hiroaki Tanabe, Tu Bao Ho, Canh Hao Nguyen y Saori Kawasaki. Métodos simples pero efectivos para combinar núcleos en biología computacional. En Actas de la Conferencia Internacional IEEE sobre Investigación, Innovación y Visión para el Futuro, 2008.
- ^ Shibin Qiu y Terran Lane. Un marco para la regresión de vectores de soporte de núcleo múltiple y sus aplicaciones para la predicción de la eficacia del ARNi. Transacciones IEEE/ACM sobre biología computacional y bioinformática, 6(2):190–199, 2009
- ^ Gert RG Lanckriet, Nello Cristianini, Peter Bartlett, Laurent El Ghaoui y Michael I. Jordan. Aprendizaje de la matriz del núcleo con programación semidefinida. Journal of Machine Learning Research, 5:27–72, 2004a
- ^ Gert RG Lanckriet, Nello Cristianini, Peter Bartlett, Laurent El Ghaoui y Michael I. Jordan. Aprendizaje de la matriz del núcleo con programación semidefinida. En Actas de la 19.ª Conferencia internacional sobre aprendizaje automático, 2002
- ^ Mark Girolami y Simon Rogers. Modelos bayesianos jerárquicos para el aprendizaje de kernel. En Actas de la 22.ª Conferencia Internacional sobre Aprendizaje Automático, 2005
- ^ Theodoros Damoulas y Mark A. Girolami. Combinación de espacios de características para la clasificación. Pattern Recognition, 42(11):2671–2683, 2009
- ^ Theodoros Damoulas y Mark A. Girolami. Aprendizaje probabilístico multiclase multinúcleo: sobre el reconocimiento de plegamientos de proteínas y la detección remota de homología. Bioinformática, 24(10):1264–1270, 2008
- ^ Kristin P. Bennett, Michinari Momma y Mark J. Embrechts. MARK: Un algoritmo de refuerzo para modelos de núcleo heterogéneos. En Actas de la 8.ª Conferencia internacional ACM SIGKDD sobre descubrimiento de conocimientos y minería de datos, 2002
- ^ Wang, Shuhui et al. S3MKL: aprendizaje de núcleo múltiple semisupervisado escalable para aplicaciones de imágenes del mundo real. IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 14, N.º 4, AGOSTO DE 2012
- ^ J. Zhuang, J. Wang, SCH Hoi y X. Lan. Aprendizaje de núcleos múltiples no supervisado. Jour. Mach. Learn. Res. 20:129–144, 2011
- ^ Ashesh Jain, SVN Vishwanathan y Manik Varma. SPG-GMKL: aprendizaje generalizado de múltiples núcleos con un millón de núcleos. En las actas de la conferencia ACM SIGKDD sobre descubrimiento de conocimiento y minería de datos, Beijing, China, agosto de 2012
- ^ M. Varma y BR Babu. Más generalidad en el aprendizaje eficiente de múltiples núcleos. En Actas de la Conferencia Internacional sobre Aprendizaje Automático, Montreal, Canadá, junio de 2009
- ^ Yang, H., Xu, Z., Ye, J., King, I. y Lyu, MR (2011). Aprendizaje de múltiples núcleos generalizado disperso y eficiente. IEEE Transactions on Neural Networks, 22(3), 433-446
- ^ SVN Vishwanathan, Z. Sun, N. Theera-Ampornpunt y M. Varma. Aprendizaje de núcleos múltiples y el algoritmo SMO. En Advances in Neural Information Processing Systems, Vancouver, BC, Canadá, diciembre de 2010.
- ^ Alain Rakotomamonjy, Francis Bach, Stephane Canu, Yves Grandvalet. SimpleMKL. Revista de investigación en aprendizaje automático, Microtome Publishing, 2008, 9, págs. 2491-2521.
- ^ Fabio Aiolli, Michele Donini. EasyMKL: un algoritmo de aprendizaje escalable de múltiples núcleos. Neurocomputing, 169, pp.215-224.