Opérations matricielles | 12 opérations matricielles pour l'apprentissage en profondeur

Contenu

Cet article a été publié dans le cadre du Blogathon sur la science des données

introduction

Si comienza a aprender el l'apprentissage en profondeur, la première chose à laquelle vous serez exposé sont des concepts d'algèbre linéaire qui vous donnent une meilleure intuition sur la façon dont les algorithmes fonctionnent réellement sous le capot, vous permettant de prendre de meilleures décisions. Apprentissage en profondeur, ongle neuronal rouge de avance es una red muy simple y muy útil. Sous le capot, le réseau de neurones d'alimentation directe n'est qu'une fonction composite, qui multiplie des matrices et des vecteurs ensemble.

1pi5c92acx6burmzet8uqyq-1029944

Source de l'image: Relier

Ce n'est pas que les vecteurs et les matrices soient le seul moyen d'effectuer ces opérations, mais ils deviennent très efficaces si vous le faites. Les structures de données centrales derrière l'apprentissage en profondeur comprennent

  • Scalaires
  • Vecteur de dessin animé,
  • Matrices et
  • Tendeurs.

Les opérations matricielles sont utilisées dans la description de nombreux algorithmes d'apprentissage en profondeur.

1pur-9ctugamgjswow_ku-a-9057750

Source de l'image: Relier

Ensuite, si vous voulez vraiment être un professionnel dans le domaine du Deep Learning, vous ne pouvez pas arrêter de maîtriser certains de ces concepts. Ensuite, dans cet article, Nous discuterons des opérations matricielles d'algèbre linéaire importantes qui sont utilisées dans la description des méthodes d'apprentissage en profondeur..

Table des matières

Les sujets que nous aborderons dans cet article sont les suivants:

  • Que sont les matrices?
  • Comment additionner et soustraire différentes matrices?
  • Comment trouver la forme et la taille d'un tableau donné?
  • Comment convertir une matrice dense en une matrice creuse?
  • Comment trouver la transposée d'une matrice?
  • Comment trouver la moyenne, la variance et l'écart type d'une matrice?
  • Comment trouver la trace d'une matrice?
  • Comment extraire les éléments minimum et maximum d'un tableau?
  • Comment trouver le déterminant d'une matrice?
  • Comment multiplier les matrices données?
  • Comment appliquer l'opération particulière à chaque élément d'un tableau?
  • Comment trouver l'inverse d'une matrice?
  • Comment remodeler la matrice à une taille différente?

Que sont les matrices?

Les tableaux sont des tableaux rectangulaires constitués de nombres et peuvent être considérés comme 2Dakota du nord-commande des tendeurs. Si m et n sont des entiers positifs, c'est-à-dire, m, n ∈ ℕ alors la matrice m × n contient m * n nombre d'éléments, avec m nombre de lignes et n nombre de colonnes.

La représentation imagée d'une matrice m × n est montrée ci-dessous:

1x0q53aiuug4i6u7bmjjuzg-1440737

Source de l'image: Relier

Parfois, au lieu de décrire les composants complets du tableau, nous utilisons l'abréviation suivante d'une matrice:

1rgmyzl1tmf4so67kxyuf1g-1913955

Par exemple-

Dans cet exemple, avec l'aide de la bibliothèque numpy, nous allons créer un tableau. Y también verifique la dimension de la matriz formada.

importer numpy en tant que np
matrice = np.tableau([[45,34],[67,58]])
# Créer une matrice
imprimer("La matrice originale est donnée par n", matrice)
# Vérifier la dimension de la matrice
imprimer("La dimension de la matrice donnée est", matrice.ndim)

Production:

La matrice originale est donnée par 
 [[45 34]
 [67 58]]
La dimension de la matrice donnée est 2

Addition et soustraction matricielles

matrice-addition-8367395

Source de l'image: Relier

Dans cette section, nous allons effectuer des additions et des soustractions de matrices en utilisant le méthodes ajouter et soustraire. Ces méthodes prennent deux arguments et renvoient respectivement la somme et la différence de ces matrices. Si la forme des matrices n'est pas la même, cela renvoie une erreur qui dit, l'addition ou la soustraction n'est pas possible.

matrice_1 = np.tableau([[45,34],[67,58]])
matrice_2 = np.tableau([[35,24],[57,48]])
# Additionner les deux matrices
imprimer("Le résultat après avoir ajouté la matrice 1 et matrice 2 est donné par n" , np.ajouter(matrice_1, matrice_2))
# Soustraire une matrice des autres matrices
imprimer("Le résultat après soustraction de la matrice 1 de la matrice 2 est donné par n" , np.soustraire(matrice_1, matrice_2))
imprimer("Le résultat après soustraction de la matrice 2 de la matrice 1 est donné par n" , np.soustraire(matrice_2, matrice_1))

Production:

Le résultat après avoir ajouté la matrice 1 et matrice 2 est donné par 
 [[ 80  58]
 [124 106]]
Le résultat après soustraction de la matrice 1 de la matrice 2 est donné par 
 [[10 10]
 [10 10]]
Le résultat après soustraction de la matrice 2 de la matrice 1 est donné par 
 [[-10 -10]
 [-10 -10]]

Forme et taille d'un tableau

Dans cette section, nous trouverons le chemin, c'est-à-dire, le nombre de lignes et de colonnes dans la matrice donnée et la taille, c'est-à-dire, le nombre d'éléments dans le tableau d'un tableau donné.

matrice = np.tableau([[45,34,75],[67,58,89]])
# Trouver le nombre de lignes et de colonnes dans la matrice
imprimer("Le nombre de lignes et de colonnes dans la matrice donnée est " + str(matrice.forme[0]) + " et " + str(matrice.forme[1]) + " respectivement")
# Nombre d'éléments dans la matrice
imprimer("La taille de la matrice donnée est" , matrice.taille)

Production:

Le nombre de lignes et de colonnes dans la matrice donnée est 2 et 3 respectivement
La taille de la matrice donnée est 6

Conversion d'une matrice dense donnée en une matrice creuse

Comprenons d'abord ce que cela signifie exactement par matrice clairsemée et dense.

Une matrice creuse est une matrice qui se compose principalement de valeurs nulles. Et les matrices creuses sont différentes des matrices avec pour la plupart des valeurs non nulles, appelées matrices denses.

sparse_matrix-3700565

Source de l'image: Relier

de scipy importation clairsemée
# Créer une matrice dense
matrice_dense = np.array([[0,0],[0,17],[78,0]])
# Convertir Matrice dense en Matrice clairsemée
sparse_matrix = sparse.csr_matrix(matrice_dense)
imprimer("La matrice creuse correspondant à une matrice dense donnée est donnée par n" , sparse_matrix)

Production:

La matrice creuse correspondant à une matrice dense donnée est donnée par 
   (1, 1)	17
  (2, 0)	78

Transposition matricielle

En Matrix Transpose, nous pouvons convertir un vecteur ligne en vecteur colonne et vice versa, c'est-à-dire, la ligne devient des colonnes et les colonnes deviennent des lignes.

Si nous avons la matrice A = [uneje]mxn, alors la transposée de cette matrice est AT = [unedu]n × m

1vubyxk3gxhnuqvstmcs2gg-1953878Source de l'image: Relier

importer numpy en tant que np
matrice = np.tableau([[45,34],[67,58]])
imprimer("La matrice originale est donnée par n" , matrice)
imprimer("La matrice transposée de la matrice donnée est n" , matrice.T)

Production:

La matrice originale est donnée par 
 [[45 34]
 [67 58]]
La matrice de transposition de la matrice donnée est 
 [[45 67]
 [34 58]]

Médias, variance et écart type d'une matrice

Dans cette section, nous allons essayer de trouver des éléments statistiques liés à un tableau. Ici on calcule la moyenne, la variance et l'écart type de la matrice à l'aide des fonctions numpy.

importer numpy en tant que np
matrice = np.tableau([[45,34],[67,58], [23,89]])
# Trouver la moyenne des éléments d'une matrice
imprimer("La moyenne des éléments d'une matrice est égale à", np.moyenne(matrice))
# Trouver la variance des éléments d'une matrice
imprimer("La variance des éléments d'une matrice est égale à", np.var(matrice))
# Trouver l'écart type des éléments d'une matrice
imprimer("L'écart type des éléments d'une matrice est égal à", par exemple std(matrice))
imprimer("L'écart type des éléments d'une matrice est égal à", np.sqrt(np.var(matrice)))

Production:

La moyenne des éléments d'une matrice est égale à 52.666666666666664
La variance des éléments d'une matrice est égale à 473.5555555555555
L'écart type des éléments d'une matrice est égal à 21.761331658599286
L'écart type des éléments d'une matrice est égal à 21.761331658599286

Trace d'une matrice

matrice-trace-exemple-8898186

Source de l'image: Relier

Dans cette section, va essayer de trouver la trace d'une matrice, c'est-à-dire, la somme de tous les éléments diagonaux présents dans une matrice donnée.

importer numpy en tant que np
matrice = np.tableau([[1,2,3],[4,5,6], [7,8,9]])
# Obtenir les éléments diagonaux d'une matrice
imprimer("Les éléments diagonaux d'une matrice donnée sont n", matrice.diagonale())
# Trouver la trace de la matrice
imprimer("La trace d'une matrice donnée est égale à", matrice.diagonale().somme())

Production:

Les éléments diagonaux d'une matrice donnée sont 
 [1 5 9]
La trace d'une matrice donnée est égale à 15

Trouver les éléments minimum et maximum d'une matrice

