Este post va a cubrir algunos conceptos muy básicos en el aprendizaje automático, desde el álgebra lineal hasta las métricas de evaluación. Sirve como una buena guía para los novatos que buscan entrar en el campo.

Álgebra lineal

El álgebra lineal es el pilar fundamental en el campo del aprendizaje automático. ¿Por qué? Los algoritmos de aprendizaje automático se describen en libros, artículos y en el sitio web utilizando notación vectorial y matricial. El álgebra lineal es la matemática de los datos y su notación permite describir con precisión las operaciones sobre los datos con operadores específicos. Los 2 conceptos más importantes del álgebra lineal con los que debes estar familiarizado son los vectores y las matrices.

1 – Vectores

Un vector es una tupla de uno o más valores conocidos como escalares. Es común introducir los vectores utilizando la definición geométrica, en la que un vector representa un punto o coordenada en un espacio de alta dimensión. Las principales operaciones aritméticas con vectores son la suma, la resta, la multiplicación, la división, el producto punto y la multiplicación escalar.

  • Dos vectores de igual longitud pueden sumarse para crear un nuevo tercer vector.
  • Un vector puede restarse de otro vector de igual longitud para crear un nuevo tercer vector.
  • Dos vectores de igual longitud pueden multiplicarse juntos.
  • Dos vectores de igual longitud pueden dividirse.
  • El producto punto es la suma de los elementos multiplicados de dos vectores de la misma longitud para dar un escalar.
  • Un vector puede multiplicarse por un escalar para escalar la magnitud del vector.

Hay muchos usos de los vectores. Por ejemplo, los vectores pueden representar un desplazamiento en el espacio 2D o 3D. Los puntos son sólo vectores desde el origen. Los datos (píxeles, gradientes en un punto clave de la imagen, etc) también pueden ser tratados como un vector.

2 – Matrices

Una matriz es una matriz bidimensional de escalares con una o más columnas y una o más filas. Si la matriz tiene el mismo número de filas y columnas, entonces es una matriz cuadrada. La matriz identidad es una matriz cuadrada con 1’s en la diagonal y 0’s en el resto. La matriz diagonal es una matriz cuadrada con números en la diagonal y 0s en el resto. Un vector columna es sólo una matriz en la que hay una fila, mientras que un vector fila es sólo una matriz en la que hay una columna.

Las operaciones matriciales básicas son la suma, la escala, el producto punto, la multiplicación de vectores, la multiplicación escalar, la transposición, la inversa y el determinante/traza.

  • Dos matrices con las mismas dimensiones se pueden sumar para crear una nueva tercera matriz.
  • De forma similar, una matriz se puede restar de otra matriz con las mismas dimensiones.
  • Dos matrices con el mismo tamaño se pueden multiplicar juntas, y esto se suele llamar multiplicación matricial por elementos.
  • Una matriz se puede dividir por otra matriz con las mismas dimensiones.
  • El producto punto de matrices tiene las entradas de 2 vectores multiplicadas entre sí y sumando el resultado.
  • Una matriz y un vector pueden multiplicarse juntos siempre que se respete la regla de la multiplicación de matrices.
  • Una matriz puede multiplicarse por un escalar. El resultado es una matriz con el mismo tamaño que la matriz madre donde cada elemento de la matriz se multiplica por el valor escalar.
  • La transposición de matrices es cuando volteamos las columnas y filas de una matriz, por lo que la fila 1 es ahora la columna 1, y así sucesivamente.
  • Dada una matriz A, su inversa A^(-1) es una matriz tal que A x A^(-1) = I. Si A^(-1) existe, entonces A es invertible o no singular. En caso contrario, es singular.

Aprendizaje automático

1 – Enfoques principales

Los 3 enfoques principales del aprendizaje automático son:

  • Aprendizaje no supervisado, que se utiliza mucho en visión por ordenador. Algunos ejemplos son k-means, ICA, PCA, modelos de mezclas gaussianas y autocodificadores profundos.
  • Aprendizaje supervisado, que también se utiliza mucho en la visión por ordenador. Algunos ejemplos son las redes neuronales profundas supervisadas.
  • Aprendizaje por refuerzo, que se utiliza sobre todo en problemas de robótica y control. Ejemplos son el aprendizaje Q profundo y los métodos de gradiente de política.

