Matrixoperationen | 12 Matrixoperationen für Deep Learning

Inhalt

Dieser Artikel wurde im Rahmen der Data Science Blogathon

Einführung

Si comienza a aprender el tiefes Lernen, Das erste, was Sie kennen lernen werden, sind Konzepte der linearen Algebra, die Ihnen eine bessere Intuition darüber geben, wie Algorithmen tatsächlich unter der Haube funktionieren, damit Sie bessere Entscheidungen treffen können. De Deep Learning, ein rotes neuronales de avance es una red muy simple y muy útil. Unter der Haube, das vorwärts speisende neuronale Netz ist nur eine zusammengesetzte Funktion, was einige Matrizen und Vektoren miteinander multipliziert.

1pi5c92acx6burmzet8uqyq-1029944

Bildquelle: Verknüpfung

Es ist nicht so, dass Vektoren und Matrizen die einzige Möglichkeit sind, diese Operationen auszuführen, aber sie werden hocheffizient, wenn du es tust. Zu den zentralen Datenstrukturen hinter Deep Learning gehören

  • Skalare
  • Cartoon-Vektor,
  • Matrizen und
  • Spanner.

Matrixoperationen werden in der Beschreibung vieler Deep-Learning-Algorithmen verwendet.

1pur-9ctugamgjswow_ku-a-9057750

Bildquelle: Verknüpfung

Dann, wenn Sie wirklich ein Profi im Bereich Deep Learning werden wollen, Sie können nicht aufhören, einige dieser Konzepte zu beherrschen. Dann, In diesem Artikel, Wir werden wichtige Matrixoperationen der linearen Algebra diskutieren, die bei der Beschreibung von Deep-Learning-Methoden verwendet werden..

Inhaltsverzeichnis

Die Themen, die wir in diesem Artikel besprechen werden, sind wie folgt:

  • Was sind Matrizen?
  • Wie man verschiedene Matrizen addiert und subtrahiert?
  • So finden Sie die Form und Größe eines bestimmten Arrays?
  • So konvertieren Sie eine dichte Matrix in eine dünn besetzte Matrix?
  • So finden Sie die Transponierte einer Matrix?
  • So finden Sie den Mittelwert, die Varianz und Standardabweichung einer Matrix?
  • So finden Sie die Spur einer Matrix?
  • So extrahieren Sie minimale und maximale Elemente aus einem Array?
  • So finden Sie die Determinante einer Matrix?
  • Wie man die gegebenen Matrizen multipliziert?
  • So wenden Sie die jeweilige Operation auf jedes Element eines Arrays an?
  • So finden Sie die Inverse einer Matrix?
  • So formen Sie die Matrix auf eine andere Größe um?

Was sind Matrizen?

Arrays sind rechteckige Arrays, die aus Zahlen bestehen und als 2Norddakota-Reihenfolge der Spanner. Wenn m und n positive ganze Zahlen sind, nämlich, m, n ∈ ℕ dann enthält die m × n-Matrix m * n Anzahl Elemente, mit m Zeilen und n Spalten.

Die bildliche Darstellung einer m × n-Matrix ist unten gezeigt:

1x0q53aiuug4i6u7bmjjuzg-1440737

Bildquelle: Verknüpfung

Manchmal, anstatt die kompletten Komponenten des Arrays zu beschreiben, wir verwenden die folgende Abkürzung einer Matrix:

1rgmyzl1tmf4so67kxyuf1g-1913955

Zum Beispiel-

In diesem Beispiel, mit Hilfe von numpy Bibliothek, Wir werden ein Array erstellen. Y también verifique la Abmessungen de la matriz formada.

numpy als np importieren
Matrix = np.array([[45,34],[67,58]])
# Erstellen Sie eine Matrix
drucken("Die ursprüngliche Matrix ist gegeben durch n", Matrix)
# Überprüfen Sie die Dimension der Matrix
drucken("Die Dimension der gegebenen Matrix ist", matrix.ndim)

Produktion:

Die ursprüngliche Matrix ist gegeben durch 
 [[45 34]
 [67 58]]
Die Dimension der gegebenen Matrix ist 2

Matrixaddition und -subtraktion

