下面将就学习曲线是一条关于样本个数和经验损失函数之间的曲线,对机器学习中的过程进行判断,进一步调整学习参数,提高假设模型的泛化能力给出解释说明。
在上面的图中,蓝线表示经验损失函数随着训练样本的增多而变大,相反绿线呈现出反向的关系。绿线是交叉验证样本,计算交叉验证的样本损失函数使用到的权值参数是由训练样本得到的,与该权值参数保持一致。
从图中可以看出无论是蓝线还是绿线,损失函数值都很高,这种现做象叫“偏量(bias)”。
相对于另一种情况:
蓝线和绿线的损失函数值都挺小,但两线的间隔始终存在,这种现象叫做“方差(variance)”
“方差”现象表示的是学习中的过拟合,如何解决过拟合:
- 外在驱使,增加训练样本个数,提高了训练样本的复杂度
- 内在驱动,降低特征值的个数(比如多项式拟合中的幂次等级)
- 正规化处理,使用lambda权衡模型复杂度(Theta)
”偏差“现象表示学习的模型欠拟合,解决欠拟合:
- 增加假设模型的复杂度,欠拟合的本质是一些特征量在模型中未考虑。
- 减少lambda,因为模型还未达到该有的复杂度,真正本质的原因就在于lambda就是表示bias偏量大小的(如果你bayes estimate学得好的话,能理解我这背后的深意)!
在”偏差“现象中,通过增加训练样本的个数是无效的,因为的模型没有捕捉到足够的特征信息,学再多也是白学。
因此是否加大训练样本的个数取决于是否有大的方差。
学习曲线的求法:To plot the learning curve, we need a training and cross validation set
error for different training set sizes. To obtain different training set sizes,
you should use different subsets of the original training set X. Specifically, for
a training set size of i, you should use the first i examples (i.e., X(1:i,:)
and y(1:i)).