Álgebra lineal esencial para la ciencia de datos y el aprendizaje automático

Nodo de origen: 1852280

Imagen de Benjamin O. Tayo.

El álgebra lineal es una rama de las matemáticas que es extremadamente útil en la ciencia de datos y el aprendizaje automático. El álgebra lineal es la habilidad matemática más importante en el aprendizaje automático. La mayoría de los modelos de aprendizaje automático se pueden expresar en forma de matriz. Un conjunto de datos en sí mismo a menudo se representa como una matriz. El álgebra lineal se utiliza en el preprocesamiento de datos, la transformación de datos y la evaluación de modelos. Estos son los temas con los que debe estar familiarizado:

  • Vectores
  • Matrices
  • Transponer una matriz
  • Inversa de una matriz
  • Determinante de una matriz
  • Traza de una matriz
  • Producto de punto
  • Valores propios
  • Vectores propios

En este artículo, ilustramos la aplicación del álgebra lineal en la ciencia de datos y el aprendizaje automático utilizando el conjunto de datos de acciones tecnológicas, que se puede encontrar esta página.

1. Álgebra lineal para preprocesamiento de datos

 Comenzamos ilustrando cómo se usa el álgebra lineal en el preprocesamiento de datos.

1.1 Importar bibliotecas necesarias para álgebra lineal

importar numpy como np importar pandas como pd importar pylab importar matplotlib.pyplot como plt importar seaborn como sns 

 

1.2 Leer conjunto de datos y características de visualización

data = pd.read_csv ("tech-stocks-04-2021.csv") data.head () 

 Mesa 1. Precios de las acciones para los precios de las acciones seleccionadas durante los primeros 16 días de abril de 2021.

print (data.shape) salida = (11,5) 

 La datos.forma La función nos permite conocer el tamaño de nuestro conjunto de datos. En este caso, el conjunto de datos tiene 5 características (fecha, AAPL, TSLA, GOOGL y AMZN), y cada característica tiene 11 observaciones. Fecha se refiere a los días de negociación en abril de 2021 (hasta el 16 de abril). AAPL, TSLA, GOOGL y AMZN son los precios de cierre de las acciones de Apple, Tesla, Google y Amazon, respectivamente.

1.3 Visualización de datos

Para realizar la visualización de datos, necesitaríamos definir matrices de columna para visualizar las características:

x = datos ['fecha'] y = datos ['TSLA'] plt.plot (x, y) plt.xticks (np.array ([0,4,9]), ['1 de abril', '8 de abril ',' 15 de abril ']) plt.title (' Precio de las acciones de Tesla (en dólares) para abril de 2021 ', tamaño = 14) plt.show () 

Figura 1. Precio de las acciones de Tesla durante los primeros 16 días en abril de 2021.

2. Matriz de covarianza

La Matriz de covarianza es una de las matrices más importantes en ciencia de datos y aprendizaje automático. Proporciona información sobre el co-movimiento (correlación) entre características. Supongamos que tenemos una matriz de características con 4 características y observaciones como se muestra en Tabla 2:

Tabla 2. Matriz de características con 4 variables y n observaciones.

Para visualizar las correlaciones entre las características, podemos generar un diagrama de pares de dispersión:

cols = data.columns [1: 5] print (cols) output = Index (['AAPL', 'TSLA', 'GOOGL', 'AMZN'], dtype = 'object') sns.pairplot (data [cols] , altura = 3.0) 

Figura 2 y XNUMX. Diagrama de pares de dispersión para acciones tecnológicas seleccionadas.

Para cuantificar el grado de correlación entre características (multicolinealidad), podemos calcular la matriz de covarianza usando esta ecuación:

donde y son la desviación media y estándar de la característica, respectivamente. Esta ecuación indica que cuando las características están estandarizadas, la matriz de covarianza es simplemente la producto de punto entre características.

En forma de matriz, la matriz de covarianza se puede expresar como una matriz real y simétrica de 4 x 4:

Esta matriz se puede diagonalizar realizando una transformación unitaria, también conocida como transformación de Análisis de componentes principales (PCA), para obtener lo siguiente:

Puesto que el rastro de una matriz permanece invariante bajo una transformación unitaria, observamos que la suma de los valores propios de la matriz diagonal es igual a la varianza total contenida en las características X1, X2, X3y X4.

2.1 Calcular la matriz de covarianza para acciones tecnológicas

de sklearn.preprocessing import StandardScaler stdsc = StandardScaler () X_std = stdsc.fit_transform (datos [cols] .iloc [:, rango (0,4)]. valores) cov_mat = np.cov (X_std.T, bias = True) 

Tenga en cuenta que esto usa el transponer de la matriz estandarizada.

2.2 Visualización de la matriz de covarianza

plt.figure (figsize = (8,8)) sns.set (font_scale = 1.2) hm = sns.heatmap (cov_mat, cbar = True, annot = True, square = True, fmt = '. 2f', annot_kws = { 'tamaño': 12}, yticklabels = cols, xticklabels = cols) plt.title ('Matriz de covarianza que muestra los coeficientes de correlación') plt.tight_layout () plt.show () 

Figura 3 y XNUMX. Gráfico de matriz de covarianza para acciones tecnológicas seleccionadas.

