【机器学习】(一)机器学习基础及模型评估与选择

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/BreakingDawn0/article/details/90576399

文章内容整理自多个学习笔记,详见参考文献

1、机器学习的概念

(1)机器学习:

机器学习就是用机器模拟人的学习行为。即如何通过计算的手段,利用经验来改善系统自身的性能;

机器学习是一种通过利用数据,训练出模型,然后使用模型预测的一种方法。机器学习学到的东西就是我们所谓的经验或者规律,机器学习会把这些学到的东西固化到模型中,以便解决新的问题。‘

(2)泛化能力:

学到的模型适用于“新样本”的能力,称为“泛化”能力。机器学习的目标是使学习得到的模型能很好地适用于“新样本”,而而不是仅仅在训练样本上工作得很好。(就相当于我们考试,平常做的“练习题”就是“训练样本”,我们每个“学生”就是“模型”,泛化能力指的是,针对平时没有做过的考题,也能做的很好的能力)

增强我们训练出的模型的泛化能力,首先要知道为什么模型的泛化能力不足,一般来说有两个方面:

  • 在训练集上效果不错,然后在测试集上发现效果不好,这种很大的情况是过拟合问题,也就是说模型过多的去拟合训练集,利用一些正则化思想可以比较好的解决这些问题。
  • 在训练集上效果不行,在测试集上效果更差。这时候要考虑的是你选择的机器学习算法到底有没有用,选取的特征到底有没有用,换个算法,换个特征,也许才能提高。

(3)假设空间与版本空间:

假设空间:该问题所有假设组成的空间,即所有假设的集合。是指所有可能的满足样本输入和输出的假设函数h(x)的集合。注意,假设函数一定是一个无穷大的集合。也就是说,如果样本是一串有穷的离散点(xi,yi),i属于1到N,那么能够拟合这些点的无穷多个函数都是可能得假设函数。

版本空间:在假设空间中与训练集一致的假设的集合。版本空间是属于假设空间的。

举例:

扫描二维码关注公众号,回复: 7626794 查看本文章

1)什么是好瓜?在我们不是很确定或者根本不知道什么是好瓜的时候,可以先做出假设,假设色泽为青绿,根蒂为蜷缩,敲声为浊响的是好瓜,这就是一个假设。
2)假设空间是由所有可能的假设所组成的集合,例如,在没有任何知识加入的时候,任何瓜都可能是好瓜。
3)与训练集一致的假设集合称为版本空间,例如,若训练集中只有色泽为青绿,根蒂为蜷缩,敲声为浊响的才是好瓜,那么,色泽为青绿,根蒂为蜷缩,敲声为浊响就是该训练集的版本空间。

(4)归纳偏好:

“归纳偏好”就是一个用于挑选假设函数的基准,可以看作学习算法对假设进行选择的启发式。因为训练集对应的版本空间包含的假设可能不唯一,而对于某个具体的学习算法必须产生一个模型,这时学习算法的归纳偏好会确定采用哪个假设。

举例:

对一个新到来的瓜,与训练集一致的假设可能不止一个,用A假设判断是好瓜,用B假设判断是坏瓜,这可能导致根本无法判断。归纳偏好的作用正在于此,比如我们更偏好A假设,那么就直接判断这个新来的瓜是好瓜。

(5)过拟合与欠拟合:

过拟合(overfitting):当学习器把训练样本学得“太好”了的时候,很可能已经把训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质,这样就会导致泛化性能下降。比如用两片锯齿形的绿色椭圆树叶作为训练样本,过拟合模型会误认为树叶必须有锯齿。

欠拟合(underfitting):与“过拟合”相对,是指对训练样本的一般性质尚未学好。比如欠拟合模型会误认为只要是绿色的都会是树叶。

如何防止过拟合?

  • 获取更多数据:这是解决过拟合最有效的方法,只要给足够多的数据,让模型“看见”尽可能多的“例外情况”,它就会不断修正自己,从而得到更好的结果。
  • 使用合适的模型:过拟合主要是有两个原因造成的:数据太少、模型太复杂。所以,我们可以通过使用合适复杂度的模型来防止过拟合问题,让其足够拟合真正的规则,同时又不至于拟合太多抽样误差。
  • 结合多种模型:Bagging、Boosting、Dropout、 贝叶斯方法。
  • 清洗数据:导致过拟合的一个原因也有可能是数据不纯导致的,如果出现了过拟合就需要我们重新清洗数据。
  • 采用正则化方法:正则化方法包括 L0正则、L1正则和L2正则, 而正则一般是在目标函数之后加上对于的范数。但是在机器学习中一般使用L2正则。
  • 交叉验证:当数据集比较小的时候交叉验证可以“充分利用”有限的数据找到合适的模型参数,防止过度拟合。

如何防止欠拟合?

  • 添加其他特征项:模型出现欠拟合的时候是因为特征项不够导致的,可以添加其他特征项来很好地解决。
  • 添加多项式特征:例如将线性模型通过添加二次项或者三次项使模型泛化能力更强。
  • 减少正则化参数:正则化的目的是用来防止过拟合的,当模型出现了欠拟合,则需要减少正则化参数。

(6)交叉验证:

交叉验证:是用来验证分类器的性能一种统计分析方法,基本思想是把在某种意义下将原数据进行分组,一部分做为训练集,另一部分做为验证集,首先用训练集对分类器进行训练,在利用验证集来测试训练得到的模型,以此来做为评价分类器的性能指标。当数据集比较小的时候交叉验证可以“充分利用”有限的数据找到合适的模型参数,防止过度拟合。

参考文献

[1]有道云笔记1

[2]有道云笔记2

[3]张云祥机器学习1-2章小结

[4]张小贤的平凡之路---机器学习之基础概念篇-《机器学习-周志华》

[5]从零开始的机器学习0-基础知识及线性回归

[6]机器学习基础知识篇——《机器学习》周志华著

猜你喜欢

转载自blog.csdn.net/BreakingDawn0/article/details/90576399