Introducción a los métodos de reducción de dimensionalidad y elementos de álgebra lineal

Autor: Matteo Alberti

 

Traductor : Paula Vidal

 

Sumario

Métodos lineales para la reducción:: 2

Identificación a través de la individualización de los subespacios. 2

Aproximaciones de las matrices usando el método de reducción. 10

Casos de aplicación básicos: Descomposición en valores singulares (SVD). 11

Reglas de matrices. 11

Reglas de vectores. 13

Reglas de inducción. 13

Reglas de Schatten. 13

Reglas de Frobenius. 13

Casos de aplicación básicos: análisis de Cluster. 16

Definición de una métrica. 16

Distancias Minkowski (Manhattan, Euclidea, Lagrange). 16

 

 

El objetivo de este primer tutorial es introducir las nociones básicas de reducción de la dimensionalidad desde el punto de vista matemático (espacios, subespacios, mapas lineales) y recuperar los elementos necesarios de álgebra lineal (normas, isometría, isomorfismo …) para cada uno de los algoritmos de aprendizaje automático.

 

 

Métodos lineales para la reducción:

Por lo tanto, vamos a presentar con términos generales la lógica de los procesos de reducción lineal e dimensionalidad yendo en la primera fase para identificar subespacios “óptimos”.

 

 

pic 1

ecuation 1

 

Elementos de algebra:

Espacio vectorial

Definimos un espacio vectorial en R en un conjunto V, cuyos elementos se denominan vectores y presentan las siguientes propiedades vector.

                                                                                 

xiste en V una operación definida suma vectorial que se asocia en x,y \in V vector x+y \in V

  • La suma del vector es conmutativa, asociativa
  • Hay un vector en V, indicado con 0 y definido como origen
  • Cada vector X \in V   tiene su simbolo opuesto, indicado con –x t.c. x+(-x)= 0

Existe en V una operación definida multiplicación para los escalares que asocian en  con cada  X \in V  y a cada   I a \in V el vector   ax \in V en tal modo que:

  • La multiplicación entre escalares es asociativa
  • 1x = X, \forall X \in V

También vale para:

  • La multiplicación escalar es distributiva con respecto a la adición de vectores

Subespacio de vectores

S es un conjunto no vacío del subespacio de V si para cada  X-X=O \in      y cada uno de su combinación lineal    ax+\beta y =\in S

 

 

Nucleo e imagen

Sean V y W dos espacios vectoriales y que sean   L: V W una aplicación lineal

El núcleo de L es el conjunto de vectores de V cuya imagen es el vector nulo de W.

Este conjunto está indicado con ker L

pic 2

 

 La imagen de L es el conjunto de los vectores de W que son imágenes de algún vector que pertenece al dominio V, es decir:

 

pic 3

 

Mapa lineal

Un mapa lineal (o aplicación) f: V -> W entre espacios vectoriales reales es una función para la cual las propiedades son válidas:

ecuation4

por cada

pic 4

 

 

 

Vamos a definir solo los casos de relevancia principal:

Sean f: V -> W un mapa lineal. Entonces f es:

  • un monomorfismo si es inyectivo
  • un epimorfismo si es sobreyectiva
  • un isomorfismo si es biyectivo (inyectivo + sobreyectiva)
  • un endomorfismo si V = W
  • un automorfismo si V = W y es biyectiva.
  • de rango r si r = dim f(V).

 

Supongamos a este punto que hemos identificado un subespacio ( que especificaremos más adelante) V_p   que resulte suficientemente “aproximado” y que sea  V_1,..V_P  una base de V_P  (Nota: la base esta formata por vectores k-dimensionales porque    V_P es el subespacio de   R^k)

El mapa lineal \varphi\left ( . \right )  asociamos la entrada x_i  al elemento \varphi\left ( x_i \right ) de V_p , obtenemos la seguiente formula:

 

ecuation 5

a_i_j elejidos apropidamente

 

pic 5

 

 

A través de nuestro mapa, los vectores k-dimensionales de entrada se representan en vectores p-dimensionales que son elementos de  R^p .

 

