TensorFlow - Fondements mathématiques

Il est important de comprendre les concepts mathématiques nécessaires à TensorFlow avant de créer l'application de base dans TensorFlow. Les mathématiques sont considérées comme le cœur de tout algorithme d'apprentissage automatique. C'est à l'aide des concepts de base des mathématiques qu'une solution pour un algorithme d'apprentissage automatique spécifique est définie.

Vecteur

Un tableau de nombres, qui est soit continu soit discret, est défini comme un vecteur. Les algorithmes d'apprentissage automatique traitent des vecteurs de longueur fixe pour une meilleure génération de sortie.

Les algorithmes d'apprentissage automatique traitent des données multidimensionnelles, de sorte que les vecteurs jouent un rôle crucial.

La représentation picturale du modèle vectoriel est comme indiqué ci-dessous -

Scalaire

Le scalaire peut être défini comme un vecteur unidimensionnel. Les scalaires sont ceux qui n'incluent que la magnitude et aucune direction. Avec les scalaires, nous ne sommes préoccupés que par la magnitude.

Des exemples de scalaires incluent les paramètres de poids et de taille des enfants.

Matrice

La matrice peut être définie comme des tableaux multidimensionnels, qui sont organisés au format de lignes et de colonnes. La taille de la matrice est définie par la longueur de ligne et la longueur de colonne. La figure suivante montre la représentation de toute matrice spécifiée.

Considérons la matrice avec «m» lignes et «n» colonnes comme mentionné ci-dessus, la représentation matricielle sera spécifiée comme «m * n matrice» qui définit également la longueur de la matrice.

Calculs mathématiques

Dans cette section, nous allons découvrir les différents calculs mathématiques dans TensorFlow.

Ajout de matrices

L'ajout de deux ou plusieurs matrices est possible si les matrices sont de même dimension. L'ajout implique l'ajout de chaque élément selon la position donnée.

Prenons l'exemple suivant pour comprendre le fonctionnement de l'ajout de matrices -

$$ Exemple: A = \ begin {bmatrix} 1 & 2 \\ 3 & 4 \ end {bmatrix} B = \ begin {bmatrix} 5 & 6 \\ 7 & 8 \ end {bmatrix} \: then \: A + B = \ begin {bmatrix} 1 + 5 & 2 + 6 \\ 3 + 7 & 4 + 8 \ end {bmatrix} = \ begin {bmatrix} 6 & 8 \\ 10 & 12 \ end {bmatrix} $$

Soustraction de matrices

La soustraction de matrices fonctionne de la même manière que l'addition de deux matrices. L'utilisateur peut soustraire deux matrices à condition que les dimensions soient égales.

$$ Exemple: A- \ begin {bmatrix} 1 & 2 \\ 3 & 4 \ end {bmatrix} B- \ begin {bmatrix} 5 & 6 \\ 7 & 8 \ end {bmatrix} \: then \: AB - \ begin {bmatrix} 1-5 & 2-6 \\ 3-7 & 4-8 \ end {bmatrix} - \ begin {bmatrix} -4 & -4 \\ - 4 & -4 \ end {bmatrix} $$

Multiplication des matrices

Pour que deux matrices A m * n et B p * q soient multipliables, n devrait être égal à p. La matrice résultante est -

C m * q

$$ A = \ begin {bmatrix} 1 & 2 \\ 3 & 4 \ end {bmatrix} B = \ begin {bmatrix} 5 & 6 \\ 7 & 8 \ end {bmatrix} $$

$$ c_ {11} = \ begin {bmatrix} 1 & 2 \ end {bmatrix} \ begin {bmatrix} 5 \\ 7 \ end {bmatrix} = 1 \ times5 + 2 \ times7 = 19 \: c_ {12} = \ begin {bmatrix} 1 & 2 \ end {bmatrix} \ begin {bmatrix} 6 \\ 8 \ end {bmatrix} = 1 \ times6 + 2 \ times8 = 22 $$

$$ c_ {21} = \ begin {bmatrix} 3 & 4 \ end {bmatrix} \ begin {bmatrix} 5 \\ 7 \ end {bmatrix} = 3 \ times5 + 4 \ times7 = 43 \: c_ {22} = \ begin {bmatrix} 3 & 4 \ end {bmatrix} \ begin {bmatrix} 6 \\ 8 \ end {bmatrix} = 3 \ times6 + 4 \ times8 = 50 $$

$$ C = \ begin {bmatrix} c_ {11} & c_ {12} \\ c_ {21} & c_ {22} \ end {bmatrix} = \ begin {bmatrix} 19 & 22 \\ 43 & 50 \ end {bmatrix} $$

Transposer la matrice

La transposée d'une matrice A, m * n est généralement représentée par AT (transpose) n * m et est obtenue en transposant les vecteurs colonnes en vecteurs lignes.

$$ Exemple: A = \ begin {bmatrix} 1 & 2 \\ 3 & 4 \ end {bmatrix} \: then \: A ^ {T} \ begin {bmatrix} 1 & 3 \\ 2 & 4 \ end { bmatrix} $$

Produit scalaire de vecteurs

Tout vecteur de dimension n peut être représenté par une matrice v = R ^ n * 1.

$$ v_ {1} = \ begin {bmatrix} v_ {11} \\ v_ {12} \\\ cdot \\\ cdot \\\ cdot \\ v_ {1n} \ end {bmatrix} v_ {2} = \ begin {bmatrix} v_ {21} \\ v_ {22} \\\ cdot \\\ cdot \\\ cdot \\ v_ {2n} \ end {bmatrix} $$

Le produit scalaire de deux vecteurs est la somme du produit des composants correspondants - Composants de même dimension et peut être exprimé comme

$$ v_ {1} \ cdot v_ {2} = v_1 ^ Tv_ {2} = v_2 ^ Tv_ {1} = v_ {11} v_ {21} + v_ {12} v_ {22} + \ cdot \ cdot + v_ {1n} v_ {2n} = \ displaystyle \ sum \ limits_ {k = 1} ^ n v_ {1k} v_ {2k} $$

L'exemple de produit scalaire de vecteurs est mentionné ci-dessous -

$$ Exemple: v_ {1} = \ begin {bmatrix} 1 \\ 2 \\ 3 \ end {bmatrix} v_ {2} = \ begin {bmatrix} 3 \\ 5 \\ - 1 \ end {bmatrix} v_ {1} \ cdot v_ {2} = v_1 ^ Tv_ {2} = 1 \ times3 + 2 \ times5-3 \ times1 = 10 $$