Matrix-Addition-8367395

Bildquelle: Verknüpfung

In diesem Abschnitt, Wir werden die Addition und Subtraktion von Matrizen unter Verwendung der Methoden addieren und subtrahieren. Diese Methoden nehmen zwei Argumente und geben die Summe bzw. die Differenz dieser Matrizen zurück. Wenn die Form der Matrizen nicht gleich ist, wird ein Fehler ausgegeben, der besagt:, Addition oder Subtraktion ist nicht möglich.

matrix_1 = np.array([[45,34],[67,58]])
matrix_2 = np.array([[35,24],[57,48]])
# Addiere die beiden Matrizen
drucken("Das Ergebnis nach dem Hinzufügen von Matrix 1 und Matrix 2 ist gegeben durch n" , np.add(Matrix_1, Matrix_2))
# Subtrahiere eine Matrix von den anderen Matrizen
drucken("Das Ergebnis nach Subtraktion von Matrix 1 aus Matrix 2 ist gegeben durch n" , np.subtrahieren(Matrix_1, Matrix_2))
drucken("Das Ergebnis nach Subtraktion von Matrix 2 aus Matrix 1 ist gegeben durch n" , np.subtrahieren(Matrix_2, Matrix_1))

Produktion:

Das Ergebnis nach dem Hinzufügen von Matrix 1 und Matrix 2 wird gegeben von 
 [[ 80  58]
 [124 106]]
Das Ergebnis nach Subtraktion von Matrix 1 aus Matrix 2 wird gegeben von 
 [[10 10]
 [10 10]]
Das Ergebnis nach Subtraktion von Matrix 2 aus Matrix 1 wird gegeben von 
 [[-10 -10]
 [-10 -10]]

Form und Größe eines Arrays

In diesem Abschnitt, wir werden den weg finden, nämlich, die Anzahl der Zeilen und Spalten in der gegebenen Matrix und die Größe, nämlich, die Anzahl der Elemente im Array eines bestimmten Arrays.

Matrix = np.array([[45,34,75],[67,58,89]])
# Ermitteln der Anzahl der Zeilen und Spalten in der Matrix
drucken("Die Anzahl der Zeilen und Spalten in der gegebenen Matrix sind " + str(Matrix.Form[0]) + " und " + str(Matrix.Form[1]) + " bzw")
# Anzahl der Elemente in der Matrix
drucken("Die Größe der gegebenen Matrix ist" , Matrix.Größe)

Produktion:

Die Anzahl der Zeilen und Spalten in der gegebenen Matrix sind 2 und 3 bzw
Die Größe der gegebenen Matrix ist 6

Konvertieren einer gegebenen dichten Matrix in eine dünn besetzte Matrix

Lassen Sie uns zuerst verstehen, was genau es mit spärlicher und dichter Matrix bedeutet.

Eine Sparse-Matrix ist eine Matrix, die hauptsächlich aus Nullwerten besteht. Und dünn besetzte Matrizen unterscheiden sich von Matrizen mit meist von Null verschiedenen Werten, die als dichte Matrizen bekannt sind.

spärliche_matrix-3700565

Bildquelle: Verknüpfung

aus scipy import spärlich
# Erstellen Sie eine dichte Matrix
dichte_matrix = np.array([[0,0],[0,17],[78,0]])
# Konvertieren Sie eine dichte Matrix in eine spärliche Matrix
sparse_matrix = sparse.csr_matrix(dichte_matrix)
drucken("Die dünn besetzte Matrix, die einer gegebenen dichten Matrix entspricht, ist gegeben durch n" , spärliche_matrix)

Produktion:

Die einer gegebenen dichten Matrix entsprechende dünn besetzte Matrix ist gegeben durch 
   (1, 1)	17
  (2, 0)	78

Matrix transponieren

En Matrix-Transponierung, wir können einen Zeilenvektor in einen Spaltenvektor umwandeln und umgekehrt, nämlich, Zeile wird zu Spalten und Spalten werden zu Zeilen.

Haben wir die Matrix A = [einij]mxn, dann ist die Transponierte dieser Matrix AT = [einvon dem]n × m

