• Michel

Álgebra Linear para Machine Learning (parte 2)

Atualizado: 13 de Abr de 2018

Este artigo é a continuação da parte 1.



3.Matrizes

Você provavelmente sabe que os computadores são projetados para processamento binário, ou seja, apenas 0 e 1.



Uma imagem com vários atributos é armazenada usando as intensidades de cada pixel em uma construção chamada de matriz. Esta matriz pode ser então processada para identificar o objeto. Na figura uma parte da boca do gato é representada por uma matriz de números hexadecimais.

Uma matriz A é um conjunto de elementos, organizados em linhas e colunas. Geralmente, as linhas são denotadas por i e as colunas por j. Denotamos um elemento da matriz por a ij ou A ij.



​Por exemplo, na matriz abaixo a12 = b


​Para chegar ao resultado, vá pela primeira linha e chegue à segunda coluna. Se uma matriz tiver m linhas e n colunas, a ordem da matriz é (m,n).


4.Álgebra das matrizes para Machine Learning


​Adição e Subtração de matrizes

Para adicionarmos duas ou mais matrizes é preciso que todas elas tenham o mesmo número de linhas e de colunas. A soma dessas matrizes irá resultar em outra matriz que também terá o mesmo número de linhas e de colunas. Os termos deverão ser somados com os seus termos correspondentes. A notação A^T é para a matriz transposta que explicaremos a seguir.

Propriedades da soma:


A + B = B + A

A + (B + C) = (A + B) + C

k(A + B) = kA + kB ( k escalar)

(A + B)^T = A^T + B^T

Multiplicação de matrizes

Quando multiplicamos uma matriz por outra, é necessário que o número de colunas da primeira matriz seja igual ao número de linhas da segunda matriz. O resultado dessa multiplicação será uma matriz com o número de linhas da primeira e o número de colunas da segunda.


Am,n Bn,p = C m,p


​ A multiplicação das matrizes A2,3 e B4,3 é impossível, pois a primeira possui três colunas e a segunda possui quatro linhas. Como esses valores não são iguais, a multiplicação não ocorre. Agora se pretendemos multiplicar as matrizes A2,3 e B3,2 ,o produto dessas matrizes será uma matriz C2,2.


O produto da primeira linha pela primeira coluna, gera o elemento C1,1.O produto da primeira linha pela segunda coluna, gera o elemento C1,2, etc..

Em geral AB ≠ BA, ou seja, o produto de matrizes não comutativo, pois,


Propriedades do produto:


​​A(BC) = (AB)C

A(B + C) = AB + AC

(A + B)C = AC + BC

k(AB) =A(kB)

IA = A

Forma matricial de um sistema linear

Considere o sistema linear com 3 equações e 3 incógnitas:


​ Denotando estas matrizes por A, X e B, respectivamente, o sistema original de m equações e n incógnitas foi substituído pela única equação matricial:



E escrevemos:

AX = B

em que:

Matriz de coeficientes é (A), a Matriz-coluna de incógnitas é (X) e a Matriz-coluna de constantes é (B). Vejamos um exemplo usando a calculadora de https://matrixcalc.org/. São dadas as três equações lineares

​2x - 2y + z = -3

x + 3y - 2z = 1

3x - y - z = 2

Na forma matricial


​Nossa incógnita é o vetor X, i.e., os valores de x, y e z.


​ pré-multiplicamos ambos os lados por uma matriz inversa dos coeficientes


A-1AX =A-1B

(A-1A)X =A-1B

(I)X =A-1B

X =A-1B


Ou seja, para resolver um sistema de equações lineares, temos que encontrar o inverso de A e multiplicá-lo por B.

5.Tipos mais importantes de Matrizes


​Vetores

Um vetor, chamado geralmente de array em linguagens de programação, é uma matriz unidimensional sendo a mais simples das estruturas de dados.

