Partage
  • Partager sur Facebook
  • Partager sur Twitter

[MACHINE LEARNING] Réseau de neurones artificiels

5 mars 2018 à 18:36:53

Bonsoir :) 

J'ai un exercice de réseau de neurones à faire et je suis bloqué depuis plusieurs jours. Je me suis inspiré du cours de Coursera.

Dans cet exemple, mon input layer a deux entrées, 5 neurones cachés et 2 sorties possibles (0 ou 1).

Voici le code que j'ai sous octave:

function [E, v,w] = costFunction(X, y,alpha1,alpha2)


[m n] = size(X);

E = 1;


v = 2*rand(5,3)-1;
w = 2*rand(2,6)-1;

grad_v=zeros(size(v));
grad_w=zeros(size(w));

K = 2;

E = 2;

while E> 1
		a1 = [ones(m,1) X];
		z2 = a1 * v';
		a2 = sigmoid(z2);
		a2 = [ones(size(a2,1),1),a2];
		z3 = a2 * w';
		h = sigmoid(z3);

		cost = sum((-y.*log(h)) - ((1-y).*log(1-h)),2);
		E = (1/m)*sum(cost);

		Delta1=0;
		Delta2=0;

		for t = 1:m
			a1 = [1;X(t,:)'];
			z2 = v * a1;
			a2 = sigmoid(z2);
			a2 = [1;a2];
			z3 = w * a2;
			a3 = sigmoid(z3);

			d3 = a3 -  y(t,:)';

			d2 = (w(:,2:end)'*d3).*sigmoidGradient(z2);

			Delta2 += (d3*a2');
			Delta1 += (d2*a1');
		end

		grad_v = (1/m) * Delta1;
		grad_w = (1/m) * Delta2;
		
		v -= alpha1 * grad_v;
		w -= alpha2 * grad_w;
	end
end

Je ne suis pas sensé faire le while (E>1) mais j'ai juste voulu voir si au bout d'un certain temps l'erreur diminuait..

Je précise que X est un vecteur de taille 51x2 et y 51x1

J'ai pas mal cherché sur internet, je cherche donc une solution concrète à mon problème :) 

Merci à vous

-
Edité par Keith78 5 mars 2018 à 22:33:19

  • Partager sur Facebook
  • Partager sur Twitter
6 mars 2018 à 15:22:55

Coucou!
Peut-être que j'ai rien suivi, mais ... c'est quoi ton problème? :/
  • Partager sur Facebook
  • Partager sur Twitter
"Le fossé séparant théorie et pratique est moins large en théorie qu’il ne l’est en pratique"
6 mars 2018 à 16:47:22

Et bien mon code ne me donne tout simplement pas de résultat cohérent, si j'essaye de prédire y je ne tombe pas sur les bonnes valeurs ce qui est embêtant.. Je pense que le problème vient uniquement de mon implémentation du premier message, peut-être y vois-tu une coquille ?

Je n'ai pas fait la régularisation mais cela est sensé marcher sans.

Merci !

  • Partager sur Facebook
  • Partager sur Twitter

[MACHINE LEARNING] Réseau de neurones artificiels

× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
  • Editeur
  • Markdown