Álgebra Linear Essencial para Ciência de Dados e Aprendizado de Máquina

Nó Fonte: 1852280

Imagem de Benjamin O. Tayo.

Álgebra Linear é um ramo da matemática extremamente útil na ciência de dados e no aprendizado de máquina. A álgebra linear é a habilidade matemática mais importante no aprendizado de máquina. A maioria dos modelos de aprendizado de máquina pode ser expressa em forma de matriz. O próprio conjunto de dados é frequentemente representado como uma matriz. A álgebra linear é usada no pré-processamento de dados, transformação de dados e avaliação de modelo. Aqui estão os tópicos com os quais você precisa estar familiarizado:

  • Vetores
  • Matrizes
  • Transposição de uma matriz
  • Inverso de uma matriz
  • Determinante de uma matriz
  • Traço de uma matriz
  • Produto interno
  • Autovalores
  • Autovetores

Neste artigo, ilustramos a aplicação da álgebra linear em ciência de dados e aprendizado de máquina usando o conjunto de dados de ações de tecnologia, que pode ser encontrado SUA PARTICIPAÇÃO FAZ A DIFERENÇA.

1. Álgebra Linear para Pré-processamento de Dados

 Começamos ilustrando como a álgebra linear é usada no pré-processamento de dados.

1.1 Importe bibliotecas necessárias para álgebra linear

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

 

1.2 Leia o conjunto de dados e exiba recursos

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

 mesa 1. Preços de ações para preços de ações selecionados para os primeiros 16 dias de abril de 2021.

imprimir (data.shape) saída = (11,5) 

 A dados.forma função nos permite saber o tamanho do nosso conjunto de dados. Nesse caso, o conjunto de dados possui 5 características (data, AAPL, TSLA, GOOGL e AMZN), e cada característica possui 11 observações. Data refere-se aos pregões de abril de 2021 (até 16 de abril). AAPL, TSLA, GOOGL e AMZN são os preços de fechamento das ações da Apple, Tesla, Google e Amazon, respectivamente.

1.3 Visualização de dados

Para realizar a visualização de dados, precisaríamos definir matrizes de coluna para que os recursos sejam visualizados:

x = dados['data'] y = dados['TSLA'] plt.plot(x,y) plt.xticks(np.array([0,4,9]), ['1 de abril','8 de abril ','15 de abril']) plt.title('Preço das ações da Tesla (em dólares) para abril de 2021',size=14) plt.show() 

Figura 1. Preço das ações da Tesla nos primeiros 16 dias de abril de 2021.

2. Matriz de Covariância

A matriz de covariância é uma das matrizes mais importantes em ciência de dados e aprendizado de máquina. Ele fornece informações sobre o co-movimento (correlação) entre recursos. Suponha que temos uma matriz de características com 4 Recursos e observações como mostrado em tabela 2:

tabela 2. Apresenta matriz com 4 variáveis ​​en observações.

Para visualizar as correlações entre os recursos, podemos gerar um gráfico de pares de dispersão:

cols=data.columns[1:5] print(cols) saída = Index(['AAPL', 'TSLA', 'GOOGL', 'AMZN'], dtype='objeto') sns.pairplot(dados[cols] , altura=3.0) 

Figura 2. Gráfico de pares de dispersão para ações de tecnologia selecionadas.

Para quantificar o grau de correlação entre características (multicolinearidade), podemos calcular a matriz de covariância usando esta equação:

onde  e  são a média e o desvio padrão de feature , respectivamente. Esta equação indica que quando os recursos são padronizados, a matriz de covariância é simplesmente o ponto de produto entre recursos.

Na forma de matriz, a matriz de covariância pode ser expressa como uma matriz real e simétrica 4 x 4:

Esta matriz pode ser diagonalizada realizando um transformação unitária, também conhecida como transformação de Análise de Componentes Principais (PCA), para obter o seguinte:

Uma vez que o traço de uma matriz permanece invariante sob uma transformação unitária, observamos que a soma dos autovalores da matriz diagonal é igual à variância total contida nos atributos X1X2X3e X4.

2.1 Calculando a matriz de covariância para ações de tecnologia

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

Observe que isso usa o transpor da matriz padronizada.

2.2 Visualização da matriz de covariância

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={ 'tamanho': 12}, yticklabels=cols, xticklabels=cols) plt.title('Matriz de covariância mostrando coeficientes de correlação') plt.tight_layout() plt.show() 

Figura 3. Gráfico de matriz de covariância para ações de tecnologia selecionadas.