Abaixo temos o exemplo de um vetor. Os valores internos são os dados alocados no vetor, enquanto seu tamanho é dado pelo número de casas disponíveis (no caso 5) e o índice representa a posição do dado no vetor (por exemplo podemos definir que 7 tem o índice 0, 2 tem índice 1, 8 tem índice 2 e assim sucessivamente.


Vetor = (1,2,8,9,18)



​ Um vetor coluna é uma matriz m × 1, isto é, uma matriz consistente de uma única coluna de m elementos e um vetor linha uma matriz 1 x m.

Exemplo de construção de um array (vetor) em Python:

>>> x = array ([2, 4, -11])

>>> y = x + 0.

>>> print y


[2.1 4.1 -10.9]

Matrizes quadrada e retangular

A matriz quadrada tem o número de linhas igual ao número de colunas (m = n), já na matriz retangular o número de linhas é diferente do de colunas (m n).



​Matrizes diagonal e identidade

Numa matriz quadrada em que todos os elementos exceto os da diagonal são zero é chamada uma matriz diagonal.



​A matriz identidade (I) é a matrix diagonal em que todos os elementos da diagonal principal são iguais a 1.

Matrizes transposta e simétrica

Matriz transposta (ou AT) é a matriz que se obtém da troca de linhas por colunas de uma dada matriz.



​Propriedades da matriz transposta

​(A^T)^T= A

(A + B)^T= A^T + B^T

(kA)^T= kA^T

(AB)^T= B^TA^T

Uma matriz diz-se simétrica se coincidir com a sua transposta, ou seja, se A = A^T

Matriz Inversa

Uma matriz quadrada A é dita invertível quando existe outra matriz denotada por A^-1

A^-1A = I e AA^-1 = I

​onde I é a matriz identidade.

​ Um conceito muito importante para trabalhar com matrizes é a chamada matriz singular. Uma matriz é chamada de invertível ou não singular, se e somente se, seu determinante é diferente de zero, por isso uma matriz só pode ser invertível se for uma matriz quadrada com determinante diferente de zero.

Matriz Ortogonal

Uma matriz quadrada é dita ortogonal se sua matriz inversa coincide com sua matriz transposta.

Isto é, uma matriz A é ortogonal se

A^-1 = A^T


Determinantes

Determinante é uma função matricial que associa a cada matriz quadrada um escalar; ela transforma essa matriz em um número real. Esta função permite saber se a matriz tem ou não inversa, pois as que não têm são precisamente aquelas cujo determinante é igual a 0.

O determinante de uma matriz de segunda ordem é a diferença entre o produto dos termos da diagonal principal e o produto dos termos da diagonal secundária.


Para calcular o determinante de matrizes de terceira ordem, utilizamos a chamada regra de Sarrus (exemplo abaixo),



e para calcular determinantes de matrizes quadradas de ordem superior a 3 utiliza-se o teorema de Laplace.

​Menor de uma matriz

Um "menor" é o determinante da matriz quadrada formada pela exclusão de uma linha e uma coluna de uma matriz quadrada maior.

Então menor correspondente a um elemento Aij é o determinante da submatriz formada pela exclusão da coluna i e j da matriz.

Abaixo D11 D21 e D22 são menores da matriz A



Cofatores

Na discussão acima sobre menores, se considerarmos os sinais de termos menores, o resultante que obtemos é chamado o cofator de uma matriz. Para atribuir o sinal, basta somar os índices do elemento correspondente. Se for par atribua sinal positivo, caso contrário atribua sinal negativo.

No exemplo acima teríamos:



Matriz de cofatores

Na matriz original, substitua o elemento original pelo cofator correspondente. A matriz assim encontrada é chamada de matriz cofatorial correspondente à matriz original.



​​Utilizamos a calculadora de http://www.wolframalpha.com para calcular a matriz de cofatores de A

Matriz adjunta

Matriz adjunta de uma matriz quadrada é a transposta de sua matriz dos cofatores.



​​A importância da matriz dos cofatores e da matriz adjunta reside no fato de que elas são utilizadas para determinar a inversão de uma matriz.

Cálculo da matriz inversa

Inversão de matrizes é usada extensamente em problemas de Machine Learning .

Da álgebra elementar sabemos que se existem dois números de tal forma que sua multiplicação, dê 1, então esses dois números são chamados de inversos um do outro. Por exemplo:

3 x 1/3 = 1

Da mesma forma, na Álgebra Linear, se duas matrizes, multiplicadas produzem uma matriz identidade, então as matrizes são chamadas inversas uma da outra.

Para encontrar o inverso de uma matriz A, temos duas etapas:.

1. Descubra o adjunto da matriz A pelo procedimento explicado nas seções anteriores.

2. Multiplique a matriz adjunto pelo inverso do determinante da matriz A. A matriz resultante é o inverso de A.



​ A boa notícia é que vetores e matrizes são os elementos básicos das linguagens de programação cientificas, de forma que não há razão para usar as operações da álgebra matricial manualmente. Ou seja, é necessário entender o que fazem estas operações, mas não é necessário executá-las ou programa-las manualmente.


(continua)

Referências

3 Dimensões

Inteligência Artificial nas Empresas

Al. das Papoulas, 147 - Santana de Parnaíba - Alphaville, SP 06539-180 - (11) 4153 6004  - (11) 9 9795 9765

michel@3dimensoes.com.br