python reseau de neuronne avec keras, la prédiction retour des valeurs incohérente

a marqué ce sujet comme résolu.

Bonjour, je suis en tain de mettre au point un réseau de neuronne en python avec keras pour faire des additions

Comme input/output j’ai ce fichier csv

1
2
3
4
5
6
1,2,3
3,3,6
4,5,9
10,8,18
1,3,4
5,3,8

qui se lit de cette façon : 1+2=3 3+3=6 4+5=9 …etc.

j’ai donc monter le réseau de neuronne avec keras :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from keras.models import Sequential
from keras.layers import Dense
import numpy

seed = 7
numpy.random.seed(seed)

dataset = numpy.loadtxt("data.csv", delimiter=",")

X = dataset[:,0:2]
Y = dataset[:,2]

model = Sequential()
model.add(Dense(12, input_dim=2, init='uniform', activation='relu'))
model.add(Dense(2, init='uniform', activation='relu'))
model.add(Dense(1, input_dim=2, init='uniform', activation='linear'))


model.compile(loss='mean_squared_error', optimizer='adam', metrics=['accuracy'])
model.fit(X, Y, epochs=150, batch_size=10,  verbose=2)


predictions = model.predict(X)
rounded = [round(x[0]) for x in predictions]
print(rounded)

j’utilise bien une fonction d’activation qui est censé me retourner des valeurs > 1 (pas comme la sigmoïde que l’on retrouve assez souvent) mais poutant j’ai comme output ceci 1,1,1,3,1,1,1…etc.

j’ai quasi que des 1 pourquoi ? j’ai essayé de jouer sur les valeur en augmentant/diminuant les nombre dans la fonction dense mais il n’y a aucun changement.

Chouette, du Keras :)

j’utilise bien une fonction d’activation qui est censé me retourner des valeurs > 1

Hmm, pourquoi ? Une activation ’linear’ c’est littéralement f(x) = x (donc pas d’activation en fait). Aucune raison que ce soit supérieur à 1.

Je pense que tu n’as simplement pas assez de données pour entraîner ton réseau. Pour vérifier, je te conseille d’afficher l’historique du training :

1
2
history = model.fit(X, Y, epochs=150, batch_size=10,  verbose=2)
print(history.history)

Regarde l’accuracy finale, et surtout l’évolution de la loss.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte