Ich versuche, CNNs in den Griff zu bekommen und beginne mit einem ziemlich einfachen Datensatz von 213 Zeilen. Jeder ist so klassifiziert, dass er 6 aus 98 Kategorien passen muss. Selbst ein einfaches 3-Schicht-Netz ist nicht mehr als 20% Genauigkeit nach 50k + Epochen. Irgendwelche Vorschläge?Schlechte NN Genauigkeit (<20%)
from keras.models import Sequential
from keras.layers import Dense
from keras.layers import Flatten
from keras.layers import LSTM
from keras.layers import Dropout
from keras.layers import Reshape
from keras.layers import MaxPooling2D
from keras.layers.convolutional import Convolution1D
from keras.layers.convolutional import Convolution2D
from keras.layers.normalization import BatchNormalization
import numpy
ins = numpy.loadtxt("inputs.csv", delimiter=",")
outs = numpy.loadtxt("probs.csv", delimiter=",")
X = ins[:,0:9]
Y = outs[:,0:98]
model = Sequential()
model.add(Dense(12, input_dim=9, activation='sigmoid'))
model.add(Dense(60, activation='relu'))
model.add(Dense(97, activation='sigmoid'))
model.compile(loss='mean_absolute_percentage_error', optimizer='RMSprop', metrics=['accuracy'])
model.fit(X, Y, epochs=50000, batch_size=200)
scores = model.evaluate(X, Y)
print("\n%s: %.2f%%" % (model.metrics_names[1], scores[1]*100))
Vielen Dank im Voraus für jede Einsicht.
Cheers,
L3fos
Bitte nur Tags verwenden, die auf einer Seite zur Kenntnis –
nur auf die Frage verwandt sind: Ihr Modell ist ein Feed-Forward-neuronales Netz (KNN/DNN) anstelle eines CNN (= Convolutional Neural Network). – petezurich
Nur eine weitere Randnotiz. Wenn Sie 98 Klassen und 213 Zeilen Daten haben. Sie haben also 2 Proben pro Klasse, das ist viel zu viel. Ich weiß nicht, ob Sie neu oder ein schlechter Arsch Experte sind, aber der Code sieht sehr komisch aus. Wenn Sie neu sind, sehen Sie sich einen Code in github mit einem ähnlichen Problem an, das Sie lösen möchten. Das hilft viel :) –