Dans cette section, on va essayer de trouver les éléments minimum et maximum d'une matrice, c'est-à-dire, l'élément avec la valeur la plus élevée et la plus faible parmi tous les éléments.

importer numpy en tant que np
matrice = np.tableau([[1,2,3],[4,5,6], [7,8,9]])
# Trouver l'élément minimum de la matrice
imprimer("L'élément minimum dans une matrice donnée est", par exemple min(matrice))
# Trouver l'élément maximum de la matrice
imprimer("L'élément maximum dans une matrice donnée est", np.max(matrice))

Production:

L'élément minimum dans une matrice donnée est 1
L'élément maximum dans une matrice donnée est 9

Déterminant d'une matrice

b2f18ad26042cabfa7a4aa15d62e752c-6279776

Source de l'image: Relier

Dans cette section, on va essayer de trouver le déterminant d'une matrice. Ici, pour calculer le déterminant, on utilise le module d'algèbre linéaire présent dans le package Numpy.

importer numpy en tant que np
matrice = np.tableau([[1,2,4],[3,4,6], [7,8,5]])
# Trouver le déterminant de la matrice
imprimer("Le déterminant de la matrice donnée est égal à", np.linalg.det(matrice))

Production:

Le déterminant de la matrice donnée est égal à 9.999999999999993

Multiplication matricielle

Un éventail de forme (mxn) et une matrice B de forme (nxp) multiplié à partir de C donc (mxp). Rappelez-vous que lors de la multiplication des matrices, c'est que le nombre de colonnes dans la première matrice est le même que le nombre de lignes dans la deuxième matrice pour effectuer la multiplication sans erreurs.

196qrphcvxbvm01i1luks8g-4855839

Source de l'image: Relier

Dans cette section, on va essayer de trouver la multiplication de deux matrices.

importer numpy en tant que np
matrice_1 = np.tableau([[45,34],[67,58]])
matrice_2 = np.tableau([[35,24],[57,48]])
imprimer("La multiplication matricielle de deux matrices données est donnée par n", par exemple matmul(matrice_1, matrice_2))

Production:

La multiplication matricielle de deux matrices données est donnée par 
 [[3513 2712]
 [5651 4392]]

Opérations intelligentes avec des éléments utilisant une fonction en ligne (Lambda)

Dans cet exemple, on va essayer d'ajouter une certaine valeur à chacun des éléments d'un tableau.

importer numpy en tant que np
matrice = np.tableau([[1,2,4],[3,4,6], [7,8,5]])
addition = lambda i:i+5
add_5_vec = np.vectorize(une addition)
imprimer("La matrice après ajout 5 à tous ses éléments est n", add_5_vec(matrice))

Production:

La matrice après ajout 5 à tous ses éléments est 
 [[ 6  7  9]
 [ 8  9 11]
 [12 13 10]]

Inverse d'une matrice

Dans cette section, on va essayer de trouver l'inverse d'une matrice.

importer numpy en tant que np
matrice = np.tableau([[1,2,4],[3,4,6], [7,8,5]])
# Trouver l'inverse d'une matrice
imprimer("La matrice inverse d'une matrice donnée est n", np.linalg.inv(matrice))

Production:

La matrice inverse d'une matrice donnée est 
 [[-2.8  2.2 -0.4]
 [ 2.7 -2.3  0.6]
 [-0.4  0.6 -0.2]]

Remodeler une matrice donnée

Dans cette section, on va essayer de remodeler une matrice donnée, c'est-à-dire, changer la forme de la matrice donnée. Mais ici, nous devons remarquer que la taille reste constante après le remodelage de la matrice, c'est-à-dire, le nombre d'éléments reste le même.

importer numpy en tant que np
matrice = np.tableau([[1,2,4],[3,4,6],[7,8,5],[9,2,1]])
imprimer("La matrice reformée est donnée par n", matrice.remodeler(6,2))

Production:

La matrice reformée est donnée par 
 [[1 2]
 [4 3]
 [4 6]
 [7 8]
 [5 9]
 [2 1]]

D'autres articles de mon blog

Vous pouvez également consulter mes précédents articles de blog.

Anciens articles de blog sur la science des données.

LinkedIn

C'est ici mon profil Linkedin au cas où vous voudriez me joindre. Je serai heureux d'être connecté avec vous.

Courrier électronique

Pour toute requête, vous pouvez m'envoyer un email à Gmail.

Remarques finales

Merci pour la lecture!

j'espère que l'article vous a plu. Si ça te plaît, partagez-le avec vos amis aussi. Tout ce qui n'est pas mentionné ou voulez-vous partager vos pensées? N'hésitez pas à commenter ci-dessous et je vous répondrai. ??

Les médias présentés dans cet article ne sont pas la propriété de DataPeaker et sont utilisés à la discrétion de l'auteur.

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.

Haut-parleur de données