读书笔记
1.分类错误的样本数占样本总数的比例称为错误率,如果在 m m m个样本中有 a a a个样本分类错误,设错误率为 E E E,精度为 A A A,则
E = a / m , A = ( 1 − E ) ∗ 100 % E = a/m,A=(1-E)*100\% E=a/m,A=(1−E)∗100%
2.学习器的实际预测输出与样本的真实输出之间的差异称为“误差”,学习器在训练集上的误差称为“训练误差”或“经验误差”,在新样本上的误差称为“泛化误差”。
3.过拟合和欠拟合
当学习器把训练样本学习的“太好”了的时候,会导致泛化性下降,也就是面对新样本,效果不佳,这种现象称之为“过拟合”(与之相反,训练不够,称之为“欠拟合”)
解决方案 | |
---|---|
过拟合 | 学习能力过于强大,不可避免,只能缓解 |
欠拟合 | 学习能力不足,加大学习 |
4.在现实中,往往有多种算法可以选择,甚至对同一个学习算法,当使用不同的参数配置,也会产生不同的模型。如何选择,这就是“模型选择”。
理想解决方案是对候选模型的泛化误差进行评估,选择误差最小的模型。
5.可以使用测试集来测试学习器对新样本的判别能力,然后以测试集上的“测试误差”作为泛化误差的近似。
6.留出法
直接将数据集 D D D划分为两个互斥的集合,其中一个集合作为训练集 S S S,另一个作为测试集 T T T,即 D = S ∪ T , S ∩ T = ∅ D=S \cup T,S \cap T=\varnothing D=S∪T,S∩T=∅
保留类别比例的采样方式通常称为“分层采样”。
一般要采用若干次随机划分、重复进行实验评估后取平均值作为留出法的评估结果。
大约2/3~4/5的样本用于训练,剩余样本用于测试
7.交叉验证法
将数据集D划分为k个大小相似的互斥子集,每个子集 D i D_{i} Di互斥,即 ( D = D 1 ∪ D 2 ∪ . . . ∪ D k , D i ∩ D j = ∅ ) (D=D_{1}\cup D_{2}\cup ...\cup D_{k},D_{i}\cap D_{j}= \varnothing) (D=D1∪D2∪...∪Dk,Di∩Dj=∅)
尽可能保持数据分析一致性,从 D D D中分层采样得到。
每次用 k − 1 k-1 k−1个子集的并集作为训练集,余下子集都为测试集,最终返回 k k k个测试结果的均值。
又称“ k k k折交叉验证”, k k k通常取10,称为10折交叉验证
将数据集 D D D划分为 k k k个子集同样存在多种划分方式,为减少因样本划分不同而引入的差别,通常要随机使用不同的划分重复 p p p次,最终结果是第 p p p次 k k k折交叉验证的均值
常见10次10折交叉验证
8.自助法
优点:减少训练样本规模不同造成的影响,同时还能比较高效地进行实验估计。
给定包含 m m m个样子的数据集 D D D,采用产生数据集 D ′ D^{'} D′,每次随机从 D D D中挑选一个样本,拷贝放入 D ′ D^{'} D′,将此过程重复执行 m m m次,得到包含 m m m个样本的数据集 D ′ D^{'} D′。我们使用 D ′ D^{'} D′用于训练集, D \ D ′ D\backslash D^{'} D\D′用作测试集。
自助法在数据集较小、难以有效划分训练/测试集时很有用。初始数据量足够时,留出法和交叉验证法更常用一些。
9.调参和算法选择没有本质区别,调参很重要!
10.衡量模型泛化能力的评价标准是性能度量。
回归任务常用的性能度量是“均方误差”
E ( f ; D ) = 1 / m ∑ i = 1 m ( f ( x i ) − y i