How big should batch size and number of epochs be when fitting a model?
I use Keras to perform non-linear regression on speech data. Each of my speech files gives me features that are 25000 rows in a text file, with each row containing 257 real valued numbers. I use a batch size of 100, epoch 50 to train  Sequential model in Keras with 1 hidden layer. After 50 epochs of training, it converges quite well to a low val_loss.
My training set has 970 samples and validation set has 243 samples.
How big should batch size and number of epochs be when fitting a model to optimize the val_acc? Is there any sort of rule of thumb to use based on data input size?