Observamos na Figura 3 que o AAPL se correlaciona fortemente com GOOGL e AMZN, e fracamente com TSLA. TSLA correlaciona-se geralmente fracamente com AAPL, GOOGL e AMZN, enquanto AAPL, GOOGL e AMZN correlacionam-se fortemente entre si.

2.3 Calcular autovalores da matriz de covariância

np.linalg.eigvals(cov_mat) saída = array([3.41582227, 0.4527295 , 0.02045092, 0.11099732]) np.sum(np.linalg.eigvals(cov_mat)) saída = 4.000000000000006 np.trace(cov_mat) saída = 4.000000000000001 

Observamos que o traço da matriz de covariância é igual à soma dos autovalores conforme esperado.

2.4 Calcule a variância cumulativa

Como o traço de uma matriz permanece invariante sob uma transformação unitária, observamos que a soma dos autovalores da matriz diagonal é igual à variância total contida nos atributos X1X2X3e X4. Portanto, podemos definir as seguintes quantidades:

 

Observe que quando p = 4, a variância cumulativa torna-se igual a 1 conforme esperado.

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

 Observamos a partir da variância cumulativa (cum_var) que 85% da variância está contida no primeiro autovalor e 11% no segundo. Isto significa que quando a ACP é implementada, apenas as duas primeiras componentes principais podem ser utilizadas, uma vez que 97% da variância total é contribuída por estas duas componentes. Isso pode essencialmente reduzir a dimensão do espaço de recursos de 2 para 4 quando o PCA é implementado.

3. Matriz de Regressão Linear

Suponha que temos um conjunto de dados que possui 4 recursos preditores e n observações, conforme mostrado abaixo.

tabela 3. Apresenta matriz com 4 variáveis ​​en observações. A coluna 5 é a variável alvo (y).

Gostaríamos de construir um modelo de regressão múltipla para prever o y valores (coluna 5). Nosso modelo pode, portanto, ser expresso na forma

Na forma de matriz, esta equação pode ser escrita como

onde X é a matriz de recursos (n x 4), w é a matriz (4 x 1) que representa os coeficientes de regressão a serem determinados, e y é a matriz (nx 1) que contém as n observações da variável alvo y.

Observe que X é uma matriz retangular, então não podemos resolver a equação acima tomando o inverso de X.

Converter X em uma matriz quadrada, multiplicamos o lado esquerdo e o lado direito da nossa equação pelo transpor of X, isso é

Esta equação também pode ser expressa como

onde

é a matriz de regressão (4×4). Claramente, observamos que R é uma matriz real e simétrica. Observe que na álgebra linear, a transposta do produto de duas matrizes obedece à seguinte relação

Agora que reduzimos nosso problema de regressão e o expressamos em termos da matriz de regressão (4×4) real, simétrica e invertível R, é simples mostrar que a solução exata da equação de regressão é então

Exemplos de análise de regressão para previsão de variáveis ​​contínuas e discretas são apresentados a seguir:

Noções básicas de regressão linear para iniciantes absolutos

Construindo um classificador Perceptron usando o método dos mínimos quadrados

4. Matriz de Análise Linear Discriminante

Outro exemplo de matriz real e simétrica em ciência de dados é a matriz de Análise Discriminante Linear (LDA). Esta matriz pode ser expressa na forma:

onde SW é a matriz de dispersão dentro do recurso, e Sé a matriz de dispersão entre recursos. Como ambas as matrizes SW e SB são reais e simétricos, segue-se que L também é real e simétrico. A diagonalização de L produz um subespaço de recursos que otimiza a separabilidade de classes e reduz a dimensionalidade. Portanto, o LDA é um algoritmo supervisionado, enquanto o PCA não.

Para mais detalhes sobre a implementação do LDA, consulte as seguintes referências:

Aprendizado de máquina: redução de dimensionalidade por meio de análise discriminante linear

Repositório GitHub para implementação de LDA usando conjunto de dados Iris

Python Machine Learning por Sebastian Raschka, 3ª edição (Capítulo 5)

Resumo

Em resumo, discutimos várias aplicações da álgebra linear na ciência de dados e no aprendizado de máquina. Usando o conjunto de dados de ações de tecnologia, ilustramos conceitos importantes como o tamanho de uma matriz, matrizes de coluna, matrizes quadradas, matriz de covariância, transposição de uma matriz, autovalores, produtos escalares, etc. A álgebra linear é uma ferramenta essencial em ciência de dados e máquinas aprendizado. Assim, os iniciantes interessados ​​em ciência de dados devem se familiarizar com conceitos essenciais da álgebra linear.

Relacionado:

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

Carimbo de hora:

Mais de KDnuggetsGenericName