Acabo de empezar a trastear con ello. Tensor + Python (NumPy) en general.
A base de algunos videos por aqui y por allí...
Entiendo que lo que no puede ser, es que basicamente las cosas sean "aleatorias", es decir, empezar a crear hidden layers a saco, parametrizarles con unas o otras funciones de activación (ReLu, softmax...), probar con mas o menos epochs, usar unos u otros shapes, intra layers, densas o convolucionales, probar en batches, datos augmentados, etc... no?
Porque me parece exageradamente random! Entiendo que uno debe saber que hacer y cuando hacerlo en un momento dado no?
Por ejemplo, hagamos una red simple para distinguir entre pares e impares.
Hago una gilipollez de red basica, con un dataset tipo:
x = [ 1,2,3,4,5,6,7,8,9,10]
y = [0,1,0,1,0,1,0,1,0,1]
esto será el training.
Luego una sequencial de 3 capas densas, con entrada de 1 neurona con activación RELU.
2 hiddens de 10 neuronas con activación RELU y una salida de 1 neurona con activación softmax o relu, da igual.
1000 epocas en el fit sin batches, con funcion de square_mean o cross_entropy, no importa. Y con metrics de ACCURACY.
Acaba bien, las LOSS son asimptoticas a 0, pero al darle a predict de por ejemplo 33, que deberia dar algo parecido a 0, es gilipollas y me da siempre 0.45 o cosas asi...
No he mirado la acuracy, pero entiendo que estará la red sobresesgada y que se habrá aprendido los training sets y por eso en realidad no ha aprendido una mierda no?
Como hacer un clasificador de numeros pares o impares? :\