En este punto podemos proceder a un análisis adicional de R^p

 

Así que investiguemos cómo esta reducción en la dimensionalidad sirve para mantener y perder como por ejemplo veamos el siguiente caso:

 

  • R^k \mapsto V_P
  • De V_p \mapsto R^P

 

 

R^k\mapsto V_p

 

 

 

Naturalmente pasar de k a p dimensiones con p <k implica una pérdida de información y una deformación de la geometría original del dato. De particular relevancia es que cualquier mapa lineal no puede ser un isomorfismo o una isometría.

 

Ciò comporta che tutte le norme, prodotti scalari e distanze non vengono preservate

Esto significa que todas las reglas, productos escalares y distancias no se conservan

Ejemplo:

pic 6

 

 

Elementos de algebra:

                               

Complemento octogonal:

Sea   S\subseteq V un subespacio de V, representamos un complemento ortogonale de D en V indicandolo con  S^\bot  el subconjunto de V los expresamos en la siguiente formula:

pic 7

 

 

Osea es un subconjunto de todos los vectores de V ortogonal a todos los vectores de S

 

 

 

 

 

V_P\mapsto R^P

 

 

El mapa lineal  \varphi (.) es un isomorfismo de los espacios vectoriales  V_p y R^p   , esto significa que no habrá pérdida de información.

 

 

pic 8

 

 

 

Elementos de algebra:

 

ortonormal:      

Una base se define como ortonormal cuando se compone de vectores uniformemente unitarios y ortogonales

 

 

 

Aproximaciones de las matrices usando el método de reducción

Queremos ofrecer una segunda visión sobre la reducción a la dimensionalidad basada en la aproximación matricial (esto es lo que se utilizará en la práctica en todos los lenguajes de programación)

Data:

 

pic 9

 

 

Entonces podemos escribirlo como:

 

ecuation 17

 

Las columnas de θ están dadas por las combinaciones lineales de las filas de B que provienen de nuestra base, con los coeficientes dados por las filas de A, las coordenadas de la base elegida.

Por lo tanto, nuestro problema de reducir la dimensionalidad corresponde a identificar un subespacio vectorial de dimensión p (p <k)  denuestra base elegida (B) y de las coordenadas relativas dadas por la matriz A.

 

En el análisis de los datos, donde nuestro punto de partida es la matriz de datos, las diferentes técnicas de reducción  se difirencian según el tipo de aproximación, descomposición y elección entre las muchas bases posibles.

 

 

Casos de aplicación básicos: Descomposición en valores singulares (SVD)

Implementemos en Python una simple descomposición en valores singulares (SVD), es decir, dividamos nuestra matriz de inicio X en las dos matrices A y B vistas anteriormente:

 

import numpy as np

X = np.array([3,2,4],[3,6,7],[2,1,4])

autoval, autovett = np.linalg.eig(X)

 

 

Reglas de matrices

En este punto, hemos establecido el problema de reducir la dimensionalidad de los datos como un problema de aproximación entre matrices, ahora debemos evaluar y luego calcular la distancia entre la matriz de los datos originales y los aproximados a través del estudio de las diferentes normas:

Hay tres tipos principales de reglas:

  • Reglas de vectores
  • Reglas inducidas
  • Reglas Schatten

 

Cuando en el campo del análisis de datos nos referimos esencialmente, en algunas excepciones, a la norma Frobenius (distancia euclidiana)

 

Elemento de algebra:

Norma

Un norma(comúnmente viene marcada con ‖ ‖) es una función del espacio vectorial de matriz si:

 

ecuation 18

 

 

 

Reglas vectoriales

La familia de reglas vectoriales trata la matriz   X_n_x_k  como un vector   de  componentes donde podemos definir la norma usando cualquiera de las siguientes reglas:

pic 10

 

Nota:

Configurando p = 2 estamos conectados a la norma euclidiana

 

 

Reglas de inducción

 

pic 11

 

Regla de Schatten

 

La norma Schatten, de orden p, de una matriz X simplemente está dada por:

