Wpis z mikrobloga

Mam problem z #siecineuronowe. Chce aproksymowac dosc prosta funkcje przy uzyciu kerasa, przy czym nie chce nadmiernie rozbudowywac topologi sieci (jedna - dwie warstwy ukryte max).

Model:

model = Sequential()
model.add(Dense(40, input_dim=1,kernel_initializer='he_normal', activation='relu'))
model.add(Dense(20, activation='relu'))
model.add(Dense(10, activation='relu'))
model.add(Dense(1,input_dim=1, activation=activation_fun))
model.compile(loss='mse', optimizer='adam', metrics=['mse', 'mae', 'mape', 'cosine'])
history = model.fit(x, y, batch_size=32, epochs=5000, verbose=0)

preds = model.predict(x_test)
prettyPlot(x,y,x_test,preds,history,'linear',5000)
model.summary()

Zmiana optimizera na np. adadelta daje nieco lepsze rezultaty, ale wciaz sa marne. Co, oprocz rozbudowy topologii, moge zrobic?

#sztucznainteligencja #machinelearning
Pobierz ArturR95 - Mam problem z #siecineuronowe. Chce aproksymowac dosc prosta funkcje przy ...
źródło: comment_oNxhN1sOzPDPQ7v8eU1uLFwylwcvkQTU.jpg
  • 2
Na pierwszy rzut oka, jeśli to są dane typu jedna liczba x to wejscie, jedna liczba y to wyjście, to sugerowałbym spróbować w tej kolejności:

- zrandomizuj zbiór uczący
- weź sgd jako optimizer i ręcznie pokręć learning ratem
- zwiększ liczbę epok
- możliwe że usunięcie batcha też pomoże