1vubyxk3gxhnuqvstmcs2gg-1953878Bildquelle: Verknüpfung

numpy als np importieren
Matrix = np.array([[45,34],[67,58]])
drucken("Die ursprüngliche Matrix ist gegeben durch n" , Matrix)
drucken("Die transponierte Matrix der gegebenen Matrix ist n" , Matrix.T)

Produktion:

Die ursprüngliche Matrix ist gegeben durch 
 [[45 34]
 [67 58]]
Die transponierte Matrix der gegebenen Matrix ist 
 [[45 67]
 [34 58]]

Medien, Varianz und Standardabweichung einer Matrix

In diesem Abschnitt, Wir werden versuchen, einige statistische Dinge zu finden, die sich auf ein Array beziehen. Hier berechnen wir den Mittelwert, die Varianz und Standardabweichung der Matrix unter Verwendung der numpy-Funktionen.

numpy als np importieren
Matrix = np.array([[45,34],[67,58], [23,89]])
# Ermitteln des Mittelwertes von Matrixelementen
drucken("Der Mittelwert der Elemente einer Matrix ist gleich", np.mean(Matrix))
# Ermitteln der Varianz von Matrixelementen
drucken("Die Varianz der Elemente einer Matrix ist gleich", np.var(Matrix))
# Ermitteln der Standardabweichung eines Matrixelements
drucken("Die Standardabweichung der Elemente einer Matrix ist gleich", z.B. std(Matrix))
drucken("Die Standardabweichung der Elemente einer Matrix ist gleich", np.sqrt(np.var(Matrix)))

Produktion:

Der Mittelwert der Elemente einer Matrix ist gleich 52.666666666666664
Die Varianz der Elemente einer Matrix ist gleich 473.5555555555555
Die Standardabweichung der Elemente einer Matrix ist gleich 21.761331658599286
Die Standardabweichung der Elemente einer Matrix ist gleich 21.761331658599286

Spur einer Matrix

Matrix-Trace-Beispiel-8898186

Bildquelle: Verknüpfung

In diesem Abschnitt, wird versuchen, die Spur einer Matrix zu finden, nämlich, die Summe aller diagonalen Elemente, die in einer gegebenen Matrix vorhanden sind.

numpy als np importieren
Matrix = np.array([[1,2,3],[4,5,6], [7,8,9]])
# Holen Sie sich die diagonalen Elemente einer Matrix
drucken("Die diagonalen Elemente einer gegebenen Matrix sind n", matrix.diagonal())
# Finden der Spur der Matrix
drucken("Die Spur einer gegebenen Matrix ist gleich", matrix.diagonal().Summe())

Produktion:

Die diagonalen Elemente einer gegebenen Matrix sind 
 [1 5 9]
Die Spur einer gegebenen Matrix ist gleich 15

Finden Sie minimale und maximale Elemente einer Matrix

In diesem Abschnitt, Wir werden versuchen, die minimalen und maximalen Elemente einer Matrix zu finden, nämlich, der Artikel mit dem höchsten und niedrigsten Wert unter allen Artikeln.

numpy als np importieren
Matrix = np.array([[1,2,3],[4,5,6], [7,8,9]])
# Finden Sie das minimale Element der Matrix
drucken("Das minimale Element in einer gegebenen Matrix ist", z.B. min(Matrix))
# Finden Sie das maximale Element der Matrix
drucken("Das maximale Element in einer gegebenen Matrix ist", np.max(Matrix))

Produktion:

Das minimale Element in einer gegebenen Matrix ist 1
Das maximale Element in einer gegebenen Matrix ist 9

Determinante einer Matrix

b2f18ad26042cabfa7a4aa15d62e752c-6279776

Bildquelle: Verknüpfung

In diesem Abschnitt, Wir werden versuchen, die Determinante einer Matrix zu finden. Hier, die Determinante berechnen, Wir verwenden das Modul der linearen Algebra, das im Numpy-Paket enthalten ist.

numpy als np importieren
Matrix = np.array([[1,2,4],[3,4,6], [7,8,5]])
# Finden Sie die Determinante der Matrix
drucken("Die Determinante der gegebenen Matrix ist gleich", np.linalg.det(Matrix))

