juin 16, 2021

fonction | ProgrammeurAH

Par admin2020


1 fonction sigmoïde

1. Dérivation de la fonction exponentielle au sigmoïde 2. Fonction logarithme et sigmoïde 2. Fonction sigmoïde 3. Dérivation de la fonction de perte de réseau neuronal

1. Fonction sigmoïde

La fonction sigmoïde, c’est-à-dire la fonction de courbe en forme de S, est la suivante :
0

Fonction : F (z) = 11 + e − Z

Dérivée : F ‘(z) = f (z) (1 − f (z))

Ce qui précède est notre forme commune. Bien que nous connaissions cette forme, nous connaissons aussi le processus de calcul. Ce n’est pas assez intuitif. Analysons-le.

1.1 de la fonction exponentielle au sigmoïde

Tout d’abord, dessinons le graphique de base de la fonction exponentielle

De la figure ci-dessus, on obtient les informations suivantes : la fonction exponentielle passe (0,1) point, monotone croissante/décroissante, et le champ de définition est

(−∞,+∞)

, la plage est

(0,+∞)

Regardons l’image de la fonction sigmoïde

Si vous venez

et − x

Si vous le mettez au dénominateur, c’est la même chose que

ex

L’image est la même, alors ajoutez 1 au dénominateur pour obtenir l’image ci-dessus. Le domaine de définition est

(−∞,+∞)

, la plage est

(0,1)

Ensuite, il y a une bonne fonctionnalité, c’est-à-dire, peu importe ce que

X

Nous pouvons obtenir la valeur entre (0,1) pour quoi que ce soit ;

1.2 fonction logarithmique et sigmoïde

Tout d’abord, regardons l’image de la fonction logarithmique

Fonction logarithmique de l’image ci-dessus, monotone décroissante, il y a une meilleure caractéristique est dans le

(0,1)

Si nous mettons la fonction sigmoïde devant nous à la position de la variable indépendante, nous obtiendrons le résultat

(0,1)

L’image de l’image ;

Comment mesurer la différence entre un résultat et le calcul réel ? Une idée est que si le résultat est plus proche, la différence sera plus petite, sinon, elle sera plus grande. Cette fonction fournit une telle idée. Si la valeur calculée est plus proche de 1, cela signifie qu’elle est plus proche du résultat mondial, sinon, elle est plus éloignée. Par conséquent, cette fonction peut être utilisée comme fonction de perte du classificateur de régression logistique. Si tous les résultats sont proches de la valeur du résultat, alors plus il est proche de 0. Si le résultat est proche de 0 après le calcul de tous les échantillons, cela signifie que le résultat calculé est très proche du résultat réel.

2. Dérivation de la fonction sigmoïde

Le processus de dérivation de la dérivée sigmoïde est le suivant :
0

f ′ (z) = (11+e − z) ′ = e − z (1+e − z) 2 = 1+e − z − 1 (1+e − z) 2 = 1 (1+e − z ) (1−1 (1+e − z)) = f (z) (1 − f (z))

3. Dérivation de la fonction de perte de réseau neuronal

La fonction de perte du réseau de neurones peut être comprise comme une fonction composite à plusieurs niveaux, et la règle de la chaîne est utilisée pour la dérivation.

J(Θ)=−1m∑i=1m∑k=1K[y(i)klog((hΘ(x(i)))k)+(1−y(i)k)log(1−(hΘ(x(i)))k)]+λ2m∑l=1L−1∑i=1sl∑j=1sl+1(Θ(l)j,i)2

Parlons du processus de dérivation conventionnelle

e=(a+b)(b+1)

