第一章
基本术语
- 数据集(Data Set)
- 属性空间(Attribute Space)/ 样本空间(Sample Space)/ 输入空间
- 示例(Instance)/ 样本(Sample)/ 特征向量(Feature Vector)
- 属性(Attribute)/ 特征(Feature)
- 属性值(Attribute Value)
- 维数(Dimensionality)(属性的数量)
- 属性(Attribute)/ 特征(Feature)
- 示例(Instance)/ 样本(Sample)/ 特征向量(Feature Vector)
- 属性空间(Attribute Space)/ 样本空间(Sample Space)/ 输入空间
假设空间
- 归纳与演绎
- 归纳:特殊到一般,泛化
- 演绎:一般到特殊,特化
第二章 模型评估与选择
经验误差与过拟合
-
错误率(Error Rate):分类错误的样本数占总样本数的比例
- E = a / m
-
精度(Accuracy):
- 精度 = 1 - 错误率
-
误差(Error)
- 训练误差 / 经验误差:学习器在训练集上
- 泛化误差:学习器在新样本上(此误差越小,证明越有普遍性)
- 测试误差:学习器在测试集上的误差,可看做泛化误差的近似
-
过拟合
- 过于关注训练误差,导致泛化误差变大
- 一般是学习能力过于强大,过于强调训练集中的细节
- 无法彻底避免,只能缓解
-
欠拟合
- 训练误差都还有欠缺
- 一般是学习能力低下
评估方法
- 测试集的选择应该尽量与训练集互斥,且尽可能保持数据分布的一致性
- 所以要对数据集进行适当处理,产生训练集和测试集
-
留出法:
- 直接将数据集划分为了两个互斥的集合
- 即便尽量分层采样,也会导致单次估计结果不够稳定,一般采用若干次随机划分,取平均结果
- 缺点:若训练集包含太多,则可测试部分较小,反之亦然,有一定的局限性。
- 常见做法是将 2/3 ~ 4/5 作为训练集
-
交叉验证法(k 折交叉验证)
-
将数据集通过分层采样,划分为 k 个大小相似的互斥子集。k - 1 个子集作为训练集,余下的那个作为测试集,可获得 k 组训练集和测试集,最终 k 组取平均
-
k 值很大程度上影响评估结果的稳定性
- 最常取值:10
- 其他常见取值:5,20 等
-
交叉验证法也可采用多次,求取最终均值
-
特例: 留一法
- 训练集比数据集只少了一个样本,即每次只有一个样本为测试集
- 优点:绝大多数情况下,评估结果比较准确
- 缺点:数据集较大时,开销也很大。而且未必会永远由于其他评估方法
-
-
自助法
- 每次随机从数据集中挑选一个样本,放入另一个集合中,重复数据集中的样本总数量,会得到一个同样样本数量的数据集,用这个随机选出来的数据集作为训练集
- 一个样本不被选中的概率约为 0.368
- 优点:
- 数据集较小,难以划分训练集和测试集时,很有用
- 可从初始数据集生成多个不同的训练集,对集成学习等方法很有好吃
- 缺点:
- 采样改变了初始数据集的分布,导致误差引入
- 当初始数据集足够时,留出法和交叉验证法更常用
-
调参与最终模型
- 通过参数调节,对算法进行适配
- 一般对每个参数选定一个范围和变化步长
性能度量
-
错误率与精度
-
查准率、查全率与F1
混淆矩阵 预测结果(正例) 预测结果(反例) 真实情况(正例) TP(真正例) FN(假反例) 真实情况(反例) FP(假正例) TN(真反例) - 样例总数 = TP + FP + TN + FN
- 查准率: P = TP / (TP + FP)
- 查全率:R = TP / (TP + FN)
- 查准率和查全率是一对矛盾的度量
- P-R 曲线
- 根据学习器的预测结果对样例进行排序,最可能到最不可能,从前到后进行排序,按照每个样本为正例进行预测时,计算当前的查全率和查准率。以查准率为纵轴、查全率为横轴作图,就得到查准率-查全率曲线,简称 “ P-R 曲线”。
- 一般一个学习器的 P-R 曲线完全“包住”另一个,则认为其优于另一个学习器
- 平衡点(BEP):
- 查准率 = 查全率 时的取值
- 平衡点越高,学习器越优
- F1 度量:
- = 2 x P x R / (P + R)
- = 2 x TP / (样例总数 + TP - TN)