将训练数据分为Train,cross validation,Test三个部分
- train数据集: 用来训练模型
- cross validation数据集:用来测试确认,上一步训练的模型的超参数设定的好坏。并选择最佳超参数。
- test 数据集:检验上两步所确定的模型与超参数的预测能力,泛化性。
超参数定义:参数时可以通过自动学习出来的变量,而超参数是无法让模型自行完成学习的。包含这些:学习率(learning)、迭代次数(iteration)、神经网络的网络层数、神经元个数(Number of neurons in the layer)、线性回归中的多项式的次方数(polynome degree)、正则化惩罚参数 λ λ 等等。
诊断高偏差与高方差问题(Bias vs. Variance)
- 高偏差,通常意味着欠拟合(underfitting)
===>解决方式:添加高次方特征( x2,x3,… x 2 , x 3 , … ) - 高方差,通常意味着过拟合(overfitting)
===>解决方式:增加正则化惩罚项,并设定惩罚参数 λ λ
使用学习曲线观察效果
如上图:高偏差的情况下,更多的训练样本将没有什么帮助。
如上图:高方差的情况下,更多的训练样本能提升模型的泛化性。
问题与对策
- Getting more training examples: Fixes high variance
- Trying smaller sets of features: Fixes high variance
- Adding features: Fixes high bias
- Adding polynomial features: Fixes high bias
- Decreasing λ: Fixes high bias
- Increasing λ: Fixes high variance.
高偏差问题:1)增加特征,如{‘ x2,x3,x21⋅x22 x 2 , x 3 , x 1 2 ⋅ x 2 2 etc.’} 2)增加多项式特征 3)减少λ
高方差问题:1)减少特征数量 2)增加训练样本 3)增加λ