[PYTHON] Pensée Perceptron dans Covector

Nous passerons en revue l'idée de produit interne par calcul de table et de covecteur par fonction, et examinerons l'opération logique par Perceptron de ce point de vue. Joindre le calcul par NumPy.

Ceci est une série d'articles.

  1. Produit interne à penser par estimation
  2. Covector pour penser avec fonction
  3. Matrice pour penser avec fonction
  4. Dualité en fonction
  5. Perceptron pense avec covector ← Cet article

Cet article a été rédigé dans le but d'aider les livres suivants:

Calcul d'estimation

Je republierai l'exemple précédent.

Nom du produit Prix unitaire(Société A) Quantité total
crayon 30 12 360
la gomme 50 10 500
Remarque 150 5 750
Somme finale 1,610

Si vous réécrivez le prix unitaire et la quantité sous forme de vecteur, il s'agit du calcul du produit intérieur.

\overbrace{\left(\begin{matrix}30 \\ 50 \\150\end{matrix}\right)}^{Prix unitaire}\cdot
\overbrace{\left(\begin{matrix}12 \\ 10 \\ 5\end{matrix}\right)}^{Quantité}
=\overbrace{30×12}^{total}+\overbrace{50×10}^{total}+\overbrace{150×5}^{total}
=\overbrace{1610}^{Somme finale}

NumPy

Voici le calcul dans NumPy.

>>> from numpy import *
>>> dot([30,50,150],[12,10,5])
1610

Ne demandez pas le total à la fois, mais trouvez le sous-total par le produit Adamal.

>>> array([30,50,150])*[12,10,5]
array([360, 500, 750])

Le total des sous-totaux donne le total.

>>> sum(array([30,50,150])*[12,10,5])
1610

Fonctionnalisation par covector

En attribuant le prix unitaire de l'entreprise A à un vecteur horizontal (covecteur) appelé «A», prendre le produit interne peut être assimilé à l'évaluation de la fonction.

>>> A=[30,50,150]
>>> dot(A,[12,10,5])
1610
A
 \left(\begin{matrix}12 \\ 10 \\ 5\end{matrix}\right)
=\left(\begin{matrix}30 &  50 &  150\end{matrix}\right)
 \left(\begin{matrix}12 \\ 10 \\ 5\end{matrix}\right)
=1610

Comparaison de nombre

Prenons un cas où le nombre est modifié et comparé.

Nom du produit Prix unitaire Quantité ① Quantité ② Sous-total ① Sous-total ②
crayon 30 12 9 360 270
la gomme 50 10 13 500 650
Remarque 150 5 4 750 600
Somme finale 1,610 1,520

Dans le calcul utilisant covector, vous pouvez calculer en une fois en passant une matrice dans laquelle le vecteur de l'argument est disposé côte à côte.

>>> dot(A,array([[12,10,5],[9,13,4]]).T)
array([1610, 1520])
\begin{align}
A\left(\begin{array}{c|c}12 & 9 \\ 10 & 13 \\ 5 & 4\end{array}\right)
&=\left(\begin{matrix}
    A\left(\begin{matrix}12 \\ 10 \\ 5\end{matrix}\right) &
    A\left(\begin{matrix} 9 \\ 13 \\ 4\end{matrix}\right)
  \end{matrix}\right) \\
&=\left(\begin{matrix}1610 & 1520\end{matrix}\right)
\end{align}

Ceci est la critique.

AND

Considérez ʻAND` comme une opération logique. Affiche la table des produits.

A B A&B
0 0 0
0 1 0
1 0 0
1 1 1

C'est une sorte de calcul qui ne peut être exprimé par covector. Par conséquent, un post-traitement est ajouté.

L'idée est d'ajouter A et B, de savoir s'il est supérieur à 1, et s'il est vrai, il vaut 1.

A B A+B >1 A&B
0 0 0 F 0
0 1 1 F 0
1 0 1 F 0
1 1 2 T 1

La partie où A et B sont ajoutés est représentée par le covecteur «And0», la comparaison de magnitude est ajoutée et zéro est ajouté pour la quantification.

>>> And0=[1,1]
>>> (dot(And0,array([[0,0],[0,1],[1,0],[1,1]]).T)>1)+0
array([0, 0, 0, 1])

Ce covecteur $ (1 \ 1) $ est appelé ** poids ** $ w $, et > 1 $ 1 $ est appelé seuil $ θ $.

perceptron

Le calcul en poids et en seuil est appelé Perceptron. Définit une fonction de Perceptron.

>>> def perceptron(w, th, x):
...     return (dot(w, x) > th) + 0
...

Utilisez ceci pour calculer «ET».

>>> perceptron(And0, 1, [0,1])
0

Comme les covecteurs, il accepte plusieurs arguments.

>>> perceptron(And0, 1, array([[0,0],[0,1],[1,0],[1,1]]).T)
array([0, 0, 0, 1])

Recommended Posts

Pensée Perceptron dans Covector
Covector pour penser en fonction
Implémentation des règles d'apprentissage Perceptron en Python
perceptron