Maybaygiare.org

Blog Network

Algèbre Linéaire de base pour l’apprentissage en profondeur

  • Introduction
  • Objets mathématiques
  • Règles de calcul
  • Propriétés de multiplication matricielle
  • Inverser et Transposer
  • Résumé
  • Ressources

Introduction

L’algèbre linéaire est une forme continue de mathématiques et est appliquée dans toute la science et l’ingénierie car elle vous permet de modéliser des phénomènes naturels et pour les calculer efficacement. Parce que c’est une forme de mathématiques continues et non discrètes, beaucoup d’informaticiens n’ont pas beaucoup d’expérience avec elle. L’algèbre linéaire est également au cœur de presque tous les domaines des mathématiques comme la géométrie et l’analyse fonctionnelle. Ses concepts sont une condition préalable essentielle à la compréhension de la théorie de l’apprentissage automatique, en particulier si vous travaillez avec des algorithmes d’apprentissage profond. Vous n’avez pas besoin de comprendre l’algèbre linéaire avant de commencer l’Apprentissage automatique, mais à un moment donné, vous voudrez peut-être mieux comprendre comment les différents algorithmes d’apprentissage automatique fonctionnent réellement sous le capot.
Cela vous aidera à prendre de meilleures décisions lors du développement d’un système d’apprentissage automatique. Donc, si vous voulez vraiment être un professionnel dans ce domaine, vous devrez maîtriser les parties de l’algèbre linéaire qui sont importantes pour l’apprentissage automatique. En algèbre linéaire, les données sont représentées par des équations linéaires, qui se présentent sous la forme de matrices et de vecteurs. Par conséquent, vous traitez principalement de matrices et de vecteurs plutôt que de scalaires (nous aborderons ces termes dans la section suivante). Lorsque vous avez les bonnes bibliothèques, comme Numpy, à votre disposition, vous pouvez calculer très facilement la multiplication matricielle complexe avec seulement quelques lignes de code. (Note: cet article de blog ignore les concepts d’Algèbre linéaire qui ne sont pas importants pour l’apprentissage automatique.)

Objets mathématiques

Scalaire

Un scalaire est simplement un nombre unique. Par exemple 24.

Vecteur

Un vecteur est un tableau ordonné de nombres et peut être dans une ligne ou une colonne. Un vecteur n’a qu’un seul index, qui peut pointer vers une valeur spécifique dans le vecteur. Par exemple, V2 fait référence à la deuxième valeur dans le vecteur, qui est -8 dans le graphique ci-dessus.

Matrice

Une matrice est un tableau 2D ordonné de nombres et elle a deux indices. Le premier pointe vers la ligne et le second vers la colonne. Par exemple, M23 fait référence à la valeur de la deuxième ligne et de la troisième colonne, qui est 8 dans le graphique jaune ci-dessus. Une matrice peut avoir plusieurs nombres de lignes et de colonnes. Notez qu’un vecteur est également une matrice, mais avec une seule ligne ou une seule colonne.

La matrice dans l’exemple du graphique jaune est également une matrice 2 par 3 dimensions (lignes x colonnes). Ci-dessous, vous pouvez voir un autre exemple de matrice avec sa notation:

>

Tenseur

Vous pouvez considérer un Tenseur comme un tableau de nombres, disposés sur une grille régulière, avec un nombre variable d’axes. Un tenseur a trois indices, où le premier pointe vers la ligne, le second vers la colonne et le troisième vers l’axe. Par exemple, T232 pointe vers la deuxième ligne, la troisième colonne et le deuxième axe. Cela fait référence à la valeur 0 dans le tenseur de droite dans le graphique ci-dessous:

Le tenseur est le terme le plus général pour tous ces concepts ci-dessus car un Tenseur est un tableau multidimensionnel et il peut être un Vecteur et une matrice, en fonction du nombre d’indices dont il dispose. Par exemple, un Tenseur du premier ordre serait un vecteur (indice 1). Un Tenseur du second ordre est une matrice (2 indices) et les tenseurs du troisième ordre (3 indices) et supérieurs sont appelés Tenseurs d’ordre supérieur (3 indices ou plus).

Opérations matricielles-Scalaires

Si vous multipliez, divisez, soustrayez ou ajoutez un Scalaire à une matrice, vous le faites avec chaque élément de la matrice. L’image ci-dessous illustre parfaitement ceci pour la multiplication :

>

Multiplication Matrice-Vecteur

Multiplier une Matrice par un Vecteur peut être considéré comme multiplier chaque ligne de la Matrice par la colonne du Vecteur. La sortie sera un vecteur ayant le même nombre de lignes que la matrice. L’image ci-dessous montre comment cela fonctionne :

div>

Pour mieux comprendre le concept, nous allons passer par le calcul de la deuxième image. Pour obtenir la première valeur du Vecteur résultant (16), nous prenons les nombres du Vecteur que nous voulons multiplier avec la Matrice (1 et 5), et les multiplions avec les nombres de la première ligne de la Matrice (1 et 3). Cela ressemble à ceci:

1*1 + 3*5 = 16

Nous faisons de même pour les valeurs de la deuxième ligne de la matrice :

4*1 + 0*5 = 4

Et encore pour la troisième ligne de la matrice :

2*1 + 1*5 = 7

Voici un autre exemple:

And here is a kind of cheat sheet:

Matrix-Matrix Addition and Subtraction

Matrix-Matrix Addition and Subtraction is fairly easy and straightforward. L’exigence est que les matrices aient les mêmes dimensions et le résultat est une matrice qui a également les mêmes dimensions. Il vous suffit d’ajouter ou de soustraire chaque valeur de la première matrice avec sa valeur correspondante dans la deuxième matrice. Voir ci-dessous:

