Skip to content
Snippets Groups Projects
Select Git revision
  • 622b9ff4dc75a4dc552f8aa5e7a58b8b0ce78336
  • main default protected
2 results

inf_tc2

  • Clone with SSH
  • Clone with HTTPS
  • Forked from Dellandrea Emmanuel / INF_TC2
    Source project has a limited visibility.

    Artificial Neural Network Règles de la chaine pour le calcul du gradient :

    1. ∂C/∂A(2) = 2/Nout * (A(2) - Y)

    2. ∂C/∂Z(2) = ∂C/∂A(2) * ∂A(2)/∂Z(2)
      ∂C/∂Z(2) = ∂C/∂A(2) * σ'(Z(2)) ∂C/∂Z(2) = ∂C/∂A(2) * σ(Z(2)) * (1-σ(Z(2))) ∂C/∂Z(2) = ∂C/∂A(2) * A(2) * (1 - A(2))

    3. ∂C/∂W(2) = ∂C/∂Z(2) * ∂Z(2)/∂W(2) ∂C/∂W(2) = ∂C/∂Z(2) * A(1)

    4. ∂C/∂B(2) = ∂C/∂Z(2) * ∂Z(2)/∂B(2) ∂C/∂B(2) = sum(∂C/∂Z(2), axis=0)

    5. ∂C/∂A(1) = ∂C/∂Z(2) * ∂Z(2)/∂A(1) ∂C/∂A(1) = ∂C/∂Z(2) * W(2)

    6. ∂C/∂Z(1) = ∂C/∂A(1) * σ'(Z(1)) ∂C/∂Z(1) = ∂C/∂A(1) * A(1) * (1 - A(1))

    7. ∂C/∂W(1) = ∂C/∂Z(1) * A(0)

    8. ∂C/∂B(1) = sum(∂C/∂Z(1), axis=0)

    En analysant le graphique knn, on peut voir que le maximum de précision est obtenu pour k = 1, ce qui parait logique puisque chaque point prendra alors son propre label. L'autre pic de précision se situe aux alentours de k=7. On privilégiera donc ces valeurs afin d'obtenir la meilleure précision possible. On voit que le temps d'éxécution pour les différentes valeurs de k reste stable autour de 28s.

    En analysant le graphique mlp, on observe que la précision augmente de 10% au début de l'apprentissage jusqu'à 19% à la fin. Notre modèle apprend correctement sur les données d'entrainement.