我们关心的是泛化误差,而非训练误差。这也给我们一定启示啊,光背题是行不通滴,要理解背后的本质和逻辑
Attention:验证数据一定不要和训练数据混在一起! 也不能用测试数据集来调超参数!
好处是尽可能地把数据作为训练数据集,坏处是代价高(因为要跑多次)。k越大,效果越好,但是k的选择一般要在能承受的计算成本之内。另外,这种方法适用的情况是没有足够多数据的时候
数据简单,应该选择比较低的模型容量,就会得到一个比较正常的结果;如果简单数据使用了很复杂的模型容量,就会出现过拟合。
模型容量低的时候,因为过于简单,所以难以拟合数据,造成训练误差和泛化误差比较高;随着模型容量的增加,理论上神经网络可以记住所有的数据,训练误差甚至能够降低为0,但这样也记住了大量的噪音,使得网络被无关的细节所困扰,泛化误差在降到一定程度后也因此会升高
我们通常会使用泛化误差和训练误差之间的gap来衡量模型过拟合和欠拟合的程度
如果参数值的选择范围很大的话,那么模型的容量就比较高;反之则低
可以认为是模型复杂度等价于能够完美记住的一个数据集的最大容量
二维输入的感知机不能完美分类四个点(解决不了异或问题)
(了解一下即可~)
超参数的设计:
1.靠经验……
2.自己调
3.随机选取超参数的组合,把最好的组合选出来