- Introdução
- Objetos Matemáticos
- Computacional Regras
- Multiplicação de Matriz de Propriedades de
- Inversão e Transposição
- Resumo
- Recursos
- Introdução
- Objetos Matemáticos
- Escalar
- Vector
- Matriz
- Tensor
- Matrix-Scalar Operations
- Matriz-Vetor de Multiplicação
- Matrix-Matrix Addition and Subtraction
- Matriz Multiplicação de matrizes
- Matrix Multiplication Properties
- Not Commutative
- associativa
- distributivo
- Matriz de Identidade
- inversa e transposta
- inverso
- Transpose
- Resumo
- Recursos
Introdução
Álgebra Linear é uma forma contínua de matemática e é aplicado em toda a ciência e de engenharia, pois permite modelar fenômenos naturais e de computação-los de forma eficiente. Porque é uma forma de matemática contínua e não discreta, muitos cientistas da computação não têm muita experiência com ela. A álgebra Linear também é central para quase todas as áreas da matemática, como geometria e Análise Funcional. Seus conceitos são um pré-requisito crucial para a compreensão da teoria por trás do aprendizado da máquina, especialmente se você estiver trabalhando com algoritmos de aprendizado profundo. Você não precisa entender Álgebra Linear antes de começar com a aprendizagem de máquina, mas em algum momento, você pode querer ganhar uma melhor compreensão de como os diferentes algoritmos de aprendizagem de máquina realmente funcionam sob o capô. isso irá ajudá-lo a tomar melhores decisões durante o desenvolvimento de um sistema de aprendizagem de máquina. Então, se você realmente quer ser um profissional neste campo, você terá que dominar as partes da álgebra Linear que são importantes para a aprendizagem de máquinas. Em Álgebra Linear, os dados são representados por equações lineares, que são apresentadas na forma de matrizes e vetores. Portanto, você está lidando principalmente com matrizes e vetores, em vez de escalares (vamos cobrir estes termos na seção seguinte). Quando você tem as bibliotecas certas, como o Numpy, à sua disposição, você pode computar a multiplicação de matrizes complexas muito facilmente com apenas algumas linhas de código. (Notar: este post ignora conceitos de álgebra Linear que não são importantes para a aprendizagem de máquinas.)
Objetos Matemáticos
Escalar
Um escalar é simplesmente um número único. Por exemplo, 24.
Vector
um Vector é um conjunto ordenado de Números e pode estar numa linha ou numa coluna. Um vetor tem apenas um índice único, que pode apontar para um valor específico dentro do vetor. Por exemplo, V2 refere-se ao segundo valor dentro do vetor, que é -8 no gráfico acima.
Matriz
Uma Matriz é uma ordenado 2D matriz de números e tem dois índices. O primeiro aponta para a linha e o segundo para a coluna. Por exemplo, M23 refere-se ao valor na segunda linha e na terceira coluna, que é 8 no gráfico amarelo acima. Uma matriz pode ter múltiplos números de linhas e Colunas. Note que um vetor também é uma matriz, mas com apenas uma linha ou uma coluna.
A matriz no exemplo no gráfico amarelo é também uma matriz tridimensional (linhas x colunas). Abaixo você pode ver um outro exemplo de uma Matriz, junto com a sua notação:
Tensor
Você pode pensar de um Tensor como uma matriz de números, dispostos em uma grade regular, com um número variável de eixos. Um Tensor tem três índices, onde o primeiro aponta para a linha, o segundo para a coluna e o terceiro para o eixo. Por exemplo, o T232 aponta para a segunda linha, a terceira coluna e o segundo eixo. Isto refere-se ao valor 0 no Tensor direito no gráfico abaixo:
Tensor é a mais termo geral para todos estes conceitos acima, uma vez que um Tensor é uma matriz multidimensional e pode ser um Vetor e uma Matriz, dependendo do número de índices que ele tem. Por exemplo, um Tensor de primeira ordem seria um vetor (1 índice). Um Tensor de segunda ordem é uma matriz (2 Índices) e tensores de terceira ordem (3 índices) e mais elevados são chamados Tensores de ordem superior (3 ou mais índices).
Matrix-Scalar Operations
Se você multiplicar, dividir, subtrair ou adicionar um Scalar a uma matriz, você faz isso com cada elemento da matriz. A imagem abaixo ilustra isso perfeitamente para a multiplicação:
Matriz-Vetor de Multiplicação
a Multiplicação de uma Matriz por um Vetor pode ser pensado como multiplicando-se cada linha da Matriz a pela coluna do Vetor. A saída será um vetor que tem o mesmo número de linhas que a matriz. A imagem abaixo mostra como isso funciona:
Para entender melhor o conceito, vamos através do cálculo da segunda imagem. Para obter o primeiro valor do Vetor resultante (16), tomamos os números do Vetor que queremos para multiplicar a Matriz (1 e 5), e multiplicá-los com os números da primeira linha da Matriz (1 e 3). Isto se parece com isso:
1*1 + 3*5 = 16
fazemos o mesmo para os valores da segunda linha da Matriz:
4*1 + 0*5 = 4
E, novamente, para a terceira linha da Matriz:
2*1 + 1*5 = 7
Aqui está outro exemplo:
And here is a kind of cheat sheet:
Matrix-Matrix Addition and Subtraction
Matrix-Matrix Addition and Subtraction is fairly easy and straightforward. O requisito é que as matrizes têm as mesmas dimensões e o resultado é uma matriz que tem também as mesmas dimensões. Você apenas adiciona ou subtrai cada valor da primeira matriz com seu valor correspondente na segunda matriz. Veja abaixo:
Matriz Multiplicação de matrizes
Multiplicação de duas Matrizes não é que difícil se você sabe como multiplicar uma Matriz por um Vetor. Note que você só pode multiplicar matrizes juntas se o número das colunas da primeira matriz corresponder ao número das linhas da segunda matriz. O resultado será uma matriz com o mesmo número de linhas que a primeira matriz e o mesmo número de colunas que a segunda matriz. Ele funciona da seguinte forma:
Você simplesmente divide a segunda matriz em vetores de coluna e multiplica a primeira matriz separadamente por cada um desses vetores. Então você coloca os resultados em uma nova matriz (sem adicioná-los!). A imagem abaixo explica este passo a passo:
And here is again some kind of cheat sheet:
Matrix Multiplication Properties
Matrix Multiplication has several properties that allow us to bundle a lot of computation into one Matrix multiplication. We will discuss them one by one below. Vamos começar por explicar estes conceitos com escalares e, em seguida, com matrizes, porque isso lhe dará uma melhor compreensão do processo.
Not Commutative
Scalar Multiplication is commutative but Matrix Multiplication is not. Isto significa que quando estamos multiplicando escalares, 7*3 é o mesmo que 3*7. Mas quando multiplicamos matrizes uns pelos outros, A*B não é a mesma que B*A.
associativa
escalar e multiplicação de matriz são ambas associativas. Isto significa que a multiplicação escalar 3(5*3) é a mesma que (3*5)3 e que a multiplicação de matriz A(B*C) é a mesma que (a*b)C.
distributivo
escalar e multiplicação de matriz também são ambos distributivos. Isso significa que
3(5 + 3) é o mesmo que 3*5 + 3*3 e que A(B+C) é igual A*B + A*C.
Matriz de Identidade
A Matriz de Identidade é um tipo especial de Matriz, mas, primeiro, precisamos definir o que uma Identidade. O número 1 é uma identidade porque tudo o que você multiplica com 1 é igual a si mesmo. Portanto, toda matriz que é multiplicada por uma matriz de identidade é igual a si mesma. Por exemplo, Matrix A vezes sua matriz de identidade é igual a A.
Você pode detectar uma matriz de identidade pelo fato de que ela tem uns ao longo de suas diagonais e que todos os outros valores são zero. É também uma “matriz quadrada”, significando que seu número de linhas corresponde ao seu número de colunas.
Nós já discutimos que a multiplicação de matrizes não é comutativa, mas há uma exceção, a saber, se multiplicarmos uma Matriz por uma Matriz de Identidade. Portanto, a seguinte equação é verdadeira: A*I = i*a = a
inversa e transposta
a matriz inversa e a matriz transposta são dois tipos especiais de propriedades da matriz. Mais uma vez, vamos começar por discutir como essas propriedades se relacionam com números reais e, em seguida, como eles se relacionam com matrizes.
inverso
Em Primeiro Lugar, O que é um inverso? Um número que é multiplicado pelo seu inverso é igual a 1. Note que cada número exceto 0 tem um inverso. Se você multiplicar uma matriz por seu inverso, o resultado é sua matriz identidade. O exemplo abaixo mostra como é o inverso dos escalares:
Mas não cada Matriz tem uma inversa. Você pode calcular o inverso de uma matriz se ela é uma “matriz quadrada” e se ela tem um inverso. Discutir quais matrizes têm um inverso seria, infelizmente, fora do escopo deste post.por que precisamos de um inverso? Porque não podemos dividir matrizes. Não há conceito de divisão por uma matriz, mas podemos multiplicar uma matriz por uma inversa, que resulta essencialmente na mesma coisa.
A imagem abaixo mostra uma matriz multiplicada pelo seu inverso, o que resulta em uma matriz de identidade 2-por-2.
Você pode facilmente calcular a inversa de uma Matriz (se ele tem uma), usando o Numpy. Heres the link to the documentation: https://docs.scipy.org/doc/numpy-1.14.0/reference/generated/numpy.linalg.inv.html.
Transpose
e por último, discutiremos a propriedade de transposição matricial. Esta é basicamente a imagem espelhada de uma matriz, ao longo de um eixo de 45 graus. É bastante simples conseguir a transposição de uma matriz. Sua primeira coluna é a primeira linha da matriz transposta e a segunda coluna é a segunda linha da matriz transposta. Uma matriz M*N é transformada em uma matriz n * m. Além disso, o elemento Aij de A é igual ao elemento Aji(transpose). A imagem abaixo ilustra que:
Resumo
Neste post, você aprendeu sobre os objetos matemáticos de Álgebra Linear que são utilizados em Aprendizado de Máquina. Aprendeste a multiplicar, dividir, adicionar e subtrair estes objectos matemáticos. Além disso, você aprendeu sobre as propriedades mais importantes das matrizes e por que elas nos permitem fazer cálculos mais eficientes. Além disso, você aprendeu o que são matrizes inversas e transpostas e o que você pode fazer com elas. Embora haja também outras partes da Álgebra Linear usadas na aprendizagem de Máquinas, este post lhe deu uma introdução adequada aos conceitos mais importantes.
Recursos
Aprendizagem Profunda (livro) — Ian Goodfellow, Josué Bengio, Arão Courville
Andrew Ng Máquina do curso de Aprendizagem no Coursera
https://en.wikipedia.org/wiki/Linear_algebra
https://www.mathsisfun.com/algebra/scalar-vector-matrix.html
https://www.quantstart.com/articles/scalars-vectors-matrices-and-tensors-linear-algebra-for-deep-learning-part-1
Este post foi originalmente publicado no meu blog (https://machinelearning-blog.com).