深度学习(神经网络)中模型的评估与性能度量
1.在现实任务中,我们往往有多种学习算法可供选择,那么我们如何评判一个模型的好坏呢?理想的解决方案是对模型的泛化误差进行评估,选择泛化误差最小的;实际中采用测试误差来近似泛化误差
2.对于一个数据集如何划分训练集、测试集、验证集?
a.留出法:直接将数据集划分为互斥的两部分,一部分用作训练一部分用作测试,单次留出法得到的结果不够可靠稳定,一般要多次随机划分重复取平均。一般将数据集的2/3,4/5用作训练。
b.交叉验证法:将数据集划分为k个大小相似的数据集,每次使用其中k-1个数据集的并集用来作为训练集,剩余的那个作为测试集,这样可以得到k组训练/测试集,从而可以进行k次训练、测试,最终返回k个测试结果的均值,该方法的稳定性与保真性与k的取值有关,为强调这一点通常称之为“k折交叉验证”,k最常用的取值为10。缺点:当模型较大的时候训练m个模型的计算代价难以承受。
c.自助法:每次从数据集D中随机挑选一个样本拷贝至数据集D’,重复m次之后得到一个包含m个样本的数据集D’。样本在m次采样中始终不被选到的概率约为0.368,我们将D’用作训练集,而始终不被采样的那一部分用作测试集。缺点:改变数据集初始分布,引入了估计偏差。适用于小数据集,数据集较大时通常还是会采用方法a、b
模型评估与选择中用于评估测试的数据集通常称为验证集(validation set)
3.性能度量
a.均方误差:均方误差(Mean Squared Error, MSE)是一种常用的评估模型预测性能的指标,特别是在回归任务中。MSE 通过计算预测值与真实值之间的平方差的平均值来衡量模型的误差。
b.错误率与精度:
c.查准率、查全率与F1:
d.ROC与AUC:
4.比较检验:
假设一家制药公司声称其新药能提高患者的康复率。为了验证这一说法,研究人员进行了临床试验,随机选取了100名患者,其中50人接受了新药治疗,另外50人接受了安慰剂治疗。结果显示,新药组的康复率为80%,安慰剂组的康复率为60%。现在,研究人员需要进行假设检验,以确定新药是否真的提高了患者的康复率。
a.设定假设:
- H0: 新药组和安慰剂组的康复率无显著差异。
- H1: 新药组的康复率高于安慰剂组。
b.选择检验方法:由于是两组比例的比较,可以选择Z检验。
c.确定显著性水平:α = 0.05。(事先确定的拒绝原假设的概率标准,通常取0.05或0.01)
d.收集样本数据:新药组康复50人中的40人,安慰剂组康复50人中的30人。
e.计算检验统计量:使用Z检验公式计算Z值。
f.计算p值:根据Z值查找标准正态分布表,得到p值。
g.作出决策:如果p值小于0.05,则拒绝原假设,认为新药确实提高了患者的康复率;否则,不拒绝原假设。
假设经过计算,p值为0.02,小于0.05,因此拒绝原假设,接受备择假设,即新药组的康复率确实高于安慰剂组。
注意事项: - 在进行假设检验时,需要注意样本的代表性和独立性。
- 显著性水平的选择应基于研究的具体需求和领域惯例。
- p值只是拒绝原假设的证据强度,不能直接解释为假设成立的概率。
- 假设检验的结果需要结合实际背景进行合理解释。