[PYTHON] Warum was? Deep Learning Scientific Calculation Library Numpy Edition

Einführung

Von nun an werde ich die wissenschaftliche Berechnungsbibliothek, die beim maschinellen Lernen verwendet wird, in mehreren Artikeln erläutern. Diesmal ist Numpy Edition. Wir werden uns auf die Funktionen konzentrieren, die beim maschinellen Lernen verwendet werden, nicht auf das Ganze.

Außerdem werde ich den Code in Jupyter Notebook schreiben, also Beachten Sie, dass es sich anders verhält als die Eingabeaufforderung.

Inhaltsverzeichnis

Versionsbestätigung

version


import numpy as np
np.__version__
#'1.16.4'

Numpy Basics

Numpy ist eine Bibliothek, die mehrdimensionale Array-Daten verarbeitet. Dies ist sehr praktisch, wenn Sie mit mehreren Arrays und Matrizen arbeiten. Wenn Sie die Berechnung der Matrix verstehen, wird sie reibungslos eingehen. (Ich war in der Prozession unreif, also lernte ich beim Betrachten von Mathematiklehrbüchern. Ich rechne manchmal auf Papier.)

Numpy importieren


import numpy as np

Numpy übersetzt oft in den Modulnamen ** np **. (Ich habe keine anderen Modulnamen gesehen.)

Array-Definition


a = np.array([1,2,3,4,5])
# []Vergiss nicht

Ausgabe


>>>a
array([1, 2, 3, 4, 5])
>>>print(a)
[1 2 3 4 5]
>>>type(a) #Typbestätigung
numpy.ndarray

Zum Zeitpunkt der Mehrfachanordnung


>>>b = np.array([[1,2,3,4,5],[6,7,8,9,10]])
>>>b
array([[ 1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10]])
>>>print(b)
[[ 1  2  3  4  5]
 [ 6  7  8  9 10]]

Zeilen / Spalten anzeigen


>>>a.shape
(5,)
>>>b.shape
(2,5)

np.Erstellen Sie automatisch Elemente mit Bereich


>>>np.arange(1,10,2)
array([1, 3, 5, 7, 9])
>>>np.arange(2,11,2)
array([ 2,  4,  6,  8, 10])

np.Konvertieren Sie die Matrix mit Umformung


>>>d = np.arange(1,11,1)
array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10])
>>>d.shape #Zeigen Sie die Form des Arrays mit Form an
(10,)
>>>d.reshape(2,5) #2 Zeilen x 5 Spalten
array([[ 1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10]])
>>>d.reshape(5,2) #5 Zeilen x 2 Spalten
array([[ 1,  2],
       [ 3,  4],
       [ 5,  6],
       [ 7,  8],
       [ 9, 10]])
>>>d.reshape(10,1) #10 Zeilen x 1 Spaltenmatrix
array([[ 1],
       [ 2],
       [ 3],
       [ 4],
       [ 5],
       [ 6],
       [ 7],
       [ 8],
       [ 9],
       [10]])

np.Sie können dies auch mit Anordnen und Umformen tun


>>>np.arange(1,10).reshape((3,3))
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])

Arithmetische Berechnung

Sie können auch zwischen Arrays berechnen. Stellen Sie jedoch sicher, dass das von Ihnen berechnete Array mit der Anzahl der Zeilen und Spalten übereinstimmt.

Arithmetik


>>>x = np.array([1.0,2.0,3.0])
>>>y = np.array([4.0,5.0,6.0])
>>>x+y
array([5., 7., 9.])
>>>x*y
array([ 4., 10., 18.])
>>>x-y
array([-3., -3., -3.])
>>>x/y
array([0.25, 0.4 , 0.5 ])

Übertragung

Sie können direkt auf den internen Daten des Arrays berechnen. Das innere Produkt kommt beim maschinellen Lernen immer zum Tragen. Lernen wir also, wie es funktioniert. Passen Sie für die inneren Produkte A und B die Anzahl der Spalten in A an die Anzahl der Zeilen in B an.

Matrix Produkt(Innenprodukt, Punktprodukt)


>>>​z = np.array([1,2,3])
>>>z.shape
(3,)
>>>v =np.array([[2],[3],[4]])
>>>v.shape
(3, 1)
>>>np.dot(z,v)
array([20])

Innenprodukt


>>>e = np.array([[1,2,3],[4,5,6]])
>>>e
array([[1, 2, 3],
       [4, 5, 6]])
>>>f =np.array([[3,3],[3,3],[3,3]])
>>>f
array([[3, 3],
       [3, 3],
       [3, 3]])
np.dot(e,f)
array([[18, 18],
       [45, 45]])

Schließlich

Diesmal habe ich einen einfachen Teil von Numpy geschrieben. Als nächstes werde ich den Berechnungsmechanismus des neuronalen Netzwerks unter Verwendung der Matrix schreiben.

Verweise

Recommended Posts

Warum was? Deep Learning Scientific Calculation Library Numpy Edition
Deep Learning Model Lightening Library Distiller
Tiefes Lernen von Grund auf neu (Kostenberechnung)
Microsoft Deep Learning Library "CNTK" Tutorial
Deep Strengthing Learning 3 Praktische Ausgabe: Block Breaking
Einführung in Deep Learning ~ Dropout Edition ~
(Python) Deep Learning Library Chainer-Grundlagen Grundlagen
Tiefes Lernen von Grund auf neu (Vorwärtsausbreitung)
[Wissenschaftlich-technische Berechnung mit Python] Lösen (verallgemeinerter) Eigenwertprobleme mit numpy / scipy mithilfe von Bibliotheken
Tiefes Lernen
[Wissenschaftlich-technische Berechnung mit Python] Inverse Matrixberechnung, numpy
[Python / Maschinelles Lernen] Warum Deep Learning # 1 Perceptron Neural Network