En el Aprendizaje por Refuerzo, las reglas del juego son desconocidas. No hay supervisor, sólo una señal de recompensa con retroalimentación retardada. Las acciones del agente afectan a los datos posteriores que recibe.

En el Aprendizaje No Supervisado, queremos encontrar la estructura y el significado en los datos sin ninguna etiqueta. Como se mencionó anteriormente, los algoritmos de ejemplo son el Análisis de Componentes Principales, k-means, Factorización de Matrices No Negativas, Análisis de Componentes Independientes, Modelos de Mezcla Gaussiana, Asignación de Dirichlet Latente y Auto-Encodificadores.

En el aprendizaje supervisado, la terminología básica es tal que tenemos un espacio de entrada inicial x y un espacio de salida inicial y. Después de ver un montón de ejemplos (x, y), queremos elegir un mapeo F: x -> y que replica con precisión el patrón de entrada-salida de los ejemplos. Hay muchos algoritmos para encontrar diferentes modelos de F a partir de observaciones etiquetadas (verdad de base). A menudo el aprendizaje se clasifica según su espacio de salida, que puede ser discreto o continuo.

  • El espacio de salida continuo se utiliza en el problema de regresión. Por ejemplo, dada la entrada como una imagen de un plato de comida, queremos que la salida sea el número de calorías totales. O dada la entrada como la cara de una persona, queremos la salida como la edad de esa persona.
  • Con el espacio de salida discreto, normalmente estamos construyendo clasificadores. Por ejemplo, queremos que la salida sea la clase 1, la clase 2, la clase 3…, donde los números representan algún tipo de categoría significativa. También podemos llamar a estas etiquetas o categorías.

2 – Datos de entrenamiento y datos de prueba

Los datos de entrenamiento son los que damos al clasificador durante el proceso de entrenamiento. Son los datos emparejados para aprender f(x) = y, donde x es la entrada (un vector de características en R^d) e y es la salida (una etiqueta con la clasificación). Durante el entrenamiento, tratamos de encontrar un buen modelo de f(x) que replique la relación entrada-salida de los datos.

Los datos de prueba se utilizan con un clasificador entrenado para evaluarlo. Tenemos x, pero no sabemos y. Normalmente, sólo pretendemos no tener y en la investigación, pero en el mundo real, realmente no se tendrá. El sistema entrenado predice y por nosotros, y evaluamos lo bien que funciona el sistema.

3 – Probabilidades

En lugar de sólo categorizar una entrada en una de K clases diferentes, podemos querer conocer la probabilidad de cada una de esas clases. Para cada categoría posible, P(C = k | x) devuelve un valor entre 0 y 1, y los valores más cercanos a 1 significan que el clasificador «piensa» que esa clase es probablemente la categoría de la entrada. Para clasificar, queremos elegir la mayor P(C = k | x).

4 – Paramétricos y no paramétricos

Los modelos paramétricos implican el ajuste de parámetros. Por ejemplo, queremos encontrar buenos valores para los vectores w para nuestro clasificador lineal. Los modelos paramétricos tienen un número finito de parámetros, en el que el número de parámetros es independiente del conjunto de entrenamiento.

Los modelos no paramétricos implican el almacenamiento de los datos y su utilización de alguna manera. Aquí, el número de parámetros depende del conjunto de entrenamiento (cuántos datos se almacenan). Más concretamente, el número de parámetros crece con el tamaño del conjunto de entrenamiento.

Evaluación de clasificadores de aprendizaje automático

Después de ver un montón de ejemplos (x, y), el modelo elige un mapeo F: x -> y que replica el patrón de entrada-salida de los ejemplos. La cuestión es si el modelo F funciona bien después del entrenamiento. Podemos evaluar F en los datos de entrenamiento, pero el rendimiento en los datos de entrenamiento no nos dice realmente lo bien que el modelo se generaliza a otros datos. En otras palabras, F podría limitarse a memorizar los datos de entrenamiento. Por lo tanto, debemos evaluar en los datos de prueba para tener una mejor idea de lo bien que funciona el modelo.