ecuation 21

 

Donde w_i   tiene valores singulares

 

 

Regla de Frobenius  

La norma Frobenius de nuestra matriz   X_n_x_k  inicial está dada por:

ecuation 22

 

Vamos a calcular, explicando el producto de matriz que obtenemos:

 

ecuation 23

 

Corresponde que la norma de Frobenius es igual a la raíz cuadrada de la suma al cuadrado de los elementos osea es una norma euclidiana vista como un vector que concuerda con la regla de vector de X de orden 2.

 

Elementos de algebra:

pista:

El operador de seguimiento, indicado por Tr (∙), se define como la suma de los elementos diagonales de la matriz de argumentos

 

 

 

Casos de aplicación básicos: análisis de Cluster

 

El análisis de Cluster es una técnica de análisis multivariado mediante la cual es posible agrupar unidades estadísticas, a fin de minimizar la “distancia lógica” interna de cada grupo y maximizar la que existe entre los grupos.

Es una de las técnicas de aprendizaje no supervisadas.

Por lo tanto, es espontáneo tener que definir qué se entiende por distancia lógica y en función de qué métrica.

 

Definición de métrica

pic 13

 

Si, por el contrario, presenta las tres primeras propiedades, podemos definirlo como un índice de distancia

 

Distancias Minkowski (Manhattan, Euclidea, Lagrange)

En este punto vamos a analizar los principales casos de distancias pertenecientes a la familia de distancias Minkowski donde:

ecuation 25

 

 

Destacamos los siguientes casos:

  • k=1 Distancia de Manhattan
  •  k=2 Distancia euclidiana
  • k\mapsto \propto  Distancia Lagrangiana (Čebyšëv)

 

Como por ejemplo:

ecuation 26

 

Por lo tanto, comenzando con el ejemplo de Cluster Analysis, es esencial definir el tipo de distancia con la que queremos trbajar en nuestro análisis.

Principalmente en los paquetes ya implementados se encuentran las tres variantes de las distancias de Minkowski (para variables cuantitativas)

Importar desde sklearn:

