机器学习-周志华著-笔记

0. 陆汝钤院士写的序言中

        王珏教授认为统计机器学习不会“一路顺风”,依据是:统计机器学习算法都是基于样本数据独立同分布的假设,而自然界现象千变万化,哪有那么多独立同分布?这就引出问题:“独立同分布”条件对于机器学习来讲是必需的吗?该条件不存在一定是一个不可逾越的障碍吗?“迁移学习”也许会对这个问题的解决带来思路。

        一些学者认为“深度学习”掀起的热潮也许大过它本身真正的贡献,它在理论和技术上并没有太多创新,只不过是硬件技术的革新,使得计算机速度大大提升。(深度学习和统计学习的关系?)

1. 第1章 绪论

1.1 机器学习所研究的主要内容是关于:在计算机上从数据中产生“模型”的算法,即学习算法。“模型”可泛指从数据中学得的结果。

1.2 基本术语: 数据集(data set):其中每条记录称为 示例(instance)或 样本(sample);反映事件在某方面的表现或性质称为 属性(attribute)或 特征(feature),属性对应的取值称为 属性值(attribute value)。属性张成的空间称为 属性空间(attribute space)/样本空间(sample space)/ 输入空间。每个样本点在属性空间中对应一个坐标向量,因此可以把一个样本/示例称为一个 特征向量(feature vector)。
                 从数据中学得模型的过程称为 学习(learning)或 训练(training). 训练数据(training data), 训练样本(training sample), 训练集(traning set)。学得的模型称为 假设(hypothesis),它对应了数据的某种潜在规则。这种潜在规则自身称为 真实(ground-truth)。

                样本对应的结果称为标记(label),带标记的样本/示例称为样例(example)。相对应有输出空间/标记空间。

                预测离散值的任务称为分类(classification),连续值称为回归(regression)。测试(testing)测试样本(testing sample)。聚类(clustering):把不带有标记信息的样本划分为簇(cluster)。

                泛化(generalization)能力:模型适用于新样本的能力。通常假设样本空间中全体样本服从一个未知分布(distribution)D,并且样本独立采样获得,即样本独立同分布(independent and identically distributed, i. i. d.)。

1.3 假设空间

1.4 归纳偏好:“奥卡姆剃刀(Occam's razor)”原则即若有多个假设与观察一致,则选最简单的那个。对于一个学习算法A,若它在某些问题上比学习算法B好,则必然存在另外一些问题,使得B比A好。“没有免费的午餐(No Free Lunch Theorem)”定理,即对所有可能的真实目标函数 f 按均匀分布对误差 E 求和,总误差相等,与学习算法无关。它意味着脱离具体问题,空泛地谈论“什么学习算法更好”毫无意义。学习算法自身的归纳偏好与学习的目标是否相配是关键。

1.5 发展历程:1950s-1970s,推理期,基于符号知识表示、通过演绎和推理取得成果。代表为“逻辑理论家(Logic Theorist)”程序和“通用问题求解(General Problem Solving)”程序。1970中期,知识期,基于符号知识表示、通过获取领域知识建立专家系统取得成果。即有人把知识总结出来再教给计算机,代表为大量专家系统。1980s,“从样例中学习”的一大主流是符号主义学习,代表为决策树(Decision tree)和基于逻辑的学习(如归纳逻辑程序设计,ILP)。1990s,学习期,基于神经网络的连接主义学习。“统计学习”,代表为支持向量机(support vector machine, SVM)。


第2章 模型评估与选择

2.1 经验误差与过拟合

错误率(error rate):分类错误的样本数a占总样本数m的比例:E=a/m;

精度(accuracy):1-E;

训练误差/经验误差(training error / empirical error):学习器在训练集上的误差;

泛化误差(generalization error):在新样本上的误差;我们希望得到泛化误差最小的学习器。

过拟合:当学习器把样本学得“太好”了的时候,会把训练样本自身的一些特点当做所有潜在样本都具有的一般性质,导致泛化性能下降。

               可能造成过拟合的原因:学习能力过强。处理过拟合比欠拟合麻烦很多,它是机器学习面临的关键障碍,无法避免但需想办法缓解。

欠拟合:对训练样本的一般性质尚未学好。


2.2 评估方法

模型选择(model selection)问题:多种机器学习算法选哪种?参数如何配置?

理想情况是使用泛化误差作为评价。但是泛化误差无法直接获得。因此需使用一个“测试集”(testing set)来测试学习器对新样本的判别能力,以“测试误差”来近似泛化误差。注意,测试样本应尽可能不在训练样本中。

(1) 留出法(hand-out):直接将数据集D划分为两个互斥的集合,一个作为训练集S,另一个作为测试集T。

一般要采用若干次随机划分、重复进行实验评估,取平均值作为评估结果。一般2/3-4/5的数据用于训练集S。

(2) 交叉验证法(cross validation):将数据集D划分为k个大小相似的互斥子集,尽可能保持数据分布一致性。然后每次用 k-1 个子集的并集作为训练集S,剩下那个子集作为测试集T。这样一共有k组测试结果,求均值。显然,k的取值很重要,决定了评估结果的稳定性和保真性,常取10。通常也称该方法为“k折交叉验证”(k-fold cross validation)。

(3) 自助法(bootstrapping):以自助采样法为基础。采样后放回。对m个数据的数据集D采样m次。D中约有36.8%的样本未出现在采样数据集D‘中。将D'作为S,D\D’作为T。S和T中均为m个样本。且T中有约1/3的样本未在S中出现。这样的测试结果也称为“包外估计”(out-of-bag estimate)。自助法适用于数据集较小、难以有效划分S/T时。但它改变了D的分布,会引入估计偏差。

2.2.4 调参与最终模型

调参(parameter tuning):对算法参数进行设定。参数配置不同,学得的模型性能会有显著差别。

                                                        

2.3 性能度量


2.4 比较检验


2.5 偏差与方差

你可能感兴趣的:(机器学习)