机器学习笔记——拟合

机器学习的基本问题是利用模型对数据进行拟合,学习的目的并非是对有限的训练集进行正确的预测,而是对未曾出现在训练集中的样本能够进行正确预测。

  模型对训练数据的预测误差成为经验误差,对测试数据的预测误差称为泛化误差。模型对训练集之外的数据进行预测的能力称为模型的泛化能力,最求这种泛化能力是机器学习的目标

过拟合和欠拟合是导致模型泛化能力不高的两种常见原因,都是模型学习能力与数据复杂度之间失配的结果。

”欠拟合“常在模型学习能力较弱,而数据复杂度较高的情况下出现。由于模型的学习能力不足,无法学习到数据集中的“一般规律”,因而导致模型的泛化能力较弱。

与之相反,”过拟合“常在模型学习能力较强,而数据复杂度较弱的情况下出现。此时由于模型的学习能力太强,以至于将训练集中单个样本自身的特点都能捕捉到,并将其认为是“一般规律”,这种情况同样会导致模型的泛化能力下降。

过拟合与欠拟合的区别在于,欠拟合在训练集和测试集上的性能都比较差,而过拟合的模型往往能够较好的学习训练集数据的性质,而在测试集上的性能较差。在神经网络训练的过程中,欠拟合主要表现为输出结果的高偏差,而过拟合主要表现为输出结果的高方差


偏差与方差


偏差又称表现误差,是指个别测定值与测定的平均值之差,它可以用来衡量测定结果的精度高低。在统计学中,偏差可以用于两个不同的改良,即有偏采样和有偏估计。一个有偏采样是对总样本集非平等采样,而一个有偏估计则是指高估或低估要估计的量。方差在概率论和统计方差衡量随机变量或一组数据时离散程度的度量。概率论中方差用来度量随机变量和其数学期望(即均值)之间的偏离程度。统计中的方差(样本方差)是每个样本值与全体样本值的平均数之差的平方值的平均数。

在机器学习中,偏差描述的是根据样本拟合出的模型输出结果与真实结果的差距,损失函数就是依据模型偏差的大小进行反向传播的。降低偏差,就需要复杂化模型,增加模型参数,但容易造成过拟合。方差描述的是样本上训练出的模型在测试集上的表现,降低方差,继续要简化模型,减少模型的参数,但容易造成欠拟合。根本原因是,我们总是希望用有限的训练样本去估计无限的真实数据。假定我们可以获得所有可能的数据集合,并在这个数据集上将损失函数最小化,则这样的模型称之为“真实模型”。但实际应用中,并不能获得且训练所有可能的数据,所以真实模型一定存在,但无法获得。


解决方法


过拟合和欠拟合是所有机器学习算法都要考虑的问题,其中欠拟合的情况比较容易克服, 常见解决方法有:

  • 增加新特征,可以考虑加入进特征组合、高次特征,来增大假设空间
  • 添加多项式特征,这个在机器学习算法里面用的很普遍,例如将线性模型通过添加二次项或者三次项使模型泛化能力更强
  • 减少正则化参数,正则化的目的是用来防止过拟合的,但是模型出现了欠拟合,则需要减少正则化参数
  • 使用非线性模型,比如核SVM 、决策树、深度学习等模型
  • 调整模型的容量(capacity),通俗地,模型的容量是指其拟合各种函数的能力
  • 容量低的模型可能很难拟合训练集;使用集成学习方法,如Bagging ,将多个弱学习器Bagging

泛化能力


泛化能力是指机器学习算法对新样本的适应能力。学习的目的是学到隐含在数据背后的规律,对具有同一规律的训练集之外的数据,我们希望经过训练的模型能够给出合适的输出,这种能力称为泛化能力。我们期望经过训练集训练的模型具有较强的泛化能力,也就是对输入的测试数据能够给出合理的响应。

猜你喜欢

转载自blog.csdn.net/qq_39514033/article/details/88794503