我最近学习了机器学习,并且我正在开发井字游戏引擎,该引擎可以预测给定井字游戏位置(或板状态)中的最佳移动作为我的第一个项目。我用蛮力为 3 x 3 棋盘创建了所有可能的位置(不包括完成和重复的游戏),并得到了 4520 个不同的可能位置。然后,我使用 MinMax 找出这些位置中每个位置的最佳移动。现在,我想对该数据拟合模型,以实现最大的准确性。我想到的是:
由于我拥有所有可能的职位,为什么不对整个模型进行训练(因此就不会有测试集),并使用复杂的
neural network
来过度拟合数据并得到<准确度达到100%,那么由于不会遇到任何新职位,在实际使用中也会达到 100%。
问题是,我注意到人们总是将过度拟合视为坏事,所以我的问题是:这是一种好习惯吗?那为什么好呢?
答案 0 :(得分:4)
当您希望模型推广到新数据时,过度拟合是一个问题。在您的情况下,没有新数据,因此过拟合不是问题。
但是,这并不是机器学习通常用于的目的,在大多数情况下,泛化才是重点,这就是为什么我们会竭尽全力不要过度拟合。