Il s’agit d’une fonction composite simple, comme le montre la figure ci-dessus. C est une fonction de a et E est une fonction de C. si nous utilisons la règle de dérivation en chaîne pour dériver respectivement a et B, alors nous trouverons la dérivée de e en C et de C en a, multiplions-la, trouvons le dérivée de e en C et D respectivement, trouvez la dérivée de C et D en B respectivement, puis additionnez-la. L’un des problèmes est que, en cours de résolution, e calcule deux fois la dérivée de C. Si l’équation est particulièrement complexe, alors la quantité de calcul devient très importante. Comment ne calculer la dérivée qu’une seule fois ?

Comme le montre la figure ci-dessus, nous commençons de haut en bas, calculons la valeur de chaque cellule, puis calculons la dérivée partielle de chaque cellule et l’enregistrons ;

​ Ensuite, continuez à calculer la valeur de la sous-unité et enregistrez les dérivées partielles de la sous-unité ; multiplier toutes les dérivées partielles du chemin de la dernière sous-unité au nœud racine, c’est-à-dire les dérivées partielles de la fonction à cette variable. L’essence du calcul est de haut en bas. Lors du calcul, enregistrez la valeur et multipliez-la à l’unité suivante, de sorte que les dérivées partielles de chaque chemin n’aient besoin d’être calculées qu’une seule fois, de haut en bas. Toutes les dérivées partielles sont obtenues en les calculant de haut en bas.

En fait, BP (algorithme de propagation arrière) est calculé de cette manière. S’il existe un réseau de neurones à trois couches avec couche d’entrée, couche cachée et couche de sortie, nous pouvons calculer la dérivée partielle du poids de la fonction de perte. C’est une fonction composite complexe. Si nous calculons d’abord la dérivée partielle du poids de la première couche, puis calculons la dérivée partielle du poids de la deuxième couche, nous constaterons qu’il y a quelques problèmes Beaucoup d’étapes de calcul répétées, comme l’exemple de fonction simple ci-dessus, donc, afin d’éviter ce genre de consommation, on utilise pour trouver la dérivée partielle de l’arrière vers l’avant, trouver la valeur de la fonction de chaque unité, trouver la dérivée partielle de l’unité correspondante, la sauvegarder, multiplier tout le temps, et entrez la couche.

Ce qui suit est un exemple simple pour démontrer le processus de calcul de la dérivée partielle par rétropropagation

On aura alors deux matrices de poids initiales :

1 =[θ110θ120θ111θ121θ112θ122]2 =[θ210θ211θ212]

Nous avons la matrice ci-dessus, et maintenant nous utilisons

sigmoïde

Fonctionne comme fonction d’activation pour calculer l’excitation de chaque couche du réseau (en supposant que nous n’ayons qu’un seul échantillon, l’entrée est

x1,x2,

La sortie est

Oui

);

Le premier niveau est l’entrée, et l’incitation est la valeur propre de l’échantillon

a1 = x0x1x2⎤⎦⎥⎥

x0

Le terme de biais, qui est 1

La deuxième couche est la couche cachée. L’excitation est obtenue en multipliant la valeur propre avec la région, puis la fonction sigmoïde est utilisée pour transformer la région

a2

Avant la transformation

z2

:

z21z22z2a2a2=θ110∗x0+θ111∗x1+θ112∗x2=θ120∗x0+θ121∗x1+θ122∗x2=[z21z22]=sigmoïde(z2)=⎡⎣⎢⎢⎢1a21a22⎤⎦⎥⎥⎥

Dans ce qui précède, nous ajoutons un terme de biais à la fin ;

Ensuite, la troisième couche est la couche de sortie

z31z3a3a3=θ210∗a20+θ211∗a21+θ212∗a22=[z31]=sigmoïde(z3)=[a31]

Comme il s’agit de la couche de sortie, il n’est pas nécessaire de calculer davantage, donc le terme de biais n’est pas ajouté ;

Le processus de calcul ci-dessus, de l’entrée à la sortie, est également appelé propagation vers l’avant.

Ensuite, nous écrivons la formule de la fonction de perte selon la fonction de perte. Ici, il n’y a qu’une seule entrée et une seule sortie, donc la fonction de perte est relativement simple

