目录
第一章 引言
1.2 基本术语
输入空间:属性张成的空间称为"属性空间" (attribute space) "样本空间" (sample space) 或"输入。
输出空间:所有标记的集合,亦称"标记空间" (label space)或"输出空间。
训练:从数据中学得模型的过程称为"学习" (learning) 或"训练" (training)。
假设:学得模型对应了关于数据的某种潜在的规律,因此亦称"假设" 。(hypothesis)。
分类任务:预测值为离散值。
回归任务:预测值为连续值。
监督无监督:根据训练是否有标记,分为监督与无监督学习。分类与回归属于前者,聚类属于后者。
泛化:模型适应新样本的能力。
1.3 假设空间
归纳:从特殊到一般,属于泛化(Generalization)过程。
演绎:从一般到特殊,属于特化(Specialization)过程。
归纳学习:广义的归纳学习指从样例中学习,狭义的归纳学习指概念学习。
学习过程:个在所有假设(hypothesis) 组成的空间中进行搜索的过程,搜索目标是找到与训练集"匹配"的假设,即能够将训练集中的瓜判断正确的假设。
版本空间:由于学习过程是基于有限样本训练集进行的,可能有多个假设与训练集一致,即存在着一个与训练集一致的"假设集合"。
1.4 归纳偏好
机器学习算法在学习过程中对某种类型假设的偏好,称为"归纳偏好"(inductive bias),简称偏好。何一个有效的机器学习算法必有其归纳偏好,否则它将被假设空间中看似在训练集上"等效"的假设所迷惑。
“奥卡姆剃刀”(Occam's razor)法则
若有多个假设与观察一致,则选最简单的那个
“没有免费的午餐”定理(No free lunch,NFL)
所有"问题"出现的机会相同、或所有问题同等重要时,所有算法的期望性能相同,证明略。
NFL 定理最重要的寓意是让我们清楚地认识到,脱离具体问题,空泛地谈论"什么学习算法更好"毫无意义。要具体问题具体分析,算法偏好与问题的匹配程度往往会起到决定性的作用.
第二章 模型评经验误差与过拟合
2.1 经验误差与过拟合
在训练集上的误差称为训练误差、也称作经验误差。
在新样本上的误差称为泛化误差。我们希望获得在新样本上具有良好泛化能力的学习器。
过拟合:学习器把训练样本的特点当做一般样本的特点。
欠拟合:对一般样本的性质尚未掌握好。
欠拟合容易克服:决策树扩展分支,神经网络中拓展节点等方法。
过拟合很难克服:过拟合是无法彻底避免的,我们所能做 的只是"缓解'或者说减小其风险.
模型选择很重要:不同模型,不同参数组合,会具备不同的泛化能力,要选择泛化误差小的模型。
2.2 评估方法
将数据样本分为测试集与训练集。
注意训练样本尽可能不出现在测试集中,否则会得到过于乐观的估计结果。
方法1:留出法(hold out)
就是直接分割训练集与测试集。分割要尽可能保证数据分布一致,最好采用分层抽样。
常见做法是将大约 2/3 至 4/5 样本用于训练,剩余样本用 测试.
方法2:交叉验证法(Cross validation)
先将数据集划分为k个大小相似的互斥的子集,每次用k-1个子集的并集作为训练集,余下的那个子集作为测试集。为了减小样本划分不同造成的区别,要重复p次实验,每次实验使用的是k次不同的划分。
留一法(Leave one out)是交叉验证的特例。
方法3:自助法(bootstrapping)
自助法就是有放回的采样,那么一个样本点无法被抽取的概率为:
有约36.8%的样本不会被选中,这样我们仍有数据总量约 1/3 的、没在训练集中出现的样本用于测试。这种方法又称为包外估计。
- 优点:自助法在数据集较小、难以有效划分训练/测试集时很有用。对集成学习等方法有很大的好处。
- 缺点:不放回采样改变了初始数据集的分布,会引入估计偏差。
调参与最终模型
对实数范围内的参数设定步长。大型工程通常有非常大的调参工作量,在应用型任务中,参数调整的好坏对模型的最终性能有关键影响。
用于不同算法间比较的数据集叫做验证集(Validation set)。
2.3 性能度量
评价二分类模型:PR曲线
- 离散均方误差 vs 连续均方误差
- 错误率 vs 精度
- 二分类问题的混淆矩阵(Confusion Matrix)。
- 查准率(Precision)vs 查全率(Recall)。
查准率和查全率往往互相矛盾。可根据学习器的预测结果对样例进行排序,按此顺序逐个把样本作为正例进行预测。则每次可以计算出当前的查全率、 查准率关系图,称为P-R曲线。
使用P-R曲线比较不同学习器的性能,比较方法包括:
- 比较曲线下的面积大小
- 比较时平衡点大小
- 度量
- 指标
β>1时查全率有更大影响,0<β<1时查准率有更大影响。多次训练可得到多组混淆矩阵,这时用平均的P或R计算上述指标。
评价分类阈值模型:ROC曲线
很多学习器是为测试样本产生一个实值或概率预测,然后将这个预测值与一个分类阔值(threshold) 进行比较,若大于则分为正类,否则为反类。分类过程就相当于在排序中以某个"截断点" (cut point) 将样本分为两部分,前一部分判作正例,后一部分则判作反例。ROC曲线就是用于评价通过设置阈值对排序结果进行分类的学习器的一种方法。
ROC:受试者工作特征(Receiver Operating Characteristic)。
ROC曲线:类似P-R曲线,不同在于ROC 使用的横轴是假正例率,纵轴是真正例率。
- 真正例率(True positive rate) vs 假正例率(False positive rate)
- 对角线对应于 "随机猜测" 模型。
- 点(0,1)对应于将所有正例排在所有反例之前的"理想模型"。
ROC曲线绘制方法:
- 给定m+个正例与m-个反例,根据预测结果进行递增排序。
- 先将阈值设为最大,即所有结果都是反例,则TPR=FPR=0,坐标为(0, 0)
- 将阈值依次设置为每个预测结果的取值,设**前一个标记点为(x, y)**,若为真正例坐标记作,假正例则记作
- 并作线性插值以补全间断处,可得(b)图
比较方法:通过比较面积AUC(Area under curve) 比较不同学习器的性能。
AUC计算为:
定义排序损失为:
显然可以看出,
代价敏感错误率与代价曲线
代价矩阵:类似混淆矩阵,用于表示分类错误的代价:
在非均等代价下, ROC 曲线不能直接反映出学习器的期望总体代价。我么不希望简单地最小化错误总次数,而是最小化总体代价。
代价敏感错误率定义为:
规范化(normalization):是将不同变化范围的位映射到相同的固定范围中,一个特殊的例子就是归一化。
代价曲线:横轴是取值为 [0, 1]的正例概率代价。纵轴是取值为 [0, 1] 的归一化代价。
关于该曲线具体原理可见知乎回答:机器学习(周志华)第2.3.4节中,代价曲线的理解? - 知乎
假设检验章节略。