Aprendizaje estadístico con funciones kernel

24 de septiembre de 2010 · Imprimir Imprimir

Tras cinco meses trabajando en él, este mediodía he enviado al Tribunal que lo juzgará el Trabajo de Fin de Máster del Máster en Matemáticas Avanzadas de la UNED.

El tema que he tratado es del aprendizaje estadístico basado en funciones kernel. Se trata, en esencia, de un conjunto de técnicas que permiten superar la linealidad inherente a los métodos clásicos del análisis de datos sin incurrir en los problemas propios de las técnicas no lineales de primera generación.

Muchos algoritmos de detección de patrones lineales puede ser adaptados para su utilización con funciones kernel. De hecho, si un algoritmo de detección o identificación de patrones puede utilizar como input la matriz de los productos escalares entre las coordenadas de los individuos, entonces el algoritmo puede ser adaptado para trabajar con funciones kernel (se dice que el algoritmo puede ser kernelizado): basta sustituir la matriz de Gram (que contiene los productos escalares entre las coordenadas de los individuos) por una matriz kernel (resultante de aplicar cierta función kernel a todas las parejas de individuos del conjunto de datos) para conseguir dicha adaptación.

Las funciones kernel permiten alterar la representación de los datos de modo que la detección de patrones sea más sencilla y lo hacen de una forma computacionalmente eficiente. Una vez que se dispone de un algoritmo kernelizado, la utilización de una función kernel consigue de forma directa:

  • Incrustar los datos que originalmente se encuentran en un espacio de reducida dimensión -llamado input space- en un espacio de dimensión más elevada (incluso, infinita) -llamado feature space-.
  • Calcular los productos escalares de las coordenadas de los individuos en el feature space.

En efecto, la dimensión elevada del feature space en el que se pretende representar a los individuos puede hacer pensar que el propio cálculo de las coordenadas de los individuos en el feature space, por una parte, así como el cálculo de los productos escalares entre estas coordenadas, por la otra, podrían ser computacionalmente poco eficientes. La ventaja de las funciones kernel reside en que consiguen el resultado final -el producto escalar entre las coordenadas transformadas- sin necesidad de calcular ni las coordenadas ni los productos escalares.

Quizás, la aplicación más famosa de las funciones kernel en aprendizaje estadístico sean las llamadas support vector machines (SVM). Estas SVM no son sino la concatenación modular de un separador de margen máximo (maximum-margin classifier) y una función kernel. Las SVM permiten la clasificación mediante superficies de separación óptimas no lineales de los individuos de muestras etiquetadas.

Otra aplicación muy común es el conocido kernel PCA. Se trata de la adaptación del análisis de componentes principales para su utilización con funciones kernel.

Los interesados en consultar el trabajo, pueden obtenerlo en este enlace. La exposición y defensa será el día 5 de octubre de 2010 en la Facultad de Ciencias de la UNED en Madrid.

Un comentario »

  1. Martha Ivón Cárdenas ha dicho,

    3 de 3 de 2010 @ 4:30 am

    Hola,

    Me ha gustado mucho tu artículo.
    Soy estudiante del master de Inteligencia Artificial en Barcelona y estoy interesada en contactarte para profundizar más sobre kernels, ya que mi defensa de la tesis trata del tema, pero aplicado a clasificación de proteinas.

    Tengo un año para defenderla y queria con tiempo, contactar con expertos en el tema o con otros estudiantes de máster.

    Ojalá pudiera ir el 5 de octubre a verte, pero trabajo por las mañanas y dedico las tardes a preparar la tesis.

    De todas formas, te deseo una muy buena defensa y en cuanto te lo permita el tiempo, por favor, contacta conmigo.

    Un saludo,

    Martha Ivón

Deja un comentario