pytorch笔记(四)

8、过拟合与欠拟合

  过拟合指的是只能拟合训练数据,但不能很好地拟合不包含在训练数据中的其他数据的状态。
  机器学习的目标是提高泛化能力,即便是没有包含在训练数据里的未观测数据,也希望模型可以进行正确的识别。

过拟合

  发生过拟合的原因,主要有以下两个。
1、模型拥有大量参数、表现力强。
2、训练数据少。

解决方法:
1、权值衰减是一直以来经常被使用的一种抑制过拟合的方法。该方法通过在学习的过程中对大的权重进行惩罚,来抑制过拟合。很多过拟合原本就是因为权重参数取值过大才发生的。
2、Dropout是一种在学习的过程中随机删除神经元的方法。训练时,随机选出隐藏层的神经元,然后将其删除。被删除的神经元不再进行信号的传递。训练时,每传递一次数据,就会随机选择要删除的神经元。然后,测试时,虽然会传递所有的神经元信号,但是对于各个神经元的输出,要乘上训练时的删除比例后再输出。

欠拟合

  欠拟合就是模型没有很好地捕捉到数据特征,不能够很好地拟合数据。

解决方法:
1、添加其他特征项,有时是特征不够导致拟合的不好。
2、添加多项式特征,比如给线性模型添加二次或者多次项函数,使模型的泛化能力更强。
3、减少正则化参数,正则化是用来防止过拟合的,但是模型出现欠拟合后,则需要减少正则化参数。

9、交叉验证

  在机器学习里,通常来说我们不能将全部用于数据训练模型,否则我们将没有数据集对该模型进行验证,从而评估我们的模型的预测效果。

解决方法:
  把整个数据集分成两部分,一部分用于训练,一部分用于验证,这也就是我们经常提到的训练集(training set)和测试集(test set)。
  一般采用k折交叉验证,假设k=10,步骤是:
1、将所有数据分成10;
2、不重复地每次取其中一份做测试集,用其他九份做训练集训练模型,之后计算该模型在测试集上的MSE;
3、将10次的MSE取平均,最后得到最终的MSE。

10、正则化

  正则化有,L1正则化 和 L2正则化,或者叫作 L1范数 和 L2范数。
  L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中的某些参数做一些限制。对于线性回归模型,使用L1正则化的模型建叫做Lasso回归,使用L2正则化的模型叫做Ridge回归(岭回归)。
  一般回归分析中w表示特征的系数,从上式可以看到正则化项是对系数做了处理(限制)。L1正则化和L2正则化的说明如下:
L1:L1正则化是指权值向量w中各个元素的绝对值之和;
L2:L2正则化是指权值向量w中各个元素的平方和然后再求平方根。
  L1正则化和L2正则化的作用:
1、L1正则化可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择;
2、L2正则化可以防止模型过拟合(overfitting);一定程度上,L1也可以防止过拟合。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值