La medida de evaluación más simple para la clasificación es la precisión, que es la fracción de puntos correctamente clasificados. La precisión puede calcularse como la suma de verdaderos positivos y verdaderos negativos, dividida por todos los puntos de datos. La tasa de error es simplemente 1 – Precisión, o la suma de falsos positivos y falsos negativos, dividida por todos los puntos de datos.

Para implementar la precisión, la mejor manera es almacenar sus predicciones para cada vector de prueba x_t. Así que, si tienes un total de T vectores para probar, terminas con un vector T-dimensional con todas tus predicciones y luego sólo lo comparas con la verdad de terreno. También podrías guardar las probabilidades para calcular otras métricas, pero esto puede requerir mucha memoria si tienes muchas clases.

1 – Matriz de confusión

Una matriz de confusión es un diseño de tabla específico que permite visualizar el rendimiento de un algoritmo, típicamente uno de aprendizaje supervisado. Cada fila de la matriz representa las instancias de una clase predicha mientras que cada columna representa las instancias de una clase real. Permite ver qué clases son más confusas. Una diagonal «fuerte» indica un buen rendimiento. En una matriz de confusión normalizada, las filas se normalizan para que sumen 1.

2 – Precisión y Recall

La precisión es el número de ejemplos positivos correctamente clasificados dividido por el número total de ejemplos clasificados como positivos. La recuperación es el número de ejemplos positivos correctamente clasificados dividido por el número total de ejemplos positivos reales en el conjunto de pruebas. La precisión-recuperación es una métrica dominante en la detección de objetos y es especialmente útil cuando las categorías están desequilibradas. Una alta precisión significa que un algoritmo devolvió sustancialmente más resultados relevantes que irrelevantes, mientras que una alta recuperación significa que un algoritmo devolvió la mayoría de los resultados relevantes.

3 – Umbrales del clasificador

A menudo un clasificador tendrá algún valor de confianza en cada categoría. Estos son más a menudo generados por los clasificadores probabilísticos. A veces, umbralamos los valores de probabilidad. En la visión por ordenador, esto ocurre mucho en la detección. El umbral óptimo varía en función de las tareas. Algunas métricas de rendimiento son sensibles al umbral. Cambiando el valor del umbral del mínimo al máximo (de 0 a 1), podemos dibujar una curva (Curvas ROC y de Precisión-Recuperación).

Potencia del modelo

1 – Sobreajuste & Subajuste

Se dice que su clasificador F sobreajusta a los datos si el rendimiento de entrenamiento es mucho mayor que el rendimiento de prueba. Por otro lado, F no se ajusta a los datos cuando no es lo suficientemente potente para modelar la relación entrada-salida.

2 – Capacidad del modelo

La capacidad del modelo se refiere al número de parámetros. Una mayor capacidad generalmente significa que se necesitan más datos de entrenamiento para entrenar el modelo, de lo contrario, tiene un alto riesgo de sobreajuste. Por otro lado, una capacidad baja probablemente significa que no se ajustan los datos de entrenamiento de forma significativa.

Específicamente, con las redes neuronales, más neuronas significan más capacidad. Una buena analogía es que el clasificador lineal tiene muy poca capacidad y la red neuronal profunda tiene mucha capacidad. Con más datos de entrenamiento, el modelo más complejo gana. Los clasificadores con un modelo mayor pueden crear límites de decisión complejos, pero demasiado complejos pueden ser un modelo pobre para los datos de prueba, especialmente si los datos son limitados.

3 – Complejidad de la muestra

La complejidad de la muestra es el número de muestras de entrenamiento que necesitamos suministrar al algoritmo de aprendizaje para que la función devuelta por el algoritmo esté dentro de un error arbitrariamente pequeño de la mejor función posible (tren y prueba). Los algoritmos con mayor capacidad de modelado tienden a tener una peor complejidad muestral porque tienen más parámetros que ajustar y es probable que se sobreajusten con datos de entrenamiento insuficientes. En esos casos, las técnicas de regularización pueden ayudar.

Si te interesa este material, sigue la publicación Cracking Data Science Interview para recibir mis siguientes artículos sobre cómo descifrar el proceso de la entrevista de ciencia de datos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *