仅个人读书笔记.
本章介绍了
1.学习模型的学习目的、学习方法,如何选择学习模型;
2.如何调参;
3.评估的方法和依据的性能指标.
错误率:把分类错误的样本数占样本总数的比例。即如果在m个样本中有a个样本分类错误,则错误率E=a/m
精度=1-错误率"
误差:学习器的实际预测输出与样本的真实输出之间的差异,
训练误差:学习器在训练集上的误差
泛化误差:在新样本上的误差
学习的目的:学得一个在新样本上能表现得很好的学习器
实现方法:应该从训练样本中尽可能学出适用于所有潜在样本的"普遍规律",这样才能在遇到新样本时做出正确的判别
出现的问题:当学习器把训练样本学得"太好"了的时候,很可能已经把训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质,这样就会导致泛化性能下降
过拟合:学习能力过于强大,以至于把训练样本所包含的不太一般的特性都学到了(过拟合无法彻底避免)
欠拟合:由于学习能力低下而造成的(欠拟合比较容易克服,如:在NN中增加训练轮数)
模型选择:基于以上问题,学习过程中有多种学习算法供选择,甚至对同一个学习算法,当使用不同的参数配置时也会产生不同的模型
理想方案:对候选模型的泛化误差进行评估,然后选择泛化误差最小的那个模型
存在问题:我们无法直接获得泛化误差,而训练误差又由于过拟合现象的存在而不适合作为标准
Q:在现实中如何进行模型评估与选择呢?
A:可通过实验测试来对学习器的泛化误差进行评估并进而做出选择
测试集:测试学习器对新样本的判别能力(测试样本:从样本真实分布中独立同分布采样而得)
测试误差:作为泛化误差的近似
注意:测试集应该尽可能与训练集互斥, 即测试样本尽量不在训练集中出现,未在训练过程中使用过,否则评估结果会过于乐观
方法:直接将数据集 D 划分为两个互斥的集合,其中一个作为训练集,另一个作为测试集
举例:以二分类任务为例,假定 D包含1000个样本,将其划分为S包含 700 个样本,T包含 300 个样本,用 S 进行训练后,如果模型在 T 上有 90 个样本分类错误,那么其错误率为 (90/300) x 100% = 30%
数据分布一致性:训练/测试集的划分要尽可能保持数据分布的一致性,避免因划分过程而引入额外偏差
多种划分方式:即使在给定训练/测试集的样本比例后,仍存在多种划分方式对初始数据集D进行分割。这些不同的划分将导致不同的训练/测试集,相应的,模型评估的结果也会有差别.
评估结果:单次使用留出法得到的估计结果往往不够稳定可靠,使用留出法时,一般要采用若干次随机划分、重复进行实验评估后取平均值作为留出法的评估结果
比例选择:没有完美的划分方法,通常选择2/3~4/5
方法:先将数据集D划分为k个大小相似的互斥子集,每个子集 Di 都尽可能保持数据分布的一致性,每次用k-1个子集的并集作为训练集,余下的那个子集作为测试集,这样就可获得k组训练/测试集
多种划分方式:k 折交叉验证通常要随机使用不同的划分重复p次,共训练p*k次
留一法:交叉验证法的一个特例,留一法不受随机样本划分方式的影响,训练开销太大,往往不采用
评估结果:是这p次k折交叉验证结果的均值
解决问题:以减少训练样本规模不同造成的估计偏差,同时还能比较高效地进行实验估计
适用场合:自助法能从初始数据集中产生多个不同的训练集,在数据集较小、难以有效划分训练/测试集时很有用。然而,自助法产生的数据集改变了初始数据集的分布,这会引入估计偏差,因此,在初始数据量足够时,留出法和交叉验证法更常用一些.
为什么要调参:在进行模型评估与选择时,除了要对适用学习算法进行选择,还需对算法参数进行设定
如何调参:对每个参数选定一个范围和变化步长,然后选定最终的几个候选值
验证集的引入:三集的区别?
训练集——用于模型拟合的数据样本。(学习课本知识)
验证集——从训练集中划分出来,用于调整模型的超参数和用于对模型的能力进行初步评估。(通过课后作业掌握学习情况)
测试集——用来评估模最终模型的泛化能力。是与训练集和验证集互斥的数据(通过水平测试检验学习成果,是否能举一反三)
适用场合:这是分类任务中最常用的两种性能度量,既适用于二分类任务,也适用于多分类任务
缺点:不能满足所有的任务需求
对于二分类问题,可将样例根据其真实类别与学习器预测类别的组合划分为真正例、假正例、真反例 、 假反例四种情形,令 TP、 FP、 TN、 FN 分别表示其对应的样例数,则显然有TP+FP+TN+FN=样例总数
查准率 P 与查全率 R:
查准率和查全率是一对矛盾的度量.一般来说,查准率高时,查全率往往偏低;而查全率高时,查准率往往偏低.
举例:若希望将好瓜尽可能多地选出来
可通过增加选瓜的数量来实现,如果将所有西瓜都选上,那么所有的好瓜也必然都被选上了,但这样查准率就会较低;若希望选出的瓜中好瓜比例尽可能高,则可只挑选最有把握的瓜, 但这样就难免会漏掉不少好瓜,使得查全率较低。
P-R曲线:以查准率为纵轴、查全率为横轴作图
如何根据P-R曲线判断学习器的优劣?
(1)若一个学习器的 P-R 曲线被另一个学习器的曲线完全==“包住”== , 则可断言后者的性能优于前者
(2)如果两个学习器的 P-R 曲线发生了交叉,例如图2.3 中的 A 与 B,则:
1)可以通过“平衡点(BEP)”进行度量,它是"查准率=查全率"时的取值;
2)更常用的是F1度量:Fl 是基于查准率与查全率的调和平均定义的
3)F1 度量的一般形式为Fß(加权调和平均),能让我们表达出对查准率/查全率的不同偏好(在不同应用场景中,对P和R的重视程度不一样),它定义为:
ß>0度量了查全率对查准率的相对重要性,ß> 1 时查全率有更大影响; ß < 1 时查准率有更大影响.
另一种情况:当有多个二分类混淆矩阵时,如:执行多分类任务,每两两类别的组合都对应一个混淆矩阵,需要在 n 个二分类混淆矩阵上综合考察查准率和查全率
解法1:先在各混淆矩阵上分别计算出查准率和查全率,再计算平均值
解法2:可先将各混淆矩阵的对应元素进行平均,得到 TP、 FP、 TN、 FN 的 平均值,再基于这些平均值计算出结果
截断点:学习器是为测试样本产生一个实值或概率预测,然后将这个预测值与一个分类阔值(截断点)进行比较,若大于阈值则分为正类,否则为反类。在不同的应用任务中,我们可根据任务需求来采用不同的截断点
有点难懂啊,挂一下大家的解释吧
如何理解机器学习和统计中的AUC?
AUC含义的通俗理解
(假设检验、交叉验证t检验、McNemar 检验、Friedman 检验与 Nemenyi 后续检验)
偏差:度量了学习算法的期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力
方差:度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响
噪声:表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界,即刻画了学习问题本身的难度
偏差一方差分解说明:泛化性能是由学习算法的能力、数据的充分性以及学习任务本身的难度所共同决定的.
好的泛化性能=偏差较小(能充分拟合数据)+ 方差较小(数据扰动的影响小)
泛化错误率的主导因素的变化:学习器的拟合能力随着学习算法的训练程度而变化,拟合能力不够强时,偏差主导了泛化错误率,拟合能力非常强时,方差主导了泛化的错误率
第2章 习题答案入口