读周志华《机器学习》个人读书笔记

机器学习
绪论
机器学习所研究的内容:是关于在计算机上通过数据产生“模型”的算法,即为“学习算法”(learning algorithm)。
“模型”指的就是学习所得的结果。
从数据中学得模型的过程称为“学习”或“训练”。
预测的若为离散值,此类学习任务称为“分类”(classification)若为连续值,此类学习任务称之为“回归”(regression)。涉及到两个类别的“二分类”(binary classification)任务,其中一个为“正类”(posive class),另一个为“反类”(negative class)。
根据训练数据是否拥有标记信息,学习任务分为:“监督学习”(supervise learning)和“无监督学习”(unsupervised learning)。分类回归是前者的代表,聚类(clustering)是后者的代表。
学得的模型适用于新样本的能力,称为“泛化”(generalization)能力。

假设空间
归纳(induction)和演绎(deduction)。
归纳是从特殊到一般的泛化过程,即为从具体的事实中总结出一般的规律。演绎是从一般到特殊的“特化”(specialization)过程,即从基础原理推演出具体状况。
归纳学习有广义和狭义之分,广义的归纳学习相当于从样例中学习,而狭义的归纳学习则要求从训练数据中学得概念,又称为“概念学习”或“概念形成”。
可能存在多个假设与训练集一致,即存在一个与训练集一致的“假设集合”,我们称之为“版本空间”。(version space)

归纳偏好
机器学习算法在学习过程中对某种类型假设的偏好,称为“归纳偏好”(induction bias)。
“奥卡姆剃刀“原则:当多个假设与观察一致时,选择最简单的那个。但是使用的前提是不平凡的。

NFL(No Free Lunch Theorem)“没有免费午餐”的定理。我们从中能够懂得“什么学习算法最好”是基于具体问题的。
机器学习和统计学的研究为数据挖掘提供分析技术。数据库的领域的研究是为数据挖掘提供管理技术。

2.模型评估与选择
2.1经验误差与拟合
学习器的实际预测输出与样本的真实输出之间的差异称为“误差“。
学习器在训练集上的误差称为“训练误差”(training error)或者“经验误差”(empical error)。在新样本上的误差称之为“泛化误差”(generalization)。
当训练器过于符合新样本的时候,将会导致泛化性能下降,这种现象称为“过拟合”(overfitting)。
欠拟合(underfitting)指的就是对训练样本的一般性质尚未学好。

注意:过拟合的问题比较复杂,很难解决,是不可避免的,我们所做的只能是缓解,也就是降低风险。

2.2评估方法
测试集(testing set)是用来测试学习器对新样本的学习能力,将测试误差近似地看做为“泛化误差”。
测试集应该尽可能地与训练集互斥,即测试样本尽量不在训练集中出现、未在训练过程中使用过。

2.2.1留出法(hold-out)
“留出法”将数据集分成两个互斥的集合。
注意的问题:
(1)训练/测试集的划分要尽可能地保持数据分布的一致性,避免因数据划分过程引入额外的偏差而对最终的结果产生影响。例如在分类任务中至少要保持样本的类别比例相似,这种采样方式称之为“分层采样”(stratified sampling)。
(2)单次使用留出法得到的估计结果往往不够准确稳定可靠,所以需要进行若干次随机划分、重复进行实验评估后取平均值作为留出法的评估结果。
将大约2/3——4/5的样本用于训练,剩下的用于测试。

2.2.2交叉验证法(cross validation)
“交叉验证法”先将数据集D划分成k个大小相似的互斥子集。每个子集保持数据分布的一致性,即从D中分层采样所得。然后每一次将k-1个子集的并集当做训练集,剩下的当做测试集,这样就能得到k组训练/测试集,进而进行k次训练和测试。最后返回的是这k次结果的均值。又叫做“k折交叉验证”(k-fold cross validation),一般k取10。

2.2.3自助法(bootstrapping)
“自助法”直接以自助采样法为基础,在给定m个样本的数据集D中,我们对它进行采样产生D‘:每次随机挑选一个样本,将其拷贝到D’中然后再将样本放回数据集D中,使得该样本在下次采样时仍有可能被采到;这个过程重复m次,然后就得到m个样本的数据集D‘,这就是自助采样的结果。
于是我们用D’作为训练集,D\D‘作为测试集,这样我们仍有数据总量为1/3的、没在训练集中出现的样本用于测试,这样的测试结果,亦称“包外估计”。(out-of-bagestimate)
注:\表示集合的减法。
留出法,自助法以及交叉验证法所适用的范围:
自助法在数据集较小、难以有效划分训练/测试集时很有用;由于产生了多个不同的训练集,对集成学习很有用。但同时产生的数据集改变了原先的数据集分布,会引入估计偏差。故当初始数据量足够时,使用留出法和交叉验证法比较好。

2.2.4调参与最终模型
除对学习算法进行选择,还需对算法参数进行设定,这就是“调参”(parameter tuning)。
现实中常用的方法是,是对每一个参数进行选定一个范围和变化步长。调参的过程工程量很大,对最终的模型性能有关键性影响。
模型评估与选择中用于评估测试的数据集常称为“验证集”(validation set)。

2.3性能度量
衡量模型泛化能力的评价标准,即为性能度量。性能度量反映了任务需求,模型的好坏是相对的,判断模型的好坏,不仅取决于算法和数据,还决定于任务需求。
回归任务最常用的性能度量是“均方误差”(mean squared error)。就是将预测结果f(x)与真实标记进行比较。


2.3.1错误率与精度
错误率定义为:

精度定义为:

猜你喜欢

转载自www.cnblogs.com/1234zb/p/9367723.html
今日推荐