Ici, M = 1 ;
1

J () = – 1m[y(i)klog((hΘ(x(i)))k)+(1−y(i)k)log(1−(hΘ(x(i)))k)]+λ2m∑l=1L−1∑i=1sl∑j=1sl+1(Θ(l)j,i)2=−1m[y∗log(a3)+(1−y)∗log(1−a3)]+λ2m∑l=1L−1∑i=1sl∑j=1sl+1(Θ(l)j,i)2

Noter:

λ2m∑L−1l=1∑sli=1∑sl+1j=1(Θ(l)j,i)2

En fait, c’est la somme des carrés de tous les poids. Généralement, celui multiplié par le terme de décalage ne sera pas mis. Ce terme est très simple. Ignorez-le pour le moment, et n’écrivez pas ce terme pour le moment (c’est la régularisation).

J () = – 1m[y∗log(a3)+(1−y)∗log(1−a3)]

Ensuite, nous obtenons la formule ci-dessus, et ici nous savons si nous voulons la demander

212

Si nous utilisons la dérivée partielle de, nous constaterons que cette formule est en fait une fonction composée,

Oui

C’est une constante. A3 est une constante

z3

De

sigmoïde

Transformation de fonction, et

z3

alors c’est

a2

Maintenant que nous avons trouvé où se trouve le poids, nous pouvons commencer à trouver la dérivée partielle,

a3

finir d’écrire qc.

s(z3)

On obtient alors la dérivation suivante :

J (Θ) ∂θ212 = -1m[y∗1s(z3)−(1−y)∗11−s(z3)]s(z3)∗(1−s(z3))∗a212=−1m[y∗(1−s(z3)−(1−y)∗s(z3)]a212=−1m[y−s(z3)]a212=1m[s(z3)−y]a212=1m[a3−y]a212

D’après la dérivation ci-dessus, nous pouvons obtenir la formule suivante :
1

J (Θ) ∂θ210∂J (Θ) ∂θ211 = 1m[a3−y]a210=1m[a3−y]a211

Alors, rappelez-vous ce que j’ai dit plus tôt, nous allons chercher la dérivée de haut en bas et enregistrer la dérivée partielle des multiples sous-unités actuelles. D’après la formule ci-dessus, on sait que la dérivée partielle de la deuxième matrice pondérale peut être obtenue par

[a3−y]

Il est obtenu en multipliant l’excitation de la couche précédente du réseau et en la divisant par le nombre d’échantillons, nous appelons donc parfois la différence

3

Ensuite, les dérivées partielles de la deuxième matrice pondérale sont obtenues en les multipliant sous forme de matrice ;

Maintenant que nous avons obtenu les dérivées partielles de la deuxième matrice de poids, comment pouvons-nous trouver les dérivées partielles de la première matrice de poids ?

Par exemple, nous allons

θ112

Dérivation partielle :
0

J (Θ) ∂θ112 = -1m[y∗1s(z3)−(1−y)∗11−s(z3)]∗s(z3)∗(1−s(z3))∗θ211∗s(z2)∗(1−s(z2))∗x2=−1m∗[a3−y]∗θ211∗s(z2)∗(1−s(z2))∗x2=−1m∗δ3∗θ211∗s(z2)∗(1−s(z2))∗x2

À partir de la formule sur la ligne, nous pouvons voir que la dérivée que nous avons enregistrée peut être directement multipliée. S’il existe un réseau multicouche, en fait, le processus suivant est le même que celui-ci, nous obtenons donc la formule :
s’il y a un réseau multicouche, le processus suivant est le même que celui-ci

δ3δ2=a3−y=δ3∗(θ2)T∗s(z2)′

Parce que ce réseau est à trois couches, nous pouvons donc obtenir toutes les dérivées partielles. S’il est multicouche, le principe est le même. Multipliez-le continuellement. A partir de la deuxième formule, les formes suivantes sont les mêmes.