Below you have the plots of the training and validation errors for two different models. Both plots show the RMSE values for the validation dataset versus the number of training epochs. It is observed that models get lower RMSE value as training progresses.

The model associated with the first plot is performing quite well. The gap is quite narrowed.

[![First Plot](https://i.stack.imgur.com/oMDvC.png)](https://i.stack.imgur.com/oMDvC.png)

I think the model associated with this second plot is doing pretty good, but not as well as the other. The gap is much broader. 

[![Second Plot](https://i.stack.imgur.com/Suc5q.png)](https://i.stack.imgur.com/Suc5q.png)

The model of the first plot was trained using a data set containing 1 million of ratings, while the second one used only 100K. I'm implementing the collaborative filtering (CF) algorithm. I am optimising it using SGD.

[![enter image description here](https://i.stack.imgur.com/LFPzs.png)](https://i.stack.imgur.com/LFPzs.png) 

Are any of these models overfitting or underfitting?