Produktion:

Die Determinante der gegebenen Matrix ist gleich 9.999999999999993

Matrix-Multiplikation

Eine Reihe von Formen (mxn) und eine Matrix B der Form (nxp) multipliziert von C so (mxp). Denken Sie daran, dass beim Multiplizieren der Matrizen die Anzahl der Spalten in der ersten Matrix gleich der Anzahl der Zeilen in der zweiten Matrix ist, um die Multiplikation fehlerfrei durchzuführen.

196qrphcvxbvm01i1luks8g-4855839

Bildquelle: Verknüpfung

In diesem Abschnitt, Wir werden versuchen, die Multiplikation zweier Matrizen zu finden.

numpy als np importieren
matrix_1 = np.array([[45,34],[67,58]])
matrix_2 = np.array([[35,24],[57,48]])
drucken("Die Matrixmultiplikation von zwei gegebenen Matrizen ist gegeben durch n", z.B. matmul(Matrix_1, Matrix_2))

Produktion:

Die Matrixmultiplikation von zwei gegebenen Matrizen ist gegeben durch 
 [[3513 2712]
 [5651 4392]]

Intelligente Operationen mit Elementen mithilfe einer Inline-Funktion (Lambda)

In diesem Beispiel, Wir werden versuchen, jedem Element eines Arrays einen bestimmten Wert hinzuzufügen.

numpy als np importieren
Matrix = np.array([[1,2,4],[3,4,6], [7,8,5]])
Addition = Lambda i:i+5
add_5_vec = np.vectorize(Zusatz)
drucken("Die Matrix nach dem Hinzufügen 5 zu allen seinen Elementen ist n", add_5_vec(Matrix))

Produktion:

Die Matrix nach dem Hinzufügen 5 zu all seinen Elementen ist 
 [[ 6  7  9]
 [ 8  9 11]
 [12 13 10]]

Inverse einer Matrix

In diesem Abschnitt, Wir werden versuchen, die Inverse einer Matrix zu finden.

numpy als np importieren
Matrix = np.array([[1,2,4],[3,4,6], [7,8,5]])
# Die Inverse einer Matrix finden
drucken("Die inverse Matrix einer gegebenen Matrix ist n", np.linalg.inv(Matrix))

Produktion:

Die inverse Matrix einer gegebenen Matrix ist 
 [[-2.8  2.2 -0.4]
 [ 2.7 -2.3  0.6]
 [-0.4  0.6 -0.2]]

Forme eine gegebene Matrix um

In diesem Abschnitt, Wir werden versuchen, eine gegebene Matrix umzuformen, nämlich, ändere die Form der gegebenen Matrix. Hier müssen wir jedoch beachten, dass die Größe nach der Umformung der Matrix konstant bleibt, nämlich, die Anzahl der Elemente bleibt gleich.

numpy als np importieren
Matrix = np.array([[1,2,4],[3,4,6],[7,8,5],[9,2,1]])
drucken("Die umgeformte Matrix ist gegeben durch n", matrix.reshape(6,2))

Produktion:

Die umgeformte Matrix ist gegeben durch 
 [[1 2]
 [4 3]
 [4 6]
 [7 8]
 [5 9]
 [2 1]]

Andere Blogbeiträge von mir

Du kannst auch meine vorherigen Blogbeiträge lesen.

Frühere Data Science-Blog-Posts.

LinkedIn

Hier ist es mein Linkedin-Profil falls du dich mit mir verbinden möchtest. Ich freue mich, mit Ihnen verbunden zu sein.

Email

Für jede Anfrage, Sie können mir eine E-Mail senden an Google Mail.

Abschließende Anmerkungen

Danke fürs Lesen!

Ich hoffe der Artikel hat dir gefallen. Wenn du möchtest, teile es auch mit deinen Freunden. Alles was nicht erwähnt wurde oder du deine Gedanken teilen möchtest? Fühlen Sie sich frei, unten einen Kommentar zu hinterlassen und ich melde mich bei Ihnen. 😉

Die in diesem Artikel gezeigten Medien sind nicht Eigentum von DataPeaker und werden nach Ermessen des Autors verwendet.

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.

Datenlautsprecher