AgglomerativeClustering(n_clusters=2, affinity=’euclidean’, memory=None, connectivity=None, compute_full_tree=’auto’, linkage=’ward’

 

 

ecuation 27

Derivada: una explicación intuitiva

Autor: Davide Coppola

Traductor: Paula Vidal

 

Aunque a veces se pasa por alto, las matemáticas son una parte fundamental del aprendizaje automático (ML) y el aprendizaje profundo (DL). De hecho, es la base sobre la cual se basan ambas disciplinas: sin ninguna noción de álgebra o análisis, no podrían existir. Un elemento clave en ML, derivado del análisis matemático, es la noción de derivada. Pero no debes tenerle miedo; ¡es mucho más simple de lo que piensas!

 

Primero, definamos qué es una función: se puede pensar como una caja negra (Fig. 1): un número n de valores de entrada o variables independientes ingresan al cuadro, se procesan de acuerdo con un procedimiento específico determinado por la ecuación (o ecuaciones) que describen la función, y finalmente m nuevos valores de salida o variables dependientes salen de la caja.

Para el resto de este tutorial, nos enfocaremos en funciones unidimensionales, es decir, funciones que tienen solo una entrada y una salida. Ejemplos comunes de este tipo de funciones son:

y = mx + q

y = ax^2 + bx + c

y = ln(x()

Donde m, q, a, b y c son solo coeficientes numéricos, puede considerarlos como cualquier número constante. 1 es la ecuación de una recta, 2 describe una parábola y 3 es la función de logaritmo natural. Como puede ver, todas tienen una variable independiente (x) y una dependiente (y): una función que describe la relación entre las dos variables, por lo que determina la “forma” en el espacio.

Pero si una función ya describe una curva, entonces ¿por qué necesitamos derivadas?

En general, las funciones no son tan simples como los ejemplos anteriores y puede ser imposible o poco práctico probar todos los valores posibles de la variable independiente para comprender el comportamiento de la función. Por lo tanto, la derivada de una función proporciona información adicional sobre la curva que se estudia.

 

¿Qué es una derivada entonces? La derivada de una función f es otra función f ‘(x), tomada de la original, que describe la variabilidad de f, es decir, cómo se comporta la tasa de cambio de la función con respecto a la variable independiente. La derivada evaluada en un punto x describe cómo está cambiando la función entorno a  x. Por ejemplo, si la derivada es positiva, podemos esperar que los puntos que siguen x tengan valores mayores que y. Esto significa que la función está creciendo de acuerdo con el aumento de x. Del mismo modo, si la derivada es negativa en x, el valor de la función disminuye a medida que x aumenta. Por lo tanto, la derivada en cualquier punto indica la inclinación de la línea de tangente a la curva en ese punto, como se puede ver en la Fig. 2.

 

 

 

La inclinación (o coeficiente angular) define la relación entre la altura y la longitud horizontal, por ejemplo, de un plano inclinado o de un triángulo rectángulo; Seguramente habrás conocido este concepto en las señales de tráfico (Fig. 3). En general, la inclinación viene dada por la ecuación

Fig. 3:

La definición estricta de una derivada, de hecho, es el límite de la relación incremental:

Este informe describe la inclinación de una línea secante a la curva  que pasa por los punto. De hecho, el numerador  se puede ver como la altura de un plano inclinado, cuya longitud horizontal es simplemente  . El límite dice que debe ser un número infinitamente cercano a cero, lo que significa que la distancia entre dos punto es prácticamente inexistente. De hecho, lo que inicialmente era una secante se convierte en una tangente a la curva,como podemos observar en la Fig 4

Fig 4

Antes de mirar un ejemplo simple, recapitulamos los conceptos  claves de una derivada

 

  • … representa la variabilidad de la función primitiva con respecto a la variable independiente;
  • … de una función y otra una función a su vez;
  • … evaluando un punto dado, representa la inclinación de la tangente a la curva en ese punto.

Fig. 5: Una parábola y su derivada. Las líneas verde y azul son tangentes a la curva en los puntos x = -2 y x = 2, respectivamente.

 

En el ejemplo (Fig. 5) tenemos los gráficos de una función () y su derivada () : la primera es una parábola, mientras que la segunda es una línea recta. Las funciones y sus derivados se representan generalmente con sus respectivos gráficos  uno encima del otro; esto se debe a que la variable independiente es la misma y esta disposición facilita la comprensión de su relación.

 

Observando   ,podemos ver que la derivada es positiva, lo que significa que la función crece con  , es decir, la inclinación de cualquier recta tangente  para  es positiva. Sin embargo, el valor de la derivada está disminuyendo con una tasa constante, esto significa que incluso la “velocidad” de crecimiento del valor de f está disminuyendo. Como consecuencia, las líneas tangentes de la curva tienden cada vez más a una línea horizontal.

 

La situación extrema ocurre para  , que corresponde al vértice de la parábola y al punto donde la derivada es  . Los puntos que tienen la derivada igual a  se llaman puntos críticos o puntos estacionarios. Juegan un papel fundamental en el análisis matemático y de ML, ya que representan puntos que corresponden a los puntos máximos, mínimos y de silla de una función. Muchos algoritmos de aprendizaje automático giran en torno a la búsqueda de los mínimos de una función, por lo que es importante tener un conocimiento mínimo de los derivados y su significado.

 

Con ,  la derivada es negativa y su valor absoluto continúa creciendo. Esto significa que la función primitiva disminuirá en valor con x que la “velocidad” con la que esto sucede crecerá con cada paso. De hecho, esto es exactamente lo que le sucede a la parábola.

 

El propósito de este tutorial fue brindarle una comprensión general de cómo funciona una derivada y su significado, sin utilizar demasiadas ecuaciones. Obviamente, es necesario un análisis más profundo y riguroso del tema si comprendemos completamente los problemas más complejos que surgen en el aprendizaje automático. Pero no tengas miedo, ¡no es tan complicado!

 

 

Las Figuras 3 y 4 fueron tomadas de Wikipedia.