A fundamental challenge for training machine learning models in which you want to make a model simple enough so that it can handle a wide range of real-world data on the one hand, but not too simple that it overgeneralizes or underfits the available data. On the other hand, you can make the model very complicated and specific to improve the trained model’s accuracy, but at the risk of making it too specific or overfitting the training data and therefore not accurate when generalizing on real world data.