目录
模型选择
训练误差和泛化误差
简单理解:验证数据集没有参加训练,所以可以在一定程度上反映超参数的好坏。
训练误差 --->测试数据集
泛化误差 --->验证数据集
不要把测试集和验证集混用。
k-折交叉验证
简单理解:
把一个数据集分成k块,第i块作为验证数据集,其余作为训练数据集。
重复k次,计算每次验证集的平均误差。
k折交叉验证适用于不大的数据集。
总结:
过拟合和欠拟合
根据数据集的简单和复杂选择对应模型的容量。
如果数据过于简单,应该选择比较低的模型容量,否则,会出现过拟合。
eg:在一个很简答的数据集中用一个特别深的神经网络,就会导致会把每一个样本全部记住,导致看到新样本没有泛化性,从而出现过拟合的情况。
如果数据特别复杂,应选择比较高的模型容量,否则,会出现欠拟合。
eg:在一个比较复杂的数据集中,假设模型容量比较低,精度不够,不能很好的训练数据,从而出现欠拟合。
模型容量:![](https://img-blog.csdnimg.cn/50934efbf6bb4a7cae075894a45810e6.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA546L5LiJ55yB55qE6K-756CU5pel6K6w,size_20,color_FFFFFF,t_70,g_se,x_16)
模型容量的影响![](https://img-blog.csdnimg.cn/ddbeffa1b90b4be4bf1d33c5874d6824.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA546L5LiJ55yB55qE6K-756CU5pel6K6w,size_20,color_FFFFFF,t_70,g_se,x_16)
假设模型容量比较低,训练误差会比较高,泛化误差同样会比较高。
随着模型容量的增加,训练误差开始下降,最低理论上可以下降到0。
泛化误差一开始会随之下降,但是下降到某一个点之后,开始缓慢的往上升,这是由于模型过于关注细节,但是数据中存在较多的噪音,导致受到某些无关的噪音干扰,会对泛化误差产生于不好的影响。
深度学习的核心:先保证模型可以容量足够大的前提下,通过控制模型的容量,使得得到不断下降的泛化误差。
估计模型容量
VC维
vc维的好处:
数据复杂度
总结: