模型选择,欠拟合以及过拟合
训练误差(training error)是指,模型在训练数据集上计算得到的误差。
泛化误差(generalization error)是指,模型应用在同样从原始样本的分布中抽取的无限多数据样本时,模型误差的期望。
欠拟合:泛化能力差,训练样本集准确率低,测试样本集准确率低。
过拟合:泛化能力差,训练样本集准确率高,测试样本集准确率低。
合适的拟合程度:泛化能力强,训练样本集准确率高,测试样本集准确率高
欠拟合原因:
训练样本数量少
模型复杂度过低
参数还未收敛就停止循环
欠拟合的解决办法:
- 增加样本数量
- 增加模型参数,提高模型复杂度
- 增加循环次数
- 查看是否是学习率过高导致模型无法收敛
过拟合原因:
数据噪声太大
特征太多
模型太复杂
过拟合的解决办法:
- 增加训练数据:更多的训练数据可以帮助模型更好地学习数据的分布,减少过拟合的风险。
- 数据增强:通过对训练数据进行一些随机变换(如旋转、缩放、平移等),生成更多的训练样本,从而扩大训练数据集,减少过拟合。
- 简化模型:减少模型的复杂度,可以通过减少模型的层数、参数量或使用正则化等方法来实现。这样可以使模型更加健壮,减少过拟合的风险。
- 早停法(Early Stopping):在训练过程中监控模型在验证集上的性能,当性能不再提升时停止训练,避免过拟合。
- 正则化(Regularization):通过在损失函数中引入正则化项,限制模型参数的大小,从而减少模型的复杂度,防止过拟合。
- Dropout:在训练过程中随机删除一部分神经元,使得模型不能够过度依赖某些特征,从而减少过拟合的风险。
几个倾向于影响模型泛化的因素:
- 可调整参数的数量。当可调整参数的数量(有时称为自由度)很大时,模型往往更容易过拟合。
- 参数采用的值。当权重的取值范围较大时,模型可能更容易过拟合。
- 训练样本的数量。即使模型很简单,也很容易过拟合只包含一两个样本的数据集。而过拟合一个有数百万个样本的数据集则需要一个极其灵活的模型。
函数名:power
功 能:指数函数(x的y次方)
用 法:double power(double x, double y)