机器学习算法的性能评估常用的几种方式
1.获取更多的样本
2.减少或增加特征量
3.减少或增加lamda的值
现在来说如何找到有效的方法使训练集的偏差变小。
一.通常把训练样本分为训练集(60%),交叉验证集(20%),测试集(20%)。
训练集:找到对应拟合的θ
验证集:在训练集应用找到的θ后计算出验证误差(最后一般选验证误差较小的参数作为假设参数)
测试集:对测试集所有的误差进行平均加权,得到测试误差。
二.选择合适的模型。
在选择模型时,如果维度很大会照成数据的过拟合现象。如果维度较小又会找出数据拟合的不够。
首先在测试数据之前选择多种模型,对每一种模型求出对应的θ,计算验证误差,选取验证误差最小的θ的模型作为数据的拟合模型。
假设第四个模型的验证误差最小,我们就选择第四种模型。
三.选取适当的参数lamda。
当数据欠拟合时这时叫做高偏差,过拟合时称为高方差。选取合适的lamba,得到刚刚好的拟合数据。
假设我们有了合适的模型,来选择lamda。
由代价函数看出 当lamda过大时对θ的惩罚会很大 θ趋近于0
当lamda过小时会发生欠拟合现象,同样的去尝试lamda
选择验证误差最小的lamda。
4.画出学习曲线
横坐标样本量,纵坐标误差值,函数Jcv验证误差 ,函数Jtrain验证误差。
如果数据有很高的方差,训练误差在增大样本时,仍保持一个近乎水平的线如下图:
如果数据有偏差
训练误差和验证误差的间隙会很大。
当出现这两种情况时,就需要调整合适的模型和参数了。