Observamos en la Figura 3 que AAPL se correlaciona fuertemente con GOOGL y AMZN, y débilmente con TSLA. TSLA se correlaciona generalmente débilmente con AAPL, GOOGL y AMZN, mientras que AAPL, GOOGL y AMZN se correlacionan fuertemente entre sí.

2.3 Calcular valores propios de la matriz de covarianza

np.linalg.eigvals (cov_mat) salida = matriz ([3.41582227, 0.4527295, 0.02045092, 0.11099732]) np.sum (np.linalg.eigvals (cov_mat)) salida = 4.000000000000006 np.trace (cov_mat) salida = 4.000000000000001 

Observamos que la traza de la matriz de covarianza es igual a la suma de los valores propios como se esperaba.

2.4 Calcular la varianza acumulada

Dado que la traza de una matriz permanece invariante bajo una transformación unitaria, observamos que la suma de los valores propios de la matriz diagonal es igual a la varianza total contenida en las características X1, X2, X3y X4. Por tanto, podemos definir las siguientes cantidades:

 

Note que cuando p = 4, la varianza acumulada se vuelve igual a 1 como se esperaba.

eigen = np.linalg.eigvals (cov_mat) cum_var = eigen / np.sum (eigen) print (cum_var) salida = [0.85395557 0.11318237 0.00511273 0.02774933] print (np.sum (cum_var)) salida = 1.0 

 Observamos a partir de la varianza acumulada (cum_var) que el 85% de la varianza está contenida en el primer valor propio y el 11% en el segundo. Esto significa que cuando se implementa PCA, solo se pueden usar los dos primeros componentes principales, ya que estos 97 componentes contribuyen al 2% de la varianza total. Esto esencialmente puede reducir la dimensión del espacio de características de 4 a 2 cuando se implementa PCA.

3. Matriz de regresión lineal

Supongamos que tenemos un conjunto de datos que tiene 4 funciones de predicción y n observaciones, como se muestra a continuación.

Tabla 3. Matriz de características con 4 variables y n observaciones. La columna 5 es la variable objetivo (y).

Nos gustaría construir un modelo de regresión múltiple para predecir la y valores (columna 5). Nuestro modelo puede entonces expresarse en la forma

En forma de matriz, esta ecuación se puede escribir como

donde X es la matriz de características (nx 4), w es la matriz (4 x 1) que representa los coeficientes de regresión que se van a determinar, y y es la matriz (nx 1) que contiene las n observaciones de la variable objetivo y.

Tenga en cuenta que X es una matriz rectangular, por lo que no podemos resolver la ecuación anterior tomando la inversa de X.

Para convertir X en una matriz cuadrada, multiplicamos el lado izquierdo y el lado derecho de nuestra ecuación por el transponer of X, y

Esta ecuación también se puede expresar como

donde

es la matriz de regresión (4 × 4). Claramente, observamos que R es una matriz real y simétrica. Tenga en cuenta que en álgebra lineal, la transpuesta del producto de dos matrices obedece a la siguiente relación

Ahora que hemos reducido nuestro problema de regresión y lo expresamos en términos de la matriz de regresión real, simétrica e invertible (4 × 4) R, es sencillo demostrar que la solución exacta de la ecuación de regresión es entonces

A continuación, se ofrecen ejemplos de análisis de regresión para predecir variables continuas y discretas:

Conceptos básicos de regresión lineal para principiantes absolutos

Construcción de un clasificador de perceptrón utilizando el método de mínimos cuadrados

4. Matriz de análisis discriminante lineal

Otro ejemplo de una matriz real y simétrica en ciencia de datos es la matriz de análisis discriminante lineal (LDA). Esta matriz se puede expresar en la forma:

donde SW es la matriz de dispersión dentro de la entidad, y Ses la matriz de dispersión entre entidades. Dado que ambas matrices SW y SB son reales y simétricas, se sigue que L también es real y simétrico. La diagonalización de L produce un subespacio de características que optimiza la separabilidad de clases y reduce la dimensionalidad. Por tanto, LDA es un algoritmo supervisado, mientras que PCA no lo es.

Para obtener más detalles sobre la implementación de LDA, consulte las siguientes referencias:

Aprendizaje automático: reducción de la dimensionalidad mediante análisis discriminante lineal

Repositorio de GitHub para la implementación de LDA usando el conjunto de datos Iris

Python Machine Learning de Sebastian Raschka, 3.a edición (Capítulo 5)

Resumen

En resumen, hemos analizado varias aplicaciones del álgebra lineal en la ciencia de datos y el aprendizaje automático. Usando el conjunto de datos de acciones tecnológicas, ilustramos conceptos importantes como el tamaño de una matriz, matrices de columna, matrices cuadradas, matriz de covarianza, transposición de una matriz, valores propios, productos escalares, etc. El álgebra lineal es una herramienta esencial en la ciencia de datos y la máquina aprendiendo. Por lo tanto, los principiantes interesados ​​en la ciencia de datos deben familiarizarse con los conceptos esenciales del álgebra lineal.

Relacionado:

Fuente: https://www.kdnuggets.com/2021/05/essential-linear-algebra-data-science-machine-learning.html

Sello de tiempo:

Mas de nuggets