偏差与方差
首先以寻找模型最佳多项式次数为例,了解一下什么是偏差和方差
如图,当
d = 1(多项式次数为1)时,选择的模型并不能很好的拟合样本中的数据(欠拟合),这是高偏差
d = 2 时,模型与数据基本拟合。说明多项式次数为 2 是这个模型的最佳多项式次数
d = 4 时,模型经过了每一个数据样本,它对训练数据集中的样本拟合的太好了(过拟合),以致于当有新的样本时,它不能拟合新的样本点。
通过诊断是否有高偏差和高方差,我们可以对学习系统进行优化。
如果有高偏差,就可以适当增加多项式次数。
当有高方差时,可能是样本太少,可以通过增加样本数据量来解决。
如果不知道是高偏差还是高方差,当系统由于高偏差而无法很好拟合数据时,增加再多的数据量也无法解决问题,数据收集过程中还浪费了很多时间。
诊断 1. 多项式次数
上图 横轴是多项式次数,纵轴是 J(θ)
其中有两条 J(θ) 曲线,一条是训练集所得的 Jtrain(θ),一条是交叉验证集所得 Jcv(θ)
从图中可以得到:
当 d = 1 时,Jtrain(θ) 和 Jcv(θ) 都比较高,这是因为次数为 1 的模型无法很好的拟合数据。导致出现大量错误
当 d = 4时,Jtrain(θ) 比较低,而 Jcv(θ) 很高,这是因为模型对训练集中样本过拟合,它只对训练集中的样本数据拟合的很好,对于不是训练集中的样本数据拟合效果就很差。
也就是说,
当 Jtrain(θ) ≈ Jcv(θ),但两者都非常高时,是模型欠拟合导是高偏差引起的,可以适当增加多项式次数解决
当 Jcv(θ) >> Jtrain(θ),是由于模型过拟合导致高方差引起,可以通过增加样本数据量解决。
诊断 2. 正则化参数
对回归进行正则化是为了防止回归模型过拟合数据样本,以线性回归为例
当 λ = 0 ,就失去了正则化的目的,模型可能会过拟合
当 λ 非常大,大到足以忽略成本函数,那只有当 θi为 0 时,J(θ) 才能取得最小值
通过诊断偏差方差我们可以得到这样的图,图中结果和上面的差不多,就不再叙述了。