第1章 绪论—基本术语
(1)记录、示例、样本。
每条记录是关于一个事件或对象的描述,例如对西瓜的描述中的一条记录:(色泽=青绿;根蒂=蜷缩;敲声=沉闷),称为一个示例或者样本,一组记录的集合,称为数据集。记录和样本反映事件或对象在某方面的表现或性质的事项。
(2)分类、回归
若我们预测的是离散值,此类学习任务称为分类任务,若我们预测的是连续值,则此类学习任务称为回归任务。
(3)监督学习、无监督学习
根据训练数据是否拥有标记信息,学习任务可大致分为两大类:监督学习和无监督学习,其中分类和回归是监督学习的代表,聚类是无监督学习的代表。
(4)泛化能力
学得模型适用于新样本的能力,称为“泛化”能力。
(5)归纳偏好
机器学习算法在学习的过程中对某种类型假设的偏好,称为“归纳偏好”或简称为“偏好”。事实上,归纳偏好对应了学习算法本身所做的关于“什么样的模型更好”的假设。在具体的现实问题中,这个假设是否成立,即算法的归纳偏好是否与问题本身匹配,大多数时候直接决定了算法能否取得好的性能。
要谈论算法的相对优劣,必须要针对具体的学习问题,在某些问题上表现好的学习算法,在另一些问题上可能不尽如人意,学习算法自身的归纳偏好与问题是否相匹配,往往会取到决定性作用。
(6)数据挖掘
数据库领域的研究为数据娃就提供数据管理技术,而机器学习和统计学的研究为数据挖掘提供数据分析技术。由于统计学界的研究成果通常需要经由机器学习研究来形成有效的学习算法,之后再进入数据挖掘领域,因此从这个意义上说,统计学主要是通过机器学习对数据挖掘发挥影响,而机器学习领域和数据库领域则是数据挖掘的两大支撑。
第2章 模型评估和选择
一、过拟合与欠拟合
把训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质,这样就会导致泛化性能下降,这种现象在机器学习中称为过拟合。欠拟合通常是由学习能力低下而造成的。
解决方法:
欠拟合比较容易克服,例如在决策树学习中扩展分支、在神经网络学习中增加训练轮数等。
过拟合是无法彻底避免的,我们所能做的只是“缓解”,或者说减小其风险。过拟合是机器学习面临的关键障碍,各类学习算法都必然带有些针对过拟合的措施。
“模型选择”(model selection)问题:理想的解决方案是对候选模型的泛化误差进行评估,然后选择泛化误差最小的那个模型。但是我们一般无法直接获得泛化误差,而训练误差又由于过拟合现象的存在而不适合作为标准,那么,在现实中如何进行模型评估与选择呢?
对学习器的泛化误差进行评估并进而做出选择,我们需使用一个“测试集”(testing set)来测试学习器对新样本的判别能力,然后以测试集上的“测试误差”(testing error)作为泛化误差的近似。
二、模型评估
对测试集(testing set)的选择需要注意:从样本真实分布中独立同分布采样而得,测试集应该尽可能与训练集互斥,即测试样本尽量不在训练集中出现、未在训练过程中使用过。
(1)留出法
留出法就是直接将数据集D划分为两个互斥的集合,其中一个集合作为训练集,另一个作为测试集。需要注意的是,训练集和测试集的划分要尽可能保持数据分布的一致性,避免因数据划分过程引入额外的偏差而对最终结果产生影响,因此,常用的保留类别比例的采样方式通常称为分层采样。训练集和测试集划分的比例会对评估结果的方差和偏差产生影响,所以,常见的做法是将大约2/3-4/5的样本用于训练,剩余样本用于测试。
(2)交叉验证法
交叉验证法就是将数据集通过分层采样的方式划分为数据分布一致的k个大小相似的互斥子集,然后每次用k-1个子集的并集作为训练集,余下的那个子集作为测试集,这样就可以得到k组训练/测试集,从而可以进行k次训练和测试,最终返回的是这k个测试结果的均值。
k的取值很重要,通过k取值为10,其他常用的k值为5、20。
(3)自助法
自助法也就是有放回采样法从数据集D中随机抽取样本,抽取后,放回,然后再随机抽取,重复执行m次之后,就可以得到包含m个样本的数据集D‘,这就是自助采样的结果。
初始数据集D中约有36.8%的样本未出现在采样数据集D'中,于是我们可将D’用作训练集,D\D'用作测试集,由于我们用约占数据总量1/3的、没在训练集中出现的样本用于测试,这样的测试结果,称为“包外估计”。
优点:适用于数据集较小,难以有效划分训练集和测试集的时候
缺点:自助法产生的数据集改变了初始数据集的分布,这会引入估计偏差,因此,在初始数据量足够时,留出法和交叉验证法更常用一些。
留出法和交叉验证法的主要问题是,由于保留了一部分样本用于测试,实际评估的模型所使用的训练集比D小,这必然会引入一些因训练样本规模不同而导致的估计偏差。
留一法(交叉验证法特例)受训练样本规模变化的影响较小,但计算复杂度又太高了。
自助法产生的数据集改变了初始数据集的分布,这会引入估计偏差。但是,自助法能从初始数据集中产生多个不同的训练集,这对集成学习等方法有很大的好处。
关于适用范围:自助法在数据集较小、难以有效划分训练/测试集时很有用。而在初始数据量足够时,留出法和交叉验证法更常用一些。
(4)调参与最终参数模型
我们使用测试集上的评估效果来估计模型在实际使用时的泛化能力,而把训练数据另外划分为训练集和验证集,基于验证集上的性能来进行模型的选择和调参。
三、性能度量
性能度量是对测试结果进行分析。在对比不同模型的能力时,使用不同的性能度量往往会导致不同的评判结果。
参考资料:
链接:https://blog.csdn.net/chengdong996/article/details/106818082/
书目:《机器学习》周志华