我的理解是,即使遵循正确的交叉验证和模型选择程序,如果人们对模型的搜索足够困难,就会出现过度拟合的情况,除非对模型的复杂性,期限施加了限制。此外,很多时候人们尝试从数据中学习对模型复杂性的惩罚,这会破坏他们可以提供的保护。
我的问题是:以上陈述有多少真相?
我经常听到ML的实践者说:“ 在我的公司/实验室,我们总是尝试使用每种可用的模型(例如,从caret或scikit-learn之类的库中获得),看看哪种模型最合适。” 我经常争论说,即使他们认真对待交叉验证并以他们想要的任何方式保留保留集,这种方法也很容易过拟合。此外,他们搜索的难度越大,就越容易适应。换句话说,过度优化是一个真正的问题,没有启发式方法可以帮助您系统地与之抗衡。我这样想是不是错了?