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
Horn, Roger A.; Johnson, Charles R. (2013). Matrix Analysis (Second ed.). Cambridge University Press. ISBN 978-0-521-83940-2.
Lang, Serge (1987), Linear Algebra (Third ed.), New York: Springer-Verlag, ISBN 0-387-96412-6
Rudin, Walter (1976). Principles of Mathematical Analysis (Third ed.). McGraw-Hill. ISBN 0-07-085613-3.
https://www.quora.com/What-are-the-applications-of-linear-algebra-in-machine-learning