[PYTHON] Pourquoi quoi? Bibliothèque de calcul scientifique Deep Learning Édition Numpy

introduction

Désormais, j'expliquerai la bibliothèque de calcul scientifique utilisée en machine learning au travers de plusieurs articles. Cette fois, c'est l'édition Numpy. Nous nous concentrerons sur les fonctions utilisées dans l'apprentissage automatique, pas sur l'ensemble.

Aussi, j'écrirai le code dans Jupyter Notebook, donc Notez qu'il se comporte différemment de l'invite de commande.

table des matières

Confirmation de version

version


import numpy as np
np.__version__
#'1.16.4'

Principes de base de Numpy

Numpy est une bibliothèque qui gère les données de tableau multidimensionnel. Ceci est très pratique lorsqu'il s'agit de plusieurs tableaux et matrices. Si vous comprenez le calcul de la matrice, il entrera en douceur. (J'étais immature dans la procession, alors j'apprenais en regardant des manuels de mathématiques. Je calcule parfois sur papier.)

Importer Numpy


import numpy as np

Numpy se traduit souvent par le nom du module ** np **. (Je n'ai vu aucun autre nom de module.)

Définition du tableau


a = np.array([1,2,3,4,5])
# []N'oublie pas

production


>>>a
array([1, 2, 3, 4, 5])
>>>print(a)
[1 2 3 4 5]
>>>type(a) #Confirmation de type
numpy.ndarray

Au moment de l'arrangement multiple


>>>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]]

Afficher les lignes / colonnes


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

np.Créer automatiquement des éléments avec arange


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

np.Convertir la matrice avec remodelage


>>>d = np.arange(1,11,1)
array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10])
>>>d.shape #Afficher la forme du tableau avec la forme
(10,)
>>>d.reshape(2,5) #2 lignes x 5 colonnes
array([[ 1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10]])
>>>d.reshape(5,2) #5 lignes x 2 colonnes
array([[ 1,  2],
       [ 3,  4],
       [ 5,  6],
       [ 7,  8],
       [ 9, 10]])
>>>d.reshape(10,1) #Matrice de 10 lignes x 1 colonne
array([[ 1],
       [ 2],
       [ 3],
       [ 4],
       [ 5],
       [ 6],
       [ 7],
       [ 8],
       [ 9],
       [10]])

np.Vous pouvez également le faire avec aranger et remodeler


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

Calcul arithmétique

Vous pouvez également calculer entre les tableaux. Cependant, assurez-vous que le tableau que vous calculez correspond au nombre de lignes et de colonnes.

Arithmétique


>>>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 ])

diffuser

Vous pouvez calculer directement sur les données internes du tableau. Le produit interne sort toujours dans l'apprentissage automatique, alors apprenons comment cela fonctionne. Pour les produits internes A et B, faites correspondre le nombre de colonnes de A avec le nombre de lignes de B.

Produit matriciel(Produit intérieur, produit scalaire)


>>>​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])

produit intérieur


>>>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]])

finalement

Cette fois, j'ai écrit une partie simple de Numpy. Ensuite, j'écrirai le mécanisme de calcul du réseau de neurones à l'aide de la matrice.

Les références

Recommended Posts

Pourquoi quoi? Bibliothèque de calcul scientifique Deep Learning Édition Numpy
Distillateur de bibliothèque d'éclaircissement de modèles d'apprentissage profond
Apprentissage profond à partir de zéro (calcul des coûts)
Didacticiel "CNTK" de la bibliothèque d'apprentissage en profondeur de Microsoft
Deep Strengthening Learning 3 Édition pratique: Briser des blocs
Introduction au Deep Learning ~ Dropout Edition ~
(python) Principes de base du chaînage de la bibliothèque d'apprentissage en profondeur
Apprentissage profond à partir de zéro (propagation vers l'avant)
[Calcul scientifique / technique par Python] Résolution de problèmes de valeurs propres (généralisés) en utilisant numpy / scipy, en utilisant des bibliothèques
L'apprentissage en profondeur
[Calcul scientifique / technique par Python] Calcul de matrice inverse, numpy
[Python / Machine Learning] Pourquoi le Deep Learning # 1 Perceptron Neural Network