Matrice – Multiplication matricielle

Multiplier deux matrices ensemble n’est pas si difficile non plus si vous savez multiplier une matrice par un vecteur. Notez que vous ne pouvez multiplier les matrices ensemble que si le nombre de colonnes de la première Matrice correspond au nombre de lignes de la deuxième matrice. Le résultat sera une matrice avec le même nombre de lignes que la première Matrice et le même nombre de colonnes que la deuxième Matrice. Cela fonctionne comme suit:

Vous divisez simplement la deuxième Matrice en vecteurs-colonnes et multipliez la première matrice séparément par chacun de ces vecteurs. Ensuite, vous mettez les résultats dans une nouvelle matrice (sans les additionner!). L’image ci-dessous explique cette étape par étape:

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. Nous commencerons par expliquer ces concepts avec des Scalaires puis avec des Matrices car cela vous donnera une meilleure compréhension du processus.

Non commutative

La Multiplication scalaire est commutative mais la Multiplication matricielle ne l’est pas. Cela signifie que lorsque nous multiplions les scalaires, 7 * 3 est le même que 3 * 7. Mais lorsque nous multiplions les Matrices les unes par les autres, A *B n’est pas la même chose que B *A.

Associative

La multiplication scalaire et matricielle sont toutes deux associatives. Cela signifie que la multiplication scalaire 3 (5 * 3) est la même que (3 * 5)3 et que la multiplication matricielle A(B *C) est la même que (A *B)C.

Distributive

La multiplication scalaire et la multiplication matricielle sont également distributives. Cela signifie que
3 (5 +3) est le même que 3*5 + 3*3 et que A(B + C) est le même que A * B + A * C.

Matrice d’identité

La matrice d’identité est un type particulier de matrice, mais nous devons d’abord définir ce qu’est une identité. Le nombre 1 est une identité car tout ce que vous multipliez par 1 est égal à lui-même. Par conséquent, chaque matrice multipliée par une matrice d’identité est égale à elle-même. Par exemple, la matrice A fois sa Matrice d’identité est égale à A.

Vous pouvez repérer une matrice d’identité par le fait qu’elle en a le long de ses diagonales et que toutes les autres valeurs sont nulles. C’est aussi une « matrice carrée”, ce qui signifie que son nombre de lignes correspond à son nombre de colonnes.

Nous avons précédemment discuté que la multiplication matricielle n’est pas commutative mais il y a une exception, à savoir si nous multiplions une matrice par une matrice Identité. Par conséquent, l’équation suivante est vraie: A * I = I * A =A

Inverse et Transpose

L’inverse de la matrice et la transpose de la matrice sont deux types particuliers de propriétés matricielles. Encore une fois, nous commencerons par discuter de la façon dont ces propriétés se rapportent aux nombres réels, puis de la façon dont elles se rapportent aux matrices.

Inverse

Tout d’abord, qu’est-ce qu’un inverse ? Un nombre multiplié par son inverse est égal à 1. Notez que chaque nombre sauf 0 a un inverse. Si vous multipliez une matrice par son inverse, le résultat est sa matrice d’identité. L’exemple ci-dessous montre à quoi ressemble l’inverse des scalaires:

Mais toutes les matrices n’ont pas d’inverse. Vous pouvez calculer l’inverse d’une matrice si c’est une « matrice carrée” et si elle a un inverse. Discuter des matrices qui ont un inverse serait malheureusement hors du cadre de cet article.

Pourquoi avons-nous besoin d’un inverse? Parce que nous ne pouvons pas diviser les matrices. Il n’y a pas de concept de division par une Matrice mais on peut multiplier une matrice par un inverse, ce qui se traduit essentiellement par la même chose.

L’image ci-dessous montre une matrice multipliée par son inverse, ce qui donne une matrice d’identité 2 par 2.

Vous pouvez facilement calculer l’inverse d’une matrice (si elle en a une) en utilisant Numpy. Voici le lien vers la documentation : https://docs.scipy.org/doc/numpy-1.14.0/reference/generated/numpy.linalg.inv.html.

Transposer

Et enfin, nous discuterons de la propriété de Transposition de matrice. Il s’agit essentiellement de l’image miroir d’une matrice, le long d’un axe de 45 degrés. Il est assez simple d’obtenir la Transposition d’une matrice. Sa première colonne est la première ligne de la Transposition matricielle et la deuxième colonne est la deuxième ligne de la Transposition matricielle. Une matrice m*n est transformée en une matrice n*m. De plus, l’élément Aij de A est égal à l’élément Aji (transpose). L’image ci-dessous illustre que:

Résumé

Dans cet article, vous avez découvert les objets mathématiques de l’algèbre linéaire utilisés dans l’apprentissage automatique. Vous avez appris à multiplier, diviser, ajouter et soustraire ces objets mathématiques. De plus, vous avez appris les propriétés les plus importantes des matrices et pourquoi elles nous permettent de faire des calculs plus efficaces. En plus de cela, vous avez appris ce que sont les matrices inverses et transposées et ce que vous pouvez en faire. Bien qu’il existe également d’autres parties de l’algèbre linéaire utilisées dans l’apprentissage automatique, cet article vous a donné une bonne introduction aux concepts les plus importants.

Ressources

Apprentissage profond (livre) — Ian Goodfellow, Joshua Bengio, Aaron Courville

Linear Algebra for Machine Learning

Le cours d’apprentissage automatique d’Andrew Ng sur Coursera

https://en.wikipedia.org/wiki/Linear_algebra

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

Understanding Scalar and Vector Quantities

Cet article a été initialement publié sur mon blog (https://machinelearning-blog.com).

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.